home / skills / everyinc / compound-engineering-plugin / heal-skill

heal-skill skill

/plugins/compound-engineering/skills/heal-skill

This skill automatically fixes outdated SKILL.md files by analyzing interactions, proposing precise edits, and applying changes with optional commits.

npx playbooks add skill everyinc/compound-engineering-plugin --skill heal-skill

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.9 KB
---
name: heal-skill
description: Fix incorrect SKILL.md files when a skill has wrong instructions or outdated API references
argument-hint: "[optional: specific issue to fix]"
allowed-tools: [Read, Edit, Bash(ls:*), Bash(git:*)]
disable-model-invocation: true
---

<objective>
Update a skill's SKILL.md and related files based on corrections discovered during execution.

Analyze the conversation to detect which skill is running, reflect on what went wrong, propose specific fixes, get user approval, then apply changes with optional commit.
</objective>

<context>
Skill detection: !`ls -1 ./skills/*/SKILL.md | head -5`
</context>

<quick_start>
<workflow>
1. **Detect skill** from conversation context (invocation messages, recent SKILL.md references)
2. **Reflect** on what went wrong and how you discovered the fix
3. **Present** proposed changes with before/after diffs
4. **Get approval** before making any edits
5. **Apply** changes and optionally commit
</workflow>
</quick_start>

<process>
<step_1 name="detect_skill">
Identify the skill from conversation context:

- Look for skill invocation messages
- Check which SKILL.md was recently referenced
- Examine current task context

Set: `SKILL_NAME=[skill-name]` and `SKILL_DIR=./skills/$SKILL_NAME`

If unclear, ask the user.
</step_1>

<step_2 name="reflection_and_analysis">
Focus on $ARGUMENTS if provided, otherwise analyze broader context.

Determine:
- **What was wrong**: Quote specific sections from SKILL.md that are incorrect
- **Discovery method**: Context7, error messages, trial and error, documentation lookup
- **Root cause**: Outdated API, incorrect parameters, wrong endpoint, missing context
- **Scope of impact**: Single section or multiple? Related files affected?
- **Proposed fix**: Which files, which sections, before/after for each
</step_2>

<step_3 name="scan_affected_files">
```bash
ls -la $SKILL_DIR/
ls -la $SKILL_DIR/references/ 2>/dev/null
ls -la $SKILL_DIR/scripts/ 2>/dev/null
```
</step_3>

<step_4 name="present_proposed_changes">
Present changes in this format:

```
**Skill being healed:** [skill-name]
**Issue discovered:** [1-2 sentence summary]
**Root cause:** [brief explanation]

**Files to be modified:**
- [ ] SKILL.md
- [ ] references/[file].md
- [ ] scripts/[file].py

**Proposed changes:**

### Change 1: SKILL.md - [Section name]
**Location:** Line [X] in SKILL.md

**Current (incorrect):**
```
[exact text from current file]
```

**Corrected:**
```
[new text]
```

**Reason:** [why this fixes the issue]

[repeat for each change across all files]

**Impact assessment:**
- Affects: [authentication/API endpoints/parameters/examples/etc.]

**Verification:**
These changes will prevent: [specific error that prompted this]
```
</step_4>

<step_5 name="request_approval">
```
Should I apply these changes?

1. Yes, apply and commit all changes
2. Apply but don't commit (let me review first)
3. Revise the changes (I'll provide feedback)
4. Cancel (don't make changes)

Choose (1-4):
```

**Wait for user response. Do not proceed without approval.**
</step_5>

<step_6 name="apply_changes">
Only after approval (option 1 or 2):

1. Use Edit tool for each correction across all files
2. Read back modified sections to verify
3. If option 1, commit with structured message showing what was healed
4. Confirm completion with file list
</step_6>
</process>

<success_criteria>
- Skill correctly detected from conversation context
- All incorrect sections identified with before/after
- User approved changes before application
- All edits applied across SKILL.md and related files
- Changes verified by reading back
- Commit created if user chose option 1
- Completion confirmed with file list
</success_criteria>

<verification>
Before completing:

- Read back each modified section to confirm changes applied
- Ensure cross-file consistency (SKILL.md examples match references/)
- Verify git commit created if option 1 was selected
- Check no unintended files were modified
</verification>

Overview

This skill repairs incorrect or outdated skill instruction files and related artifacts when a skill behaves unexpectedly. It detects which skill ran, identifies the root cause in instructions or API references, proposes concrete fixes with before/after diffs, and applies changes only after getting user approval.

How this skill works

The skill inspects the recent conversation and invocation traces to determine which skill was executed and where the mismatch occurred. It analyzes errors, logs, and referenced documentation to pinpoint incorrect instructions, outdated API calls, or wrong parameters. It then prepares precise edits across the instruction file and supporting files, presents them for approval, and applies the changes with an optional commit.

When to use it

  • A skill returns unexpected errors or fails during execution.
  • Examples or code in the skill instructions reference deprecated or changed APIs.
  • Invocation messages suggest the wrong skill or parameters were used.
  • You need an audit and quick fix of skill docs and supporting scripts.
  • Before publishing a skill update that corrects runtime failures.

Best practices

  • Detect the active skill from recent invocation traces or error messages before proposing edits.
  • Show exact before/after snippets for every change so reviewers can validate intent.
  • Limit edits to the smallest, safest scope needed to resolve the issue.
  • Ask for explicit approval before making any file modifications or commits.
  • Verify cross-file consistency after edits (examples, references, and scripts match).

Example use cases

  • A skill fails because examples use an old endpoint; prepare diffs to update endpoint and example payloads.
  • A parameter name changed upstream; update instructions and any sample scripts that use it.
  • Invocation logs show the wrong skill name; correct discovery and invocation guidance so callers use the right skill.
  • Documentation shows outdated authentication steps; replace with the current process and validate sample calls.
  • A referenced helper script signature changed; update both the instruction text and the script to match.

FAQ

How do you determine which skill needs fixing?

I analyze recent invocation messages, error traces, and any instruction/file references in the conversation to identify the active skill. If unclear, I ask for clarification before proceeding.

Will you change files without my permission?

No. I prepare detailed proposed edits and wait for your explicit choice: apply and commit, apply without commit, revise, or cancel.