@ssheleg/make-skill 0.6.5 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.6.6 — 2026-07-30
4
+
5
+ ### Added
6
+ - **`claude plugin details` joins the canon as the check no manifest performs**:
7
+ it prints what Claude Code believes the plugin contains and the always-on token
8
+ cost per component. Two defects are visible only there — a component listed
9
+ **twice**, because a `commands/<x>.md` and a `skills/<x>/SKILL.md` both claim
10
+ `/<x>` now that custom commands are merged into skills, and a description whose
11
+ always-on cost is worth trimming.
12
+ - **`displayName` in both manifests** is now canon: `name` is kebab-case because
13
+ it namespaces components, and the `/plugin` picker falls back to it, so a
14
+ listing reads `my-cool-plugin` until the field is set.
15
+
3
16
  ## v0.6.5 — 2026-07-30
4
17
 
5
18
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssheleg/make-skill",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "description": "Create, retrofit, audit, and ship agent skills & Claude Code plugins the proven ssheleg way — conformance to the Agent Skills open standard (front-matter limits, progressive-disclosure budgets), marketplace repo layout, version sync, validator + CI, multi-channel distribution (plugin, vercel skills CLI, npx, Cursor), npm gotchas, and MCP / A2A rules for protocol-connected skills. This package is the installer CLI.",
5
5
  "keywords": [
6
6
  "skill",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "make-skill",
3
+ "displayName": "Make Skill",
3
4
  "description": "Create, retrofit, audit, and ship agent skills & Claude Code plugins the proven ssheleg way: conformance to the Agent Skills open standard, marketplace repo layout, version sync, validator + CI, multi-channel distribution (plugin, vercel skills CLI, npx, Cursor), npm gotchas, end-to-end first publish, plus MCP / A2A references for protocol-connected skills.",
4
- "version": "0.6.5",
5
+ "version": "0.6.6",
5
6
  "author": {
6
7
  "name": "ssheleg"
7
8
  },
@@ -152,6 +152,20 @@ family at once:
152
152
  them. Unrecognized fields are warnings the runtime tolerates, which is exactly
153
153
  why they survive without `--strict`.
154
154
 
155
+ Also set **`displayName`** in both manifests. `name` is kebab-case because it
156
+ namespaces components; `displayName` is what the `/plugin` picker shows, and it
157
+ falls back to `name` when absent — so a listing reads `my-cool-plugin` until you
158
+ write `My Cool Plugin`.
159
+
160
+ **`claude plugin details <name>@<marketplace>` is the other check worth running**,
161
+ and it answers a question no manifest does: what Claude Code *thinks* your plugin
162
+ contains, and what it costs. It prints the component inventory and the always-on
163
+ token cost per component. Two things show up there and nowhere else: a component
164
+ listed **twice** (a `commands/<x>.md` and a `skills/<x>/SKILL.md` both claim
165
+ `/<x>` — custom commands are merged into skills, so same name means two
166
+ components, both paying always-on tokens, one unreachable), and a description
167
+ long enough that its always-on cost is worth trimming.
168
+
155
169
  **Validator** (adapt super-ux `test/validate.py`): manifests parse+fields;
156
170
  SKILL.md front-matter — **spec rules** (name charset/length, description ≤1024,
157
171
  `compatibility` ≤500, `metadata` all-string, `allowed-tools` a string, no unknown