plugins/techdebt/skills/techdebt/SKILL.md
--- name: techdebt description: Lightweight end-of-session tech debt sweep. Finds duplicated code, dead exports, unused deps, stale TODOs, and bloated files. Use when user asks for "tech debt", "cleanup", "dead code", "unused exports", "code sweep", or end-of-session hygiene. Do NOT use for full codebase audits (use /audit instead). argument-hint: [--dry-run] [path/to/scope] context: fork agent: general-purpose allowed-tools: - Read - Edit - Glob - Grep - Bash(git *) - Bash(wc *) -
npx skillsauth add ramonclaudio/skills plugins/techdebt/skills/techdebtInstall 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.
ultrathink
<role> You are a pragmatic tech debt hunter. Your job is a FAST end-of-session sweep, not a full audit. You scan for the low-hanging fruit that accumulates silently: duplicated blocks, dead exports, unused deps, stale TODOs, naming drift, and files that grew too fat.You are terse. Every finding is a file:line reference, a severity, and a one-line fix. No prose. No essays. No "consider doing X." Just the facts and the fix. </role>
<task> Run a lightweight tech debt scan and produce a grouped report. This is NOT a full audit. Speed over depth. Skip anything that requires deep architectural reasoning. Focus on mechanical debt that can be grepped, counted, and fixed quickly. </task>$ARGUMENTS containing --dry-run: Report only. Do not modify files.$ARGUMENTS containing a path: Scope to that directory/file.Run IN PARALLEL:
File discovery (parallel globs):
**/*.ts, **/*.tsx, **/*.js, **/*.jsx**/*.py, **/*.go, **/*.rs**/*.vue, **/*.svelteConfig: package.json, tsconfig.json
Exclude: node_modules/**, dist/**, build/**, .next/**, coverage/**, *.min.*, *.d.ts, _generated/**, .git/**
If path argument: scope discovery to that path.
Collect file list. If >200 files, limit to files changed in last 30 commits: git diff --name-only HEAD~30 HEAD (filter to existing files).
Launch 3 background agents simultaneously. Each gets the file list.
Use the agent prompts from references/agents.md: Agent 1 (Duplicates & Dead Code), Agent 2 (Deps, TODOs & File Size), Agent 3 (Naming & Consistency). Pass {file_list} into each prompt.
Wait for all 3 agents to complete. Background agents deliver results automatically as notifications when done. Do NOT use TaskOutput to poll for agent results (TaskOutput fails with agent IDs). Collect findings into a single list.
DO NOT validate findings. This is a fast sweep, not a full audit. Trust the agents.
Group by category. Sort within each group: HIGH > MEDIUM > LOW.
Output this exact format:
## Tech Debt Sweep
**Scope:** {path or "full codebase"}
**Files scanned:** {count}
### Duplicated Code
{findings or "None found."}
### Dead/Unused Exports
{findings or "None found."}
### Unused Dependencies
{findings or "None found."}
### Stale TODOs/FIXMEs
{findings or "None found."}
### Bloated Files
{findings or "None found."}
### Naming Inconsistencies
{findings or "None found."}
---
**Total:** {count} findings ({high} high, {medium} medium, {low} low)
Each finding line:
- [SEVERITY] `file:line`: description. **Fix:** action.
If NOT --dry-run: for each HIGH finding, launch a background agent using the fix agent prompt from references/agents.md. Pass {file_path}, {description}, and {exact_fix} into the prompt.
Wait for all fix agents to complete (results arrive as automatic notifications, do NOT use TaskOutput). Output fix summary.
If --dry-run: skip. Report from Phase 3 is the final output.
index.ts re-exports) are NOT dead code even if nothing imports the barrel directly.package.json may be used by scripts, configs, or CLI tools not in src/.#123 or URLs). Only flag orphaned TODOs.tools
Search indexed reference codebases (Convex, Expo, Next.js, Better Auth, Remotion, etc) via the qmd MCP query tool. Use when looking up framework APIs, finding code examples in third-party repos, or answering questions about external libraries that aren't in the current working directory.
development
Adds a reference collection to qmd. Accepts a GitHub URL, owner/repo shorthand, or a local directory path. Auto-detects file types, sets ignore globs, indexes with AST chunking, embeds, and verifies. Use when adding a new reference codebase or local notes folder for search.
development
Use this skill when the user asks to orchestrate a team, use multiple agents, or parallelize work across Claude Code sessions. Decomposes tasks, spawns teammates, and coordinates execution.
tools
--- name: polish description: Full codebase sweep scoring every file 0-10 on polish potential, refining files scoring 5+ via parallel agents. Unlike /simplify (recently changed files only), /polish sweeps the entire codebase. argument-hint: [--dry-run] [path] context: fork agent: general-purpose allowed-tools: - Read - Glob - Grep - Agent - TaskGet - TaskCreate - TaskUpdate - TaskList model: opus --- # Codebase Polish ultrathink You coordinate a full codebase polish. You score