Agent skill

Task Decomposition

by makifbaysal in makifbaysal/tasktrooper

A skill your agent uses when an analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository, AC, derivedfrom and ordering arguments

Apache-2.0Auto-check passedAgent Workflows

Install Task Decomposition

skills CLI
$ npx skills add makifbaysal/tasktrooper --skill task-decomposition -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install makifbaysal/tasktrooper task-decomposition --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/agents/system-architect/skills/task-decomposition .claude/skills/task-decomposition && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
task-decomposition
GitHub stars
109
Token cost
~2.6k tokens
SKILL.md length
1,517 words
Files
1
Skills in repo
99
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when an analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository, AC, derivedfrom and ordering arguments

  • Works in 6 steps: Check for answered open questions before… → create_board_task per slice,… → Create them in dependency order — the… → …
  • An analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository
  • SKILL.md covers Overview, Slicing Rules, Each Task Must Contain and Ordering Is an Argument, Not a…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Task Decomposition is an agent skill from makifbaysal/tasktrooper. Use when an analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository, AC, derivedfrom and ordering arguments

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Task breakdown. The repository describes itself as: Local-first agent platform: board + role agents + agent CLI runs (Claude Code, Cursor, Antigravity, OpenCode) or local and API models (Ollama, LM Studio), all on your own Mac. The licence is Apache-2.0.

When your agent uses it

  • An analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository
  • Derivedfrom and ordering arguments

Example prompts

  • “/task-decomposition”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Check for answered open questions before creating anything (list_open_questions if the context block doesn't already show them…
  2. create_board_task per slice, column=todo, with assignee set to the matching developer role (REQUIRED — an unassigned task is never…
  3. Create them in dependency order — the producer first — so each dependent can name the task it waits for by key in blocked_by /…
  4. Putting every slice in todo at once is correct even when they are ordered: a task whose blocker is open is parked automatically and…
  5. add_task_comment on the analiz task listing every created task: title, assignee, project, and its order (what it waits for and what ships…
  6. Move the analiz task to released — you are finished with it. (You never move it to done; the human does that as their approval action.)

What it can do on your machine

Read from SKILL.md and the folder at commit 09f6258. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Task Decomposition loads about 2.6k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 1,517 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from makifbaysal/tasktrooper at commit 09f6258, republished under its Apache-2.0 licence (© makifbaysal). 1,517 words, ~2,573 tokens.

Download SKILL.mdSave it as .claude/skills/task-decomposition/SKILL.md (or your agent's skills folder).
name
task-decomposition
description
Use when an analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository, AC, derived_from and ordering arguments
category
architecture

Task Decomposition

Overview

After the plan is written and self-reviewed, turn it into implementation board tasks with create_board_task. Decomposition quality decides whether developers can work in parallel without stepping on each other.

Slicing Rules

  • One repository + one layer per task (backend / frontend / mobile). Never bundle layers — a task that says "add the API and the UI" is two tasks.
  • Each task maps to one or more plan tasks that form an independently deliverable unit: its tests can pass and its code can be reviewed without waiting for a sibling.
  • Order by dependency: backend API before the frontend/mobile that consumes it. Declare it in the ARGUMENTS (see "Ordering is an argument" below), and write the human-readable "Depends on: <task title> — consumes POST /api/v1/..." line in the description as well — but never only the line, because prose enforces nothing.
  • New web frontend, no design system yet: the first frontend task is "Add design system foundation" (tokens, atomic component folders + INVENTORY.md, base atoms, a layout template, ui-guard) and every page/section task is blocked_by it — nobody builds UI on a foundation that doesn't exist yet.
  • Size: a task should land at an estimated ≤ ~400 changed lines including tests, so a reviewer sees the whole diff inside the 24,000-byte cut (review-reads-whole-diff); over ~1,000 is a split. Keep refactors in their own task, separate from feature work.
  • Shared files serialize: two tasks in one repository that both add a migration (sequence numbers collide), or edit the same router table, locale bundle, DI container, INVENTORY.md or OpenAPI file, are chained with blocked_by rather than left to collide at review time.

Each Task Must Contain

Each of these is a separate create_board_task field. Never paste one field's content into another — the board renders them in their own sections, and a duplicated copy goes stale the moment the real field is edited.

  • title: action-object format ("Add task export endpoint", not "Export work").
  • repository: required — name from list_repositories. Left out, the task falls back to the active repository context or the default repository, not necessarily this analiz task's or the one in your split table — a multi-repo split with this omitted on any task is how a web task lands in the backend workspace.
  • project: the initiative this task belongs to, from list_projects, when the analysis names one.
  • component: repository-relative path (e.g. "services/api", "." for the root) when repository is a monorepo — scopes the task's required checks and brief. Check list_repositories for valid paths.
  • priority: inherit the analiz task's priority unless the split table says otherwise.
  • description (product only): user story ("As [persona], I want [capability], so that [outcome]") + context + which plan tasks it covers + the dependency line ("Depends on: …"). For a frontend UI task, also name the page/section and any responsive behaviour that is not obvious (e.g. "comparison table becomes stacked cards on phone").
  • technical_description (technical only): the title of the analiz task's report (analiz: …) and the plan steps this slice implements (#step-2, #step-3), the endpoints/files/schema this slice touches, and the interfaces — the exact names/types it consumes from and produces for its neighbors, copied from the plan's Interfaces blocks. For a frontend UI task, also the components to reuse vs. create, by atomic level (atom/molecule/organism/template), with their names.
  • acceptance_criteria: an array of strings, one observable Given/When/Then per item including error cases — copied or derived from the plan, never aspirational wording. Passing them as an array is what gives the task a real checklist; writing them as prose in description leaves it empty and the task can never be verified complete. Product only: a criterion is checked against the running system, never against the board — "moved to code_review", "PR opened", "QA notified", "the follow-up task is created" are workflow, and create_board_task drops them with the reason in its result.
  • assignee: the matching developer role — backend-developer / frontend-developer / mobile-developer.
  • derived_from: ["A-N"] — the analiz task this slice came out of. REQUIRED on every task you create from an approved analysis. Your analysis report (spec and plan) is a document on that task and nowhere else; this reference is what feeds it into the developer's run and what makes list_task_documents A-N the answer when they need to re-read the plan. Naming the report's title in technical_description is not a substitute — a title is not a route.

Ordering Is an Argument, Not a Sentence

Three orderings, three arguments, all pointing the same way — this task comes after the ones you list:

ArgumentMeansWhat enforces it
blocked_by: ["T-1"]nobody starts this task until T-1 is done or releasedthe dispatcher parks the card in blocked with the reason on it, and picks it up automatically the moment T-1 lands
deploy_depends_on: ["T-1"]this task may not be RELEASED until T-1 is live in productionthe release gate refuses the deploy and comments why; the ordering is also written into this task's before_deploy runbook for you
a "Depends on: …" line in descriptiona human reading the card understands the shapenothing
  • The backend task a frontend consumes is usually both: the frontend cannot be written before the contract exists, and it must not ship before the API does. Set both arguments.
  • Two tasks that were developed in parallel and never blocked each other can still have a hard shipping order — that is deploy_depends_on alone.
  • A cycle is refused at creation with the chain that causes it. If you hit one, the split is wrong: two tasks that each have to go first are one task.
  • Anything that has to happen around the deploy — a migration to run first, a flag to flip, a cache to warm, how to undo it — goes in before_deploy / after_deploy / rollback_plan on the task that owns it. Those fields are posted on the card automatically when the release is dispatched and when it lands. A pre-deploy step written as a comment is one nobody sees at deploy time.
Show full SKILL.md (553 more words)Show less

Board Mechanics

Task creation happens ONLY after the human approves the analysis (see analiz-human-review-gate). The analiz task is in the done column when you run this — that column IS the approval signal.

  1. Check for answered open questions before creating anything (list_open_questions if the context block doesn't already show them; open-questions-protocol). Apply every answer, and an unanswered non-blocking question's recommended_answer, to the tasks you create. If an answer contradicts the approved split or plan in a way this decomposition cannot absorb, create nothing — add_task_comment naming the conflict and stop.
  2. create_board_task per slice, column=todo, with assignee set to the matching developer role (REQUIRED — an unassigned task is never dispatched and sits idle) and derived_from set to this analiz task. Call list_team to confirm the valid role names. Developers pick up their assigned tasks autonomously — no further human gate on implementation tasks.
  3. Create them in dependency order — the producer first — so each dependent can name the task it waits for by key in blocked_by / deploy_depends_on. If you only realise an order after the fact, update_board_task with blocked_by adds it.
  4. Putting every slice in todo at once is correct even when they are ordered: a task whose blocker is open is parked automatically and released the moment the blocker lands. Holding tasks back in backlog to fake an order is what the arguments replace.
  5. add_task_comment on the analiz task listing every created task: title, assignee, project, and its order (what it waits for and what ships after it).
  6. Move the analiz task to released — you are finished with it. (You never move it to done; the human does that as their approval action.)

Red Flags

  • Creating tasks while the analiz task is still in analiz_review → you skipped the human gate.
  • A created task that comes back with an empty acceptance_criteria array → you wrote the criteria as prose; fix it with update_board_task.
  • A created task that comes back with dropped_criteria → you wrote board steps as criteria; replace them with statements about the product, not with the same sentence reworded.
  • A task whose AC mention two layers or two repositories.
  • A task the assignee cannot start because an interface it consumes is defined nowhere.
  • A created task with no derived_from → its developer has no route to your analysis report. update_board_task has no derived_from field — it is create-only and silently ignores one if you pass it. You also hold no delete_board_task, so you cannot delete and recreate it either: add_task_comment on that task immediately with "Spec and plan: list_task_documents <this analiz task's key>" so the developer has a route, and take care to set derived_from on every remaining create_board_task call this run.
  • A created task whose repository differs from its row in the split table → it lands in the wrong developer's workspace; same immediate-comment workaround as above (repository is also create-only).
  • An order that exists only as "Depends on: …" prose → nothing enforces it; add blocked_by / deploy_depends_on.
  • A cycle refused at creation → your split is wrong, not the board. Merge the two tasks or move the shared piece into its own task that goes first.
  • Moving the analiz task to done yourself → done is the human's approval move and analiz_review is the system's; you move it only to released.
  • Decomposing while an open question's answer still contradicts the approved split — stop and comment instead (open-questions-protocol).

© makifbaysal, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in catalog/agents/system-architect/skills/task-decomposition of makifbaysal/tasktrooper.

Open the folder on GitHubat commit 09f6258

Compare with similar skills

Task Decomposition next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Task Decomposition compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Task Decomposition this skillmakifbaysal/tasktrooper109—~2.6kAutomated safety check: PassApache-2.0
MemPalace Task HandoffMemPalace/mempalace59k—~1.9kAutomated safety check: PassMIT
Planning And Task Breakdownabashev/vfs-s31068 repos~1.9kAutomated safety check: PassApache-2.0
Incremental Implementationaddyosmani/agent-skills103k1 repos~2.3kAutomated safety check: PassMIT
ULW Plan Workflowcode-yeongyu/oh-my-openagent70k—~3.9kAutomated safety check: PassCustom licence
Implementation Plan Creatortailcallhq/forgecode7.6k1 repos~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • MemPalace Task Handoff

    MemPalace/mempalace

    Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.

    59k GitHub stars~1.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Breaks work into ordered tasks. An agent skill from abashev/vfs-s3.

    106 GitHub starsUsed in 8 repos~1.9k tokens
    Agent WorkflowsAuto-check passed
  • Incremental Implementation

    addyosmani/agent-skills

    Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.

    103k GitHub starsUsed in 1 repo~2.3k tokens
    Agent WorkflowsAuto-check passed
  • ULW Plan Workflow

    code-yeongyu/oh-my-openagent

    Explore-first planning that turns a vague or large request into one decision-complete work plan, written only after your approval and executed by a separate worker.

    70k GitHub stars~3.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Implementation Plan Creator

    tailcallhq/forgecode

    Writes a structured Markdown implementation plan with checkbox tasks, verification criteria and risks, then checks it with a validation script; no code changes.

    7.6k GitHub starsUsed in 1 repo~1.1k tokens
    Agent WorkflowsAuto-check passed
  • Runs a whole project unattended on an agtx kanban board, decomposing the goal, starting tasks, unblocking workers and merging each result.

    1.7k GitHub stars~3.8k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed

More from makifbaysal/tasktrooper

All 99 skills in this repo
  • API Contract Testing

    makifbaysal/tasktrooper

    A skill your agent uses when a task adds or changes an HTTP endpoint, its request/response shape, status codes, auth or error format - the request matrix, curl templates and what counts as a…

    109 GitHub starsUsed in 1 repo~771 tokens
    Auto-check passed
  • Acceptance Criteria Gwt

    makifbaysal/tasktrooper

    A skill your agent uses when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

    109 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Accessibility Check

    makifbaysal/tasktrooper

    A skill your agent uses when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

    109 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Analiz Gate

    makifbaysal/tasktrooper

    A skill your agent uses when deciding whether a request needs an analiz task before implementation - the conditions that require the architect's analysis versus going straight to implementation

    109 GitHub stars~641 tokensUpdated today
    Auto-check passed
  • Analiz HTML Report

    makifbaysal/tasktrooper

    A skill your agent uses when you write or revise the analiz deliverable - the ONE self-contained HTML report (spec and plan as sections) a human reviews passage by passage

    109 GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Analiz Human Review Gate

    makifbaysal/tasktrooper

    A skill your agent uses when you finish an analiz report - the human must approve the analysis before any implementation task is created, via the analizreview column

    109 GitHub stars~2.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Task Decomposition

What does Task Decomposition do?

A skill your agent uses when an analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository, AC, derivedfrom and ordering arguments. Task Decomposition is an agent skill from makifbaysal/tasktrooper.

When should I use Task Decomposition?

Task Decomposition fits situations like: an analiz task arrives in done (approved) - turn the approved split into implementation tasks with repository; derivedfrom and ordering arguments.

How do I install Task Decomposition in Claude Code?

Run `npx skills add makifbaysal/tasktrooper --skill task-decomposition -a claude-code`. Or copy the skill folder (catalog/agents/system-architect/skills/task-decomposition in makifbaysal/tasktrooper) into .claude/skills/task-decomposition in your project. Claude Code loads it when a task matches its description.

How do I install Task Decomposition in Codex?

Run `npx skills add makifbaysal/tasktrooper --skill task-decomposition -a codex`. Or copy the skill folder (catalog/agents/system-architect/skills/task-decomposition in makifbaysal/tasktrooper) into .agents/skills/task-decomposition in your project. Codex loads it when a task matches its description.

Can I use Task Decomposition in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add makifbaysal/tasktrooper --skill task-decomposition -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/task-decomposition, .gemini/skills/task-decomposition, .github/skills/task-decomposition and .opencode/skills/task-decomposition in your project.

What does Task Decomposition need to run?

SKILL.md names no scripts, command-line tools or credentials: Task Decomposition is instructions for the agent only.

Does Task Decomposition access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Task Decomposition safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Task Decomposition use?

Task Decomposition is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Task Decomposition use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Task Decomposition?

Skills that share tags, products or a category with Task Decomposition: MemPalace Task Handoff (MemPalace/mempalace, 59k stars), Planning And Task Breakdown (abashev/vfs-s3, 106 stars), Incremental Implementation (addyosmani/agent-skills, 103k stars) and ULW Plan Workflow (code-yeongyu/oh-my-openagent, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Task Decomposition?

makifbaysal (a GitHub user) maintains it in makifbaysal/tasktrooper, which has 109 GitHub stars. The repository holds 99 skills in this directory. The repository was last updated on October 7, 2026.

Source: makifbaysal/tasktrooper on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.