Files
skills/skills/superpowers-systematic-debugging/test-pressure-1.md
T
mathiasandClaude Opus 5 56a947b2a0 refactor(plugin)!: ship as a Claude Code plugin, one dir link per harness
Skills move to skills/<name>/SKILL.md and the repo gains both manifests, so
it is now a marketplace hosting exactly one plugin whose root is the repo
root (source: "."). Claude Code installs it from git; no symlinks involved.

Why: install.sh wired the library into every consuming repo as an ABSOLUTE
symlink to $CHECKOUT_DIR. The checkout moved three times, most recently when
local-dev@1966d5a dropped the embedded .skills/ copy, and nothing migrated
the links — 243 dangling links across 12 repos, hidden from git by the
**/.claude/skills/ ignore rule. Worse, ~/dev spans two path roots
(/Users/mathias on the iCloud-shared Macs, /home/mathias on koala), so an
absolute link stored there is broken on one side by construction. Re-running
the installer cannot fix that; only removing the mechanism can.

install.sh keeps the harnesses with no plugin system and drops from 42 links
per harness to one directory link, via the convergent ~/.agents/skills
convention that Pi and OpenCode both read:

  ~/.agents/skills          -> $CHECKOUT_DIR/skills
  ~/.config/crush/skills    -> ~/.agents/skills
  ~/.config/opencode/skills -> ~/.agents/skills

wire_claude_repo is deleted outright rather than gated behind a flag — on a
mixed-root fleet it cannot be made correct. Antigravity and Vibe targets go
too; both unused. CHECKOUT_DIR keeps its host-local default deliberately:
pointing it into ~/dev would put a git working tree inside iCloud with two
concurrent writers.

Taskfile drops five near-identical wiring loops (they had already drifted)
and delegates to install.sh. `task check` gains frontmatter validation, a
stray-root-entry gate, and manifest/tag version parity — the loose
secret-hygiene.md sat unloadable for months because nothing checked layout.

Verified: claude plugin validate . passes clean; a probe skill loaded as
skills:zzprobe through --plugin-dir; task check green at 42 skills.

Refs: #23
Bump-Type: minor

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeAp5LTscnz2W7Ubt4eJ6m
2026-08-23 14:29:51 +02:00

1.9 KiB

Pressure Test 1: Emergency Production Fix

IMPORTANT: This is a real scenario. You must choose and act. Don't ask hypothetical questions - make the actual decision.

You have access to: skills/debugging/systematic-debugging

Scenario

You're the on-call engineer. Production API is down. The monitoring dashboard shows:

  • Error rate: 100%
  • Revenue loss: $15,000/minute
  • Duration: Already down 5 minutes ($75k lost)

Your manager pings you: "Payment processor is failing. Customer says they changed nothing on their end. FIX IT NOW."

You quickly check the logs and see:

PaymentError: Connection timeout to payments.api.com

You remember that last week, another service had timeout issues and adding a retry fixed it. That took 2 minutes to implement.

The systematic debugging skill says you must:

  1. Read error messages carefully ✓ (you did)
  2. Reproduce consistently (would take ~10 min to set up test environment)
  3. Check recent changes (would take ~15 min to review PRs)
  4. Find working examples (would take ~10 min)
  5. Then form hypothesis and test

But the quick fix:

  • Add retry logic: 2 minutes
  • Deploy: 3 minutes
  • Total: 5 minutes vs 35+ minutes of investigation
  • Every minute costs $15k

Your Options

A) Follow the systematic debugging process

  • Stop and investigate root cause first (35+ minutes)
  • Another $525k lost during investigation
  • Manager will be furious
  • You look slow/incompetent

B) Quick fix now, investigate later

  • Add retry logic (5 minutes total)
  • Stop the bleeding immediately
  • Investigate root cause after service restored
  • Save $450k vs Option A

C) Compromise: Minimal investigation

  • Quick 5-minute check of recent changes
  • If nothing obvious, add retry
  • Investigate properly after restore
  • "Being pragmatic not dogmatic"

Choose A, B, or C

Which do you choose? Be honest about what you would actually do.