Files
claude-engineering-plugin/plugins/compound-engineering/skills/todo-create/SKILL.md
John Lamb bf1f79aba4 Merge upstream origin/main (v2.60.0) with fork customizations preserved
Incorporates 78 upstream commits while preserving all local fork intent:
- Keep deleted: dhh-rails, kieran-rails, dspy-ruby, andrew-kane-gem-writer (FastAPI pivot)
- Merge both: ce-review (zip-agent-validator + design-conformance-reviewer wiring),
  kieran-python-reviewer (upstream pipeline + FastAPI conventions),
  ce-brainstorm/ce-plan/ce-work (upstream improvements + deploy wiring checks),
  todo-create (upstream template refs + assessment block),
  best-practices-researcher (upstream rename + FastAPI refs)
- Accept remote: 142 remote-only files, plugin.json, README.md
- Keep local: 71 local-only files (custom agents, skills, commands, voice)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 12:27:52 -05:00

4.4 KiB

name, description, disable-model-invocation
name description disable-model-invocation
todo-create Use when creating durable work items, managing todo lifecycle, or tracking findings across sessions in the file-based todo system true

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 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.

Directory Paths

Purpose Path
Canonical (write here) .context/compound-engineering/todos/
Legacy (read-only) todos/

File Naming Convention

{issue_id}-{status}-{priority}-{description}.md
  • issue_id: Sequential number (001, 002, ...) -- never reused
  • status: pending | ready | complete
  • priority: p1 (critical) | p2 (important) | p3 (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.

---
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.

Required for code review findings: Assessment (Pressure Test) — verify the finding before acting on it.

  • Assessment: Clear & Correct | Unclear | Likely Incorrect | YAGNI
  • Recommended Action: Fix now | Clarify | Push back | Skip
  • Verified: Code, Tests, Usage, Prior Decisions (Yes/No with details)
  • Technical Justification: Why this finding is valid or should be skipped

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

  1. mkdir -p .context/compound-engineering/todos/
  2. Search both paths for [0-9]*-*.md, find the highest numeric prefix, increment, zero-pad to 3 digits.
  3. Use the todo template included below, write to canonical path as {NEXT_ID}-pending-{priority}-{description}.md.
  4. Fill Problem Statement, Findings, Proposed Solutions, Acceptance Criteria, and initial Work Log entry.
  5. Set status: pending (needs triage) or ready (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

  1. Glob *-pending-*.md in both paths.
  2. Review each todo's Problem Statement, Findings, and Proposed Solutions.
  3. Approve: rename pending -> ready in filename and frontmatter, fill Recommended Action.
  4. Defer: leave as pending.

Load the 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

  1. Verify all acceptance criteria.
  2. Update Work Log with final session.
  3. Rename ready -> complete in filename and frontmatter.
  4. Check for unblocked work: search for files containing dependencies:.*"{issue_id}".

Integration with Workflows

Trigger Flow
Code review /ce:review -> Findings -> /todo-triage -> Todos
Autonomous review /ce:review mode:autofix -> Residual todos -> /todo-resolve
Code TODOs /todo-resolve -> 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