EasyPlatform skill-create
[Skill Management] Create new Claude Code skills or scan/fix invalid skill headers. Triggers on: create skill, new skill, skill schema, scan skills, fix skills, invalid skill, validate skills, skill header.
git clone https://github.com/duc01226/EasyPlatform
T=$(mktemp -d) && git clone --depth=1 https://github.com/duc01226/EasyPlatform "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/skill-create" ~/.claude/skills/duc01226-easyplatform-skill-create && rm -rf "$T"
.claude/skills/skill-create/SKILL.md<!-- SYNC:critical-thinking-mindset -->[IMPORTANT] Use
to break ALL work into small tasks BEFORE starting.TaskCreate
<!-- /SYNC:critical-thinking-mindset --> <!-- SYNC:ai-mistake-prevention -->Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
<!-- /SYNC:ai-mistake-prevention --> <!-- SYNC:shared-protocol-duplication-policy -->AI Mistake Prevention — Failure modes to avoid on every task:
- Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
- Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
- Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
- Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
- When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
- Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
- Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
- Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
- Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
- Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.
<!-- /SYNC:shared-protocol-duplication-policy --> <!-- SYNC:output-quality-principles -->Shared Protocol Duplication Policy — Inline protocol content in skills (wrapped in
) is INTENTIONAL duplication. Do NOT extract, deduplicate, or replace with file references. AI compliance drops significantly when protocols are behind file-read indirection. To update: edit<!-- SYNC:tag -->first, then grep.claude/skills/shared/sync-inline-versions.mdand update all occurrences.SYNC:protocol-name
<!-- /SYNC:output-quality-principles -->Output Quality — Token efficiency without sacrificing quality.
- No inventories/counts — AI can
. Counts go stale instantlygrep | wc -l- No directory trees — AI can
/glob. Use 1-line path conventionsls- No TOCs — AI reads linearly. TOC wastes tokens
- No examples that repeat what rules say — one example only if non-obvious
- Lead with answer, not reasoning. Skip filler words and preamble
- Sacrifice grammar for concision in reports
- Unresolved questions at end, if any
Quick Summary
Goal: Create new Claude Code skills with proper structure or scan/fix invalid skill headers across the catalog.
Workflow:
- Clarify — Gather purpose, trigger keywords, tools needed via AskUserQuestion
- Check Existing — Glob for similar skills, avoid duplication
- Scaffold — Create directory + SKILL.md with frontmatter + Quick Summary
- Add SYNC blocks — Include relevant protocol checklists from
sync-inline-versions.md - Validate — Run frontmatter + header validation
- Enhance — Call
on the new SKILL.md for attention anchoring quality/prompt-enhance
Key Rules:
- Every SKILL.md MUST ATTENTION include
(Goal/Workflow/Key Rules) within first 30 lines## Quick Summary - Single-line
withdescription
prefix and trigger keywords[Category] - SKILL.md under 500 lines; use
for detailreferences/ - Shared protocols MUST ATTENTION be inlined via
blocks, NEVER file references<!-- SYNC:tag --> - MUST ATTENTION call
on new/updated skills as final quality pass/prompt-enhance
Modes
| Mode | Trigger | Action |
|---|---|---|
| Create | describes a new skill | Create skill following workflow below |
| Scan & Fix | mentions scan, fix, validate, invalid | Run validation across all skills |
SKILL.md Schema Reference
Frontmatter Fields (all optional)
--- name: my-skill # Lowercase, hyphens. Max 64 chars. Default: directory name. description: '[Category] What it does. Triggers on: keyword1, keyword2.' # MUST ATTENTION be single-line argument-hint: '[issue-number]' # Autocomplete hint for arguments disable-model-invocation: false # true = user-only (/name), Claude cannot auto-invoke user-invocable: true # false = hidden from / menu, Claude-only auto-invoke context: inline # inline (default) or fork (isolated subagent) agent: general-purpose # Subagent type when context: fork model: inherit-4-5 # Model override. Default: session model version: 1.0.0 # Project convention (non-official) ---
Invocation Control Matrix
| Setting | User Invokes | Claude Invokes | Description |
|---|---|---|---|
| Default | Yes | Yes | Description in context; loads on invocation |
| Yes | No | User-only. Not in context until invoked |
| No | Yes | Hidden from menu. Claude auto-invokes |
Variable Substitution
| Variable | Description |
|---|---|
| All arguments passed to skill |
/ | Specific argument by 0-based index |
| Current session ID |
| Execute shell command before skill runs |
Key Rules
- Single-line
(multi-line YAML breaks catalog parsing)description - Include trigger keywords in description for auto-activation
- Use
prefix (e.g.,[Category]
,[Frontend]
,[Planning]
)[AI & Tools] - SKILL.md under 500 lines; use
for detailreferences/ - Descriptions loaded at 2% of context window (~16,000 chars)
- Include "ultrathink" in skill content to enable extended thinking mode
Mode 1: Create Skill
Workflow
- Clarify — If requirements unclear, use
for: purpose, auto vs user-invoked, trigger keywords, tools neededAskUserQuestion - Check Existing — Glob
for similar skills. Avoid duplication..claude/skills/*/SKILL.md - Create Directory —
.claude/skills/{skill-name}/SKILL.md - Write Frontmatter — Follow schema from
section above## SKILL.md Schema Reference - Write Instructions — Concise, actionable, progressive disclosure
- Add SYNC Blocks — Identify which shared protocols apply to this skill. Read
and copy relevant.claude/skills/shared/sync-inline-versions.md
blocks inline. Common protocols:<!-- SYNC:tag -->
,understand-code-first
,evidence-based-reasoningoutput-quality-principles - Add Closing Reminders — Echo top rules at bottom with
SYNC blocks for recency anchoring:reminder - Add References — Move detailed docs to
directory if content >200 linesreferences/ - Add Scripts — Create
for executable helpers if neededscripts/ - Validate — Run frontmatter validation (see Mode 2 single-file check)
- Enhance — Call
on the finished SKILL.md for AI attention anchoring quality/prompt-enhance
Frontmatter Template
--- name: { kebab-case-name } description: '[Category] What it does. Triggers on: keyword1, keyword2.' ---
Skill Attention Structure (MUST ATTENTION follow)
[Frontmatter] [SYNC protocol blocks — top attention zone] [## Quick Summary — Goal/Workflow/Key Rules] [Detailed instructions — middle zone] [## Closing Reminders — bottom attention zone with :reminder SYNC blocks]
Why: AI attention is strongest at TOP and BOTTOM (primacy-recency effect). Place critical rules in both zones. See
/prompt-enhance for research-backed principles.
SYNC Tag Protocol for New Skills
- Read
— canonical source for all protocol checklists.claude/skills/shared/sync-inline-versions.md - Identify which protocols the skill needs (e.g., investigation skills need
+understand-code-first
)evidence-based-reasoning - Copy the checklist content between
open/close tags at the TOP of the skill<!-- SYNC:tag --> - Add 1-line
versions at the BOTTOM inside Closing Reminders:reminder - NEVER use
file references — always inlineMUST ATTENTION READ shared/
Rules
- SKILL.md is instructions, not documentation. Teach Claude HOW to do the task.
- Single-line
(multi-line YAML breaks catalog parsing)description - Description must include trigger keywords for auto-activation
- Use
prefix in description (e.g.,[Category]
,[Frontend]
,[Planning]
)[AI & Tools] - Keep SKILL.md under 500 lines; use
for detailreferences/ - Progressive disclosure: frontmatter → SKILL.md summary → reference files
- Token efficiency: every line must earn its place
Mode 2: Scan & Fix Invalid Skills
What It Validates
| Check | Rule | Severity |
|---|---|---|
| Frontmatter exists | Must have delimiters | Error |
| Description single-line | No literal newlines in description value | Error |
| Description not empty | Must have description for discoverability | Warning |
| Name format | Lowercase, hyphens, max 64 chars | Error |
| No unknown official fields | Flag fields not in official schema | Info |
| Description has category | Should start with | Warning |
| File size | SKILL.md should be <500 lines | Warning |
| Quick Summary exists | Must have in first 30 lines | Warning |
| SYNC tag balance | Every open tag must have matching close tag | Error |
Scan Workflow
- Discover — Glob
for all skills.claude/skills/*/SKILL.md - Parse — Read first 20 lines of each file, extract frontmatter
- Validate — Check each rule above
- Report — List issues grouped by severity (Error > Warning > Info)
- Fix — If user confirms, fix Error-level issues automatically
Validate Script
node .claude/skills/skill-create/scripts/validate-skills.cjs # Report only node .claude/skills/skill-create/scripts/validate-skills.cjs --fix # Report + auto-fix
Requirements
<user-prompt>$ARGUMENTS</user-prompt>
Closing Reminders
- IMPORTANT MUST ATTENTION break work into small todo tasks using
BEFORE startingTaskCreate - IMPORTANT MUST ATTENTION inline shared protocols via
blocks — NEVER use<!-- SYNC:tag -->
file referencesMUST ATTENTION READ shared/ - IMPORTANT MUST ATTENTION call
on new/updated skills as final attention-anchoring quality pass/prompt-enhance - IMPORTANT MUST ATTENTION include
within first 30 lines of every SKILL.md## Quick Summary - IMPORTANT MUST ATTENTION add Closing Reminders section with
SYNC blocks at bottom of every skill:reminder - IMPORTANT MUST ATTENTION follow SKILL.md Schema Reference (inlined above) for official frontmatter fields <!-- SYNC:shared-protocol-duplication-policy:reminder -->
- IMPORTANT MUST ATTENTION follow duplication policy: inline protocols are INTENTIONAL, never extract to file references <!-- /SYNC:shared-protocol-duplication-policy:reminder --> <!-- SYNC:output-quality-principles:reminder -->
- IMPORTANT MUST ATTENTION follow output quality principles: token efficiency, lead with answer, no filler <!-- /SYNC:output-quality-principles:reminder --> <!-- SYNC:critical-thinking-mindset:reminder -->
- MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact. <!-- /SYNC:critical-thinking-mindset:reminder --> <!-- SYNC:ai-mistake-prevention:reminder -->
- MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction. <!-- /SYNC:ai-mistake-prevention:reminder -->