fix(doctor): update stale skill/agent refs, scope disable-model-invocation check

- Replace readme → doc in EXPECTED_SKILLS (readme skill was replaced by doc)
- Replace readme-updater → doc-syncer in EXPECTED_AGENTS
- Skip external/symlinked skills in disable-model-invocation check —
  external skills (frontend-design, emil-design-eng, darwin-skill, find-skills)
  and gstack skills (symlinked SKILL.md) are not owned by this repo

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bastien Chanot 2026-05-25 21:34:42 +02:00
parent 237810396c
commit 6b55a3aaf6

View File

@ -309,25 +309,29 @@ echo ""
# ────────────────────────────────────────────────────────────
echo "── Consistency ──"
# Check all skills have disable-model-invocation
# Check owned skills have disable-model-invocation (skip external/symlinked skills)
MISSING_DMI=()
for f in "$HOME/.claude/skills/"*/SKILL.md; do
[ -f "$f" ] || continue
name=$(basename "$(dirname "$f")")
dir=$(dirname "$f")
# Skip external skills (symlinked directory or symlinked SKILL.md — not owned by this repo)
[ -L "$dir" ] && continue
[ -L "$f" ] && continue
name=$(basename "$dir")
if ! grep -q "disable-model-invocation" "$f" 2>/dev/null; then
MISSING_DMI+=("$name")
fi
done
if [ ${#MISSING_DMI[@]} -eq 0 ]; then
pass "All skills have disable-model-invocation"
pass "All owned skills have disable-model-invocation"
else
warn "Skills missing disable-model-invocation: ${MISSING_DMI[*]}"
warn "Owned skills missing disable-model-invocation: ${MISSING_DMI[*]}"
fi
# Check expected skills are present
EXPECTED_SKILLS=(
"analyze" "health" "init-project" "onboard" "plugin-check"
"readme" "refactor" "ship-feature" "status"
"analyze" "doc" "health" "init-project" "onboard" "plugin-check"
"refactor" "ship-feature" "status"
)
MISSING_SKILLS=()
for skill in "${EXPECTED_SKILLS[@]}"; do
@ -336,14 +340,14 @@ for skill in "${EXPECTED_SKILLS[@]}"; do
fi
done
if [ ${#MISSING_SKILLS[@]} -eq 0 ]; then
pass "All ${#EXPECTED_SKILLS[@]} expected skills present (analyze, health, init-project, onboard, plugin-check, readme, refactor, ship-feature, status)"
pass "All ${#EXPECTED_SKILLS[@]} expected skills present (analyze, doc, health, init-project, onboard, plugin-check, refactor, ship-feature, status)"
else
warn "Missing skills: ${MISSING_SKILLS[*]} — run: bash link.sh"
fi
# Check expected agents are present
EXPECTED_AGENTS=(
"analyzer" "interviewer" "plugin-advisor" "readme-updater"
"analyzer" "interviewer" "plugin-advisor" "doc-syncer"
"refactorer" "scaffolder" "onboarder" "status-reporter"
)
MISSING_AGENTS=()
@ -353,7 +357,7 @@ for agent in "${EXPECTED_AGENTS[@]}"; do
fi
done
if [ ${#MISSING_AGENTS[@]} -eq 0 ]; then
pass "All 8 agents present (analyzer, interviewer, plugin-advisor, readme-updater, refactorer, scaffolder, onboarder, status-reporter)"
pass "All 8 agents present (analyzer, interviewer, plugin-advisor, doc-syncer, refactorer, scaffolder, onboarder, status-reporter)"
else
warn "Missing agents: ${MISSING_AGENTS[*]} — run: bash link.sh"
fi