Agent skill

Task Breakdown

by centminmod in centminmod/my-claude-code-setup

Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…

MITAuto-check passedAgent Workflows

Install Task Breakdown

skills CLI
$ npx skills add centminmod/my-claude-code-setup --skill task-breakdown -a claude-code

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

GitHub CLI
$ gh skill install centminmod/my-claude-code-setup task-breakdown --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/centminmod/my-claude-code-setup.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/task-breakdown .claude/skills/task-breakdown && 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-breakdown
GitHub stars
2.7k
Token cost
~2.4k tokens
SKILL.md length
1,130 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…

  • Works in 7 steps: Locate the export and the renderer. → **Prepare the worksheet + skeleton… → Group into semantic tasks. Read the… → …
  • The user runs /task-breakdown
  • SKILL.md covers Inputs, Steps and Guardrails
  • Calls python3

What it does

Task Breakdown is an agent skill from centminmod/my-claude-code-setup. Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed / likely-waste verdict per task. Trigger when the user runs /task-breakdown, when session-metrics suggests a task breakdown after a JSON export, or when the user asks to "group my turns into tasks", "what tasks did this session cover", "which work was worth it vs wasted", or "break this session into tasks". Consumes the…

Its SKILL.md is about 2.4k 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: Shared starter template configuration and CLAUDE.md memory bank system for Claude Code. The licence is MIT.

When your agent uses it

  • The user runs /task-breakdown
  • Session-metrics suggests a task breakdown after a JSON export
  • The user asks to group my turns into tasks
  • What tasks did this session cover

Example prompts

  • “s turns into higher-level SEMANTIC TASKS (”
  • “group my turns into tasks”
  • “what tasks did this session cover”
  • “/task-breakdown”

Requirements

  • Python 3

Workflow steps

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

  1. Locate the export and the renderer.
  2. **Prepare the worksheet + skeleton (preferred — you are an editor, not an
  3. Group into semantic tasks. Read the units in order and cluster
  4. Label each task with a verdict, using the deterministic waste signals as
  5. Write grouping.json next to the export (same directory), shape
  6. Render the companion
  7. Report back to the user with a SHORT SUMMARY ONLY — do not paste the

What it can do on your machine

Read from SKILL.md and the folder at commit 7d5c374. 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

    Shell commands in SKILL.md call:

    • python3

    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 Breakdown loads about 2.4k tokens when it runs. Until then it costs about 192 tokens; SKILL.md has 1,130 words of instructions outside code blocks.

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

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 centminmod/my-claude-code-setup at commit 7d5c374, republished under its MIT licence (© centminmod). 1,130 words, ~2,445 tokens.

Download SKILL.mdSave it as .claude/skills/task-breakdown/SKILL.md (or your agent's skills folder).
name
task-breakdown
description
Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (*_tasks.html + *_tasks.md) with a worth-it / mixed / likely-waste verdict per task. Trigger when the user runs /task-breakdown, when session-metrics suggests a task breakdown after a JSON export, or when the user asks to "group my turns into tasks", "what tasks did this session cover", "which work was worth it vs wasted", or "break this session into tasks". Consumes the deterministic per-request breakdown (request_units) from a session-metrics JSON export — it never re-derives cost or token numbers. Args: $ARGUMENTS[0] = path to a session-metrics JSON export (optional; if omitted, generate one first).

Task Breakdown

Turns a session's per-request breakdown (the deterministic request_units emitted by session-metrics) into semantic tasks the user actually thinks in — "added auth", "debugged the cache miss" — and labels each with a verdict. You do the one thing deterministic code can't: decide which requests belong to the same task. The script does everything else (cost, turns, tokens, waste signals, the themed page).

Model. This skill runs on your session's current model. It no longer pins one (a hard model: pin ran the inline turn on that model, dragging the whole conversation into that model's context window — on a long session that overflowed and broke invocation). The grouping + verdict work is judgement-heavy, so it wants a capable model; for a cheaper run that's still strong enough, /model sonnet before invoking. Don't drop to Haiku — the semantic verdicts need the headroom.

Division of labour — do not blur it:

  • The export owns the numbers. Every cost / turn / token / waste figure comes from request_units in the JSON export. You MUST NOT sum money or invent figures — --render-tasks recomputes all totals from the export.
  • You own the grouping + labels only. You assign each request_unit_id to a task, write a short title, a verdict, and a one-line rationale.

Inputs

$ARGUMENTS[0] (optional) = path to a session-metrics JSON export, e.g. exports/session-metrics/session_<id8>_<ts>.json (session scope is the primary target; project_*.json also works — units carry a session_id). The export must contain a request_units array.

If $ARGUMENTS[0] is missing, first generate a session export by invoking the session-metrics skill (or run its script) for the session of interest with --output json html, then use the written session_*.json path.

Steps

  1. Locate the export and the renderer.

    • Export: $ARGUMENTS[0], or the JSON you just generated.
    • Renderer: the sibling session-metrics skill's script. Resolve its path (it ships in the same plugin):
      • plugin install: ../session-metrics/scripts/session-metrics.py
      • dev repo: .claude/skills/session-metrics/scripts/session-metrics.py Use whichever exists (glob if unsure).
  2. Prepare the worksheet + skeleton (preferred — you are an editor, not an author). Run --prepare-tasks on the export: it prints a compact one-line-per-request worksheet to stdout and writes a renderable candidate <stem>_grouping.json next to the export, with deterministic clustering, seeded titles, and suggested verdicts already filled in.

    python3 <renderer> --prepare-tasks <export.json>

    The worksheet is your single source of grouping signals — do not re-probe the JSON with jq/Read. Each row shows the unit's candidate cluster (cl), turns, cost, tokens, risk/reread/cbreak, idle gap, snippet, and top tools; [cont] marks an agent-completion continuation and [blank] a no-prompt unit (both pre-attached to the preceding cluster). On a large session (>120 request units) the worksheet prints a bounded per-cluster summary instead of per-unit rows (so stdout never overflows the prompt) — the written skeleton still covers every unit, so treat it as your authoritative surface and edit it (merge/split/rename) rather than reconstructing the full per-unit list inline. Then edit the skeleton per steps 3–5 below rather than writing it from scratch: rename each seeded title (and drop its _auto_title field once named), merge/split clusters where the worksheet warrants, write one-line rationales, and fill any blank verdict the skeleton left for your judgment. Skip to step 6 (render) when done.

    (Fallback — manual authoring.) If you are not using --prepare-tasks, load the export JSON and read request_units directly. Each unit has: unit_id ("<session_id>:<anchor_index>"), prompt_snippet, prompt_text, turn_count, combined_cost_usd, total_tokens, tool_histogram, risk_turn_count, reread_path_count, cache_break_count, wall_clock_seconds, idle_gap_before_seconds, slash_command, spawned_subagents, workflow_run_ids, multi_intent_possible. If request_units is absent, tell the user to re-run session-metrics to regenerate the export (the per-request breakdown is a newer feature) and stop.

  3. Group into semantic tasks. Read the units in order and cluster consecutive requests that pursue the same goal into one task. Signals, in priority order:

    • Topical/lexical continuity of prompt_snippet/prompt_text (same feature, file, bug, or subject) — the PRIMARY signal.
    • Shared tool_histogram / file targets across adjacent requests.
    • Slash command / skill starts (slash_command, a /debug, /feature-dev, etc.) often begin a task.
    • Idle gaps (idle_gap_before_seconds) — a WEAK, confirming-only hint. A long gap supports a split you already suspect topically; never split on a gap alone (lunch breaks, overnight continuations).
    • A unit flagged multi_intent_possible may belong to two tasks — note it, but keep the unit whole (it cannot be divided). Most sessions yield a handful of tasks. Don't over-segment ("now fix the test" is usually the SAME task as the feature it follows), and don't under-segment (one giant "misc" task is useless). At large scale (many dozens of units, e.g. a project-scope export): group at session granularity — one titled task per coherent session-goal — rather than attempting per-unit segmentation. Never emit a single untitled catch-all task that swallows everything: the renderer's collapse guard flags a blank-titled task covering the bulk of requests, and it is a useless grouping anyway. If you cannot segment meaningfully, that is a signal the input is too coarse for this skill (prefer a single-session export).
  4. Label each task with a verdict, using the deterministic waste signals as evidence, NOT a guess:

    • worth_it — the task reached its goal at reasonable cost; low risk_turn_count / re-read churn relative to its size.
    • likely_waste — high risk_turn_count, repeated reread_path_count, many cache_break_count, or a long turn/cost run with little to show (e.g. a debug loop that churned).
    • mixed — partly productive, partly churn, or you're unsure. Bias toward mixed/worth_it when uncertain — a wrong likely_waste damages trust more than a missed one. Keep the rationale to one honest sentence tied to the signals ("12 turns, 4 risky re-reads of the same file before the fix landed").
  5. Write grouping.json next to the export (same directory), shape:

    json
    {
      "schema_version": "1",
      "scope_label": "session <id8> · <first_ts>",
      "tasks": [
        {
          "title": "Add token-refresh to auth",
          "verdict": "worth_it",
          "rationale": "8 requests, one short debug detour, shipped.",
          "request_unit_ids": ["<sid>:2", "<sid>:3", "<sid>:5"]
        }
      ]
    }

    Cover every unit_id exactly once across all tasks. (Any you leave out are swept into a synthetic "Ungrouped requests" task automatically, and the renderer warns — aim for full coverage.)

  6. Render the companion:

    python3 <renderer> --render-tasks <export.json> <grouping.json>

    The script validates the grouping (flags duplicate / unknown unit ids, schema drift), recomputes every total from the export, and writes <stem>_tasks.html + <stem>_tasks.md next to the export. It prints the output paths and any validation warnings.

  7. Report back to the user with a SHORT SUMMARY ONLY — do not paste the full task list or the rendered *_tasks.md inline (on a large session that overflows the reply with "Prompt is too long" / output truncation). Include: a one-line result (N tasks, total cost, coverage %), the verdict counts (worth_it / mixed / likely_waste), any grouping warnings the script surfaced, and the *_tasks.html / *_tasks.md paths. Read every figure back from the script's stdout / the rendered *_tasks.md — never recompute. Optionally name up to 3 notable tasks; the full per-task detail lives in the written files. Offer to open the HTML page.

Show full SKILL.md (67 more words)Show less

Guardrails

  • Never invent or sum numbers. If you need a total, read it from the export or from the rendered *_tasks.md after --render-tasks runs.
  • Don't touch the workflow companion (*_workflows.*) — the Tasks page is a separate, additional artifact.
  • Honest framing: the deterministic dashboard section is "per-request breakdown"; only this skill's output is allowed to call groups "tasks", because only here did a human-level judgement decide the boundaries.

© centminmod, MIT. 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 .claude/skills/task-breakdown of centminmod/my-claude-code-setup.

Open the folder on GitHubat commit 7d5c374

Compare with similar skills

Task Breakdown 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 Breakdown compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Task Breakdown this skillcentminmod/my-claude-code-setup2.7k—~2.4kAutomated safety check: PassMIT
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
Ask NavigatorYeachan-Heo/oh-my-claudecode40k—~4.1kAutomated safety check: PassMIT

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 yesterday
    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
  • Ask Navigator

    Yeachan-Heo/oh-my-claudecode

    Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.

    40k GitHub stars~4.1k 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

More from centminmod/my-claude-code-setup

  • Audit Session Metrics

    centminmod/my-claude-code-setup

    Audit a session-metrics JSON export for token-usage waste and produce a plain-English findings report.

    2.7k GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • AI Image Creator

    centminmod/my-claude-code-setup

    Generate, edit-from-reference, or analyze images with AI via OpenRouter (Gemini, GPT Image, Seedream, Qwen, MAI, Grok, FLUX.2, Recraft, Muse, Riverflow; Cloudflare AI Gateway BYOK).

    2.7k GitHub stars~8.1k tokensUpdated yesterday
    Auto-check: notes
  • Session Metrics

    centminmod/my-claude-code-setup

    Tally Claude Code session token usage and cost estimates from the raw JSONL conversation log.

    2.7k GitHub stars~8k tokensUpdated yesterday
    Auto-check passed
  • Claude Docs Consultant

    centminmod/my-claude-code-setup

    Consult official Claude Code documentation from code.claude.com using selective fetching.

    2.7k GitHub stars~959 tokensUpdated yesterday
    Auto-check passed
  • Consult Codex

    centminmod/my-claude-code-setup

    Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives.

    2.7k GitHub stars~4.8k tokensUpdated yesterday
    Auto-check passed
  • Consult Zai

    centminmod/my-claude-code-setup

    Dual-AI code analysis pairing z.ai GLM 5.2 with Claude code-searcher — a lightweight two-model second opinion.

    2.7k GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Task Breakdown

What does Task Breakdown do?

Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…. Task Breakdown is an agent skill from centminmod/my-claude-code-setup.md) with a worth-it / mixed / likely-waste verdict per task.

When should I use Task Breakdown?

Task Breakdown fits situations like: the user runs /task-breakdown; session-metrics suggests a task breakdown after a JSON export; the user asks to group my turns into tasks; what tasks did this session cover.

How do I install Task Breakdown in Claude Code?

Run `npx skills add centminmod/my-claude-code-setup --skill task-breakdown -a claude-code`. Or copy the skill folder (.claude/skills/task-breakdown in centminmod/my-claude-code-setup) into .claude/skills/task-breakdown in your project. Claude Code loads it when a task matches its description.

How do I install Task Breakdown in Codex?

Run `npx skills add centminmod/my-claude-code-setup --skill task-breakdown -a codex`. Or copy the skill folder (.claude/skills/task-breakdown in centminmod/my-claude-code-setup) into .agents/skills/task-breakdown in your project. Codex loads it when a task matches its description.

Can I use Task Breakdown 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 centminmod/my-claude-code-setup --skill task-breakdown -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-breakdown, .gemini/skills/task-breakdown, .github/skills/task-breakdown and .opencode/skills/task-breakdown in your project.

What does Task Breakdown need to run?

Going by SKILL.md and its folder, Task Breakdown needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Task Breakdown 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 Breakdown 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 Breakdown use?

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

How many tokens does Task Breakdown use?

About 2.4k tokens (SKILL.md is roughly 9.8k 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 Breakdown?

Skills that share tags, products or a category with Task Breakdown: 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 Breakdown?

centminmod (a GitHub user) maintains it in centminmod/my-claude-code-setup, which has 2,657 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: centminmod/my-claude-code-setup on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.