Repository navigation
Convert to a plugin marketplace (3.0.0) - #1
Merged
Merged
Conversation
Skills are discovered only by scanning a plugin's skills/ directory — there is no manifest field that can point at a root-level SKILL.md — so the skill moves to plugins/stackwich/skills/stackwich/. assets/ moves with it, because SKILL.md resolves the agent definitions relative to its own directory; together they make the skill directory self-contained. The plugin deliberately does not ship agents/. Plugin agents install namespaced as stackwich:advisor, which would break the policy block's bare references, break the user's ability to decline scaffolding, and orphan existing installs. The skill keeps scaffolding them from assets/. CI repoints to the new paths and gains two invariants: the plugin must not ship agents/, and plugin.json's version must match the skill's frontmatter. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
README gains an 'Upgrading from 2.x' section and the install prose stops describing a clone. Uninstall now says the scaffolded agents outlive the plugin, because they were written into the user's own agents directory and removing the plugin leaves them behind. The changelog entry leads with what does not change — policy-rev stays 3, the CLAUDE.md block is identical, the agents keep their names, nothing to re-run — since that is the question an existing user actually has. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Anyone who installed by cloning will reach for git pull to update, because the 2.x README invited exactly that model. After this lands, pulling into an existing clone deletes the root SKILL.md and assets/ and leaves a directory Claude Code can load as neither a skill nor a plugin — /stackwich stops resolving with no error. Both README and CHANGELOG now say so. The 2.x README also offered a project-level clone; the removal instructions only mentioned the user-level path. Both are named now. Drops a claim about Grok's agent namespacing that nothing in this repo supports, and leads the upgrade section with what does not change rather than with an rm -rf. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4724438f29
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Plugin skills are namespaced by their plugin, so a fresh 3.0 install invokes /stackwich:stackwich. Bare /stackwich only resolved because a pre-3.0 standalone copy was still present — the very thing the upgrade steps tell users to remove. Confirmed against an installed example: the skill-creator plugin ships skills/skill-creator/SKILL.md and surfaces as skill-creator:skill-creator. The skill's own H1 asserted /stackwich as its invocation; it now just names the skill, since the invocation depends on how it was installed. Uninstall covered only user-scoped agents, but the skill writes to <scope>/agents/ and scope can be ./.claude. A project-scoped install left all three agents active after following the full procedure. The CLAUDE.md block has the same two scopes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Installs via
/plugin marketplace addinstead ofgit clone. Breaking for the delivery mechanism; not breaking for the policy.What moves and why
plugins/stackwich/skills/stackwich/{SKILL.md, assets/}— the skill and its agent definitions, tracked as renames.Claude Code discovers skills only by scanning a plugin's
skills/directory, and no manifest field can point at a root-levelSKILL.md, so the skill had to move.assets/moved with it becauseSKILL.mdresolves the agent definitions relative to its own directory — together they make the skill directory self-contained.What the plugin deliberately does not ship
No
agents/. Plugin-supplied agents install namespaced asstackwich:advisor, which would break the policy block's bare references, remove the user's ability to decline scaffolding, and make rename-on-collision impossible since a file in the plugin cache is overwritten on update. The skill keeps scaffolding them fromassets/. CI fails if that directory ever reappears.No stub
SKILL.mdat the root. A stub would itself be a skill namedstackwichand would collide for anyone still holding a 2.x clone.For existing users
Policy is untouched —
policy-revstays 3, theCLAUDE.mdblock is byte-identical, agents keep their names, nothing to re-run.Two migration hazards, both now documented in the README and CHANGELOG:
stackwich. Silent today, because the bodies match; a real problem at 3.1.0.git pullinto an existing clone deletes the rootSKILL.mdandassets/, leaving a directory loadable as neither skill nor plugin./stackwichstops resolving with no error.CI
Repointed, plus six new invariants — each verified to fail when probed: root
SKILL.mdreappearing, rootassets/reappearing, aplugins/stackwich/agents/directory,plugin.jsonversion disagreeing with the skill frontmatter, a drifted pluginLICENSE, and a marketplace/plugin name mismatch.Not merged yet
/stackwichresolving after a real/plugin installhas not been exercised against a live install. That is the README's central instruction and should be confirmed before merge.Follow-ups, deliberately out of scope: the
Claude_Code-skillbadge, and migratingevals/evals.jsonto theevals/**/case.yamllayoutclaude plugin evalexpects.🤖 Generated with Claude Code