feat: edit resolve_todos_parallel skill for complete todo lifecycle#292
Conversation
New orchestrator skill that chains resolve_todo_parallel → ce:compound → cleanup, ensuring knowledge compounds from todo resolution and completed todos are deleted. Updates lfg/slfg to use the new skill. Closes EveryInc#291 Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
tmchow
left a comment
There was a problem hiding this comment.
Review
Good concept — the resolve → learn → cleanup loop is a natural extension of the compound-engineering philosophy and the orchestrator pattern is the right architecture choice (compose over modify).
A few things to fix before merging:
1. Remove version bump and changelog entry (blocking)
The PR manually bumps plugin.json to 2.43.0 and adds a handwritten CHANGELOG entry. Per AGENTS.md, routine PRs must not do either of these — release automation handles it. Main is already at 2.44.0, so this would actually downgrade the version.
Remove:
- The
plugin.jsonversion and description changes - The
CHANGELOG.mdentry
2. Fix naming: use hyphens, not underscores (blocking)
The new skill is resolve-todos-fully (hyphens) but it references and chains resolve_todo_parallel (underscores). These are sibling skills in the same namespace — they need to use the same convention. The plugin standard is hyphens (see every other skill: resolve-pr-parallel, ce-compound, git-worktree, etc.). resolve_todo_parallel is the outlier.
Rename resolve_todo_parallel → resolve-todo-parallel (directory and frontmatter name: field) as part of this PR, and update the reference in resolve-todos-fully accordingly.
3. Use semantic wording instead of slash reference for skill invocation
Per AGENTS.md, inside a pass-through SKILL.md, don't use slash syntax for skill references that won't be remapped cross-platform:
# Instead of:
Run `/compound-engineering:resolve_todo_parallel $ARGUMENTS`
# Use:
Run the `resolve-todo-parallel` skill with $ARGUMENTS
/ce:compound is fine since it's a published workflow command.
4. Make step 3 tool reference platform-agnostic
Step 3 says "Use the TaskList tool" — this is Claude Code-specific. Reword to describe the capability:
List all todos and identify those with `done` or `resolved` status, then delete them.
Everything else looks good: frontmatter, gates, summary output format, README/table updates, and the lfg/slfg integration.
tmchow
left a comment
There was a problem hiding this comment.
Review (updated)
The resolve → learn → cleanup loop is a good idea. But this should be folded into the existing resolve_todo_parallel skill rather than being a separate orchestrator.
Why not a separate skill?
resolve-todos-fully is a thin wrapper — it calls resolve_todo_parallel, then ce:compound, then deletes todos. It has no independent use case (nobody would run step 2 or 3 without step 1), and it's only invoked from lfg/slfg which previously called resolve_todo_parallel directly.
A separate orchestrator makes sense when the composed skills are independently useful and the orchestration is a distinct workflow (like lfg composing ce:plan → ce:work → ce:review). Here the three steps are tightly coupled and always run together — that's just one skill with more steps.
Recommendation: Add the compound and cleanup steps directly to resolve_todo_parallel. That skill already owns "resolve todos" — extending it to learn and clean up is a natural evolution, not a new concern.
Other items still apply
-
Remove version bump and changelog entry. Release automation handles this. Main is already at 2.44.0 so the PR would downgrade the version.
-
Rename
resolve_todo_parallel→resolve-todo-parallelwhile you're editing it. Hyphens are the plugin standard (seeresolve-pr-parallel,ce-compound,git-worktree, etc.). Underscores are the outlier. -
Use semantic wording for skill references inside the SKILL.md instead of slash syntax (per AGENTS.md cross-platform rules).
/ce:compoundis fine since it's a published workflow command. -
Make tool references platform-agnostic. "Use the TaskList tool" → describe the capability instead.
lfg/slfg changes
If you fold everything into resolve-todo-parallel, the lfg and slfg references just need the rename update (resolve_todo_parallel → resolve-todo-parallel) — no workflow change needed since the skill itself now handles the full lifecycle.
…ion) Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Remove separate resolve-todos-fully orchestrator and fold its compound/cleanup steps directly into resolve-todo-parallel - Use semantic wording for skill references instead of slash syntax - Make tool references platform-agnostic - Revert version bump and changelog entry (release automation handles this) - Update all underscore references across lfg, slfg, triage, ce-review, file-todos to use hyphens Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
278ca73 to
d9f208b
Compare
|
@tmchow thanks for the review. Updated. |
|
@codex update the PR description so it's accurate to the latest code in the branch. e.g. the skill name is out of date and approach. |
|
To use Codex here, create an environment for this repo. |
|
@tmchow I updated the PR title and description (though I'm not codex 😂) |
Summary
resolve_todo_parallel→resolve-todo-parallelresolve_todo_parallelchain: compound on lessons learned → delete completed todosMotivation
Currently,
resolve_todo_parallelresolves todos and stops. Lessons learned during resolution are lost, and completed todos accumulate. This new skill closes the loop:resolve_todo_parallel(existing behavior, unchanged)ce:compoundto document patterns/insights from the resolutionsdone/resolvedstatusThis follows the existing orchestrator pattern (like
ce:compound→compound-docs) — each skill stays focused, the new skill coordinates.Files changed
skills/ce-review/SKILL.mdskills/file-todo/SKILL.mdskills/resolve-todo-parallel/SKILL.mdskills/lfg/SKILL.mdskills/slfg/SKILL.mdREADME.mdCloses #291
Test plan
/resolve-todo-parallelwith pending todos — verify all three phases execute in order/lfgend-to-end — verify step 6 invokesresolve-todos-fully/slfgend-to-end — verify step 7 invokesresolve-todos-fully🤖 Generated with Claude Code