@ssheleg/make-skill 0.18.0 → 0.19.0
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,52 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.19.0 — 2026-08-16
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **The validator failure mode planting does not catch**, in
|
|
8
|
+
`references/distribution.md` → *The house validator*. This canon already said a
|
|
9
|
+
validator nobody has watched fail is decoration — the right rule for a check that
|
|
10
|
+
asserts the *wrong* thing. It does not cover a check that **never runs**, which is
|
|
11
|
+
invisible to planting, because nothing happening looks exactly like a clean suite.
|
|
12
|
+
|
|
13
|
+
Both shipped in `sheleg-design` on 2026-08-16, inside the same check and within an
|
|
14
|
+
hour: a lookup returning `None` on a case mismatch (`NUMBER_WORDS` keyed lowercase,
|
|
15
|
+
the document capitalising) short-circuited the guard, and the pattern policing a
|
|
16
|
+
stale header had been anchored on a line wrap the file did not have. The suite
|
|
17
|
+
printed OK both times, and **the check-count rose by four while the new check
|
|
18
|
+
covered nothing** — so the counter is not evidence either. The procedure gains a
|
|
19
|
+
second half: plant the defect, then read the failure you expected rather than the
|
|
20
|
+
summary, and if the suite still passes, suspect your check before the artifact.
|
|
21
|
+
|
|
22
|
+
### Note
|
|
23
|
+
|
|
24
|
+
The first draft of this entry put the rule in `SKILL.md` and pushed the body from
|
|
25
|
+
under the 4750-token working limit to 4855. The repo's own validator refused it and
|
|
26
|
+
said what to do — move a section to `references/` before adding one. The rule went to
|
|
27
|
+
`references/` instead, where the house-validator guidance already lives, and `SKILL.md`
|
|
28
|
+
is byte-identical to v0.18.1. A canon that will not follow its own budget rule under
|
|
29
|
+
mild inconvenience is a canon nobody else will follow either.
|
|
30
|
+
|
|
31
|
+
## v0.18.1 — 2026-08-14
|
|
32
|
+
|
|
33
|
+
A red `validate` could not stop a publish anywhere in this family, and one member
|
|
34
|
+
proved it: on 2026-08-12 `sheleg-dev` tagged v0.4.1 while its own validate run for that
|
|
35
|
+
exact tag **failed**, and npm served 0.4.1 four minutes later.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- **The release now runs the whole validate suite before anything is published.**
|
|
40
|
+
`validate.yml` gained a `workflow_call` trigger and `release.yml` calls it with
|
|
41
|
+
`needs: validate` — the release runs *after* the real suite rather than beside a copy
|
|
42
|
+
of it. **Not one plant is duplicated:** each still has exactly one home.
|
|
43
|
+
- **A guard keeps the connection there.** It fails when the trigger, the call, or the
|
|
44
|
+
`needs` goes missing — calling the suite without depending on it lets the jobs run in
|
|
45
|
+
parallel, which looks gated and is not. Watched failing against the planted removal.
|
|
46
|
+
|
|
47
|
+
Proven end to end on `sheleg-dev` v0.4.3 before it reached here: the release run shows
|
|
48
|
+
`validate / validate` completing first, then `release`, then `publish`.
|
|
49
|
+
|
|
3
50
|
## v0.18.0 — 2026-08-14
|
|
4
51
|
|
|
5
52
|
This skill had been describing somebody else's protocol, and the description had gone
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ssheleg/make-skill",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Create, retrofit, audit, and ship agent skills & Claude Code plugins the proven ssheleg way \u2014 conformance to the Agent Skills open standard AND Anthropic's platform rules (front-matter limits, disclosure budgets, per-surface runtime limits, the Skills API, evals) plus the Claude Code plugin reference (manifest schemas, component layout, claude plugin validate --strict), marketplace repo layout, version sync, validator + CI, multi-channel distribution (plugin, vercel skills CLI, npx, Cursor), npm gotchas, the review checklist for third-party skills, and MCP / A2A rules for protocol-connected skills. This package is the installer CLI.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skill",
|
|
@@ -43,5 +43,8 @@
|
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=16"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"test": "python3 test/validate.py && python3 test/plant_guard_test.py"
|
|
46
49
|
}
|
|
47
50
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "make-skill",
|
|
4
4
|
"displayName": "Make Skill",
|
|
5
5
|
"description": "Create, retrofit, audit, and ship agent skills & Claude Code plugins the proven ssheleg way: conformance to the Agent Skills open standard, Anthropic's platform rules (surfaces, Skills API, evals) and the Claude Code plugin reference, marketplace repo layout, version sync, validator + CI, multi-channel distribution (plugin, vercel skills CLI, npx, Cursor), npm gotchas, end-to-end first publish, the review checklist for third-party skills, plus MCP / A2A references for protocol-connected skills.",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.19.0",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ssheleg",
|
|
9
9
|
"url": "https://x.com/sshlg93"
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: Authoring works on any agent. The bundled scripts/ need python3. Publishing steps need git, gh, node and npm; the plugin gates need the claude CLI. Not usable on the Claude API surface, which has no network and no runtime package install.
|
|
6
6
|
metadata:
|
|
7
7
|
author: ssheleg
|
|
8
|
-
version: "0.
|
|
8
|
+
version: "0.19.0"
|
|
9
9
|
homepage: https://github.com/ssheleg/make-skill
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -110,7 +110,22 @@ level deep / `## Contents` past 100 lines, no command colliding with a skill
|
|
|
110
110
|
name, `.mdc` free of relative links, **no stray `SKILL.md` outside
|
|
111
111
|
`plugins/*/skills/*/`**, links that resolve and never escape the skill dir. Plus
|
|
112
112
|
a negative self-test — corrupt a copy, expect FAIL — because a validator nobody
|
|
113
|
-
has watched fail is decoration.
|
|
113
|
+
has watched fail is decoration.
|
|
114
|
+
|
|
115
|
+
**And planting has a blind spot: a check that never runs.** Corrupting a copy
|
|
116
|
+
proves a check asserts the *wrong* thing when it is wrong. It cannot see a check
|
|
117
|
+
that neither passes nor fails, because *nothing happening* is indistinguishable
|
|
118
|
+
from a clean suite. Two ways it happens, both shipped in `sheleg-design` on
|
|
119
|
+
2026-08-16 inside the **same** check and within an hour of each other: a lookup
|
|
120
|
+
returning `None` on a case mismatch — `NUMBER_WORDS` is keyed lowercase and the
|
|
121
|
+
document capitalises — which short-circuited the guard; and a pattern anchored on
|
|
122
|
+
a line wrap the file did not have, so the edit it was policing had already failed
|
|
123
|
+
silently. **The check-count is not evidence either**: the total rose by four while
|
|
124
|
+
the new check covered nothing.
|
|
125
|
+
|
|
126
|
+
So the procedure has a second half. Plant the defect, then **read the failure you
|
|
127
|
+
expected rather than the summary** — and if the suite still passes, suspect your
|
|
128
|
+
check before you trust the artifact. Run `claude plugin validate --strict` as its OWN
|
|
114
129
|
CI job so an upstream outage cannot mask a house failure, and treat `skills-ref
|
|
115
130
|
validate <skill dir>` (from `agentskills/agentskills`) as the tie-breaker on the
|
|
116
131
|
open standard.
|