Check Skill Spec Alignment
Determine whether the custom frontmatter validation hook can be retired in favor of skillmark's built-in E030 rule.
Context
This project uses a custom pre-commit hook (scripts/check_skill_frontmatter.py)
that validates SKILL.md frontmatter against the agentskills.io spec plus
extended fields that Claude Code and VS Code support but the spec has not yet
adopted. Skillmark's E030 is disabled in .skillmark.toml because it rejects
these fields.
The extended fields are:
| Field | Purpose | Tracking |
|---|---|---|
user-invocable |
Controls / menu visibility |
agentskills#105 |
argument-hint |
Autocomplete hint for arguments | agentskills#105 |
disable-model-invocation |
Prevents agent auto-triggering | agentskills#105 |
triggers |
Invocation phrases for discovery | agentskills#105 |
Workflow
Step 1: Fetch the current spec
Read the upstream specification:
curl -sL https://raw.githubusercontent.com/agentskills/agentskills/main/docs/specification.mdx
Extract the frontmatter field table from the spec. Look for the ### Frontmatter
section and the table listing Field | Required | Constraints.
Step 2: Compare against our allowlist
Read scripts/check_skill_frontmatter.py and compare:
_SPEC_FIELDS— should match what the upstream spec lists_EXTENDED_FIELDS— check if any of these now appear in the upstream spec
Step 3: Check the tracking issue
gh issue view 105 --repo agentskills/agentskills --json state,title,comments
Check whether issue #105 has been closed/merged, or if there are updates indicating the fields have been adopted.
Step 4: Check skillmark releases
gh release list --repo michellepellon/skillmark --limit 5
Check whether a newer version of skillmark recognizes the extended fields in its E030 rule. If so, test by temporarily re-enabling E030:
skillmark check --disable "" SKILL.md
Step 5: Report findings
Produce a summary with one of these verdicts:
- Still needed — the spec has not adopted the extended fields; keep the custom hook and E030 disabled.
- Partially resolved — some fields are now in the spec; update
_SPEC_FIELDSand_EXTENDED_FIELDSaccordingly. - Can be retired — all extended fields are in the spec and skillmark recognizes them. Follow the retirement steps below.
Retirement steps (when verdict is "Can be retired")
- Update
.skillmark.toml: removeE030from thedisablelist - Remove
scripts/check_skill_frontmatter.py - Remove the
check-skill-frontmatterhook from.pre-commit-config.yaml - Remove this skill (
.agents/skills/check-skill-spec/) - Run
tox -e lintto verify everything passes with E030 re-enabled - Commit and create a PR