Docs: the layout trees, the tag facts, and two pointers the release procedure left behind - #31
Merged
Merged
Conversation
…rocedure left behind #28 rewrote how releases work without updating either picture of what a plugin contains. Both layout trees — README's and developing-skills' — still showed a plugin as manifest + skills + scripts + references, with no CHANGELOG.md, while CI now fails any PR that omits one. They are fixed together; leaving one right and one wrong is worse than both being stale, because a contributor cannot tell which to trust. `scripts/validate.py` in both trees becomes `scripts/`, since it is no longer the only thing in there. "Only SKILL.md is required" was true when written and is not now — the manifest and the changelog are both required — so it now says so rather than being quietly contradicted by the CI guard three sections down. § Tags is rewritten because creating the tags falsified its opening sentence. It now documents the scheme as adopted, and records why only current versions were tagged: several historical versions cannot be tagged honestly, since some name two different published trees — content shipped twice under one version before the guard existed — and others sit at commits that fail today's validation. The changelogs carry that ambiguity in prose, with PR numbers. Two stale pointers: developing-skills said issue #4 tracks the ${CLAUDE_PLUGIN_ROOT} pattern, which shipped and now has a worked example; and "which is the existing precedent" claimed a consistency the history does not have — adding qe did not move the catalogue version, adding audit did. The rule stands, so it is stated rather than inferred. Also: the audit tutorial is added to README's documentation table, where it was the only guide missing while being in AGENTS.md's doc map; and its Step 7 line gave one hardcoded filename as if it were the instruction, which now reads as the convention with run 1's file as the example.
There was a problem hiding this comment.
Pull request overview
Updates repository documentation to match the post-#28 release/versioning model, correcting stale layout diagrams, tag guidance, and a couple of outdated pointers so contributor-facing docs reflect current CI/enforcement behavior.
Changes:
- Fixes the repo/plugin layout trees in
README.mdanddocs/developing-skills.mdto include requiredCHANGELOG.mdfiles and reflectscripts/as a directory. - Updates
docs/developing-skills.md“Tags” guidance to document the adopted{name}--v{version}scheme and the rationale for tagging only current versions. - Clarifies the audit tutorial’s run-record filename as a convention with a concrete example link.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| README.md | Updates documentation index and repo layout tree to reflect current required plugin contents and scripts/ usage. |
| docs/tutorial-run-an-audit.md | Updates Step 7 to describe the run-record filename convention and link to the first run as an example. |
| docs/developing-skills.md | Updates repo layout guidance, self-contained plugin pointer, catalogue-version note, and tag scheme documentation to align with current release procedure. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This was referenced Aug 3, 2026
Copilot review on #31, and correct. The sentence opens a paragraph that is entirely about skills — "A skill that is purely a procedure … is one file in one directory" — so prefixing it with two plugin-level requirements read as though a skill needs a manifest and a changelog of its own. Both live at <plugin>/, not under skills/<name>/. Naming the two levels in one line is clearer than either the original, which omitted the plugin requirements the CI guard now enforces, or the prefix, which smuggled them into a sentence about something else.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#28 rewrote how releases work without updating either picture of what a plugin contains. This is the catch-up — nothing here ships, which is why it is separate from the plugin-status PR.
Both layout trees were wrong in the same way
README.md§ Layout anddocs/developing-skills.md§ Repo layout both still showed a plugin as manifest + skills + scripts + references, with noCHANGELOG.md— while CI now fails any PR that omits one. They are fixed together on purpose: leaving one right and one wrong is worse than both being stale, because a contributor cannot tell which to trust.scripts/validate.pybecomesscripts/in both, since it is no longer the only thing in there."Only
SKILL.mdis required." was true when written and is not now — the manifest and the changelog are both required. It now says so, rather than being quietly contradicted by the CI guard three sections further down.§ Tags — creating the tags falsified it
It opened "The repo has no git tags today". Three now exist (
qe--v0.2.1,benchmark--v0.3.1,audit--v0.1.4), so the section documents the scheme as adopted, with the command and what it refuses.It also records why only current versions were tagged, because that decision will otherwise look like an oversight. Several historical versions cannot be tagged honestly: some name two different published trees — content shipped twice under one version, before the guard existed — and others sit at commits that fail today's validation. Each
CHANGELOG.mdalready carries that ambiguity in prose with PR numbers, which is more than a tag can carry.Two stale pointers
${CLAUDE_PLUGIN_ROOT}pattern". It shipped, and has a worked example — now pointed at instead.qedid not move it, addingauditdid. The rule stands, so it is now stated rather than inferred from a precedent that contradicts itself.Two smaller ones
The audit tutorial was the only guide missing from README's documentation table while being present in AGENTS.md's doc map. And the tutorial's Step 7 gave one hardcoded filename as if it were the instruction; it now reads as the convention, with run 1's file as the example.
No version bumps —
README.mdanddocs/ship to nobody. The guard agrees:no plugin directory touched. Links resolve andvalidate.pypasses.