plugins/agent-scaffolders/skills/create-skill/SKILL.md
Creates a new stateless skill in an existing plugin. Use this for procedural skills with no persistent state. NOT for sub-agents (use `create-sub-agent`) and NOT for skills that need stateful counters or session memory (use `create-stateful-skill`).
npx skillsauth add richfrem/agent-plugins-skills create-skillInstall 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.
Scaffolds a complete, standards-compliant agent skill directory. Handles filesystem operations, template rendering, name validation, and discovery — then hands off to the TDD quality gate.
Scope: This skill owns structure. It does not own content quality or routing accuracy.
Those are governed by os-improvement-loop (see cross-plugin handoff below).
$ARGUMENTS — optional skill name or brief use-case description passed as initial
context to the discovery phase. Omit to start with open discovery.Before writing any files, capture all required inputs:
link-validator). Validate: no spaces,
no special characters, no shell injection sequences (reject names containing ;, &, |, $, `).allowed-tools does it require?If $ARGUMENTS is provided, treat it as a starting point and confirm rather than re-ask.
Present the proposed directory layout before writing anything:
plugins/<plugin>/skills/<skill-name>/
SKILL.md
evals/
evals.json
references/
acceptance-criteria.md
./scripts/ (if the skill needs Python helpers)
./assets/ (if the skill needs static resources)
Confirm with the user before proceeding. If a directory with that name already exists:
"Warning:
<path>already exists. Overwrite? (yes/no)" Do NOT overwrite without explicit confirmation.
Create the confirmed directory structure. Standards enforced by acceptance-criteria.md:
scripts/*.py. Never generate .sh bash scripts.scripts/ directory, create a file-level symlink in skills/<skill>/scripts/ pointing to
../../../scripts/<canonical_name>.py. Never duplicate the file. The symlink filename may differ
from the target (e.g. execute.py → exploration_optimizer_execute.py). Create with:
ln -s ../../../scripts/<canonical_name>.py skills/<skill>/scripts/<name>.py
Verify the symlink resolved: python -c "import os; print(os.path.exists('skills/<skill>/scripts/<name>.py'))"
must print True. On Windows/core.symlinks=false machines, git will check these out as
plain-text "stand-in" files — run bulk_symlink_fixer.py to restore them after checkout.name, description (use the purpose from Phase 1; MUST NOT exceed 1024 characters),
allowed-tools. Body: stub sections for Identity, Steps, and Common Failures.should_trigger schema:
{ "id": "eval-1-positive", "type": "positive", "prompt": "REPLACE", "should_trigger": true }
{ "id": "eval-2-negative", "type": "negative", "prompt": "REPLACE", "should_trigger": false }
⚠️ Schema requirement: Always use
should_trigger: true/false. The legacyexpected_behaviorstring field is ignored by the eval scorer and will produce 0% accuracy.
references/acceptance-criteria.md with the
acceptance criteria captured in Phase 1.[!TIP] See INSTALL.md for instructions on how to install missing dependencies.
If os-improvement-loop is available, hand off immediately after scaffolding:
Invoke os-improvement-loop on the newly scaffolded skill at <path>.
The RED scenario is: [trigger phrase from Phase 1 discovery].
Run the RED-GREEN-REFACTOR cycle to verify routing accuracy before shipping.
If not available, advise the user:
Scaffold complete. To verify routing accuracy and trigger description quality, ensure **os-improvement-loop** is installed. See [INSTALL.md](https://github.com/richfrem/agent-plugins-skills/blob/main/INSTALL.md).
✅ Scaffolded: plugins/<plugin>/skills/<skill-name>/
Files created: SKILL.md, evals/evals.json, references/acceptance-criteria.md
Quality gate: [PASSED via os-improvement-loop | SKIPPED — os-eval-runner not installed]
Next: fill in REPLACE placeholders in evals/evals.json, then run os-eval-runner baseline
$ARGUMENTS: begin with Phase 1 discovery — do not skip to scaffoldingos-improvement-loop capability — that skill owns content
quality and routing improvement. create-skill is for net-new scaffolding only.acceptance-criteria.md — structural pass/fail criteriafallback-tree.md — error handling proceduresreferences/ADRs/. Always consult them for standards on plugin architecture, shared scripts, cross-plugin dependencies, symlinking, and loose coupling to avoid repeating yourself.os-improvement-loop: TDD methodology, RED scenario protocol, eval gate.os-eval-runner: autoresearch eval loop for skill optimization.testing
Skill for creating and managing isolated git worktrees (`.worktrees/issue-NNN`) for issue execution branches. USE ONLY when setting up or cleaning up isolated git worktrees for specific issue execution. DO NOT USE for managing local task files (use `task-agent`) or escalating tasks to issues (use `github-issue-backlog-agent`).
data-ai
Skill for orchestrating the end-to-end GitHub issue lifecycle flow: Issue -> Worktree -> Implementation -> PR Creation -> Resolution Closure. USE ONLY when running or dry-running full lifecycle orchestration for resolving an issue with a PR. DO NOT USE for isolated worktree management only (use `issue-worktree-agent`) or logging issues (use `github-issue-agent`).
tools
Automatically ranks GitHub issues (P0-P3) based on friction tier, frequency, and blockages, synchronizing priority labels and GitHub Projects v2 custom fields.
testing
Bridge skill for escalating ephemeral local task scratchpad items (`tasks/*.md`) into durable, taxonomy-validated, evidence-rich GitHub Issues. USE ONLY when promoting a single-session local task into durable repository backlog. DO NOT USE for managing local kanban boards (use `task-agent` instead) or directly querying/commenting on issues (use `github-issue-agent` instead).