Install any skill in seconds. Free to start, no credit card required.
Get Started Free →This skill should be used when managing the file-based todo tracking system in the todos/ directory. It provides workflows for creating todos, managing status and dependencies, conducting triage, and integrating with slash commands and code review processes.
.claude/skills/microck-file-todos/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 181% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 173% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 353% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 54% | 0% |
The todos/ directory contains a file-based tracking system for managing code review feedback, technical debt, feature requests, and work items. Each todo is a markdown file with YAML frontmatter and structured sections.
This skill should be used when:
Todo files follow this naming pattern:
{issue_id}-{status}-{priority}-{description}.mdComponents:
pending (needs triage), ready (approved), complete (done)p1 (critical), p2 (important), p3 (nice-to-have)Examples:
001-pending-p1-mailer-test.md
002-ready-p1-fix-n-plus-1.md
005-complete-p2-refactor-csv.mdEach todo is a markdown file with YAML frontmatter and structured sections. Use the template at assets/todo-template.md as a starting point when creating new todos.
Required sections:
Optional sections:
YAML frontmatter fields:
yaml--- status: ready # pending | ready | complete priority: p1 # p1 | p2 | p3 issue_id: "002" tags: [rails, performance, database] dependencies: ["001"] # Issue IDs this is blocked by ---
To create a new todo from findings or feedback:
ls todos/ | grep -o '^[0-9]\+' | sort -n | tail -1cp assets/todo-template.md todos/{NEXT_ID}-pending-{priority}-{description}.mdpending (needs triage) or ready (pre-approved)When to create a todo:
When to act immediately instead:
To triage pending todos:
ls todos/*-pending-*.mdmv {file}-pending-{pri}-{desc}.md {file}-ready-{pri}-{desc}.mdstatus: pending → status: readypending statusUse slash command: /triage for interactive approval workflow
To track dependencies:
yamldependencies: ["002", "005"] # This todo blocked by issues 002 and 005 dependencies: [] # No blockers - can work immediately
To check what blocks a todo:
bashgrep "^dependencies:" todos/003-*.md
To find what a todo blocks:
bashgrep -l 'dependencies:.*"002"' todos/*.md
To verify blockers are complete before starting:
bashfor dep in 001 002 003; do [ -f "todos/${dep}-complete-*.md" ] || echo "Issue $dep not complete" done
When working on a todo, always add a work log entry:
markdown### YYYY-MM-DD - Session Title **By:** Claude Code / Developer Name **Actions:** - Specific changes made (include file:line references) - Commands executed - Tests run - Results of investigation **Learnings:** - What worked / what didn't - Patterns discovered - Key insights for future work
Work logs serve as:
To mark a todo as complete:
mv {file}-ready-{pri}-{desc}.md {file}-complete-{pri}-{desc}.mdstatus: ready → status: completegrep -l 'dependencies:.*"002"' todos/*-ready-*.mdfeat: resolve issue 002| Trigger | Flow | Tool | |---------|------|------| | Code review | /review → Findings → /triage → Todos | Review agent + skill | | PR comments | /resolve_pr_parallel → Individual fixes → Todos | gh CLI + skill | | Code TODOs | /resolve_todo_parallel → Fixes + Complex todos | Agent + skill | | Planning | Brainstorm → Create todo → Work → Complete | Skill | | Feedback | Discussion → Create todo → Triage → Work | Skill + slash |
Finding work:
bash# List highest priority unblocked work grep -l 'dependencies: \[\]' todos/*-ready-p1-*.md # List all pending items needing triage ls todos/*-pending-*.md # Find next issue ID ls todos/ | grep -o '^[0-9]\+' | sort -n | tail -1 | awk '{printf "%03d", $1+1}' # Count by status for status in pending ready complete; do echo "$status: $(ls -1 todos/*-$status-*.md 2>/dev/null | wc -l)" done
Dependency management:
bash# What blocks this todo? grep "^dependencies:" todos/003-*.md # What does this todo block? grep -l 'dependencies:.*"002"' todos/*.md
Searching:
bash# Search by tag grep -l "tags:.*rails" todos/*.md # Search by priority ls todos/*-p1-*.md # Full-text search grep -r "payment" todos/
File-todos system (this skill):
todos/ directoryRails Todo model:
app/models/todo.rbTodoWrite tool:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,019 | 6,374 | -51% | 1 | 1 | 0% | 2,014 | 2,284 | +13% | 0 | 0 | — |
case-02 | fail→fail | 23,585 | 3,570 | -85% | 1 | 1 | 0% | 3,574 | 2,108 | -41% | 0 | 0 | — |
case-03 | fail→fail | 1,421 | 4,340 | +205% | 1 | 1 | 0% | 196 | 2,070 | +956% | 0 | 0 | — |
case-04 | pass→pass | 7,791 | 8,822 | +13% | 1 | 1 | 0% | 1,487 | 3,594 | +142% | 0 | 0 | — |
case-05 | pass→pass | 2,754 | 3,540 | +29% | 1 | 1 | 0% | 370 | 2,431 | +557% | 0 | 0 | — |
case-06 | pass→pass | 5,856 | 2,393 | -59% | 1 | 1 | 0% | 974 | 2,335 | +140% | 0 | 0 | — |
case-07 | pass→pass | 6,500 | 3,361 | -48% | 1 | 1 | 0% | 1,184 | 2,510 | +112% | 0 | 0 | — |
case-08 | fail→pass | 5,360 | 3,791 | -29% | 1 | 1 | 0% | 933 | 2,620 | +181% | 0 | 0 | — |
case-09 | fail→pass | 5,264 | 2,776 | -47% | 1 | 1 | 0% | 901 | 2,461 | +173% | 0 | 0 | — |
case-10 | pass→pass | 7,846 | 1,909 | -76% | 1 | 1 | 0% | 1,271 | 2,209 | +74% | 0 | 0 | — |
case-11 | pass→pass | 10,073 | 4,965 | -51% | 1 | 1 | 0% | 1,697 | 2,839 | +67% | 0 | 0 | — |
case-12 | fail→pass | 4,198 | 6,102 | +45% | 1 | 1 | 0% | 633 | 2,868 | +353% | 0 | 0 | — |
case-13 | fail→pass | 11,533 | 2,237 | -81% | 1 | 1 | 0% | 1,922 | 2,301 | +20% | 0 | 0 | — |
case-14 | fail→pass | 8,644 | 2,019 | -77% | 1 | 1 | 0% | 1,449 | 2,232 | +54% | 0 | 0 | — |
case-15 | fail→pass | 12,203 | 2,498 | -80% | 1 | 1 | 0% | 1,925 | 2,332 | +21% | 0 | 0 | — |
case-16 | fail→pass | 11,024 | 1,766 | -84% | 1 | 1 | 0% | 1,618 | 2,181 | +35% | 0 | 0 | — |
case-17 | fail→pass | 8,932 | 4,591 | -49% | 1 | 1 | 0% | 1,255 | 2,642 | +111% | 0 | 0 | — |
case-18 | fail→pass | 3,920 | 3,984 | +2% | 1 | 1 | 0% | 631 | 2,603 | +313% | 0 | 0 | — |
case-19 | fail→pass | 8,403 | 1,851 | -78% | 1 | 1 | 0% | 1,282 | 2,239 | +75% | 0 | 0 | — |
case-20 | fail→pass | 8,894 | 1,680 | -81% | 1 | 1 | 0% | 1,448 | 2,179 | +50% | 0 | 0 | — |
case-21 | fail→pass | 8,114 | 2,200 | -73% | 1 | 1 | 0% | 1,347 | 2,195 | +63% | 0 | 0 | — |
case-22 | fail→pass | 8,386 | 2,502 | -70% | 1 | 1 | 0% | 1,301 | 2,295 | +76% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.