add
Register a deferred decision in the debt registry. Trigger by judgment, not a marker scan, whenever a future reader would ask "why this way?": an unmade…
Print a debt-ops health summary from the metrics log, covering registration rate, feedback action rate, ADR creation, and AI-authored share. Use when the user asks for "debt-ops metrics", "debt health", "registry stats", or a tech-debt health summary. Read-only, never writes the
$ npx -y skills add bcanfield/agentic-tech-debt --skill debt-ops-metrics --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/debt-ops-metricsContext preview
The summary Claude sees to decide when to auto-load this skill.
Print a debt-ops health summary from the metrics log, covering registration rate, feedback action rate, ADR creation, and AI-authored share. Use when the user asks for "debt-ops metrics", "debt health", "registry stats", or a tech-debt health summary. Read-only, never writes the
name: debt-ops-metrics description: Print a debt-ops health summary from the metrics log, covering registration rate, feedback action rate, ADR creation, and AI-authored share. Use when the user asks for "debt-ops metrics", "debt health", "registry stats", or a tech-debt health summary. Read-only, never writes the log.
Read the hidden metrics log and tell the user whether the tripwires are tripping.
The repo-hash is computed in Python (not `shasum`) so this is identical across macOS, Linux, and Windows — no BSD/GNU coreutils dependency.
REPO_HASH=$(python3 -c "import hashlib,subprocess;t=subprocess.run(['git','rev-parse','--show-toplevel'],capture_output=True,text=True).stdout.strip();print(hashlib.sha1(t.encode()).hexdigest()[:12] if t else '')")
# Hooks and skills share one deterministic cache base. Override with
# DEBT_OPS_CACHE; default is ~/.cache/debt-ops.
CACHE_DIR="${DEBT_OPS_CACHE:-$HOME/.cache/debt-ops}/cache/$REPO_HASH"
LOG="$CACHE_DIR/metrics.jsonl"
if [ -n "$REPO_HASH" ] && [ -f "$LOG" ]; then
tail -n 500 "$LOG"
else
echo "MISSING: no metrics.jsonl found for repo hash ${REPO_HASH:-<not-a-git-repo>}"
fiIf the file is missing or empty, tell the user no debt-ops activity has been logged for this repo yet and stop. On a skills-only tool (no hook adapter), only `register` and `review` events are logged — the per-edit `edit`/`feedback`/`session` events come from the hook adapter, so feedback metrics will be absent. Say so rather than reporting them as zero.
One JSON object per line. Event shapes:
Timestamps are ISO-8601 UTC.
Filter to the last 7 days. Then compute what the available events support:
look at the *next* feedback for the *same* file; count those that flipped to `pass`; divide by total fails. Below 50% means the agent isn't reliably acting on hook output — the architectural alarm bell.
If there are fewer than 5 data points in the window, say "need more data" and skip the verdict.
One screen. No padding. Use `→` and `↑/↓` for trends. Mark adapter-only rows as `n/a (skills-only)` when those events are absent. Example shape:
debt-ops metrics — last 7 days ───────────────────────────────── captures : 7 reviews : 2 ai-authored : 57% edits : n/a (skills-only) feedback ran : n/a (skills-only) verdict: ok
End with one judgment line:
Catches AI-introduced tech debt at write-time Works with any coding agent. Any stack. Two decades of tech-debt research, distilled into a plugin and validated across dozens of codebases.
Repo: bcanfield/agentic-tech-debt
Register a deferred decision in the debt registry. Trigger by judgment, not a marker scan, whenever a future reader would ask "why this way?": an unmade…
Write or refresh the `## Tech debt operations` section in CLAUDE.md so a team shares one source of truth for debt-ops disciplines and cached quality commands.…
Print a debt-ops health summary from the metrics log, covering registration rate, hook feedback action rate, ADR creation, and AI-authored share. Use when the…
Audit the debt registry, rank survivors by churn × Fowler quadrant, surface a top-N list, then walk paydown on user follow-up. Use when the user asks to review…
Register a deferred decision in the tech-debt registry. Trigger by judgment, not a marker scan, whenever a future reader would ask "why this way?": an unmade…
Write or refresh a "Tech debt operations" section in the project's AGENTS.md so the team shares one source of truth for debt-ops disciplines. Run ONLY when the…