skills/todo-fix/SKILL.md
Find TODO, FIXME, HACK, XXX comments in git changes or untracked files that need immediate attention. Use when reviewing code before commit, during PR prep, or to catch leftover debug markers.
npx skillsauth add popoffvg/dotfiles todo-fixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scan for actionable TODO/FIXME/HACK/XXX comments that should be resolved before committing.
There are two scopes to check. Always run both unless the user specifies one.
Find markers introduced in current changes (new lines only, not existing code):
git diff -U0 HEAD | grep -n '^\+' | grep -iE '\b(TODO|FIXME|HACK|XXX)\b' || true
git diff -U0 --cached | grep -n '^\+' | grep -iE '\b(TODO|FIXME|HACK|XXX)\b' || true
To see which files they belong to, use the full diff with filenames:
git diff HEAD --name-only
git diff --cached --name-only
Then for each changed file, search only the changed hunks.
Files not yet in git — these often contain scratch code with leftover markers:
git ls-files --others --exclude-standard | while read f; do
grep -nHiE '\b(TODO|FIXME|HACK|XXX)\b' "$f" 2>/dev/null || true
done
Present results as a table:
| File | Line | Marker | Text |
|------|------|--------|------|
| src/handler.go | 42 | TODO | handle timeout case |
| lib/util.ts | 17 | FIXME | this breaks on empty input |
After listing all findings:
TODO(JIRA-123)) — those are intentional.grep -rnHiE '\b(TODO|FIXME|HACK|XXX)\b' . --include='*.go' --include='*.ts' --include='*.js' --include='*.py' --include='*.rs' --include='*.rb' --include='*.java' --include='*.c' --include='*.cpp' --include='*.h' 2>/dev/null || true
Eval checklist:
Test inputs:
Can change: scan command strategy, deduplication, output formatting details, summary wording Cannot change: two-scope coverage rule, severity mapping, user-approval before resolving markers Min sessions before eval: 5 Runs per experiment: 3
tools
Improve a whole CLAUDE.local.md — the private, per-project rules captured from user corrections. Wraps each conditional rule in a <task-relevant> block so it only surfaces for matching work, merges duplicates, generalizes one-off facts, drops stale entries, and routes raw project facts to engram. Use when the user says "improve claude.local", "clean up the local rules", "claude.local is bloated", or after the Stop hook has appended many rules.
testing
WM pipeline and conventions shared across all phases. Agents must read this before spec, impl, or verify work.
development
One entry point for spec writing, implementation, and bug fixing. Default is new (write spec → grill loop → produce notes → author TODO bodies). Other subcommands: verify (audit), revise (sync to shipped), prototype (settle a decision), code-map (diagram), impl (execute one TODO), fix (analyze cause, correct thoughts, fix behavior), help (this page). Invoke as /code <subcommand>.
development
Red-Green-Refactor cycle for bug fixes. Before fixing a bug, first write a failing test that reproduces it (Red), then make the minimal change to pass (Green), then clean up the code (Refactor). Use on any bug fix, error correction, failing test repair, or when user says "fix this bug".