refactor(skills): rename new-zsh-plugin to zsh-plugin - #615
Merged
Conversation
Organization skill names split between domain nouns (code-review, gh-cli, github-issues, zunit-test) and verb-first names. With one skill per artifact type owning its whole lifecycle, domain nouns are the correct convention: a name is an address, and the description states the current contract. Rename the directory, the `skill-*` identifier, the frontmatter name, and every path reference in PATTERNS.md, the instruction manifest, the plugin-standard alias instructions, and the policy validators and tests. The skill body is unchanged and still scaffolds only, which its description continues to say. Growing it to cover repair and audit then needs no second rename. The frozen consumer-parser golden covers one of the renamed paths, so its digest is updated in the same commit as the change that moved it, per the guidance in that test. Refs #614
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The rename is consistently applied and the remaining ADR request is a minor, non-blocking nit.
Pull request overview
Renames the creation-only Zsh plugin skill from new-zsh-plugin to zsh-plugin without changing behavior.
Changes:
- Renamed skill metadata, directory, identifiers, and references.
- Updated routing, documentation, validators, tests, and golden digest.
- Preserved template content.
File summaries
| File | Summary |
|---|---|
scripts/validate-zsh-standard-policy.py |
Updated validator paths. |
scripts/test_validate_zsh_standard_policy.py |
Updated test paths and digest. |
scripts/test_validate_agent_policy.py |
Updated manifest expectations. |
PATTERNS.md |
Updated template references. |
.github/skills/zsh-plugin/templates/plugin.plugin.zsh |
Relocated unchanged template. |
.github/skills/zsh-plugin/SKILL.md |
Renamed skill metadata. |
.github/instructions/zsh-plugin-standard-aliases.instructions.md |
Updated scoped path. |
.github/instruction-surfaces.json |
Updated skill registration and routing. |
Review details
Suppressed comments (1)
.github/instruction-surfaces.json:374
- Please add a proposed ADR for this rename before merging. This changes a public cross-repository skill address, and the issue comment is only the source discussion; the repository's ADR workflow requires decision-level changes to be recorded as a
PROPOSEDADR (runbooks/adr.md:22-38,runbooks/instruction-update.md:73-80). Without that durable record, future maintainers lose the rationale for replacingskill-new-zsh-pluginwithskill-zsh-plugin.
"id": "skill-zsh-plugin",
"path": ".github/skills/zsh-plugin/SKILL.md",
- Files reviewed: 7/8 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Why
Organization skill names use two conventions at once.
code-review,gh-cli,github-issuesandzunit-testare domain nouns.create-readme,new-zsh-pluginandreview-project-learningare verb-first.With the direction being one skill per artifact type owning its whole lifecycle, create plus repair plus audit, domain nouns are the correct convention. A skill name is an address; its
descriptionfrontmatter states the current contract and is what drives selection. Renaming now costs one directory, oneskill-*identifier and a handful of path strings. Renaming after the skills are widely referenced costs considerably more.Decision recorded as decision 8 on #614, which also names
zi-packagefor the package skill andzi-annexfor a future one.A correction worth stating
This rename is not because the skill already does more than create. It does not. Its seven steps are read context, gather inputs, create the layout, write the entry file, write autoload bodies, verify syntax and lifecycle, report. There is no repair path and no audit.
The body is therefore unchanged and the description still says creation only. Growing the scope later needs no second rename, which is the point.
Change
Renamed the directory, the
skill-new-zsh-pluginidentifier, the frontmattername, and every path reference acrossPATTERNS.md,.github/instruction-surfaces.json,.github/instructions/zsh-plugin-standard-aliases.instructions.md,scripts/validate-zsh-standard-policy.py,scripts/test_validate_agent_policy.pyandscripts/test_validate_zsh_standard_policy.py.The only content change anywhere is the single
name:line.templates/plugin.plugin.zshis byte-identical, confirmed with rename detection.The golden digest
test_repair_2_consumer_parser_outputs_match_frozen_goldencovers the parsed output of a fixed path set that includes the renamed skill files, so the rename changes its digest. That is the test working as designed. Its own failure message asks for the diff to be reviewed and the digest replaced in the same commit, which is what happened here.Verification
Everything the
agent-instructionsworkflow runs, run locally:test_validate_agent_policytest_decision_recordstest_validate_zsh_standard_policyvalidate-zsh-standard-policy.pyvalidate-agent-policy.pydecision-records.py --checkFollow-up not in this PR
The private meta-workspace generates
.agents/skillsand.claude/skillsfrom this repository, so those copies still carry the old name until the submodule pointer moves. That regeneration is a separate workspace change after this merges.Refs #614