Compound-engineering-plugin ce-todo-create
Use when creating durable work items, managing todo lifecycle, or tracking findings across sessions in the file-based todo system
git clone https://github.com/EveryInc/compound-engineering-plugin
T=$(mktemp -d) && git clone --depth=1 https://github.com/EveryInc/compound-engineering-plugin "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/compound-engineering/skills/ce-todo-create" ~/.claude/skills/everyinc-compound-engineering-plugin-ce-todo-create && rm -rf "$T"
plugins/compound-engineering/skills/ce-todo-create/SKILL.mdFile-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
(canonical) and.context/compound-engineering/todos/(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.todos/
Directory Paths
| Purpose | Path |
|---|---|
| Canonical (write here) | |
| Legacy (read-only) | |
File Naming Convention
{issue_id}-{status}-{priority}-{description}.md
- issue_id: Sequential number (001, 002, ...) -- never reused
- status:
|pending
|readycomplete - priority:
(critical) |p1
(important) |p2
(nice-to-have)p3 - 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.
--- 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 (
,mv).mkdir -p
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.[0-9]*-*.md - 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) orpending
(pre-approved).ready
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.*-pending-*.md - Review each todo's Problem Statement, Findings, and Proposed Solutions.
- Approve: rename
->pending
in filename and frontmatter, fill Recommended Action.ready - Defer: leave as
.pending
Load the
ce-todo-triage skill for an interactive approval workflow.
Managing Dependencies
dependencies: ["002", "005"] # Blocked by these issues dependencies: [] # No blockers
To check blockers: search for
{dep_id}-complete-*.md in both paths. Missing matches = incomplete blockers.
Completing a Todo
- Verify all acceptance criteria.
- Update Work Log with final session.
- Rename
->ready
in filename and frontmatter.complete - 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 (
TaskCreate/TaskUpdate in Claude Code, update_plan in Codex) instead.
Todo Template
@./assets/todo-template.md