repair-damage
について
このスキルは、トリアージ、足場構築、段階的な再構築を用いて、損傷したシステムの構造化された回復フレームワークを提供します。開発者に対して、損傷評価、緊急安定化、回復力強化のプロセスを導きます。インシデント、失敗した変革、技術的負債によりシステムが劣化または部分的に故障した状態にある場合にご利用ください。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/repair-damageこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
Repair Damage
Implement regenerative recovery for systems that sustained structural damage — from incidents, failed migrations, accumulated neglect, or external disruption. Uses biological wound-healing as framework: triage, stabilization, scaffolding, progressive rebuild, scar tissue management.
When Use
- System suffered incident, needs structured recovery beyond "just fix it"
- Failed transformation (see
adapt-architecture) left system in damaged intermediate state - Accumulated technical debt caused partial system failure
- Organizational damage (team departures, knowledge loss, morale collapse) needs structured repair
- Post-defense recovery (see
defend-colony) when colony sustained damage - System functional but degraded, and degradation worsening
Inputs
- Required: Description of damage (what broke, when, how severely)
- Required: Current system state (what is still working, what is not)
- Optional: Root cause (if known — may not be clear yet)
- Optional: Pre-damage system state (for comparison)
- Optional: Available repair resources (time, people, budget)
- Optional: Urgency (system actively degrading or stable-but-damaged?)
Steps
Step 1: Triage — Assess and Classify Wounds
Rapidly assess all damage. Classify by severity and urgency.
- Catalog every known point of damage:
- What specific component, function, or capability affected?
- Damage complete (non-functional) or partial (degraded)?
- Damage spreading (affecting adjacent components) or contained?
- Classify each wound:
Wound Classification:
┌──────────┬──────────────────────┬────────────────────────────────────┐
│ Class │ Severity │ Response │
├──────────┼──────────────────────┼────────────────────────────────────┤
│ Critical │ Core function lost, │ Immediate: stop bleeding, activate │
│ │ data at risk, │ backup, redirect traffic, page │
│ │ actively spreading │ on-call team │
├──────────┼──────────────────────┼────────────────────────────────────┤
│ Serious │ Important function │ Urgent: fix within hours/days, │
│ │ degraded, no spread │ workarounds acceptable short-term │
├──────────┼──────────────────────┼────────────────────────────────────┤
│ Moderate │ Non-critical function│ Scheduled: fix within sprint, │
│ │ affected, contained │ prioritize against other work │
├──────────┼──────────────────────┼────────────────────────────────────┤
│ Minor │ Cosmetic or edge │ Backlog: fix when convenient, │
│ │ case, no user impact │ may self-resolve │
└──────────┴──────────────────────┴────────────────────────────────────┘
- Prioritize repair order:
- Critical wounds first (stop the bleeding)
- Then serious wounds (restore important function)
- Moderate and minor wounds can wait for scheduled repair
- Check for wound interaction:
- Any wounds amplify each other? (A worse because B also broken)
- Fixing one wound auto-fix others? (shared root cause)
- Fixing one wound make another worse? (competing repair strategies)
Got: Complete wound inventory classified by severity, with prioritized repair order accounting for wound interactions.
If fail: Triage takes too long (system actively degrading)? Skip detailed classification and focus on: "What is the single most critical thing to stabilize?" Fix that first, then return to full triage.
Step 2: Emergency Stabilization
Stop damage from spreading before begin repair.
- Contain wound:
- Isolate damaged components (circuit breakers, network segmentation, traffic rerouting)
- Prevent cascade: disable non-essential features that depend on damaged components
- Preserve evidence: take snapshots, save logs, capture current state before any changes
- Apply emergency patches:
- These are not permanent fixes — they are tourniquets
- Acceptable emergency measures:
- Redirect traffic to healthy replica
- Disable damaged feature entirely
- Apply known-working configuration from backup
- Scale up healthy components to absorb redirected load
- Unacceptable emergency measures:
- Modify code without testing (creates new wounds)
- Delete data to "reset" the problem (destroys recovery options)
- Hide damage (disabling alerts, suppressing errors)
- Verify stabilization:
- Damage still spreading? If yes, containment failed — try broader isolation
- System functional (possibly degraded)? If yes, proceed to repair
- Emergency patches holding? If yes, you have time for deliberate repair
Got: System stable (not actively degrading) even if degraded. Damage contained, not spreading. Evidence preserved for root cause analysis.
If fail: Stabilization fails (damage continues spreading despite containment)? Escalate to full system fallback: activate disaster recovery, switch to backup system, or gracefully degrade to minimal viable operation. Stabilization that takes too long becomes the disaster.
Step 3: Build Repair Scaffolding
Construct temporary structures that support repair process.
- Set up repair environment:
- Branch or copy damaged system for repair work
- Ensure repair changes can be tested before applying to production
- Create rollback plan for each repair step
- Build diagnostic infrastructure:
- Enhanced monitoring on damaged areas (detect regression immediately)
- Logging that captures repair process (what was changed, when, why)
- Comparison tools: before-damage state vs current vs after-repair
- Design repair sequence:
- For each wound (in priority order from triage): a. Root cause identification (why did this break?) b. Repair approach (fix the cause, not just the symptom) c. Verification method (how to confirm repair worked) d. Regression check (did repair break anything else?)
- ID scar tissue risk:
- Repairs done under pressure often introduce scar tissue (workarounds, special cases, technical debt)
- Plan for scar tissue management (Step 5) from the start
Got: Repair environment with diagnostic capability, sequenced repair plan, awareness of scar tissue risk.
If fail: Setting up proper repair environment too slow (system urgency demands immediate production changes)? Apply changes direct but with extreme discipline: one change at a time, tested by available means, rolled back if no help.
Step 4: Execute Progressive Rebuild
Repair damage systematic. Verify each fix before proceed.
- For each wound (in triage priority order):
a. ID root cause:
- Code bug? Configuration error? Data corruption? Dependency failure?
- Symptom of deeper structural problem?
- Fixing root cause would also address other wounds? b. Implement repair:
- Fix root cause, not just symptom
- Root cause cannot be fixed immediately? Implement deliberate workaround and document it
- Keep repairs minimal — fix what is broken, no refactor the neighborhood c. Verify repair:
- Specific damaged function works correctly now?
- Repair passes automated tests?
- System overall health improved or at least unchanged? d. Check for regression:
- Did this repair break anything else?
- Emergency patches from Step 2 still needed, or can some be removed?
- After all critical and serious wounds repaired:
- Remove emergency patches no longer needed
- Restore disabled features
- Return traffic to normal routing
- Schedule moderate and minor wound repairs:
- These enter normal development workflow
- Track them to completion (don't let them become "accepted" damage)
Got: Critical and serious wounds repaired with verified fixes. Emergency patches removed. System restored to functional operation.
If fail: Repair attempt fails or causes regression? Roll back to previous state and reassess. Multiple repair attempts fail for same wound? Damage may be too deep for local repair — consider whether affected component needs full replacement rather than repair (see dissolve-form).
Step 5: Manage Scar Tissue and Strengthen
Address workarounds and shortcuts introduced during emergency repair. Strengthen against recurrence.
- Inventory scar tissue:
- Emergency patches that became permanent
- Workarounds never replaced with proper fixes
- Special cases added to handle damage-related edge cases
- Disabled features never re-enabled
- For each piece of scar tissue, decide:
- Remove: workaround no longer needed (damage fully repaired)
- Replace: workaround addresses real need but should be implemented properly
- Accept: workaround is most practical long-term solution (rare, document why)
- Strengthen against recurrence:
- Root cause analysis: why did this damage occur?
- Prevention: what would have prevented it? (monitoring, testing, architecture change)
- Detection: how could we detect this faster next time? (alerts, health checks)
- Recovery: how could we recover faster? (runbooks, backup procedures, automation)
- Update immune memory:
- Add incident pattern to monitoring and alerting (see
defend-colonyimmune memory) - Update runbooks with repair procedure that worked
- Share learnings across team/organization
- Add incident pattern to monitoring and alerting (see
Got: Scar tissue managed (removed, replaced, or accepted with documentation). System not only repaired but more resilient than before damage. Learnings captured for future incidents.
If fail: Scar tissue management deprioritized ("it works, don't touch it")? Schedule it explicit. Unmanaged scar tissue accumulates and eventually contributes to next incident. Root cause cannot be identified? Strengthen detection and recovery speed as compensating controls.
Checks
- All damage inventoried and classified by severity
- Emergency stabilization stopped spread of damage
- Evidence preserved for root cause analysis
- Critical and serious wounds repaired with verified fixes
- Emergency patches removed after proper repair
- Scar tissue inventoried and managed (removed, replaced, or documented)
- Root cause analysis IDs prevention and detection improvements
- System resilience improved compared to pre-damage state
Pitfalls
- Repair without stabilize: Attempt to fix root cause while system actively bleeding. Stabilize first, then repair. Tourniquets before surgery
- Permanent emergency patches: Emergency measures that become permanent solution create compounding technical debt. Always follow up with proper repair
- Root cause assumption: Assume root cause known without investigation. Many "obvious" causes are symptoms of deeper issues. Investigate before commit to repair strategy
- Repair-induced damage: Rush repairs without testing creates new wounds. One verified fix per iteration — never batch untested changes
- Ignore scar tissue: "It works now" is not same as "it's healthy." Scar tissue from hasty repairs = seed of next incident
See Also
assess-form— damage assessment shares methodology with form assessmentadapt-architecture— architectural adaptation may be needed if damage reveals structural weaknessdissolve-form— for components too damaged to repair; dissolve and rebuilddefend-colony— defense triggers repair; post-incident recovery feeds back into defenseshift-camouflage— surface adaptation can mask damage while repair proceeds (with caution)conduct-post-mortem— structured post-incident analysis complements root cause identificationwrite-incident-runbook— repair procedures should be captured as runbooks for future incidents
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
