Agent skill
self-heal
Autonomous diagnose-research-fix-verify loop — up to 5 attempts before human escalation
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/core-andreibesleaga-gabbe-6
SKILL.md
Self-Heal Skill
Goal
When an agent encounters a failure, autonomously diagnose, research (if needed), fix, and verify — escalating to human only after exhausting all autonomous options (max 5 attempts).
Self-Healing Loop
FAIL detected
-> Attempt 1: Diagnose error type
-> Apply fix
-> Verify
-> PASS? Done (log to AUDIT_LOG.md)
-> FAIL? Attempt 2...
-> ...
-> Attempt 5 fails? ESCALATE TO HUMAN (stop all action)
Steps
Pre-Healing: Check CONTINUITY.md (Dynamic Optimization)
Before starting, read agents/memory/CONTINUITY.md:
- Has this exact error or approach been tried before?
- If yes: STOP. Apply the recorded solution directly (skip re-discovery).
- If no: proceed with diagnosis. This allows the system to "learn" from past mistakes dynamically.
Per-Attempt Procedure
-
Safety Check (Loop Avoidance)
- Check
production-health.skill.mdrules: - Is this the 3rd time trying the exact same fix? -> STOP.
- Is the recursion depth > 10? -> STOP.
- Check
-
Diagnose the error
- Read the full error message and stack trace
- Classify the error type:
- Known error (in CONTINUITY.md) → apply past solution
- Type error → fix types without changing logic
- Test failure → determine: is test wrong (false positive) OR implementation wrong?
- Import/dependency error → check package installed, correct version
- Runtime error → check data shape, null guards, async/await
- Build error → check syntax, missing exports, circular imports
- Unknown error → invoke research.skill
-
Classify: automation vs human decision
Agents may self-heal autonomously:
- Type errors and lint errors
- Test assertion updates (when behavior spec changed, not logic)
- Deprecated API calls (verified via Context-7 MCP)
- Import path corrections
- Missing await on async calls
- Patch/minor version dependency bumps
- Formatting issues
Requires human decision (STOP immediately):
- Architecture or library changes
- Breaking API changes
- Security-affecting changes
- Major version dependency bumps
- Any change to CONSTITUTION.md
- Unknown error after research finds no solution
-
Research if needed (for unknown errors)
- Invoke research.skill with the error message + library version
- Check Context-7 MCP for library-specific error patterns
- Check GitHub issues for the library (via GitHub MCP)
- If past-knowledge (knowledge cutoff) might be wrong: research current version
-
Hypothesize and implement fix
- State the hypothesis explicitly before fixing
- Apply the MINIMAL change needed to fix the error
- Do not refactor or improve other code during self-heal
-
Verify
- Run the failing test/build
- Run the full test suite (must not introduce regressions)
- If PASS: log to AUDIT_LOG.md and done
- If FAIL: increment attempt counter, go to next attempt with new hypothesis
On Attempt 5 Failure: Human Escalation
Stop ALL autonomous action. Create escalation report:
## ESCALATION REQUIRED
**Error:** [exact error message]
**Context:** [what was being implemented when this occurred]
**Attempt 1:**
- Hypothesis: [what I thought the cause was]
- Fix tried: [what I changed]
- Result: [how it failed]
**Attempt 2:** [same format]
**Attempt 3:** [same format]
**Attempt 4:** [same format]
**Attempt 5:** [same format]
**Research Findings:**
[what authoritative sources say about this error, if anything]
**Options for human decision:**
1. [option A] — [what this would mean]
2. [option B] — [what this would mean]
**Recommended:** [option X because Y]
**Awaiting:** Your decision on which option to proceed with.
Then:
- Write escalation to AUDIT_LOG.md (action type: HUMAN_ESCALATION)
- Update task in project/tasks.md → status: BLOCKED
- Do nothing else until human responds
After Resolution
Once human provides direction:
- Record the resolution in CONTINUITY.md (to prevent future repetition)
- Apply the human-approved fix
- Verify all tests pass
- Update AUDIT_LOG.md with resolution
Constraints
- Maximum 5 autonomous attempts before escalation — never exceed this
- Never change architecture or library during self-heal (these require human approval)
- Always check CONTINUITY.md first (prevents repeating known failed approaches)
- Escalation report must be complete and specific — vague reports delay resolution
Output Format
Either: "SELF-HEALED — fixed on attempt [N]. All tests passing." OR "ESCALATION REQUIRED — [report]"
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?