skill-creator

Use when you want to create a new SKILL.md file — describe a workflow and this skill generates a properly structured, frontmatter-complete SKILL.md that follows this repository's conventions

8 stars

Best use case

skill-creator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when you want to create a new SKILL.md file — describe a workflow and this skill generates a properly structured, frontmatter-complete SKILL.md that follows this repository's conventions

Teams using skill-creator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/skill-creator/SKILL.md --create-dirs "https://raw.githubusercontent.com/drvoss/everything-copilot-cli/main/skills/development/skill-creator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/skill-creator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How skill-creator Compares

Feature / Agentskill-creatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when you want to create a new SKILL.md file — describe a workflow and this skill generates a properly structured, frontmatter-complete SKILL.md that follows this repository's conventions

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill Creator

A meta-skill that produces new SKILL.md files. Describe what the skill should do,
and this skill generates a complete, convention-compliant SKILL.md file ready to commit.

## When to Use

- You want to add a new skill but are unsure of the required structure
- You have a workflow in mind and want to formalize it as a skill
- You are migrating a skill from another source and need to adapt it to this repo's format
- You need to translate an external slash-command or Claude-oriented pattern into Copilot-native primitives
- Bootstrapping multiple skills quickly for a new domain

## When NOT to Use

| Instead of skill-creator | Use |
|--------------------------|-----|
| Editing an existing skill | `edit` tool directly |
| Creating an agent definition | See `agents/` directory conventions in `AGENTS.md` |
| Writing an orchestration pattern | See `orchestration/patterns/` |

## Prerequisites

- A clear description of the workflow the skill should encode
- Knowledge of which `skills/` subdirectory it belongs to:
  - `development/` — coding, debugging, testing workflows
  - `security/` — security scanning, review, hardening
  - `testing/` — test strategy, eval, coverage
  - `documentation/` — doc generation, update workflows
  - `content/` — copywriting, SEO, content strategy
  - `product/` — PRD, launch, roadmap
  - `workflow/` — process workflows (research, release, sprint)
  - `copilot-exclusive/` — GitHub Copilot CLI-specific features
- Confirm the category already exists in this repository. Research-focused skills
  currently live under `workflow/`; adding a new category requires updating the
  shared allowlist in `scripts/skill-metadata.js` before introducing new files.

## Workflow

### 1. Gather requirements

Ask (or determine from context):

```text
1. What is the skill name? (kebab-case, e.g., `api-versioning-guide`)
2. What category does it belong to? (development / security / testing / etc.)
3. What triggers this skill? (When should an agent use it?)
4. What is the step-by-step workflow?
5. What are the verification criteria (Done When)?
6. Are there any anti-patterns or common mistakes to warn about?
```

**Important:** the description is the first routing clue an AI sees when deciding whether
to load a skill. If it is vague, the skill may be correct but still fail to trigger when
the user actually needs it.

### 2. Generate the SKILL.md

Use this template as a base and fill in the gathered information.
Replace all `[PLACEHOLDER]` tokens with real content:

```markdown
---
name: [kebab-case-name]
description: Use when [trigger condition] — [one-line description of output]
metadata:
  category: [category]
  agent_type: general-purpose
  # Optional when clearly useful:
  # copilot_feature: "[Copilot CLI feature or primitive]"
  # origin: "ported and adapted from [source]"
---

# [Title Case Name]

[One paragraph describing the skill's purpose and what it produces.]

## When to Use

- [Concrete trigger scenario 1]
- [Concrete trigger scenario 2]
- [Concrete trigger scenario 3]

## When NOT to Use

| Instead of [skill-name] | Use |
|-------------------------|-----|
| [alternative scenario] | [alternative skill or approach] |

## Prerequisites

- [Required setup or knowledge]
- [Tools or permissions needed]

## Workflow

### 1. [Step name]

[Description of what to do in this step.]

### 2. [Step name]

...

## Examples

### [Example scenario]

[Concrete example showing input and output]

## Common Rationalizations

| Rationalization | Reality |
|----------------|---------|
| "[excuse to skip the skill]" | [why that reasoning is wrong] |

## Red Flags

- [Warning sign that something is wrong]
- [Another warning sign]

## Verification

- [ ] [Concrete, checkable criterion 1]
- [ ] [Concrete, checkable criterion 2]

## Tips

- [Practical tip]
- [Link to related skills if applicable]
```

### 3. Place the file

```powershell
# Create the directory if it doesn't exist
mkdir "skills/[category]/[skill-name]" -Force

# The file goes at:
# skills/[category]/[skill-name]/SKILL.md
```

### 4. Port External Skills Intentionally

If the source came from Claude Code, an awesome list, or another skill collection,
**adapt the concept instead of copying source-specific primitives verbatim**.

Use this translation rubric:

| External concept | Copilot-native target |
|------------------|-----------------------|
| Slash command | skill or workflow section |
| Claude hook / event primitive | guidance, checklist, or repo-maintenance note |
| Subagent naming / mentions | `task` agent types, `/fleet`, or `team-planner` roles |
| Team/task registry | SQL tables |
| Model recommendation | `multi-model-strategy` or per-agent `model` override |

Before finalizing the skill, answer:

1. What user problem is worth preserving from the source?
2. Which source primitives do **not** exist in Copilot CLI?
3. What is the nearest Copilot-native equivalent?
4. Should the result be a new skill, or an update to an existing one?

### 4-A. Audit activation and collision risk

Before you keep a new `name` + `description` pair, test whether the skill is actually
likely to load and whether it would shadow an adjacent skill.

Check at least:

1. **Trigger clarity** - would a user naturally phrase the request this way, or is the
   description too generic to win routing?
2. **Adjacency** - does another local skill already own the same trigger surface more
   clearly?
3. **Prompt simulation** - try 3-5 realistic phrasings, including one terse
   code-oriented phrasing and one broader planning/review phrasing. If two skills seem
   equally plausible, sharpen the description or merge the concept into the existing
   skill instead of adding another near-duplicate.
4. **Cross-model robustness** - avoid descriptions that only make sense in one host's
   naming conventions. Prefer portable verbs like "review", "audit", "debug", "plan",
   or "verify" over vendor-specific slash-command language.

### 5. Validate

```powershell
# Run the full validation suite
npm run validate && npm run lint:md && npm test
```

Fix any markdownlint errors before committing.

### 6. Register in skills/README.md

Add a row to the skills catalog table:

```markdown
| [`[skill-name]`]([category]/[skill-name]/SKILL.md) | [One-line description] |
```

## Quality Checklist

After generating a new skill, verify:

- [ ] Frontmatter has `name`, `description`, and `metadata.category`
- [ ] File name is kebab-case and matches `name` in frontmatter
- [ ] Source-specific concepts were translated into Copilot-native primitives instead of copied blindly
- [ ] The `name` + `description` pair is specific enough to trigger on real user phrasing
- [ ] Adjacent skills were checked for collisions or silent shadowing before adding a new one
- [ ] "When to Use" section has ≥ 3 concrete trigger scenarios
- [ ] "When NOT to Use" table directs to alternatives
- [ ] Workflow has numbered steps with concrete commands or examples
- [ ] "Verification" section has checkable (not vague) criteria
- [ ] `npm run validate && npm run lint:md && npm test` passes

## Usage Examples

### Example: Creating a `rate-limiting-guide` skill

**Input description:**
> "A skill for adding rate limiting to Express APIs. Covers middleware selection, Redis-backed limits, and testing."

**Skill creator output skeleton:**

```markdown
---
name: rate-limiting-guide
description: Use when adding rate limiting to an API — selects the right middleware, configures Redis-backed limits, and writes integration tests
metadata:
  category: development
  agent_type: general-purpose
---

# Rate Limiting Guide
...
```

**Placed at:** `skills/development/rate-limiting-guide/SKILL.md`

## Usage Tips

- **Start with triggers**: the "When to Use" section determines whether agents will
  actually reach for this skill. Make triggers concrete and scenario-specific.
- **Treat the description like routing metadata**: it is short, but it carries the most
  leverage. If it does not clearly beat adjacent skills on specificity, rewrite it.
- **Verification criteria drive quality**: vague verifications like "it works" are useless.
  Write criteria an agent can check with a command or an observable outcome.
- **Port the job, not the syntax**: preserve the workflow value from upstream sources,
  but translate slash commands, hooks, and agent primitives into Copilot CLI equivalents.
- **Keep stable lessons separate from churn**: if repeated reviews keep teaching the same
  high-level correction, consider one clearly marked longitudinal guidance subsection instead of
  scattering tiny edits across the whole skill.
- **Link related skills**: skills are more powerful when chained. Cross-reference skills
  in "See Also" or "Tips" sections.
- **Use this skill first**: before creating any new skill in this repository, run
  `skill-creator` to scaffold the file. Edit the scaffold rather than starting from scratch.

Related Skills

verification-before-completion

8
from drvoss/everything-copilot-cli

Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.

using-git-worktrees

8
from drvoss/everything-copilot-cli

Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly

triage

8
from drvoss/everything-copilot-cli

Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.

to-issues

8
from drvoss/everything-copilot-cli

Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice

sprint-workflow

8
from drvoss/everything-copilot-cli

Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.

sprint-retro

8
from drvoss/everything-copilot-cli

Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.

security-audit

8
from drvoss/everything-copilot-cli

Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.

release

8
from drvoss/everything-copilot-cli

Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.

prompt-optimizer

8
from drvoss/everything-copilot-cli

Use when a rough prompt, vague idea, or task description needs to become a finished copy-pasteable prompt for a chat-based LLM - rewrite it into one ready-to-send prompt with no blanks, no placeholders, and a clear output shape.

outside-voice

8
from drvoss/everything-copilot-cli

Use when you need an independent second opinion before, during, or after implementation — run challenge, consult, or review mode in a direct builder-to-builder voice

llm-wiki

8
from drvoss/everything-copilot-cli

Use when research or domain knowledge keeps getting rediscovered across sessions — build a supplementary markdown wiki that compounds synthesized knowledge without replacing GitHub or committed project guidance

interview-me

8
from drvoss/everything-copilot-cli

Use when a request is underspecified and you need to discover what the user actually wants before writing a plan, spec, or code - ask one question at a time, attach your current hypothesis, and stop only after the intent is explicitly confirmed.