Arkhe-claude-plugins taskfile-setup
install
source · Clone the upstream repo
git clone https://github.com/joaquimscosta/arkhe-claude-plugins
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/joaquimscosta/arkhe-claude-plugins "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/devtools/skills/taskfile-setup" ~/.claude/skills/joaquimscosta-arkhe-claude-plugins-taskfile-setup && rm -rf "$T"
manifest:
plugins/devtools/skills/taskfile-setup/SKILL.mdsource content
Taskfile Setup
Install Taskfile and scaffold or audit
Taskfile.yml configurations with ecosystem-aware templates.
Pre-flight
Run the detection script to understand current state:
python3 ${CLAUDE_SKILL_DIR}/scripts/detect_taskfile.py <project-root>
Decision Flow
Run detector | ├── task_binary.installed = false → Install Task first | ├── taskfile.exists = true → Phase 1: Audit | └── taskfile.exists = false → Phase 2: Scaffold
Phase 1: Audit (Existing Taskfile)
-
Summarize findings — show a status table:
Component Status Detail task binary installed/missing version, path Taskfile found/not found path, variant Tasks N tasks count, has includes Ecosystems N detected list dotenv configured/missing .env files found -
Present audit violations grouped by severity (ERROR > WARNING > INFO):
- Show rule ID, message, task name, line number, fix hint
- Violations include: missing version, no preconditions on deploy tasks, no sources/generates on build tasks, missing desc, too many tasks in single file, no dotenv, hard-coded paths
-
Use
(multiSelect: true) — ask which violations to fixAskUserQuestion -
Apply selected fixes — see WORKFLOW.md for per-rule fix strategies
-
Re-run detector to verify fixes were applied
Phase 2: Scaffold (No Taskfile)
-
Install
if missing — show commands based ontask
field:os- macOS:
brew install go-task - Linux:
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin - Verify:
task --version
- macOS:
-
Review detected ecosystems — show what was found
-
Choose Taskfile pattern — use
:AskUserQuestion- Single-file (flat namespace with
separators) — recommended for < 15 tasks: - Multi-file (root +
with includes) — recommended for 15+ tasks or monorepostaskfiles/
- Single-file (flat namespace with
-
Choose task groups — use
(multiSelect: true):AskUserQuestionEcosystem Available Groups Node.js/pnpm
,dev
,build
,test
,lint
,formatcheckJVM/Gradle
,build
,test
,lint
,checkrunPython/uv
,dev
,test
,lint
,formatcheckDocker
,up
,down
,logs
,buildcleanGeneric
,setup
,checkclean -
Generate Taskfile.yml with selected groups — always include:
version: "3"
on every taskdesc:- Top-level
for directory pathsvars:
ifdotenv:
files exist.env
-
Verify — re-run detector, then run
task --list
Key Rules
- Never overwrite existing Taskfile.yml without asking. Offer merge/replace/skip.
- Detect first — skip steps already configured.
- Use
for every decision. Do not assume user preferences.AskUserQuestion - Always use
— the only supported non-deprecated schema.version: "3" - Add
to every task fordesc:
discoverability.task --list - Wrap ecosystem tools (pnpm, gradlew, uv) — do not duplicate their logic.
- Use variables for directory paths instead of hard-coding.
- dotenv only in root — Taskfile does not support dotenv in included files.
Existing Runner Awareness
The detector reports existing runners (Makefile, justfile, package.json scripts, gradlew). When scaffolding:
- Note which runners exist and what they cover
- Suggest Taskfile as a unifying layer that wraps existing tools
- Do not duplicate what existing runners already do well
References
- Workflow: See WORKFLOW.md for detailed per-step flows and templates
- Examples: See EXAMPLES.md for example setup and audit sessions
- Troubleshooting: See TROUBLESHOOTING.md for common issues
- Detection Script: See scripts/detect_taskfile.py for detection logic