File-Based Todo Tracking
Overview
The
.context/compound-engineering/todos/
directory is a file-based tracking system for code review feedback, technical debt, feature requests, and work items. Each todo is a markdown file with YAML frontmatter.
Legacy support: Always check both
.context/compound-engineering/todos/
(canonical) and
(legacy) when reading. Write new todos only to the canonical path. This directory has a multi-session lifecycle -- do not clean it up as scratch.
Directory Paths
| Purpose | Path |
|---|
| Canonical (write here) | .context/compound-engineering/todos/
|
| Legacy (read-only) | |
File Naming Convention
{issue_id}-{status}-{priority}-{description}.md
- issue_id: Sequential number (001, 002, ...) -- never reused
- status: | |
- priority: (critical) | (important) | (nice-to-have)
- description: kebab-case, brief
Example: 002-ready-p1-fix-n-plus-1.md
File Structure
Each todo has YAML frontmatter and structured sections. Use the todo template included below when creating new todos.
yaml
---
status: ready
priority: p1
issue_id: "002"
tags: [rails, performance]
dependencies: ["001"] # Issue IDs this is blocked by
---
Required sections: Problem Statement, Findings, Proposed Solutions, Recommended Action (filled during triage), Acceptance Criteria, Work Log.
Optional sections: Technical Details, Resources, Notes.
Workflows
Tool preference: Use native file-search/glob and content-search tools instead of shell commands for finding and reading todo files. Shell only for operations with no native equivalent (
,
).
Creating a New Todo
mkdir -p .context/compound-engineering/todos/
- Search both paths for , find the highest numeric prefix, increment, zero-pad to 3 digits.
- Use the todo template included below, write to canonical path as
{NEXT_ID}-pending-{priority}-{description}.md
.
- Fill Problem Statement, Findings, Proposed Solutions, Acceptance Criteria, and initial Work Log entry.
- Set status: (needs triage) or (pre-approved).
Create a todo when the work needs more than ~15 minutes, has dependencies, requires planning, or needs prioritization. Act immediately instead when the fix is trivial, obvious, and self-contained.
Triaging Pending Items
- Glob in both paths.
- Review each todo's Problem Statement, Findings, and Proposed Solutions.
- Approve: rename -> in filename and frontmatter, fill Recommended Action.
- Defer: leave as .
Load the
skill for an interactive approval workflow.
Managing Dependencies
yaml
dependencies: ["002", "005"] # Blocked by these issues
dependencies: [] # No blockers
To check blockers: search for
in both paths. Missing matches = incomplete blockers.
Completing a Todo
- Verify all acceptance criteria.
- Update Work Log with final session.
- Rename -> in filename and frontmatter.
- Check for unblocked work: search for files containing
dependencies:.*"{issue_id}"
.
Integration with Workflows
| Trigger | Flow |
|---|
| Code review | -> Findings -> -> Todos |
| Autonomous review | -> Residual todos -> |
| Code TODOs | -> Fixes + Complex todos |
| Planning | Brainstorm -> Create todo -> Work -> Complete |
Key Distinction
This skill manages
durable, cross-session work items persisted as markdown files. For temporary in-session step tracking, use platform task tools (
/
in Claude Code,
in Codex) instead.
Todo Template
@./assets/todo-template.md