adopt
Brownfield audit — do existing artifacts actually work? Numbered migration plan. Unlike /project-stage-detect, checks compliance…
Track, categorize and prioritize technical debt across the codebase — scans for debt indicators, maintains a register.
Claude Code
$ npx -y skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt --agent claude-code
Codex
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt -a codex -y
Cursor
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt -a cursor -y
Gemini CLI
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt -a gemini-cli -y
GitHub Copilot
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt -a github-copilot -y
OpenCode
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt -a opencode -y
Windsurf
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill tech-debt -a windsurf -y
name: tech-debt description: "Track, categorize and prioritize technical debt across the codebase — scans for debt indicators, maintains a register." argument-hint: "[scan|add|prioritize|report]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Edit, AskUserQuestion, Bash(bash "*/.claude/skills/tech-debt/../../hooks/yaml-helper.sh" resolve_config *) model: sonnet
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation,workflow`
Every `AskUserQuestion` call follows `.claude/docs/automation-modes.md` (collaborative asks always · guided major-only · autonomous logs and proceeds; `automation_always_ask` categories always prompt).
Determine the mode from the argument:
If no subcommand is provided, output usage and stop. Verdict: **FAIL** — missing required subcommand.
---
Search the **code root** (resolve per `.claude/docs/code-root-resolution.md`: `src/`, `Assets/` or `Source/` by engine) for debt indicators:
Categorize each finding:
**Before presenting anything, establish that there was something to scan.** Count the source files the scan actually covered. If the code root is unresolved, report `NOT ASSESSED — code root unresolved` and stop as below. If that count is **zero** — the code root is absent, or holds no source files — report:
> **NOT ASSESSED — no source files to scan.** The code root contains no code, so > "no debt indicators found" would be a statement about an empty search, not > about the codebase. Run this once implementation is under way.
and stop. Do not write to the register and do not emit a COMPLETE verdict.
The distinction is the whole point of the scan: **zero findings over 400 files is a clean codebase; zero findings over zero files is no information at all.** Rendering both as "COMPLETE — scan findings written to register" reads as the first. State the denominator whenever findings are reported, including when it is large and the count is genuinely zero.
Present the findings to the user.
Ask: "May I write these findings to `docs/tech-debt-register.md`?"
If yes, update the register, never overwriting it. **Match before appending:** a finding with the same file and the same kind of debt as an existing `Open` entry updates that entry instead of adding a duplicate. An existing `Open` entry whose pattern is no longer in its file is proposed as `Resolved [date]` — list those and include them in the same approval. Verdict: **COMPLETE** — scan findings written to register.
If no, stop here. Verdict: **BLOCKED** — user declined write.
---
Ask the user for the description and affected files (plain text prompts).
**Run as a subagent?** `lead-programmer` preloads this skill, and a subagent has no `AskUserQuestion`. Return the three questions below (category, effort, impact) in one reply, each as a short list of its options, and stop: whoever called you asks the user. Nothing goes into the register until the answers come back.
Then use `AskUserQuestion` to collect the **category**:
Then use `AskUserQuestion` to collect the **estimated fix effort**:
Then use `AskUserQuestion` to collect the **impact if left unfixed** — the register's Impact column, which `/tech-debt prioritize` scores:
Present the complete new entry to the user.
**Match before appending:** if an existing `Open` entry already has the same file and the same category, show it to the user and ask whether to update that entry instead of adding a duplicate.
Ask: "May I append this entry to `docs/tech-debt-register.md`?" (or, on a match, "May I update the existing entry instead?")
If yes, append the entry (or update the matched one). Verdict: **COMPLETE** — entry added to register.
If no, stop here. Verdict: **BLOCKED** — user declined write.
---
Read the debt register at `docs/tech-debt-register.md`. If it does not exist: Verdict: **NOT ASSESSED** — no register at `docs/tech-debt-register.md`; run `/tech-debt scan` first. Stop.
Score each item from its own columns: `impact ÷ effort`, with Impac
Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.
Brownfield audit — do existing artifacts actually work? Numbered migration plan. Unlike /project-stage-detect, checks compliance…
Create an ADR documenting a technical decision: context, alternatives considered, consequences.
Traceability matrix mapping GDD requirements to ADRs. Finds gaps, cross-ADR conflicts, engine compatibility. PASS/CONCERNS/NOT…
Author the Art Bible — visual identity gating asset production. Run before /map-systems.
Audit assets against naming conventions, file size budgets, format standards. Finds orphaned assets, missing references.
Per-asset visual specs plus AI generation prompts from GDDs and character profiles. After the art bible.
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration