From Todos
Walk every pending todo in .claude/todos/ one at a time. For each, confirm / skip / modify / drop, and on confirm, promote to status:ready with a concrete Proposed Change section. Interactive by default; supports mode:autofix for low-risk promotions and mode:report-only for a dry-run table. Runs before /todo-resolve so the resolver only sees scoped, agreed-upon items. Triggers: todo triage, triage todos, review todos, promote todos, walk the todo list, clean up todos.
How this skill is triggered — by the user, by Claude, or both
Slash command
/todos:todo-triageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`/todo-create` captures raw findings. `/todo-triage` decides which ones to fix.
/todo-create captures raw findings. /todo-triage decides which ones to fix.
The purpose of triage is not to be strict - it is to turn vague captures into scoped, agreed-upon work. A ready todo has a one-paragraph Proposed Change that another agent (or human) can execute without re-reading the review thread.
/todo-resolve so the resolver only touches scoped items/todo-create calls (e.g., at the end of a review session)Parse $ARGUMENTS for a mode token (convention from modules/subagent-patterns/rules/subagent-patterns.md):
mode:interactive (default) - For each pending todo, ask the user confirm / skip / modify / dropmode:autofix - Auto-promote any pending todo where the body is concrete enough to write a Proposed Change without user input; leave everything else as pendingmode:report-only - Strictly read-only. Print a classification table per todo and exitWhen composed from another skill (e.g., ce-review), prefer mode:report-only and let the caller decide per-item.
List every .claude/todos/NNN-pending-*.md in the current repo:
ls .claude/todos/*-pending-*.md 2>/dev/null
Sort by priority (p1 > p2 > p3), then by sequence number ascending within each priority band. This surfaces the most urgent items first and preserves capture order as a tiebreaker.
If zero pending todos: print "No pending todos. Nothing to triage." and exit.
For each pending todo in the sorted list:
Read the file (frontmatter + body).
Summarize in two to three lines:
#NNN [{priority}] {title}Prompt the user (interactive mode):
[C]onfirm + promote to ready [S]kip (leave pending)
[M]odify title / priority [D]rop (delete file)
Apply the decision:
status: pending -> status: ready. Rename file from NNN-pending-{priority}-{slug}.md to NNN-ready-{priority}-{slug}.md.In mode:autofix:
In mode:report-only:
When promoting to ready, write or append a ## Proposed change section to the body. Use this template:
## Proposed change
<one paragraph in imperative voice describing the fix. Be specific about which file(s) or function(s) to touch. Avoid hedging.>
**Files**: <comma-separated list, or "TBD during implementation">
**Estimated effort**: <S | M | L> (< 30 min / 30-120 min / > 2 hr)
**Acceptance check**: <one sentence describing how to confirm the fix landed>
If the Proposed Change is uncertain enough that the user would need to provide it, do not autofix - prompt.
After the walk, print a compact summary:
Triaged N pending todos:
promoted -> ready : M
dropped : K
modified : J
still pending : P
If any ready todos now exist, suggest the next step:
Next: run /todo-resolve to batch-fix M ready todos, or pick specific ones.
Renaming is atomic per todo. If a rename fails (filesystem, permissions), roll back the frontmatter edit so the file and frontmatter stay consistent. Never leave a file where the frontmatter status does not match the filename status - /todo-resolve relies on both being in sync.
When called from ce-review or another orchestrator in headless mode:
{ promoted: [...], skipped: [...], dropped: [...] }mode:autofix or mode:report-only strictlySee modules/subagent-patterns/rules/subagent-patterns.md for the mode contract.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub lucasmccomb/ccgm --plugin todos