/debt-ops:add — register a tech-debt entry

SkillDev tools

This skill lets your AI store new API keys in a central vault so the key value never appears in your chat. When you mention that you received or renewed an API key, it walks you through registering it safely. This keeps sensitive keys out of your conversations.

Available today. Use it from your connected AI after setup.

After adding it, tell your AI you received a new API key or ask it to register or update a key. It will then guide you through storing the key in the vault safely.

Then ask your AI: use the /debt-ops:add — register a tech-debt entry skill

What your AI can do with it

  • Register new API keys in a central vault without exposing them in chat
  • Recognize when you mention receiving a new API key and start the safe registration steps
  • Update existing keys when you ask for a renewal
  • Redirect a key pasted into chat into the proper registration flow

What this skill tells your AI

The instructions your AI receives, as published by fivetaku/tikeytaka in skills/add/SKILL.md and read by ahel’s review.

Call register.py via Bash. The helper writes the entry under the repo's detected registry dir (default docs/debt/), assigns a short batch letter (A, B, C…), and prints exactly one line: +1 entry: <slug> (<letter>). That stdout IS the user-facing announcement — add no commentary before or after.

The call

python3 ${CLAUDE_PLUGIN_ROOT}/skills/add/scripts/register.py \
  --slug <slug> \
  --principal <effort, e.g. 2d, 1w, unknown> \
  --interest <ongoing cost, e.g. "+30min/incident", unknown> \
  --hotspot <path or module, e.g. pricing/engine.ts, unknown> \
  --business-capability <e.g. checkout, billing, unknown> \
  --payoff-trigger <concrete trigger, or "unknown"> \
  --quadrant <reckless-inadvertent|reckless-deliberate|prudent-inadvertent|prudent-deliberate> \
  --category <migration|documentation|testing|code_quality|dead_code|code_rot|expertise|release|infrastructure|planning> \
  --ai-authored <true|false> <<'EOF'
<body: 2-5 sentences — what the debt is, why it exists, observed symptoms>
EOF

The helper:

  • Generates the timestamp id itself (no date call needed).
  • Resolves filename collisions when two registrations land in the same second.
  • Tracks the letter mapping in $CLAUDE_PLUGIN_DATA/cache/<repo-hash>/current-turn.txt so the user can drop by letter.

Slug

1–4 word kebab-case label of what the debt is. Examples: cancelled-promotion-callback, legacy-auth-shim, unfinished-rate-limiter. Keep it short — the body carries the context.

Schema notes

  • Quadrant (Fowler): reckless-inadvertent (didn't know better), reckless-deliberate (knew, did it anyway), prudent-inadvertent (learned afterward), prudent-deliberate (deliberate, with a payoff plan).
  • Category (Google / Jaspan-Green): pick the closest match.
  • payoff_trigger: unknown is first-class. Don't manufacture a trigger to fill the field — unknown ages into stale review and that's the point.
  • ai_authored: true is the leading behavioral signal — be honest.

Drops

  • drop A, drop A,C, drop all — the user types this; a UserPromptSubmit hook deletes the matching entries and surfaces a one-line confirmation. You don't act on those.
  • drop it or drop <slug> — you delete it yourself: rm <registry-dir>/<id>-<slug>.md (the registry dir named in Discipline 3; default docs/debt/). Treat dropping as cheap — over-registering is the intended posture.

Don't

  • Don't ask the developer for confirmation before writing. Discipline 1 says "no permission prompt; just do it."
  • Don't use the Write tool to create the file directly — letter assignment depends on going through register.py.
  • Don't echo or paraphrase the helper's output. The Bash tool result is already visible to the user.
  • Don't fill payoff_trigger with a guess to seem certain.

Signals

GitHub stars
39
Forks
2
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
add
Source
github.com/fivetaku/tikeytaka