首页/数据 & AI/heal-skill
H

heal-skill

by @boshu2v1.0.0
0.0(0)

'Automated skill maintenance. Detects and fixes common skill issues: missing frontmatter, name mismatches, unlinked references, empty directories, dead references, and Codex parity drift triage. Triggers: "heal-skill", "heal skill", "fix skills", "skill maintenance", "repair skills".'

AI Agent MonitoringError RecoveryAgent OrchestrationObservabilityFault ToleranceGitHub
安装方式
npx skills add boshu2/agentops --skill heal-skill
compare_arrows

Before / After 效果对比

1
使用前

手动检查和修复技能库中的问题,如缺失的 frontmatter、名称不匹配、死链接或空目录,是一个耗时且容易出错的过程,尤其当技能数量庞大时。

使用后

使用 `heal-skill` 技能,可以自动化地检测并修复技能库中的常见问题,显著提高了维护效率,减少了手动干预,并确保了技能的健康运行和一致性。

技能维护时间0%
使用前
8小时/周
使用后
30分钟/周
技能错误率0%
使用前
5%
使用后
0.5%

技能维护时间

0%

8小时/周30分钟/周

技能错误率

0%

5%0.5%

description SKILL.md


name: heal-skill description: 'Automated skill maintenance. Detects and fixes common skill issues: missing frontmatter, name mismatches, unlinked references, empty directories, dead references, and Codex parity drift triage. Triggers: "heal-skill", "heal skill", "fix skills", "skill maintenance", "repair skills".' skill_api_version: 1 context: window: isolated intent: mode: none sections: exclude: [HISTORY, INTEL, TASK] intel_scope: none metadata: tier: meta dependencies: []

/heal-skill — Automated Skill Maintenance

Purpose: Detect and auto-fix common skill hygiene issues across the skills/ directory.

YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.


Quick Start

/heal-skill                    # Check all skills (report only)
/heal-skill --fix              # Auto-repair all fixable issues
/heal-skill --strict           # Check all skills, exit 1 on findings (CI mode)
/heal-skill skills/council     # Check a specific skill
/heal-skill --fix skills/vibe  # Fix a specific skill

What It Detects

Ten checks, run in order:

CodeIssueAuto-fixable?
MISSING_NAMENo name: field in SKILL.md frontmatterYes -- adds name from directory
MISSING_DESCNo description: field in SKILL.md frontmatterYes -- adds placeholder
NAME_MISMATCHFrontmatter name differs from directory nameYes -- updates to match directory
UNLINKED_REFFile in references/ not linked in SKILL.mdYes -- converts bare backtick refs to markdown links
EMPTY_DIRSkill directory exists but has no SKILL.mdYes -- removes empty directory
DEAD_REFSKILL.md references a non-existent references/ fileNo -- warn only
SCRIPT_REF_MISSINGSKILL.md references a scripts/ file that does not existNo -- warn only
INVALID_AO_CMDSKILL.md references an ao subcommand that does not exist (only runs if ao is on PATH)No -- warn only
DEAD_XREFSKILL.md references a /skill-name that has no matching skill directoryNo -- warn only
CATALOG_MISSINGA user-invocable skill is missing from the using-agentops catalogNo -- warn only

Execution Steps

Step 1: Run the heal script

# Check mode (default) -- report only, no changes
bash skills/heal-skill/scripts/heal.sh --check

# Fix mode -- auto-repair what it can
bash skills/heal-skill/scripts/heal.sh --fix

# Target a specific skill
bash skills/heal-skill/scripts/heal.sh --check skills/council
bash skills/heal-skill/scripts/heal.sh --fix skills/council

Step 1A: Audit Codex Parity Drift When The Generated Bundle Looks Wrong

When the problem is not source-skill hygiene but skills-codex/ drift, run the Codex parity audit first:

bash scripts/audit-codex-parity.sh
bash scripts/audit-codex-parity.sh --skill swarm

Use this when a generated Codex skill still contains Claude-era primitives (TaskCreate, TaskList, Tool: Task), Claude backend references, or obviously broken runtime rewrites.

Repair rule: never hand-maintain skills-codex/<name>/SKILL.md. Keep canonical behavior in skills/<name>/SKILL.md, and keep durable Codex-only body edits in skills-codex-overrides/<name>/SKILL.md.

After repair:

bash scripts/sync-codex-native-skills.sh
bash scripts/validate-codex-skill-parity.sh
bash scripts/validate-codex-generated-artifacts.sh --scope worktree

Step 2: Interpret results

  • Exit 0: All clean, no findings. Also exit 0 for --check mode with findings (report-only).
  • Exit 1: Findings reported with --strict or --fix flag. In --fix mode, fixable issues were repaired; re-run --check to confirm.

Step 3: Report to user

Show the output. If --fix was used, summarize what changed. If DEAD_REF findings remain, advise the user to remove or update the broken references manually.


Output Format

One line per finding:

[MISSING_NAME] skills/foo: No name field in frontmatter
[MISSING_DESC] skills/foo: No description field in frontmatter
[NAME_MISMATCH] skills/foo: Frontmatter name 'bar' != directory 'foo'
[UNLINKED_REF] skills/foo: refs/bar.md not linked in SKILL.md
[EMPTY_DIR] skills/foo: Directory exists but no SKILL.md
[DEAD_REF] skills/foo: SKILL.md links to non-existent refs/bar.md
[SCRIPT_REF_MISSING] skills/foo: references scripts/bar.sh but file not found
[INVALID_AO_CMD] skills/foo: references 'ao badcmd' which is not a valid subcommand
[DEAD_XREF] skills/foo: references /nonexistent but skill directory not found
[CATALOG_MISSING] using-agentops: bar is user-invocable but missing from catalog

Notes

  • The script is idempotent -- running --fix twice produces the same result.
  • DEAD_REF, SCRIPT_REF_MISSING, INVALID_AO_CMD, DEAD_XREF, and CATALOG_MISSING are warn-only because the correct resolution requires human judgment.
  • INVALID_AO_CMD only runs if the ao CLI is available on PATH. Skipped silently otherwise.
  • CATALOG_MISSING is a global check (not per-skill) and only runs when using-agentops/SKILL.md exists.
  • When run without a path argument, scans all directories under skills/.
  • Use --strict for CI gates: exits 1 on any finding. Without --strict, check mode exits 0 even with findings.
  • For Codex parity drift, use the audit script plus override-layer repair workflow in references/codex-parity.md. The shell fixer is intentionally not allowed to rewrite generated Codex bodies directly.

Examples

Running a health check across all skills

User says: /heal-skill

What happens:

  1. The heal script scans every directory under skills/, checking each for the ten issue types (missing name, missing description, name mismatch, unlinked references, empty directories, dead references, script reference integrity, CLI command validation, cross-reference validation, catalog completeness).
  2. Findings are printed one per line with issue codes (e.g., [NAME_MISMATCH] skills/foo: Frontmatter name 'bar' != directory 'foo').
  3. The script exits with code 0 in check mode (even with findings), or code 1 with --strict or --fix flags.

Result: A diagnostic report showing all skill hygiene issues across the repository, with no files modified.

Auto-fixing a specific skill

User says: /heal-skill --fix skills/vibe

What happens:

  1. The heal script inspects only skills/vibe/, running all per-skill checks against that skill.
  2. For each fixable issue found (e.g., MISSING_NAME, UNLINKED_REF), the script applies the repair automatically -- adding the name from the directory, converting bare backtick references to markdown links, etc.
  3. Any DEAD_REF findings are reported as warnings since they require human judgment to resolve.

Result: The skills/vibe/SKILL.md is repaired in place, with a summary of changes applied and any remaining warnings.

Troubleshooting

ProblemCauseSolution
DEAD_REF findings persist after --fixDead references are warn-only because the correct fix (delete, create, or update) requires human judgmentManually inspect each dead reference and either create the missing file, remove the link from SKILL.md, or update the path
Script reports EMPTY_DIR for a skill in progressThe skill directory was created but SKILL.md has not been written yetEither add a SKILL.md to the directory or remove the empty directory. Running --fix will remove it automatically
NAME_MISMATCH fix changed the wrong nameThe script always updates the frontmatter name to match the directory name, not the other way aroundIf the directory name is wrong, rename the directory first, then re-run --fix
Script exits 0 but a skill still has issuesThe issue type is not one of the ten checks the heal script detectsThe heal script covers structural hygiene only. Content quality issues require manual review or /council validation
Running --fix twice produces different outputThis should not happen -- the script is idempotentFile a bug. Check if another process modified the skill files between runs
skills-codex/ keeps regressing after syncMechanical conversion is preserving the wrong semanticsRun bash scripts/audit-codex-parity.sh, then move the durable Codex body rewrite into skills-codex-overrides/<name>/SKILL.md instead of patching generated output

References

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月17日
对比案例1 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月17日
最后更新2026年3月17日