yoke-create
Skill1 starsChanged 4 months agoMITView on GitHub
Skill factory for the yoke plugin. Full pipeline for creating a new skill: task analysis, design with a mermaid diagram, implementation of SKILL.md and agents, quality validation, documentation creation, updating README and CLAUDE.md. Used when the user writes "create a skill", "new skill", "add a skill", "make a skill", "skill for".
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 8 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
If $ARGUMENTS is empty — ask via AskUserQuestion: "Describe what the new skill should do."
- Very specific: line 46
Verify that we are in the yoke project root:
- Very specific: line 52
If not → report: "Run from the yoke project root." Exit.
- Distinctive: line 58
Run 2 agents in parallel (model: sonnet, subagent_type: general-purpose).
- Very specific: line 109
Wait for both agents. Merge the results: TASK_ANALYSIS + CONVENTIONS.
- Distinctive: line 134
Create a mermaid diagram of the skill's flow:
- Distinctive: line 193
Create all skill files. Act sequentially.
- Very specific: line 201
Create agents/ and reference/ only if they are needed by the plan.
- Very specific: line 205
Create skills/<name>/SKILL.md via the Write tool.
- Very specific: line 247
Create skills/<name>/reference/<topic>.md for templates, formats, and guides.
- Very specific: line 251
If the skill produces artifacts — create skills/<name>/examples/ with examples of output files.
- Distinctive: line 259
Run 2 agents in parallel (model: sonnet).
- Distinctive: line 313
Wait for both agents.
- Distinctive: line 315
If issues > 0 → show the list, fix the problems via the Edit tool, report what was fixed.
- Very specific: line 325
Create docs/<name>.md from the template:
- Very specific: line 367
Run /sync-docs to regenerate the per-skill MDX page under site/src/content/docs/skills/, the catalog table between <!-- yoke:skills:start …
- Distinctive: line 406
If "Test" is chosen: wait for feedback, fix the issues via the Edit tool, show the updated summary.
- Distinctive: line 419
Do not create empty directories (agents/, reference/) if they are not needed.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill factory
You are the orchestrator for creating new skills for the yoke plugin. Coordinate the work through TodoWrite and sub-agents. Use AskUserQuestion for clarifications and confirmations.
Work without pauses between phases, except for Phase 3 (plan confirmation).
Input
$ARGUMENTS — skill description: what it should do, usage examples, ticket URL, or path to a file with the description.
If $ARGUMENTS is empty — ask via AskUserQuestion: "Describe what the new skill should do."
Pipeline
8 phases. Create a TodoWrite at the start:
[ ] Preflight: verify the project root
[ ] Analyze: understand the task and context
[ ] Design: design the skill with a mermaid diagram
[ ] Confirm: agree on the plan with the user
[ ] Implement: create SKILL.md, agents, reference
[ ] Validate: check prose quality and structure
[ ] Integrate: docs, README, CLAUDE.md
[ ] Complete: final summaryPhase 0 — Preflight
Verify that we are in the yoke project root:
test -f .claude-plugin/plugin.json && test -d skills/If not → report: "Run from the yoke project root." Exit.
Phase 1 — Analyze
Run 2 agents in parallel (model: sonnet, subagent_type: general-purpose).
Agent 1 — Task analysis
Prompt:
Analyze the user's request for creating a new skill for the yoke plugin.
User request:
<$ARGUMENTS>Determine:
- GOAL — what the skill should do (1-2 sentences)
- TRIGGERS — which phrases activate it (at least 5 trigger phrases in Russian and English)
- INPUT — what it accepts through $ARGUMENTS
- OUTPUT — what it produces (artifacts, files, actions)
- PHASES — preliminary decomposition into phases (3-7 phases)
- AGENTS_NEEDED — whether sub-agents are needed, and if so — which roles
- REFERENCES_NEEDED — whether reference files with templates/formats are needed
- COMPLEXITY — simple (1-2 phases, no agents) | medium (3-5 phases, 1-3 agents) | complex (5+ phases, 3+ agents)
If the request contains a URL or a file path — read it and extract requirements.
Return structured output with the fields above.
Agent 2 — Analysis of existing skills
Prompt:
Analyze all existing skills in the
skills/directory of the yoke project to ensure consistency of the new skill.For each
skills/*/SKILL.md:
- Read the frontmatter (name, description)
- Determine the pattern: number of phases, number of agents, models used (haiku/sonnet/opus)
- Note stylistic conventions: language, header format, phrase templates
Also read:
- One docs file (
docs/review.md) as a documentation template- README.md — the "Skills" section as a template for the new entry
- CLAUDE.md — the "Implemented skills" section
Return:
SKILL_COUNT: <number> COMMON_PHASES: <typical phases> AGENT_MODELS: <which models for which roles> STYLE_CONVENTIONS: <key conventions> DOC_TEMPLATE: <structure of docs/*.md> README_TEMPLATE: <structure of a README entry> CLAUDE_MD_TEMPLATE: <format of an entry in CLAUDE.md>
Wait for both agents. Merge the results: TASK_ANALYSIS + CONVENTIONS.
TodoWrite: mark "Analyze" as done.
Phase 2 — Design
Based on the analysis, design the skill. Act yourself (without agents).
2a. Choose the name
Name = kebab-case, English, 1-2 words. Propose 2-3 variants via AskUserQuestion.
2b. Design the architecture
Determine:
- Phases — list of phases with names and descriptions
- Agents — for each agent: name, role, model (haiku for data gathering, sonnet for analysis, opus for implementation), tools
- Reference files — templates and formats if needed
- Input/Output — what it accepts and what it produces
2c. Mermaid flow diagram
Create a mermaid diagram of the skill's flow:
flowchart TD
A[Input: $ARGUMENTS] --> B[Phase 1: ...]
B --> C{Decision}
C -->|Option 1| D[Phase 2: ...]
C -->|Option 2| E[Output]
D --> F[Phase 3: ...]Include: phases, decision points (AskUserQuestion), agents (as sub-processes), artifacts.
2d. Compose the plan
Combine into a plan:
Skill: /<name> — <description>
Phases:
1. <Name> — <what it does> [agent: <name>, model: <model>]
2. <Name> — <what it does>
...
Agents:
- <agent-name> (model) — <role>
...
Reference:
- <file-name>.md — <purpose>
...
Artifacts: <what is created>
Mermaid:
<diagram>TodoWrite: mark "Design" as done.
Phase 3 — Confirm
Show the plan to the user (including the mermaid diagram). AskUserQuestion:
- Approve and implement (Recommended)
- Refine the plan — the user describes what to change → return to Phase 2
- Cancel → exit
Maximum 3 refinement cycles. After the third — only "Approve" or "Cancel".
TodoWrite: mark "Confirm" as done.
Phase 4 — Implement
Create all skill files. Act sequentially.
4a. Directory structure
mkdir -p skills/<name>/agents skills/<name>/referenceCreate agents/ and reference/ only if they are needed by the plan.
4b. SKILL.md
Create skills/<name>/SKILL.md via the Write tool.
Follow yoke conventions:
- Frontmatter:
nameanddescription(description in third person, at least 5 trigger phrases) - Heading:
# <Name> - Role: "You are the orchestrator." + brief description
- Input: a
## Inputsection describing$ARGUMENTS - Phases:
## Phase N — <Name>with transitions - Rules: a
## Rulessection at the end - Language: match the ticket/input language, or follow the project-level definition in CLAUDE.md / AGENTS.md.
- Imperative: "Run", "Create", "Verify" (not "You must")
- TodoWrite: mark each phase
4c. Agents
For each agent create skills/<name>/agents/<agent-name>.md:
---
name: <agent-name>
description: >-
<Description of the agent's role in third person>
tools: <comma-separated list>
model: <haiku | sonnet | opus>
color: <cyan | blue | green | yellow>
---Model selection conventions:
- haiku: data gathering, formatting, writing files (fast operations)
- sonnet: analysis, research, validation (balanced)
- opus: code implementation, complex logic (quality is critical)
Color conventions:
- cyan: git operations and infrastructure
- blue: core implementation
- green: polishing and formatting
- yellow: warnings and alerts
4d. Reference files
Create skills/<name>/reference/<topic>.md for templates, formats, and guides.
4e. Examples (optional)
If the skill produces artifacts — create skills/<name>/examples/ with examples of output files.
TodoWrite: mark "Implement" as done.
Phase 5 — Validate
Run 2 agents in parallel (model: sonnet).
Agent 3 — Prose check (elements-of-style)
Prompt:
Check the text quality in SKILL.md and the agent files of the new skill
skills/<name>/.Read all .md files in
skills/<name>/.Check against the rules:
- Active voice — "The agent gathers data" not "Data is gathered by the agent"
- Positive statements — "Use X" not "Don't forget to use X"
- Concrete language — no "various", "appropriate", "certain"
- Extra words — no "in general", "essentially", "basically"
- Brevity — can it be shortened without losing meaning
- Imperative — "Run" not "You need to run"
Return:
FILES_CHECKED: <number> ISSUES_COUNT: <number> ISSUES: - FILE: <path> | LINE: <quote> | RULE: <number> | FIX: <how to fix>
Agent 4 — Structure validation (skill-development)
Prompt:
Validate the structure of the new skill
skills/<name>/against best practices.Read all files in
skills/<name>/.Checks:
- Frontmatter: SKILL.md has name and description
- Name: matches the directory name
- Description: third person, at least 3 trigger phrases, not vague
- Agent frontmatter: each agents/*.md has name, description, tools, model, color
- Agent references: all agents mentioned in SKILL.md exist in agents/
- Reference integrity: all reference/ files mentioned in SKILL.md exist
- Body size: SKILL.md < 500 lines (recommendation)
- Phases: phases are numbered, have names
- TodoWrite: mentioned for progress tracking
- Rules section: a "Rules" section at the end of SKILL.md
Return:
CHECKS_PASSED: <number out of 10> CHECKS_FAILED: <number> ISSUES: - CHECK: <number> | DETAIL: <what's wrong>
Wait for both agents.
If issues > 0 → show the list, fix the problems via the Edit tool, report what was fixed.
TodoWrite: mark "Validate" as done.
Phase 6 — Integrate
6a. Documentation
Create docs/<name>.md from the template:
# Skill /<name>
<1-2 sentences: what the skill does>
## Input
<input description and examples>
/yoke:<name> <argument>
## Phases
| Phase | Name | What happens |
| ----- | ------- | ------------ |
| 1 | **...** | ... |
## Output
<what it produces>
## Sub-agents
| Agent | Model | Role |
| ----- | ----- | ---- |
| `...` | ... | ... |
## Example
<concrete usage example>
## Relations
<how it relates to other skills>6b. Sync docs
Run /sync-docs to regenerate the per-skill MDX page under site/src/content/docs/skills/, the catalog table between <!-- yoke:skills:start --> markers in README.md, and the bullet list between the same markers in CLAUDE.md.
On failure → name the file sync-docs reports and halt.
6c. Format
pnpm run formatTodoWrite: mark "Integrate" as done.
Phase 7 — Complete
Print the summary:
Skill /<name> created
Files:
skills/<name>/SKILL.md
skills/<name>/agents/<agent1>.md
skills/<name>/agents/<agent2>.md
skills/<name>/reference/<ref>.md
docs/<name>.md
Updated:
README.md — added a /<name> section
CLAUDE.md — added to Implemented skillsAskUserQuestion:
- Commit via /yoke:gca (Recommended)
- Test the skill — the user tests it and returns with feedback
- Finish → exit
If "Test" is chosen: wait for feedback, fix the issues via the Edit tool, show the updated summary.
TodoWrite: mark "Complete" as done.
Rules
- Language: match the ticket/input language, or follow the project-level definition in CLAUDE.md / AGENTS.md. Commit messages and frontmatter
name— in English. - Files and directories — kebab-case.
- Description in SKILL.md and agents — third person with trigger phrases.
- Phase 1 and Phase 5 agents — read-only, do not modify files.
- Maximum 3 plan refinement cycles in Phase 3.
- Do not create empty directories (agents/, reference/) if they are not needed.
- On error — show the problem and propose a solution.
- Mark each phase via TodoWrite immediately upon completion.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

