Files
holocron/plugins/kyberforge/skills/skill-author
Defame1297 d4fa4b7153 fix(kyberforge): stop the content mirror amputating a shipped template asset
The mirror's `tests/` exclusion was depth-agnostic, so it deleted
`skill-author/assets/templates/tests/` — a template the skill scaffolds FROM —
alongside the depth-2 dev fixtures it was meant to drop. Since ADR-0017 makes the
mirror the installed content, the shipped scaffolder was broken: the mirror copy of
`new-skill.sh` exited 2 on `sed: can't read .../tests/README.md`, leaving a
half-written skill, while the byte-identical `.apm/` copy exited 0. `--check` was
green about it.

Check mode was restructured rather than patched because `diff -x` matches a basename
at any depth and cannot express the depth-2 scoping the fix needs — the two modes
could not be made to agree by construction. Check mode now runs the real `sync_dir`
into a throwaway root and diffs with no exclusions, leaving the exclusion rule and
the hooks destination each in exactly one place.

Also fixed here, all previously invisible to `--check`:

- Merged hooks were written to `<plugin>/hooks.json`, which Claude Code does not
  convention-scan, while ADR-0017 itself quoted `hooks/hooks.json` as the contract.
  Moved, with the legacy path cleaned up as stale. No `hooks` pointer is added to
  `plugin.json`, so this does not reopen the option ADR-0017 rejected.
- Only the first drift per plugin was reported: `diff | sed` returns 1 under
  `pipefail`, and `set -e` killed the subshell before the remaining checks and
  before `FAIL=1`.
- File-mode and symlink drift were invisible, so `--check` and a real sync
  disagreed; a find-based type/mode manifest now covers both.

The tests pinned almost none of this — the stale-skill wipe, the check-mode stale
branch, three `MIRROR_DIRS` entries and the hooks newline normalization could each
be deleted with the suite still green. All are now mutation-tested.

Refs: #90
ADR: 0017

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X7GvKuJfy2WrdBmUttV4DT
2026-08-14 01:52:37 +00:00
..

skill-author

Author and refine skills conforming to the agentskills.io specification — create new skills from scratch or apply improvement signals to existing ones.

What it does

Routes to one of two flows based on context: if no skill directory exists at the target path, it scaffolds the directory from annotated templates, fills in SKILL.md and supporting files, and validates the result. If an existing skill directory and improvement signals are both present, it groups those signals by root cause and applies targeted edits, then re-validates. In both flows, bumps the skill's metadata.version when present (minor for create, patch for improve).

Before you start

  • Run /grill-me to resolve design decisions before creating a new skill
  • Collect domain research, examples, and constraints
  • Know the skill name (kebab-case) and destination path

Placement

scripts/new-skill.sh resolves the mode automatically by walking up from the given path — see SKILL.md Step 1 for the full algorithm.

Mode Path Chosen when
Standalone <path>/<name>/ No apm.yml with a top-level type: field is found walking up from <path>, before hitting .git or the filesystem root
Package (APM) <package-root>/.apm/skills/<name>/ A type-bearing apm.yml is found at or above <path> — <path> just needs to be somewhere inside the package

If the destination resolves inside an APM package, read references/deployment-modes.md — self-containment rules apply to apm compile output the same way they applied to plugin cache isolation.

Usage

/skill-author

Files

File Purpose
README.md Human-readable overview of the skill and its files
SKILL.md Skill instructions for agents
scripts/new-skill.sh Walks up from the given path to resolve package vs standalone mode, then copies annotated templates to the resolved destination
references/deployment-modes.md APM package vs standalone differences and self-containment/cache-isolation rules (loaded on demand)
references/scripts.md Package runners, inline dependency patterns, and full script contract (loaded on demand)
references/sources.md Upstream research sources and which skill files each contributed to
assets/templates/SKILL.md Annotated SKILL.md template
assets/templates/README.md Annotated README template for the new skill
assets/templates/scripts/README.md Placeholder for bundled scripts
assets/templates/references/README.md Placeholder for reference docs
assets/templates/references/sources.md Sources provenance template for new skills
assets/templates/assets/README.md Placeholder for static assets
assets/templates/tests/README.md Placeholder for test files
tests/new-skill.bats Bats test suite for scripts/new-skill.sh
tests/README.md Setup instructions for bats-support and bats-assert test dependencies

Spec reference

agentskills.io specification