skills/file-todos/SKILL.md
This skill should be used when managing the file-based todo tracking system in the .context/compound-engineering/todos/ directory. It provides workflows for creating todos, managing status and dependencies, conducting triage, and integrating with code review processes.
npx skillsauth add gvkhosla/compound-engineering-pi file-todosInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The .context/compound-engineering/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.
Legacy support: During the transition period, always check both
.context/compound-engineering/todos/(canonical) andtodos/(legacy) when reading or searching for todos. Write new todos only to the canonical path. Unlike per-run scratch directories,.context/compound-engineering/todos/has a multi-session lifecycle -- do not clean it up as part of post-run scratch cleanup.
This skill should be used when:
| Purpose | Path |
|---------|------|
| Canonical (write here) | .context/compound-engineering/todos/ |
| Legacy (read-only) | todos/ |
When searching or listing todos, always search both paths. When creating new todos, always write to the canonical path.
{issue_id}-{status}-{priority}-{description}.md
Components:
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.md
Each todo is a markdown file with YAML frontmatter and structured sections. Use the template at todo-template.md as a starting point when creating new todos.
Required sections:
Optional sections:
YAML frontmatter fields:
---
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
---
Tool preference: Use native file-search (e.g., Glob in Claude Code) and content-search (e.g., Grep in Claude Code) tools instead of shell commands for finding and reading todo files. This avoids unnecessary permission prompts in sub-agent workflows. Use shell only for operations that have no native equivalent (e.g.,
mvfor renames,mkdir -pfor directory creation).
mkdir -p .context/compound-engineering/todos/[0-9]*-*.md using the native file-search/glob tool. Extract the numeric prefix from each filename, find the highest, and increment by one. Zero-pad to 3 digits (e.g., 007)..context/compound-engineering/todos/{NEXT_ID}-pending-{priority}-{description}.md using the native file-write tool.pending (needs triage) or ready (pre-approved)When to create a todo:
When to act immediately instead:
*-pending-*.md in both directory paths.mv {file}-pending-{pri}-{desc}.md {file}-ready-{pri}-{desc}.mdstatus: pending -> status: readypending statusLoad the triage skill for an interactive approval workflow.
To track dependencies:
dependencies: ["002", "005"] # This todo blocked by issues 002 and 005
dependencies: [] # No blockers - can work immediately
To check what blocks a todo: Use the native content-search tool (e.g., Grep in Claude Code) to search for ^dependencies: in the todo file.
To find what a todo blocks: Search both directory paths for files containing dependencies:.*"002" using the native content-search tool.
To verify blockers are complete before starting: For each dependency ID, use the native file-search/glob tool to look for {dep_id}-complete-*.md in both directory paths. Any missing matches indicate incomplete blockers.
When working on a todo, always add a work log entry:
### YYYY-MM-DD - Session Title
**By:** Agent name / 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:
mv {file}-ready-{pri}-{desc}.md {file}-complete-{pri}-{desc}.mdstatus: ready -> status: complete*-ready-*.md files containing dependencies:.*"{issue_id}" using the native content-search toolfeat: resolve issue 002| Trigger | Flow | Tool |
|---------|------|------|
| Code review | /ce-review -> Findings -> /triage -> Todos | Review agent + skill |
| Beta autonomous review | /ce-review-beta mode:autonomous -> Downstream-resolver residual todos -> /resolve-todo-parallel | Review skill + todos |
| 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 |
Use the native file-search/glob tool (e.g., Glob in Claude Code) and content-search tool (e.g., Grep in Claude Code) for these operations. Search both canonical and legacy directory paths.
Finding work:
| Goal | Tool | Pattern |
|------|------|---------|
| List highest priority unblocked work | Content-search | dependencies: \[\] in *-ready-p1-*.md |
| List all pending items needing triage | File-search | *-pending-*.md |
| Find next issue ID | File-search | [0-9]*-*.md, extract highest numeric prefix |
| Count by status | File-search | *-pending-*.md, *-ready-*.md, *-complete-*.md |
Dependency management:
| Goal | Tool | Pattern |
|------|------|---------|
| What blocks this todo? | Content-search | ^dependencies: in the specific todo file |
| What does this todo block? | Content-search | dependencies:.*"{id}" across all todo files |
Searching:
| Goal | Tool | Pattern |
|------|------|---------|
| Search by tag | Content-search | tags:.*{tag} across all todo files |
| Search by priority | File-search | *-p1-*.md (or p2, p3) |
| Full-text search | Content-search | {keyword} across both directory paths |
File-todos system (this skill):
.context/compound-engineering/todos/ (legacy: todos/)In-session task tracking (e.g., TaskCreate/TaskUpdate in Claude Code, update_plan in Codex):
tools
Triage and categorize findings for the CLI todo system
development
Always-on code-review persona. Reviews code for test coverage gaps, weak assertions, brittle implementation-coupled tests, and missing edge case coverage. Spawned by the ce:review-beta skill as part of a reviewer ensemble.
tools
Build and test iOS apps on simulator using XcodeBuildMCP
testing
Run browser tests on pages affected by current PR or branch