chore: fix stale skill-frontmatter and check-manifests references

c8a7c9e folded the skill-frontmatter hook into skill-size-check but
left validate.sh's FAIL messages, skill-author's create.md, and the
skill template's frontmatter comment naming the deleted hook as the
enforcer -- misleading for anyone tracing a FAIL back to the gate that
raises it.

f11b645 swept check-manifests references but missed a hand-authored
"Local hooks in this repo" table in the git plugin's vendored
pre-commit research doc, which still listed both check-manifests and
skill-frontmatter as active hooks.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YR2CjVumUbEGWcMikcoXBD
This commit is contained in:
2026-09-12 22:13:10 +00:00
parent f11b6455ce
commit bde9f7fdd8
7 changed files with 10 additions and 12 deletions

View File

@@ -168,7 +168,5 @@ Local hooks in this repo:
| Hook | Stage | Entry | | Hook | Stage | Entry |
|------|-------|-------| |------|-------|-------|
| `run-tests` | pre-push | `bash tests/run-tests.sh` | | `run-tests` | pre-push | `bash tests/run-tests.sh` |
| `check-manifests` | pre-push | `bash scripts/check-manifests.sh` |
| `validate-plugins` | pre-push | `claude plugin validate --strict` per plugin dir | | `validate-plugins` | pre-push | `claude plugin validate --strict` per plugin dir |
| `validate-marketplace` | pre-push | `claude plugin validate --strict .claude-plugin/marketplace.json` | | `validate-marketplace` | pre-push | `claude plugin validate --strict .claude-plugin/marketplace.json` |
| `skill-frontmatter` | pre-commit | Validates SKILL.md has `name:` and `description:` |

View File

@@ -1291,7 +1291,7 @@ else:
# --- ADR-0022: metadata.version is mandatory ------------------------------- # --- ADR-0022: metadata.version is mandatory -------------------------------
# FAIL, not SUGGESTION, and the tier is set by the gate rather than by taste. # FAIL, not SUGGESTION, and the tier is set by the gate rather than by taste.
# `.pre-commit-config.yaml`'s `skill-frontmatter` hook REJECTS a SKILL.md with # `.pre-commit-config.yaml`'s `skill-size-check` hook REJECTS a SKILL.md with
# no `metadata.version`, and rejects a value that is not three-part semver. # no `metadata.version`, and rejects a value that is not three-part semver.
# skill-author's Step 4 says to run this audit and "resolve every FAIL", so any # skill-author's Step 4 says to run this audit and "resolve every FAIL", so any
# tier below FAIL lets that step report done on a skill the commit gate then # tier below FAIL lets that step report done on a skill the commit gate then
@@ -1316,7 +1316,7 @@ metadata_block = fm_data.get('metadata') if isinstance(fm_data, dict) else None
if not isinstance(metadata_block, dict) or metadata_block.get('version') is None: if not isinstance(metadata_block, dict) or metadata_block.get('version') is None:
fail("frontmatter has no metadata.version — ADR-0022 makes it mandatory for " fail("frontmatter has no metadata.version — ADR-0022 makes it mandatory for "
"every skill, and the skill-frontmatter pre-commit hook rejects the file " "every skill, and the skill-size-check pre-commit hook rejects the file "
"without it. Add `metadata:` / ` version: \"1.0.0\"` (new skills start " "without it. Add `metadata:` / ` version: \"1.0.0\"` (new skills start "
"at \"0.1.0\")") "at \"0.1.0\")")
else: else:
@@ -1330,7 +1330,7 @@ else:
ok(f"metadata.version present: '{version_text}' (ADR-0022)") ok(f"metadata.version present: '{version_text}' (ADR-0022)")
else: else:
fail(f"metadata.version '{version_text}' is not three-part semver — the " fail(f"metadata.version '{version_text}' is not three-part semver — the "
f"skill-frontmatter pre-commit hook rejects it. Use MAJOR.MINOR.PATCH, " f"skill-size-check pre-commit hook rejects it. Use MAJOR.MINOR.PATCH, "
f"e.g. \"1.0.0\"") f"e.g. \"1.0.0\"")
# SKILL.md size ceilings (agentskills.io skill-authoring.md: 500 lines, # SKILL.md size ceilings (agentskills.io skill-authoring.md: 500 lines,

View File

@@ -53,7 +53,7 @@ metadata:
# - source-slug-one # - source-slug-one
# - source-slug-two # - source-slug-two
# `metadata.version` is REQUIRED on every skill (ADR-0022) and is enforced by the # `metadata.version` is REQUIRED on every skill (ADR-0022) and is enforced by the
# `skill-frontmatter` pre-commit hook. Three-component semver. A newly created # `skill-size-check` pre-commit hook. Three-component semver. A newly created
# skill starts at "0.1.0" — leave the seeded value as it is; "1.0.0" is the seed # skill starts at "0.1.0" — leave the seeded value as it is; "1.0.0" is the seed
# for a pre-existing skill retrofitted into the rule, not for a new one. # for a pre-existing skill retrofitted into the rule, not for a new one.
# The rest of the map is optional: author, category, source_keys. # The rest of the map is optional: author, category, source_keys.

View File

@@ -99,7 +99,7 @@ boundary-clause form and the length tiers. A hand-invoked skill (`SKILL.md` Step
plain sentence and `disable-model-invocation: true` instead. plain sentence and `disable-model-invocation: true` instead.
**`metadata.version`** — required on every skill (ADR-0022), not a per-skill or per-plugin choice, **`metadata.version`** — required on every skill (ADR-0022), not a per-skill or per-plugin choice,
and enforced by the `skill-frontmatter` pre-commit hook. The scaffold seeds a new skill at and enforced by the `skill-size-check` pre-commit hook. The scaffold seeds a new skill at
`"0.1.0"`; leave that value alone here and let `SKILL.md` Step 4 bump it. (`"1.0.0"` is the seed `"0.1.0"`; leave that value alone here and let `SKILL.md` Step 4 bump it. (`"1.0.0"` is the seed
for a pre-existing skill retrofitted into the rule, and never applies to a skill created here.) for a pre-existing skill retrofitted into the rule, and never applies to a skill created here.)

View File

@@ -1291,7 +1291,7 @@ else:
# --- ADR-0022: metadata.version is mandatory ------------------------------- # --- ADR-0022: metadata.version is mandatory -------------------------------
# FAIL, not SUGGESTION, and the tier is set by the gate rather than by taste. # FAIL, not SUGGESTION, and the tier is set by the gate rather than by taste.
# `.pre-commit-config.yaml`'s `skill-frontmatter` hook REJECTS a SKILL.md with # `.pre-commit-config.yaml`'s `skill-size-check` hook REJECTS a SKILL.md with
# no `metadata.version`, and rejects a value that is not three-part semver. # no `metadata.version`, and rejects a value that is not three-part semver.
# skill-author's Step 4 says to run this audit and "resolve every FAIL", so any # skill-author's Step 4 says to run this audit and "resolve every FAIL", so any
# tier below FAIL lets that step report done on a skill the commit gate then # tier below FAIL lets that step report done on a skill the commit gate then
@@ -1316,7 +1316,7 @@ metadata_block = fm_data.get('metadata') if isinstance(fm_data, dict) else None
if not isinstance(metadata_block, dict) or metadata_block.get('version') is None: if not isinstance(metadata_block, dict) or metadata_block.get('version') is None:
fail("frontmatter has no metadata.version — ADR-0022 makes it mandatory for " fail("frontmatter has no metadata.version — ADR-0022 makes it mandatory for "
"every skill, and the skill-frontmatter pre-commit hook rejects the file " "every skill, and the skill-size-check pre-commit hook rejects the file "
"without it. Add `metadata:` / ` version: \"1.0.0\"` (new skills start " "without it. Add `metadata:` / ` version: \"1.0.0\"` (new skills start "
"at \"0.1.0\")") "at \"0.1.0\")")
else: else:
@@ -1330,7 +1330,7 @@ else:
ok(f"metadata.version present: '{version_text}' (ADR-0022)") ok(f"metadata.version present: '{version_text}' (ADR-0022)")
else: else:
fail(f"metadata.version '{version_text}' is not three-part semver — the " fail(f"metadata.version '{version_text}' is not three-part semver — the "
f"skill-frontmatter pre-commit hook rejects it. Use MAJOR.MINOR.PATCH, " f"skill-size-check pre-commit hook rejects it. Use MAJOR.MINOR.PATCH, "
f"e.g. \"1.0.0\"") f"e.g. \"1.0.0\"")
# SKILL.md size ceilings (agentskills.io skill-authoring.md: 500 lines, # SKILL.md size ceilings (agentskills.io skill-authoring.md: 500 lines,

View File

@@ -53,7 +53,7 @@ metadata:
# - source-slug-one # - source-slug-one
# - source-slug-two # - source-slug-two
# `metadata.version` is REQUIRED on every skill (ADR-0022) and is enforced by the # `metadata.version` is REQUIRED on every skill (ADR-0022) and is enforced by the
# `skill-frontmatter` pre-commit hook. Three-component semver. A newly created # `skill-size-check` pre-commit hook. Three-component semver. A newly created
# skill starts at "0.1.0" — leave the seeded value as it is; "1.0.0" is the seed # skill starts at "0.1.0" — leave the seeded value as it is; "1.0.0" is the seed
# for a pre-existing skill retrofitted into the rule, not for a new one. # for a pre-existing skill retrofitted into the rule, not for a new one.
# The rest of the map is optional: author, category, source_keys. # The rest of the map is optional: author, category, source_keys.

View File

@@ -99,7 +99,7 @@ boundary-clause form and the length tiers. A hand-invoked skill (`SKILL.md` Step
plain sentence and `disable-model-invocation: true` instead. plain sentence and `disable-model-invocation: true` instead.
**`metadata.version`** — required on every skill (ADR-0022), not a per-skill or per-plugin choice, **`metadata.version`** — required on every skill (ADR-0022), not a per-skill or per-plugin choice,
and enforced by the `skill-frontmatter` pre-commit hook. The scaffold seeds a new skill at and enforced by the `skill-size-check` pre-commit hook. The scaffold seeds a new skill at
`"0.1.0"`; leave that value alone here and let `SKILL.md` Step 4 bump it. (`"1.0.0"` is the seed `"0.1.0"`; leave that value alone here and let `SKILL.md` Step 4 bump it. (`"1.0.0"` is the seed
for a pre-existing skill retrofitted into the rule, and never applies to a skill created here.) for a pre-existing skill retrofitted into the rule, and never applies to a skill created here.)