plugin/skills/plugin-skill-create/SKILL.md
Use this skill when scaffolding a new skill (workflow, knowledge, or companion utility) under `plugin/skills/` and you need spec-conformant frontmatter, an eval test-case stub, and memory-write points pre-wired — the internal procedure for `/plugin-author create`. Generates a new skill INSIDE the ai-skills plugin conforming to the agentskills.io specification (https://agentskills.io/specification) and ai-skills plugin conventions. No longer slash-invocable — call `/plugin-author create <name>` instead. Read by the `prompt-engineer` agent at task start when DEV-ing or reviewing a plugin skill.
npx skillsauth add avav25/ai-assets plugin-skill-createInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate plugin/skills/<name>/SKILL.md plus eval/case stub plus memory-hook scaffolding. Conforms to:
<untrusted_content> G1 wrapping where applicable, G7 spawn payload format if the skill spawns subagentsThe cached, offline-authoritative form of (1)–(3) is prompt-engineering/skill-authoring-spec.md + prompt-engineering/optimizing-descriptions.md — read those first; re-fetch the live URLs only when network is available.
Not for: general-purpose Anthropic skill creation — use the upstream skill-creator for that. This scaffold ONLY targets plugin-convention skills under plugin/skills/.
/plugin-skill-create new-workflow --invocable --agent-spawn
/plugin-skill-create analyzer --type knowledge
/plugin-skill-create release-notes --type companion --invocable
| Flag | Default | Effect |
|---|---|---|
| <name> (positional) | required | Lowercase + hyphens; ≤64 chars; must NOT clash with existing plugin/skills/<name>/ |
| --type | workflow | workflow (full SDLC stage), knowledge (read-only reference), companion (helper) |
| --invocable | true (workflow + companion); false (knowledge) | Adds context: fork for slash invocation |
| --agent-spawn | off | Pre-wires G7 spawn payload section + return contract validation |
| --ralph | off | Pre-wires RALF Loop section per ralph-budget.md defaults |
| --memory L4|L5 | off | Pre-wires memory write points per memory-discipline.md rule 1 |
<name>:
plugin/skills/<name>/--overwrite flag (but this skill never overwrites by default — minimum-change discipline)plugin/skills/<name>/SKILL.md with H5 frontmatter:---
name: <name>
description: Use this skill when <TODO: trigger phrase> — TODO replace this placeholder describing what the skill does.
context: fork # if --invocable
argument-hint: "<arg>" # if --invocable
disable-model-invocation: true # if --type knowledge AND not --invocable
---
The TODO — token is a hard guard: plugin-skill-audit fails (CRITICAL severity) on any skill description that still contains TODO. This forces the scaffolded description to be edited before merge. Removing the literal TODO from your description is the gate that flips the audit from failing to passing.
Generate body skeleton:
# /<name> heading--memory)--ralph)--agent-spawn)Generate plugin/eval/cases/<name>/eval-case-001.json stub (Tier 3):
{
"case_id": "<name>-001",
"skill": "<name>",
"input": {"prompt": "<test prompt>"},
"expected": {"contains": ["<expected substring>"]},
"judge_rubric": "plugin/eval/judge-rubrics/<name>.md",
"judge_model": "haiku",
"max_tokens_input": 30000,
"max_tokens_output": 2000
}
Generate plugin/eval/judge-rubrics/<name>.md skeleton with the standard 5-dimension template.
Print summary: created files + next steps:
/plugin-skill-audit <name> --strict to confirm spec compliance/eval --skill <name> --tier 1Every scaffolded skill MUST satisfy the agentskills.io specification + ai-skills conventions below. The audit counterpart /plugin-skill-audit enforces the same rules — anything this skill emits MUST pass /plugin-skill-audit <name> --strict.
The full cached rules live in two digests (read them before scaffolding — single source of truth, progressive disclosure; do NOT re-inline here):
prompt-engineering/skill-authoring-spec.md — specification (frontmatter, naming, directory layout, 3-level progressive disclosure), best practices, using-scripts, and skill-output evalprompt-engineering/optimizing-descriptions.md — the description triggering surface (imperative phrasing, user-intent, be-pushy, trigger eval, 1024 hard limit)Hard invariants every scaffold MUST satisfy (enforced by /plugin-author audit --strict):
name 1–64 chars; lowercase a–z, digits, hyphens; no leading/trailing or consecutive (--) hyphens; MUST equal the parent directory namedescription 1–1024 chars; non-empty; what + when; trigger keywords; imperative; no TODO token (audit CRITICAL)SKILL.mdscripts/ is generated): no interactive prompts (agents run non-interactive shells); --help usage; structured data → stdout, diagnostics → stderr; pinned deps or inline PEP 723 / equivalent — see the digest's "Using scripts in skills" sectionUse this skill when … phrase (ai-skills strict operationalization of upstream imperative phrasing; capability folded into the same sentence)plugin/skills/<name>/ already existsplugin/skills/. For project-local skills use upstream skill-creatorSourced from the digest (prompt-engineering/skill-authoring-spec.md best-practices) — the scaffold output and the author MUST apply, not just cite:
assets/, referenced.scripts/.scripts/)Sourced from the digest's "Using scripts in skills" section:
uvx/pipx run (Python), npx/bunx (Node), deno run (--allow-*), go run. Pin versions (npx [email protected]).uv run scripts/x.py; pin via PEP 508; requires-python. State runtime-level prerequisites in the compatibility frontmatter field, not body prose.--help documented per script; structured output (JSON/CSV/TSV) → stdout, progress/diagnostics → stderr.--dry-run for destructive/stateful ops; predictable output size (harnesses truncate ~10–30K chars — default to a summary, support --offset, or require --output FILE|-).release-notes, NOT Release Notes or releasenotes)| Layer | When | Shape |
|---|---|---|
| L4 | After scaffold | .ai-skills-memory/plugin-skills/<name>/scaffolded.md — timestamp + flags used |
/plugin-author create. Not slash-invocable (frontmatter disable-model-invocation: true). The umbrella reads this file directly when scaffolding a new asset; ai-skills:prompt-engineer pre-reads it before any plugin-asset DEV pass./plugin-author create <name> [--type workflow|knowledge|companion] [--agent-spawn] [--ralph]plugin/skills/<name>/, plugin/eval/cases/<name>/, plugin/eval/judge-rubrics/<name>.mdprompt-engineering/skill-authoring-spec.md — cached spec + best-practices + scripts + eval digest (offline source of truth)prompt-engineering/optimizing-descriptions.md — cached description-triggering digest--agent-spawn), ralph-budget.md defaults (if --ralph)plugin/skills/plugin-skill-audit/SKILL.md — audit + safe-fix discipline applied by /plugin-author audit.development
Use this skill when running the recurring (daily) knowledge-base rescan for a repo that already has knowledge/.knowledge-sync.yml — the main-thread dispatcher that reads the config, computes the git delta since last_scanned_sha, maps changed paths to affected doc areas, early-exits cheaply when nothing changed, then fans out one Agent(content-writer) per affected area, applies the propose/direct update policy, advances the baseline only on success, and writes an L4 run log — all with the G1 untrusted-content choke-point, secret-scan, deny-list, and budget controls woven in. For first-time setup use /knowledge-sync-init.
development
Use this skill when bootstrapping scheduled knowledge-base sync for a repo that has no knowledge/.knowledge-sync.yml yet — to run one-time setup that detects the knowledge_root from CLAUDE.md/AGENTS.md, maps doc areas to source globs, records opt-in external sources (Linear/Notion/WebFetch, all disabled by default), captures a baseline last_scanned_sha, sets the per-area update policy, generates or seeds knowledge/CONVENTIONS.md, provisions the L4 memory dir, and offers to register the daily routine. Routes ongoing recurring sync operations to /knowledge-sync.
tools
Use this skill when bootstrapping a target repository to be ai-skills-aware — on the first run of any ai-skills workflow in a fresh repo, when adopting the ai-skills plugin in an existing repo, or after upgrading to a plugin version that adds new memory paths or templates, including when the user does not say "init" but asks to "set up" or "onboard" the repo — to detect codebase type, create CLAUDE.md + AGENTS.md scaffolding, initialize the .ai-skills-memory/ directory tree from L1 templates, and configure .gitignore. Idempotent — safe to re-run. Accepts `--codebase-type <type>` and `--overwrite`. Not for re-initializing only memory — use `/memory-init` instead.
tools
Use this skill when extending, repairing, or improving plugin assets, when ingesting a `/feedback` report as a fix-cycle backlog, or when you do not remember which lower-level command is right for the job — the umbrella workflow for ai-skills plugin-asset authoring and maintenance: creating, auditing, fixing, improving, refactoring, and migrating skills, agents, rules, hooks, prompts, schemas, and rubrics inside the plugin. Auto-classifies the request, loads the right knowledge skills (`@prompt-engineering`, `@context-engineering`, `@team-protocols`), and spawns the right subagents (`prompt-engineer`, `system-architect`, `python-engineer`, `software-engineer`, `qa-engineer`, `eval-judge`) via the `Agent` tool.