with one click
codebase-litter-audit
Find unfinished code litter
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Find unfinished code litter
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Create a GitHub PR for completed work, then run coderabbit-resolver through review, CI, merge, and cleanup. Use when: the user asks for PR creation followed by CodeRabbit resolution. Keywords: create PR, CodeRabbit, merge.
Secure pnpm GitHub Actions CI
Live onboarding tour of newly implemented code. Combines /deep-trace, the vscode-debug-mcp bridge, and playwright-cli to run the target app in a debug session, drive the UI, pause at curated breakpoints inside the new code, and narrate "this modal is the newly created one" — mapping every UI moment to the exact file:line. Use when the user wants to understand where and how AI-written feature code executes in the running application ("どの UI / どのロジックで動くのか分からない", "オンボーディングして", "/feature-tour").
Screenshot UI defect lint
Debug Claude Code plugins
Record a web or Electron-renderer flow as an annotated video with playwright-cli, then extract frames to confirm how it actually looks. Use when the user points at a flow to capture — "record that part", "あそこの部分", "この一連の動作", "動作確認して録画して", QA-ing a screen's motion/behavior, or proving a web / Electron-renderer interaction works on video. For analyzing a clip you were handed or generic cross-surface motion verification, use the `video` skill; for native macOS chrome (menu / tray / dock / traffic-lights) use computer-use — playwright cannot see those.
| name | codebase-litter-audit |
| description | Find unfinished code litter |
When running this skill in Codex, translate Claude Code-only primitives before acting: AskUserQuestion -> chat/request_user_input, TodoWrite -> update_plan, Task/TaskCreate/TeamCreate/SendMessage -> spawn_agent/send_input/wait_agent when available and allowed, and EnterPlanMode/ExitPlanMode -> a concise chat plan plus explicit approval.
Resolve Read/Write/Edit/Bash/WebSearch/WebFetch to Codex file/shell/web tools, and map ~/.claude/... paths to ~/.agents/... or ~/.codex/... unless the task explicitly targets Claude Code.
When running this skill in Cursor Agent, translate Claude Code-only primitives before acting: AskUserQuestion -> AskQuestion; TodoWrite -> Cursor TodoWrite or an equivalent checklist; Task/TaskCreate/TeamCreate/SendMessage/multi-agent flows -> Cursor Task (subagents), parallel Tasks, or run_in_background when allowed (TeamCreate/SendMessage may have no exact match); EnterPlanMode/ExitPlanMode -> Plan mode (SwitchMode / CreatePlan) plus explicit approval.
Resolve Read/Write/Edit/StrReplace/Bash/web/search/MCP via Cursor Composer or Agent equivalents. MCP names written as mcp__server__tool typically map to call_mcp_tool with configured server identifiers. Map ~/.claude/... to ~/.cursor/skills/, .cursor/skills/, and .cursor/rules/ unless the task explicitly targets Claude Code.
Find incomplete or misleading work that is still reachable, visible, or confusing even when dead-code scanners report nothing. Treat the scanner as a lead generator, then verify each finding by reading neighboring code, tests, docs, and issue tracker context.
Establish scope.
git status --short and note whether the worktree is dirty.gh issue list when GitHub is configured).Collect candidate signals.
python3 ~/.codex/skills/codebase-litter-audit/scripts/scan_litter.py . --markdown
--include src --include e2e.rg for domain words the scanner cannot infer, such as feature names, issue IDs, or product terminology.Verify candidates manually.
Report with evidence.
High, Medium, or Low.Use references/signal-catalog.md when deciding whether a candidate is worth reporting.
Strong signals:
TODO, FIXME, not implemented, stub, temporary, or WIP attached to reachable product code.eslint-disable, ts-ignore, @ts-expect-error, or broad ignores with no issue link or expiry.Weak signals:
.git hook samples.## Codebase Litter Audit
### Findings
- **Medium: <short title>**
Evidence: [file.ts](/abs/path/file.ts:12)
Why it matters: <reachable/visible/confusing behavior>
Smallest cleanup: <implement/remove/document/issue>
### Probably Benign
- <candidate that looked suspicious but was superseded or test-only>
### Suggested Issues
- <one issue per actionable cleanup, with labels if the tracker supports them>
scripts/scan_litter.py: candidate scanner that emits Markdown or JSON.references/signal-catalog.md: classification guide for deciding what is real litter versus normal code.