When `hosts/claude.ts` has `generation.skipSkills: ['claude']` (the existing
config — the /claude outside-voice skill is intentionally for non-Claude hosts),
`bun run gen:skill-docs` correctly skips generating `claude/SKILL.md`. But
`scripts/skill-check.ts` Templates section still flags it as `❌ generated file
missing!` and the script exits 1.
Fix: mirror the same `skipSkills` filter that `gen-skill-docs.ts` already uses
(see `scripts/gen-skill-docs.ts:510-516`). Read the primary host's skipSkills
once, then in the Templates loop, if the output file is missing AND the skill
dir is in skipSkills, log it as `- skipped per <host> host config` and skip
the error flag instead of marking it missing.
Impact: `bun run skill:check` now exits 0 for any host config that uses
`skipSkills`. No behavior change when skipSkills is empty (default for most
hosts) or when the skipped skill's output is in fact missing for some other
reason.
Test plan: configure `skipSkills: ['claude']` (default `hosts/claude.ts`),
run `bun run gen:skill-docs`, confirm `claude/SKILL.md` is not generated, then
`bun run skill:check` — before the patch, exit=1 with `❌ claude/SKILL.md —
generated file missing!`; after the patch, exit=0 with `- claude/SKILL.md —
skipped per claude host config`.