@ssheleg/make-skill 0.6.4 → 0.6.5

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,24 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.6.5 — 2026-07-30
4
+
5
+ ### Added
6
+ - **`claude plugin validate <path> --strict` is now canon** — the upstream gate,
7
+ wired into CI against both the plugin and the marketplace manifest. It needs
8
+ no auth or API key, so a runner can install `@anthropic-ai/claude-code` and run
9
+ it. The canon records the two failures it found across all six repos of this
10
+ family at once, because neither is visible to a house validator:
11
+ - **`argument-hint` must be quoted.** Bare `[a | b]` is a YAML flow sequence,
12
+ so it parses as a list — and one comma or stray character breaks the block
13
+ outright, at which point the command loads with empty metadata and no
14
+ description, silently.
15
+ - **`homepage` and `repository` are not top-level `marketplace.json` fields.**
16
+ They belong to a plugin entry. Unrecognized fields are warnings the runtime
17
+ tolerates, which is why they survive everything except `--strict`.
18
+
19
+ ### Fixed
20
+ - This repo's own command hint and marketplace manifest, per the above.
21
+
3
22
  ## v0.6.4 — 2026-07-30
4
23
 
5
24
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssheleg/make-skill",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
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,7 @@
1
1
  {
2
2
  "name": "make-skill",
3
3
  "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.4",
4
+ "version": "0.6.5",
5
5
  "author": {
6
6
  "name": "ssheleg"
7
7
  },
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Create, retrofit, audit, or publish an agent skill / Claude Code plugin the proven ssheleg way — Agent Skills spec conformance, marketplace layout, version sync, validator + CI, multi-channel distribution, MCP / A2A rules.
3
- argument-hint: <what to build/retrofit/audit, or a skill path>
3
+ argument-hint: "<what to build/retrofit/audit, or a skill path>"
4
4
  ---
5
5
  Use the `make-skill` skill for the task below. First **detect the workflow** from
6
6
  the task and any path in `$ARGUMENTS`, announce it, then follow the skill exactly:
@@ -134,6 +134,24 @@ top CHANGELOG entry — SAME semver, bumped together, validator enforces. If
134
134
  version an agent outside Claude Code ever sees), it joins the sync as a 5th
135
135
  point.
136
136
 
137
+ **`claude plugin validate <path> --strict` is the upstream gate — wire it into
138
+ CI, both manifests.** Your own validator enforces house rules; this one enforces
139
+ Claude Code's actual schema, and it catches a class your validator cannot see.
140
+ It needs no auth and no API key, so a GitHub runner can install
141
+ `@anthropic-ai/claude-code` and run it. Two failures it found across this whole
142
+ family at once:
143
+
144
+ - **Front matter that silently drops.** `argument-hint: [a | b]` is a YAML flow
145
+ sequence, not a string: it parses as a *list*, and one value containing a
146
+ comma or a stray character breaks the block outright — at which point the
147
+ command loads with **empty metadata and no description**, with nothing at
148
+ runtime saying so. **Always quote `argument-hint`**, single quotes when the
149
+ value itself contains double quotes.
150
+ - **`homepage` and `repository` at the top level of `marketplace.json` are not
151
+ fields.** They are valid on a *plugin entry*; at the root Claude Code ignores
152
+ them. Unrecognized fields are warnings the runtime tolerates, which is exactly
153
+ why they survive without `--strict`.
154
+
137
155
  **Validator** (adapt super-ux `test/validate.py`): manifests parse+fields;
138
156
  SKILL.md front-matter — **spec rules** (name charset/length, description ≤1024,
139
157
  `compatibility` ≤500, `metadata` all-string, `allowed-tools` a string, no unknown