with one click
skillcheck
// Validates skill quality — preprocessing safety, frontmatter, line counts, references. Use when checking skills, validating SKILL.md, or when skillcheck, lint skill, or validate skill are mentioned.
// Validates skill quality — preprocessing safety, frontmatter, line counts, references. Use when checking skills, validating SKILL.md, or when skillcheck, lint skill, or validate skill are mentioned.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | skillcheck |
| description | Validates skill quality — preprocessing safety, frontmatter, line counts, references. Use when checking skills, validating SKILL.md, or when skillcheck, lint skill, or validate skill are mentioned. |
| context | fork |
| metadata | {"version":"1.0.1","author":"outfitter","preprocess":true,"related-skills":["skillcraft","claude-craft"]} |
| allowed-tools | Read, Glob, Grep, Bash, Task |
| argument-hint | [path] |
Validate skill quality across one or more skill directories.
Scan SKILL.md files for <bang>`command` patterns that trigger Claude Code's preprocessor unintentionally:
!bun ${CLAUDE_PLUGIN_ROOT}/skills/skillcheck/scripts/lint-preprocessing.ts ${ARGUMENTS:-${CLAUDE_PLUGIN_ROOT}}
The linter reports:
| Finding | Fix |
|---|---|
Unintentional <bang>`command` in SKILL.md | Replace ! with <bang> |
| Intentional preprocessing | Add metadata.preprocess: true to frontmatter |
<bang> ConventionSKILL.md files are preprocessed by Claude Code — any <bang>`command` syntax executes when the skill loads. To safely document or reference the syntax:
<bang> as a stand-in for !! is fine and encouraged! is required (that's the feature)Skills that intentionally preprocess (running scripts at load time) should declare it:
metadata:
preprocess: true
Beyond preprocessing, verify skill quality with existing tools:
# Frontmatter validation
bun ${CLAUDE_PLUGIN_ROOT}/scripts/validate-skill-frontmatter.ts <path-to-SKILL.md>
# Full plugin validation
bun ${CLAUDE_PLUGIN_ROOT}/scripts/validate-plugin.ts <plugin-directory>
After reviewing linter results, spawn the quartermaster agent to run deeper validation — frontmatter schema, naming conventions, description quality, line counts, and reference integrity. Pass it the same path argument.
<bang>`command` in SKILL.md (this linter)