Decompose work in the devtools-mcp tracker: epics into stories, stories into punch-card subtasks, with auto-tag rules classifying tasks at creation. Use when planning a feature ("break this down", "build me a backlog", user-story writing), when restructuring a tree (reparent/reorder), or when setting up tag rules so new tasks self-classify.
Scanned 9/27/2026
npx -y skills add Ugbot/ai-grind --skill tracker-breakdown --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Tracker Breakdown?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ugbot-tracker-breakdown)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: tracker-breakdown
description: >
Decompose work in the devtools-mcp tracker: epics into stories, stories into
punch-card subtasks, with auto-tag rules classifying tasks at creation. Use
when planning a feature ("break this down", "build me a backlog", user-story
writing), when restructuring a tree (reparent/reorder), or when setting up
tag rules so new tasks self-classify.
---
# Breaking work down (punch cards)
The tracker models a bounded hierarchy: any task can parent subtasks via a
foreign key, up to **6 levels deep**. The conventional ladder is
`epic → story → task → subtask`, but the schema doesn't force it. `kind` is a
label, structure is the parent link.
## User-story building
1. Epic for the goal:
`tracker_task(action="create", project="GRIND", title="Search v2", kind="epic")`
2. Stories under it (user-facing slices):
`tracker_task(action="create", project="GRIND", title="As a user, I can filter by tag", kind="story", parent="GRIND-1")`
3. Punch-card the story into executable steps in one call:
`tracker_task(action="breakdown", key="GRIND-2", subtasks=["schema migration", "query parser", "UI chips", "tests"])`
`breakdown` creates up to **20** children at once; the child kind defaults by
parent kind (`epic→story`, `story→task`, `task→subtask`, anything else
`→subtask`). Pass `kind=` to override.
Write acceptance criteria on each story as you go. See tracker-acceptance.
## Restructuring
- Reparent with `tracker_task(action="move", key="GRIND-9", parent="GRIND-4")`:
moves the whole subtree; rejected if it would exceed 6 levels or create a
cycle.
- Detach to top level: `tracker_task(action="move", key="GRIND-9", to_root=True)`
- Reorder among siblings: `tracker_task(action="move", key="GRIND-9", before="GRIND-5")`
## Auto-tag rules
Rules apply tags at **creation time** (they don't retro-tag). Conditions AND
together; any can be omitted:
```
tracker_tag(action="rule_add", tag="user-story", match_kind="story")
tracker_tag(action="rule_add", tag="performance", match_regex="(?i)\\bperf|latency\\b")
tracker_tag(action="rule_add", tag="acceptance", match_parent_kind="story")
tracker_tag(action="rule_add", tag="grind-only", match_kind="task", project="GRIND")
```
- `match_regex` searches title + description.
- `project=` scopes a rule; otherwise it's global.
- Inspect/remove: `rule_list`, `rule_remove(rule_id=…)`.
- Manual tags any time: `tracker_tag(action="add", key="GRIND-9", tag="needs-review")`.
A good default setup: `user-story` on stories, `acceptance` on children of
stories, plus domain tags (perf, security, docs) via regex rules.
## Sequencing the punch cards
When subtasks have a real order (schema before parser before UI), declare it:
```
tracker_deps(action="add", key="GRIND-5", depends_on="GRIND-4")
```
Then `tracker_deps(action="resolve", key="GRIND-2")` answers "what needs to
happen to finish this story": ready tasks, blockers, and the parallelizable
order. Don't add edges for things the hierarchy already says (a parent is
automatically 'waiting on subtasks' while children are open).
## Checking the shape
`tracker_query(view="tree", project="GRIND")` shows the whole hierarchy;
`tracker_query(view="rollup", project="GRIND")` shows progress by kind.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!