- Add model: sonnet to SKILL.md frontmatter (Claude Code extension; correct location per research — runtime config belongs in frontmatter, not META.md) - Document model field in SKILL-TEMPLATE.md with factory §9 routing guidance - Wire grill output explicitly to trigger description step (step 3 now references agreed name/category/purpose from grill rather than drafting independently) - Strengthen eval self-check: presence check → coverage check (trigger cases + at least one output case required) - Bump META.md to v1.2 (2026-05-26) - Add three LESSONS.md entries: META-TEMPLATE comment retention, overlap check scope (deployed dir not just repo), model field placement boundary Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.1 KiB
Required inputs
- Skill name — kebab-case slug; inferred from user description if not stated explicitly, ask if ambiguous
- Category — from the category table in
CATEGORIES.md; ask if unclear - Purpose + use cases — what the skill does and what tasks it handles; source for the trigger description
- For placeholder conversions: existing SKILL.md path — read before writing
Negative trigger cases are NOT a required input. The agent proposes them based on the skill's purpose and adjacent skills found during the overlap scan. The user confirms or refines before trigger testing begins.
Constraints
- Write two files for every skill:
SKILL.mdat.agents/skills/<name>/SKILL.mdandMETA.mdalongside it - Frontmatter has three fields only:
name,description, andmetadata.category— addallowed-toolsonly when the skill has a narrow, well-defined tool surface - Keep the body under 500 lines — move anything longer into separate files in the skill directory
- Use XML tags only when the body has three or more logical sections and exceeds 500 tokens — default to plain prose
- Test the trigger description against all three cases — explicit, implicit, negative — before writing any body content. Hard gate: a failed case means revise and retest, not proceed
- Check for overlapping skills in
.agents/skills/before writing anything — if overlap is found, surface it and wait for direction - For placeholder conversions: read the existing SKILL.md first and remove all stale or outdated content
Process
-
Scan for overlap. Check for skills with similar purpose or trigger phrases. If overlap is found, surface it and wait for explicit direction — do not continue.
-
Grill. Run a focused grill with the /grill-me skill to reach shared understanding of: skill name, category, purpose, and use cases. One question at a time, with a recommendation for each.
-
Write and test the trigger description. Using the agreed name, category, purpose, and use cases from the grill, draft
description:. Propose negative trigger cases based on the skill's purpose and adjacent skills — get explicit user confirmation before running tests. Test all three cases and show per-case PASS/FAIL. A failed case means revise and retest — do not proceed. -
Walk through each section. For each section in
SKILL-TEMPLATE.md: propose content, state where it comes from, present alternatives if they exist. Wait for explicit human confirmation before moving to the next section. -
Copy both templates. Copy
SKILL-TEMPLATE.mdto.agents/skills/<name>/SKILL.md. CopyMETA-TEMPLATE.mdto.agents/skills/<name>/META.md. Do not modify content yet — copy first, fill second. -
Fill both files. Fill in the copied
SKILL.mdwith confirmed section content. Fill in the copiedMETA.mdwith version, updated date, when, source (if applicable), and references (if applicable). -
Invoke
write-eval. Do not mark the skill complete without an eval file. -
Prompt for HITL. Ask the user to open a fresh session, trigger the skill, and confirm output before committing.
Output format
Two files produced for every skill:
SKILL.md— copy-filled fromSKILL-TEMPLATE.mdat.agents/skills/<name>/SKILL.mdMETA.md— copy-filled fromMETA-TEMPLATE.mdat.agents/skills/<name>/META.md
For placeholder conversions, SKILL.md replaces the existing file entirely — no partial edits.
Failure handling
- Template file missing — stop, report the path searched, do not write from memory
- Existing SKILL.md not found for a placeholder conversion — stop, report the path searched
write-evalfails or is unavailable — flag, do not mark the skill complete
Self-check
- Overlap check completed before any content was written
- Trigger description tested against all three cases — all passed before body content was written
- Negative trigger cases confirmed by user before testing
- Each section confirmed explicitly by user before SKILL.md was written
- SKILL.md copy-filled from
SKILL-TEMPLATE.mdat correct path META.mdcopy-filled fromMETA-TEMPLATE.mdat correct path- Frontmatter contains only
name,description, andmetadata.category(plusallowed-toolsif applicable) - Body is under 500 lines
- For placeholder conversions: existing files read, all stale content removed, old directory deleted if renamed
write-evalinvoked — eval file exists at correct path, covers trigger cases (explicit, implicit, negative) and at least one output case- User prompted for HITL behavioral test