From superpowers-plus
Detects deferral language in agent output and immediately captures loose ends via loose-ends.sh. Blocks completion claims if unresolved items exist. Use for enforcement of TODO discipline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/superpowers-plus:todo-guardianThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Wrong skill?** Creating TODOs → `todo-management`. Planning → `plan-and-execute`. Completion retrospective → see `verification-before-completion` Loose-Ends Retrospective section.
Wrong skill? Creating TODOs →
todo-management. Planning →plan-and-execute. Completion retrospective → seeverification-before-completionLoose-Ends Retrospective section.
Announce at start: "I am using the todo-guardian skill to enforce TODO discipline."
#loose-end itemsCapture immediately when you write any of these explicit commitment-to-defer phrases:
| Pattern | Examples |
|---|---|
| Explicit future commitment | "I'll fix this later", "I'll do this later", "I'll address this later", "I'll come back to this" |
| Explicit skip | "let me skip this for now", "I'll do this in a follow-up" |
| Explicit deferral | "I need to follow up on this later", "this needs follow-up" |
Do NOT capture coordination language like "for now let's use X", "we should also consider Y in a future PR", or "I noticed Z" — these are normal working speech, not deferral commitments.
Deferral language detected → record immediately using the enforcing wrapper:
~/.codex/superpowers-plus/tools/loose-ends.sh add \
--desc "<what was deferred> — deferred at <context>" \
--note "<why it can't be done now>"
loose-ends.sh add enforces --note at the shell level — it will refuse to record without a justification, so there is no way to accidentally omit it.
Dedup check first: Run loose-ends.sh check and scan for the same core item. If already present, skip — do not double-record.
NEVER allow deferral-language to pass without either (a) recording via loose-ends.sh add or (b) resolving immediately.
At any natural session milestone (before a commit, at session end, before a completion claim), run the single audit command:
~/.codex/superpowers-plus/tools/loose-ends.sh check
loose-ends.sh check handles both count and note inspection in one call. Exit 0 = clean. Non-zero exit = items require review (count shown). --all is handled internally so deferred items are always surfaced.
Before claiming any work is complete, run:
~/.codex/superpowers-plus/tools/loose-ends.sh check
must-address item is fully resolveddeferred item shows a note/reason line in the outputItems with no observable justification → BLOCK completion → resolve or escalate to human.
At session end, report: Created: N · Resolved: M · Deferred with justification: K
Unresolved #loose-end items persist to the next session automatically — they will surface in the next run of verification-before-completion.
| Anti-Pattern | Detection | Correction |
|---|---|---|
| Explicit deferral, no record | "I'll fix this later" → no add call | Record with --note immediately |
| Completion with open loose ends | Audit finds #loose-end items | Block; resolve or escalate |
| Missing creation-time justification | --note absent on deferred items | Cannot retrofit — escalate to human |
| Double-record | Same item added twice | Dedup scan before adding |
| Over-capture | Normal speech flagged as deferral | Check pattern table — only explicit commitment phrases trigger capture |
| Failure | Recovery |
|---|---|
| Missed deferral | Add retroactively; note it as retroactive in --note |
| False positive trigger | Add phrase to anti_triggers |
| Blocks incorrectly | Verify items are genuinely resolved; close them |
npx claudepluginhub bordenet/superpowers-plus --plugin superpowers-plusGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.