Skip to content

ci: validate skill references against the Construct catalogue - #24

Merged
UnbreakableMJ merged 1 commit into
mainfrom
ci-validate-skill-refs
Aug 5, 2026
Merged

ci: validate skill references against the Construct catalogue#24
UnbreakableMJ merged 1 commit into
mainfrom
ci-validate-skill-refs

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Why

This document cites skills by id, but the catalogue lives in Construct — so nothing here could tell whether a cited skill actually exists.

It shipped for months naming spacecraft-accessibility when the skill had always been spacecraft-accessibility-support (fixed in v1.44, #23). Silently: a missing skill does not announce itself, it simply never loads, so §18 work directed at it proceeds without it.

What the job does

Checks out Construct read-only — both repos are public, so no token, and persist-credentials: false — then runs Construct's .github/check-skill-refs.py against The_Steelbore_Standard.texi and its .md companion.

The dependency direction is deliberate. This document cites the catalogue, so this document validates against it. One implementation serves both repos rather than a copy drifting on each side — which is precisely the failure this job exists to prevent.

--no-version-check is passed: the checker's second rule bans Standard document-version pins inside skills, but this document's own masthead version is the one legitimate pin in the ecosystem.

Companion

Spacecraft-Software/Construct#30 adds the script and wires the same checks over the catalogue itself. It is already merged, so the script is on Construct's main and this job can find it.

Verification

Workflow YAML parses under .github/validate-configs.py (3 files, 0 failed). Run locally against the current .texi and .md: skill references OK (46 skills in catalogue).

Regression-tested in #30 against the exact bug this job would have caught — a Texinfo @code{spacecraft-accessibility} reference fails with the correct did you mean suggestion.

🤖 Generated with Claude Code

This document cites skills by id, but the catalogue lives in Construct, so
nothing here could tell whether a cited skill exists. It shipped for months
naming `spacecraft-accessibility` when the skill had always been
`spacecraft-accessibility-support` (fixed in v1.44, #23) — silently, because a
missing skill does not announce itself; it simply never loads, and §18 work
directed at it proceeds without it.

The new `skill-refs` job checks out Construct read-only — both repos are
public, so no token and `persist-credentials: false` — and runs Construct's
`.github/check-skill-refs.py` against the .texi and its .md companion.

The dependency direction is deliberate: this document cites the catalogue, so
this document validates against it. One implementation serves both repos rather
than a copy drifting on each side, which is the same failure this job exists to
prevent.

`--no-version-check` is passed: the checker's second rule bans Standard
document-version pins in skills, but this document's own masthead version is
the one legitimate pin in the ecosystem.

Companion to Spacecraft-Software/Construct#30, which adds the script and wires
the same checks over the catalogue itself. That PR is merged, so the script is
on Construct's main and this job can find it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@UnbreakableMJ
UnbreakableMJ merged commit 5ff1f8f into main Aug 5, 2026
2 checks passed
@UnbreakableMJ
UnbreakableMJ deleted the ci-validate-skill-refs branch August 5, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant