docs(kyberforge): restore the retrofit cut order in skill-author
improve.md still required a retrofit before extending but lost the procedure with retrofit.md. Restore the ordered cuts inline, and fix the stale hook name and plugin-mode wording in skill-author's tests and deployment-modes reference. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,15 +5,15 @@ source_keys:
|
||||
|
||||
# Deployment Modes
|
||||
|
||||
Skills deploy standalone, or as part of a package — either a legacy plugin-mode cache install or an APM (`apm.yml`-governed `.apm/` tree, compiled via `apm compile`). All resolve relative paths from the skill root — the SKILL.md body works the same in any of them. Differences only arise when referencing files *outside* the skill directory.
|
||||
Skills deploy standalone, or as part of an APM package (an `apm.yml`-governed `.apm/` tree, compiled via `apm compile`). Some consumers also receive a package through a host's plugin install, which copies it into a cache. All modes resolve relative paths from the skill root — the SKILL.md body works the same in any of them. Differences only arise when referencing files *outside* the skill directory.
|
||||
|
||||
## Cache isolation (plugin mode)
|
||||
## Cache isolation (host plugin install)
|
||||
|
||||
When a plugin is installed, its directory is copied to a cache. Only the plugin's own files are copied. **Any path that leaves the skill directory breaks post-install:**
|
||||
When a host installs a plugin, it copies the plugin directory to a cache. Only the plugin's own files are copied. **Any path that leaves the skill directory breaks post-install:**
|
||||
|
||||
```
|
||||
../other-skill/validate.sh # breaks
|
||||
plugins/kyberforge/skills/other-skill/ # breaks
|
||||
plugins/<plugin>/.apm/skills/other/ # breaks
|
||||
../../shared/utils.sh # breaks
|
||||
```
|
||||
|
||||
|
||||
@@ -76,6 +76,19 @@ into compliance first — the gates are hot and carry no baseline file, so a one
|
||||
non-compliant skill cannot be committed until the description and body meet
|
||||
`references/contract.md`. Treat that retrofit as part of the same change, not a follow-up.
|
||||
|
||||
Retrofit against the number that actually failed: the audit reports description characters and
|
||||
body-only words separately. Audit the skill in its real package directory, never a scratch copy,
|
||||
where boundary resolution reports `DID NOT RUN` and exits 0 without checking anything. Cut in this
|
||||
order, stopping once the gate clears; the order puts the cuts that lose the least behaviour first:
|
||||
|
||||
1. Gotchas that paraphrase a step below them — delete the Gotcha, keep the step.
|
||||
2. Spec restatements — text repeating a published spec, a tool's `--help`, or a limit the
|
||||
validator already enforces.
|
||||
3. Capability enumeration — keep one capability clause in the description; drop the rest.
|
||||
4. Per-flow prose — move each flow into its own `references/` file behind a dispatch table.
|
||||
|
||||
Still over after all four means the skill does two jobs: split it rather than compressing prose.
|
||||
|
||||
If a signal points to a script or reference file, edit that file directly rather than adding a
|
||||
workaround in SKILL.md.
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ EOF
|
||||
}
|
||||
|
||||
@test "scaffold emits a live metadata.version seeded at 0.1.0 (ADR-0022)" {
|
||||
# The scaffold must clear .pre-commit-config.yaml's `skill-frontmatter` hook
|
||||
# The scaffold must clear .pre-commit-config.yaml's `skill-size-check` hook
|
||||
# on its first commit: a commented-out metadata block ships a skill with no
|
||||
# version and is blocked. Assert the field is live, not a comment.
|
||||
bash "$SCRIPT" my-tool "$DEST"
|
||||
|
||||
Reference in New Issue
Block a user