skill-creator
Guide for creating new skills in this system with proper frontmatter format. Use when adding new skills, updating skill templates, or reviewing skill structure. DO NOT USE FOR: general agent or instruction file customization (use agent-customization) or modifying existing skill logic/content.
- License 许可
- MIT
- 最近更新
- 2026-08-16
- Stars
- ★ 3
- Forks
- 0
01 前言 Front Matter
- name
- skill-creator
- description
- Guide for creating new skills in this system with proper frontmatter format. Use when adding new skills, updating skill templates, or reviewing skill structure. DO NOT USE FOR: general agent or instruction file customization (use agent-customization) or modifying existing skill logic/content.
03 SKILL.md 正文
Skill Creator
Guide for creating new skills with proper structure and VS Code 1.108+ compatible frontmatter.
When to Use
- Creating a new skill for the project
- Reviewing existing skills for compliance
- Updating skill templates
- Onboarding contributors to skill creation
Built-in Creation Commands (VS Code 1.110+)
If you are on VS Code 1.108 or 1.109, skip this section and proceed directly to Required Frontmatter Format below.
VS Code 1.110 ships built-in slash commands for scaffolding customization files:
/create-skill— generates a new skill file/create-agent— generates a new.agent.mdfile/create-prompt— generates a new.prompt.mdfile/create-instruction— generates a new.instructions.mdfile
Recommended workflow: Use the built-in /create-skill (or equivalent) to generate the initial scaffold, then apply this skill to validate and refine the output against project conventions:
- Kebab-case
namein frontmatter (e.g.,my-skill, notMySkill) descriptionmust include usage triggers ("Use when ..." phrasing) for discoverability- Directory structure:
skills/{skill-name}/SKILL.md - Required frontmatter fields:
nameanddescriptiononly — no unsupported fields
Required Frontmatter Format
---
name: skill-name-kebab-case
description: What the skill does AND when to use it. This description triggers skill discovery in chat.
---
Important:
nameanddescriptionare the only supported frontmatter fields- No
allowed-toolsor other fields—they will be ignored - Description should include usage triggers for discoverability
Directory Structure
skills/
└── {skill-name}/
├── SKILL.md # Required: Main skill file with frontmatter
├── reference.md # Optional: Detailed reference material
├── templates.md # Optional: Code/document templates
└── examples/ # Optional: Example files
└── ...
Discovery in VS Code (1.108+)
- Skill discovery in chat is available in VS Code 1.108+
- Ensure agent skills are enabled via
chat.useAgentSkills - Discovery quality depends on clear trigger phrasing in
description(for example: "Use when ...")
Minimal vs Full Skill Pattern
Use the smallest structure that solves the need:
- Minimal Skill: Single
SKILL.mdwith frontmatter, "When to Use," and concise process/checklist - Full Skill:
SKILL.mdplus supporting references/templates/examples when topic depth or reuse requires it
Start minimal, then split into supporting files only when the core document becomes hard to navigate.
Skill Template
---
name: {skill-name}
description: {What it does}. Use when {trigger conditions}. DO NOT USE FOR: {scenarios where adjacent skills are better} (use {other-skill}).
---
# {Skill Title}
Brief overview of the skill's purpose.
## When to Use
- Bullet list of situations
- That trigger this skill
- Be specific for discoverability
## Core Content
Main guidance, principles, or process.
### Subsections as Needed
Organize by user goals, not by internal structure.
## Project-Specific Configuration
[CUSTOMIZE] Add project-specific details:
- Configuration files to modify
- Team conventions to follow
- Tools and paths used
## Quick Reference
| Item | Description |
| ----------- | ----------------- |
| Key concept | Brief explanation |
## See Also
- [Related supporting file](./related-file.md)
- External reference links
## Gotchas
| Trigger | Gotcha | Fix |
| ---------------------------------------------- | ------------------------- | ----------------------- |
| {observable condition that causes the failure} | {what goes wrong and why} | {actionable correction} |
Description Quality Checklist
Before finalizing a skill's description: field, verify:
- Length target: ≤60 words total (positive triggers + negative signals combined)
- Positive triggers: includes "Use when..." with 2–3 specific, distinct scenarios — not generic summary language
- Negative signals: includes "DO NOT USE FOR:..." with at least one adjacent skill pointer, e.g.
(use {other-skill}) - Collision check: before finalizing, use
grep_searchwith queryyour-trigger-wordandincludePattern: "skills/*/SKILL.md"to check for naming collisions with existing skills. Add explicit "DO NOT USE FOR:" signals to both sides of any conflict.
Writing Guidelines
Prescription Budget (Claude 5)
Before adding imperative guardrails to a skill — MUST/NEVER lists, step-by-step behavioral coaching, forbidden-command enumerations — read Documents/Design/context-engineering-claude-5.md: prescription written for older models degrades Claude 5 output. Keep contracts exact (schemas, marker grammars, enum literals, gate definitions); trim coaching the model no longer needs.
Description Field (Critical for Discovery)
The description determines when the skill appears in suggestions.
Good descriptions:
description: 4-phase debugging process for complex issues. Use when debugging failures, investigating flaky tests, or tracking root causes. DO NOT USE FOR: writing new tests (use test-driven-development), React component test patterns (use ui-testing), or E2E test setup (use webapp-testing).
description: Resilient React component testing strategies focusing on user behavior. Use when writing or reviewing component-level React tests, fixing flaky tests, or establishing React testing patterns. DO NOT USE FOR: Playwright E2E tests (use webapp-testing), canvas game interaction (use browser-canvas-testing), TDD workflow (use test-driven-development), or debugging failures (use systematic-debugging).
Bad descriptions:
description: Debugging guide. # Too vague, poor discoverability
description: This skill helps with testing things. # Unclear scope
Frontmatter Validation
| Field | Required | Rule | Validation Guidance |
|---|---|---|---|
name |
Yes | kebab-case | Use lowercase words separated by hyphens (for example: test-driven-development) |
description |
Yes | Include what it does + usage triggers + negative signals | Include "Use when ..." for positive triggers and "DO NOT USE FOR: ... (use {skill})" for at least one negative signal |
| Other fields | No | Unsupported | Do not add extra fields (for example allowed-tools) because they are ignored |
Content Principles
- Be actionable: Provide steps, not just concepts
- Use
[CUSTOMIZE]markers: For project-specific placeholders - Keep SKILL.md concise: Route to supporting files for details
- Template-generic language: No repo-specific references
- Include "When to Use": Explicit trigger conditions
Gotchas Section Guidelines
-
Always include ≥1 gotcha: No skill should ship without at least one entry
-
Trigger precision: Use observable conditions, not abstract categories ("Using
clickElementon canvas" not "Wrong tool usage") -
Fix specificity: Provide actionable commands, skill section references, or concrete alternatives — not "use the right approach"
-
Use prose alternatives: When a gotcha needs more than 2 sentences, use a callout block or guardrail section instead of cramming it into a table cell
-
Downstream convention: When agents discover new gotchas while working in a downstream repo, append them to
.github/instructions/local-gotchas.instructions.mdunder a## {skill-name}heading with format<!-- gotcha-status: new -->— Process-Review will scan and route them upstreamExample entry in
local-gotchas.instructions.md:## brainstorming <!-- gotcha-status: new --> | Trigger | Gotcha | Fix | | -------------------------------------- | --------------------------------- | ------------------------------------------ | | Asking for options without constraints | Produces unbounded solution space | Add scope constraints before brainstorming |The
<!-- gotcha-status: new -->marker goes on the line immediately before the table header it annotates (not inside the table body). Each gotcha entry must be its own single-row table — do not combine multiple entries in one table, as the<!-- gotcha-status: ... -->marker tracks state per table, not per row.
Customization Markers
Use [CUSTOMIZE] for sections that need project adaptation:
## Project Configuration
[CUSTOMIZE] Add your project's specific:
- File paths and locations
- Naming conventions
- Team-specific practices
Skill Sizing Guidelines
| Size | SKILL.md Lines | Supporting Files | Use Case |
|---|---|---|---|
| Small | 50-100 | 0 | Simple process or checklist |
| Medium | 100-200 | 0-1 | Standard methodology |
| Large | 150-250 | 1-3 | Complex topic with patterns |
Rule: If SKILL.md exceeds 300 lines, split into supporting files.
Supplement Skills
A supplement skill layers project-specific constraints, themes, or identity guidance on top of an existing hub skill. When a project has one, load both together — the hub skill provides universal principles and the supplement narrows them for the project.
Naming convention: skills/{project}-{hub-skill-name}/SKILL.md — for example, windgust-frontend-design supplements frontend-design.
Supplement ≠ replacement: A supplement adds to the hub skill; it does not replace it. Load both together. If your supplement contradicts hub skill guidance, the benefit of shared defaults is lost.
Description convention: Supplement descriptions should explicitly reference the hub skill they extend — for example: "Supplements frontend-design with {project} brand identity...".
See the frontend-design skill for a worked example and a minimal supplement SKILL.md template.
Validation Checklist
Before committing a new skill:
- [ ] Frontmatter has only
nameanddescription - [ ]
nameis kebab-case - [ ]
descriptionincludes usage triggers - [ ] "When to Use" section is present
- [ ]
[CUSTOMIZE]markers for project-specific content - [ ] No hardcoded paths or repo-specific references
- [ ] Supporting files are referenced from SKILL.md
- [ ] Content is actionable, not just conceptual
- [ ] Gotchas section present with at least one entry
Example: Complete Skill
---
name: code-review
description: Structured code review process with security and maintainability focus. Use when reviewing PRs, conducting code audits, or establishing review standards. DO NOT USE FOR: line-by-line debugging assistance (use systematic-debugging) or writing test cases from scratch (use test-driven-development).
---
# Code Review Skill
Systematic approach to reviewing code changes.
## When to Use
- Reviewing pull requests
- Conducting security audits
- Establishing team review standards
- Self-review before submitting PRs
## Review Process
### 1. Understand Context
- Read PR description and linked issues
- Understand the goal before reading code
### 2. High-Level Review
- Does the approach make sense?
- Are there architectural concerns?
### 3. Detailed Review
- Security: Input validation, auth, data exposure
- Correctness: Edge cases, error handling
- Maintainability: Readability, naming, complexity
### 4. Provide Feedback
- Be specific and actionable
- Suggest alternatives, don't just criticize
- Distinguish blocking vs. non-blocking
## Project Standards
[CUSTOMIZE] Add your team's review requirements:
- Required reviewers by area
- Review checklist items
- Auto-merge criteria
Gotchas
| Trigger | Gotcha | Fix |
|---|---|---|
Using extra frontmatter fields (allowed-tools, applyTo, custom keys) |
Only name and description are supported; extras are silently ignored |
Use only name and description in frontmatter |
Writing a vague description: description: Debugging guide. |
Skill never appears in suggestions — description fails semantic matching | Include "Use when..." with 2–3 specific observable triggers |
| Omitting "DO NOT USE FOR:..." negative signals | Skill collides with adjacent skills; wrong one is chosen | Include at least one DO NOT USE FOR: pointer with the alternative skill name |
| Not running a collision check before finalizing | New skill's trigger words shadow an existing skill | grep_search trigger phrases across skills/*/SKILL.md before finalizing |
Using camelCase or PascalCase for name (MySkill) |
Naming convention violation; potential discovery failure | Use kebab-case (my-skill) for the name frontmatter field |
Creating references/, examples/, and templates/ directories immediately |
File bloat; harder to navigate and maintain | Start with Minimal structure; split only when core document becomes hard to navigate |
| Creating a supplement that contradicts or overrides the hub skill's defaults | Loses shared hub-skill defaults; teams diverge without a shared baseline | Layer on top — supplements narrow or extend hub guidance, never replace; load both together |
04 同仓库更多 Skills
webapp-testing
Playwright end-to-end testing guidance for web apps, with practical patterns and setup steps. Use when creating or improving browser-based E2E coverage, test stability, and CI execution. DO NOT USE FOR: React component tests (use ui-testing), canvas game interaction (use browser-canvas-testing), TDD workflow (use test-driven-development), debugging failures (use systematic-debugging), or randomized property tests (use property-based-testing).
verification-before-completion
Evidence-based verification checklist before marking work complete. Use before PRs, releases, marking tickets done, or any "I'm finished" declaration; also when naming a baseline commit for a differential suite claim, when designing a mutation campaign or red-run evidence, when making an absence claim, a universal claim, or a one-time demonstration offered as a standing guarantee, when attributing a measurement or claiming a sweep or verification loop is complete, and when stating what a check or a CI suite will do about a change. DO NOT USE FOR: post-merge cleanup or archival (use post-pr-review) or processing GitHub review comments (use code-review-intake).
validation-methodology
Reusable validation and review methodology for staged validation, failure triage, and prosecution-depth setup. Use when running validation ladders, triaging failures, or executing adversarial review passes. DO NOT USE FOR: CE Gate orchestration, specialist dispatch ownership, or step execution flow (keep those in Code-Conductor).
upstream-onboarding
Shared opening-phase protocol for upstream agents (Experience-Owner, Solution-Designer, Issue-Planner) and Code-Conductor when invoked on an existing GitHub issue. Renders a scaled context brief and runs a standards check on inherited work at each phase boundary. Use when a user-invocable agent receives a request referencing an existing GitHub issue and must load solution-authoring and upstream-onboarding at the opening phase. DO NOT USE FOR: subagent dispatches (which already operate within an assessed session context); post-merge review (use post-pr-review); research or non-tree subagents.
ui-testing
Resilient React component testing strategies focusing on user behavior. Use when writing or reviewing component-level React tests, fixing flaky component tests, or establishing React testing patterns. DO NOT USE FOR: Playwright E2E tests (use webapp-testing), canvas game interaction (use browser-canvas-testing), TDD workflow (use test-driven-development), debugging failures (use systematic-debugging), UI component design (use frontend-design), or randomized property tests (use property-based-testing).
ui-iteration
Reusable screenshot-driven UI polish workflow for iterative visual refinement. Use when improving layout, hierarchy, spacing, feedback, or Tailwind-based presentation through repeated review-and-adjust passes. DO NOT USE FOR: functional bug fixing, accessibility-only audits, or major redesign strategy work (use Code-Smith or frontend-design).