Releases: wrsmith108/skill-builder-claude-skill
Releases · wrsmith108/skill-builder-claude-skill
Release list
v1.4.0
Added
- Plugin marketplace —
.claude-plugin/marketplace.jsonmakes this repo an installable marketplace.claude plugin marketplace add wrsmith108/skill-builder-claude-skill+claude plugin install skill-builder@wrsmith108-skillsnow works, resolving the "not found in any configured marketplace" error (#1). skill-reviewerskill — the former top-levelSKILL.md(review / validate / generalize / publish existing skills) is recovered as a proper nested skill atskills/skill-reviewer/, with itsscripts/(validate-skill.ts,generate-subagent.ts) andreferences/relocated alongside it. The plugin now ships two skills:skill-builder(create) andskill-reviewer(review).- Scaffolder marketplace support —
create-repo.mjsnow prints the working two-step install (derived from the repo'smarketplace.json) and pre-flight-checks for the.claude-plugin/manifests, warning (with a pointer totemplates/) when they are missing. Newplugin-template.jsonandmarketplace-template.jsonprovide them; the author copies them in alongside the other templates.
Fixed
- Install command —
create-repo.mjsandREADME-template.mdno longer emit the non-resolvingclaude plugin install github:<repo>form (#1). - Plugin name with space —
package-template.jsonset the plugin name from{{SKILL_TITLE}}(a spaced human title), re-introducing the invocation bug from #2 in every scaffolded skill; it now uses kebab-case{{SKILL_NAME}}(#2). - Manifest drift —
.claude-plugin/plugin.jsonis now the single source of truth; the duplicateclaude-pluginblock was removed frompackage.json. Versions reconciled to1.4.0acrossplugin.json,package.json, and both skill frontmatters. - Dangling references — removed references to the non-existent
scripts/check-generalization.ts(its checks live insidevalidate-skill.ts) andreferences/linear-retro.md; resolved the missingsetup.mjstemplate reference. - Shell-injection hardening —
create-repo.mjsnow runs every command viaexecFileSyncwith argument arrays instead of interpolating user input (name,description,topics) into shell strings; the$(…)sub-shell was removed. - Validator multi-skill support —
validate-skill.tsnow walks up to find a repo-root.claude-plugin/plugin.json, so version-sync works for a single plugin that ships multiple skills underskills/(not just a per-skill manifest).
Lesson Learned
A repo can be a valid Claude Code plugin yet still be uninstallable: claude plugin install resolves plugins from a marketplace, so without a .claude-plugin/marketplace.json the install fails regardless of how correct plugin.json is. And "delete the conflicting file" is not the same as "remove the conflict" — the top-level SKILL.md was a whole second skill; preserving it as a nested skill fixes discovery without dropping a feature.