Skip to content
Back to skills

Tracker Breakdown

ASecurity

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.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsgosecurityperformance

Works with

  • mcp

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add Ugbot/ai-grind --skill tracker-breakdown --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tracker Breakdown?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tracker Breakdown
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ugbot-tracker-breakdown/badge)](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.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…