AugmentClaude

Task Atomizer

Break design documents into atomic parallel tasks with dependencies and acceptance criteria.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/tasks-papadopouloskyriakos/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

Phase E of greenfield project bootstrap. Atomize design.md + contracts into tasks.json with files_owned + dependencies + acceptance_test + risk_score per task. Iterates until task-dag-validate passes.

What this skill does

/tasks — atomize design into parallel-dev work_units

After /plan produced design.md + contracts, this skill decomposes the work into atomic tasks suitable for ≤4 parallel Claude workers.

Output

spec/001-<slug>/tasks.json per <bootstrap-pack>/templates/tasks.schema.json.

Atomization rules (load-bearing)

For each task you write:

  1. files_owned — exact file paths (relative to repo root) the task will create or modify. Must be non-empty. NEW files OK.
  2. dependencies — list of task_ids this task depends on. Empty list = wave-0 task.
  3. parallelizabletrue if it can run alongside other tasks in the same wave; false if it needs exclusive write access.
  4. acceptance_test — executable command (e.g. go test ./... -run TestFoo) that returns exit 0 iff the task succeeded. NOT prose.
  5. bounded_context — exactly one value from PROJECT.json#bounded_contexts.
  6. requirement_ids — list of REQ-NNN this task fulfills (must exist in requirements.md).
  7. risk_score — 0.0 to 1.0. >0.7 triggers needs-human auto-merge gate.
  8. complexity — 1 to 10. >5 should be split.

Hard constraints (rejected at validation time)

  • No two parallelizable: true tasks in the same wave may share any files_owned entry. The validator's parallelizable_no_file_collision catches this.
  • Dependency graph must be acyclic (tasks_dag_no_cycles).
  • Every requirement_ids entry must exist (req_cross_references).
  • Max 4 parallel tasks per wave (matches MAX_WORKERS in parallel-dev).

Validation loop

After writing tasks.json, run:

<bootstrap-pack>/scripts/validate-project-spec.py . --check tasks_required_fields
<bootstrap-pack>/scripts/validate-project-spec.py . --check tasks_dag_no_cycles
<bootstrap-pack>/scripts/validate-project-spec.py . --check parallelizable_no_file_collision
<bootstrap-pack>/scripts/validate-project-spec.py . --check req_cross_references
<bootstrap-pack>/scripts/validate-project-spec.py . --check bounded_context_membership
<bootstrap-pack>/scripts/validate-project-spec.py . --check risk_score_per_task

If any fail, iterate. Don't exit until all 6 pass.

Template

<bootstrap-pack>/templates/tasks.json.tmpl shows the per-task schema.

Definition of done

  • tasks.json exists at spec/001-*/
  • All 6 task-related validator checks pass
  • No more than 4 parallelizable tasks per wave
  • Operator has reviewed the decomposition + accepted

What's next

Operator runs /bootstrap (meta-skill) which chains all of /specify → /constitute → /plan → /tasks → validator, or directly runs project-onboard.sh to register the project with the gateway.

Related skills