Skip to content

refactor(skills): rename new-zsh-plugin to zsh-plugin - #615

Merged
ss-o merged 1 commit into
mainfrom
feature-614
Sep 12, 2026
Merged

refactor(skills): rename new-zsh-plugin to zsh-plugin#615
ss-o merged 1 commit into
mainfrom
feature-614

Conversation

@ss-o

@ss-o ss-o commented Sep 12, 2026

Copy link
Copy Markdown
Member

Why

Organization skill names use two conventions at once. code-review, gh-cli, github-issues and zunit-test are domain nouns. create-readme, new-zsh-plugin and review-project-learning are 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 description frontmatter states the current contract and is what drives selection. Renaming now costs one directory, one skill-* 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-package for the package skill and zi-annex for 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-plugin identifier, the frontmatter name, and every path reference across PATTERNS.md, .github/instruction-surfaces.json, .github/instructions/zsh-plugin-standard-aliases.instructions.md, scripts/validate-zsh-standard-policy.py, scripts/test_validate_agent_policy.py and scripts/test_validate_zsh_standard_policy.py.

The only content change anywhere is the single name: line. templates/plugin.plugin.zsh is byte-identical, confirmed with rename detection.

The golden digest

test_repair_2_consumer_parser_outputs_match_frozen_golden covers 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-instructions workflow runs, run locally:

Check Result
test_validate_agent_policy OK
test_decision_records OK
test_validate_zsh_standard_policy OK, 99 tests
validate-zsh-standard-policy.py passed
validate-agent-policy.py passed
decision-records.py --check passed

Follow-up not in this PR

The private meta-workspace generates .agents/skills and .claude/skills from 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

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
@ss-o
ss-o requested a review from a team as a code owner September 12, 2026 11:35
Copilot AI lite review requested due to automatic review settings September 12, 2026 11:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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 PROPOSED ADR (runbooks/adr.md:22-38, runbooks/instruction-update.md:73-80). Without that durable record, future maintainers lose the rationale for replacing skill-new-zsh-plugin with skill-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.

@ss-o
ss-o merged commit c266b53 into main Sep 12, 2026
12 checks passed
@ss-o
ss-o deleted the feature-614 branch September 12, 2026 11:39
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.

2 participants