<What it does, one line>. Trigger phrases: <phrases>.
日本語の概要は準備中です。原文の説明を表示しています。
**WORKFLOW SKILL** — Create complete, well-structured Copilot skills from scratch. USE FOR: scaffolding new SKILL.md files, writing effective agent instructions, configuring frontmatter fields, setting up directory structure (references, FEEDBACK.md), optimizing description for discoverability, applying progressive disclosure. DO NOT USE FOR: managing/syncing existing skills (use skill-manager-guide), general coding, VS Code extension development.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
You are an expert at creating high-quality skills for GitHub Copilot. When the user asks you to create a skill, follow this guide to produce a complete, well-structured result.
A skill is a SKILL.md file that injects domain-specific knowledge into the AI agent's context. Skills live in directories and can be distributed via Git repositories.
The agent receives the skill's content as system-level instructions — everything you write in the body of SKILL.md becomes part of the agent's working knowledge for that session.
Every skill is a folder. The minimum is a SKILL.md, but a complete skill includes:
skills/
<skill-name>/
SKILL.md ← REQUIRED: frontmatter + instructions
FEEDBACK.md ← RECOMMENDED: feedback protocol
.skillconfig.json ← OPTIONAL: per-skill settings (e.g. forceGlobal)
references/ ← OPTIONAL: on-demand deep-dive docs
api-reference.md
examples.md
troubleshooting.md
name field in frontmatterreact-testing, docker-compose, git-workflowThe frontmatter is a YAML block delimited by --- at the top of the file. It controls how the skill is discovered and invoked.
---
name: my-skill
description: "Clear, specific description of what this skill teaches"
argument-hint: What the user should type when invoking this skill
user-invocable: true
disable-model-invocation: false
compatibility:
- copilot-chat
license: MIT
metadata:
author: your-name
tags:
- category
- domain
---
| Field | Required | Type | Purpose |
|---|---|---|---|
name | Yes | string | Unique identifier. Must match folder name. kebab-case. |
description | Yes | string | What the skill teaches. Used for discovery — the agent reads this to decide if the skill is relevant. |
argument-hint | No | string | Hint shown to users when invoking via slash command. Guides what context to provide. |
user-invocable | No | boolean | If true, user can invoke directly via /skill-name. Default: true. |
disable-model-invocation | No | boolean | If true, the model won't auto-invoke this skill. User must invoke explicitly. Default: false. |
compatibility | No | string[] | Which Copilot surfaces support this skill (e.g. copilot-chat). |
license | No | string | SPDX license identifier. |
metadata | No | object | Free-form metadata: author, tags, version, etc. |
The body is the actual knowledge injected into the agent. This is where you write the instructions.
# <Skill Name> — <Short Subtitle>
<Opening paragraph: establish the agent's role and the skill's purpose>
## <Section 1: Core Concepts>
...
## <Section 2: Step-by-Step Workflows>
...
## <Section 3: Reference Tables>
...
## <Section N: When the User Asks for Help>
<Map common questions to specific answers>
The description field is the single most critical element for skill discoverability. The agent reads descriptions to decide which skills to activate. A bad description means the skill never gets used.
Every description should start with a type tag in bold, followed by a one-line summary, use cases, and exclusions:
description: "**<TYPE> SKILL** — <one-line summary>. USE FOR: <comma-separated use cases>. DO NOT USE FOR: <explicit exclusions to prevent false matches>."
Common type tags:
| Tag | When to use |
|---|---|
**WORKFLOW SKILL** | Guides a multi-step process or workflow |
**ENFORCEMENT SKILL** | Enforces rules, checks, or constraints |
**CONVERSION SKILL** | Converts between formats or representations |
**MEASUREMENT SKILL** | Measures, benchmarks, or evaluates |
**GUIDE SKILL** | Teaches how to use a tool or extension |
**REFERENCE SKILL** | Provides domain knowledge or lookup tables |
Choose the tag that best describes the skill's primary purpose. If none fits, create a descriptive one.
For skills that provide domain knowledge (alternative to type-tag pattern):
description: "**REFERENCE SKILL** — <Domain> knowledge covering <specific topics>. Includes <key features like examples, tables, commands>."
The reader is an AI agent. Write clear, unambiguous instructions it can follow mechanically.
Bad:
Docker Compose is a nice tool for multi-container apps.
Good:
You are helping a developer work with Docker Compose. When asked to create a compose file, always use version
3.8+syntax and include health checks.
Tell the agent what to DO, not what things ARE.
Bad:
The
--watchflag enables file watching.
Good:
When the user wants live reload, add the
--watchflag to the command.
Use tables for lookups (commands, options, mappings). Use prose for conditional logic and workflows.
## Commands
| Command | Purpose |
|---------|---------|
| `npm test` | Run all tests |
| `npm test -- --watch` | Watch mode |
## When to Use Watch Mode
If the user is actively developing and running tests repeatedly,
suggest watch mode. If they're running tests in CI, never suggest watch mode.
Include a "When the User Asks..." section that covers common scenarios:
## When the User Asks for Help
- **"How do I X?"** → Step-by-step instructions for X
- **"Why is Y failing?"** → Common causes of Y failure and fixes
- **"What's the best way to Z?"** → Recommended approach with trade-offs
Don't overload the main SKILL.md. Put deep-dive content in references/:
The agent will read references on-demand when it needs more detail, keeping the base context lightweight.
A skill should cover one coherent domain. If you find yourself writing unrelated sections, split into multiple skills.
Good scope: "React Testing" — covers RTL, Jest, async testing, hooks testing, snapshot testing Bad scope: "React" — too broad, mixes routing, state management, testing, styling
These patterns improve agent navigation and scannability. Use them when the skill's complexity warrants it — not every skill needs all of them.
For skills that involve triage, routing, or conditional workflows, provide an ASCII decision tree the agent can follow mechanically. This reduces reasoning errors by making the decision path explicit.
#### Triage Flow
\```
New request arrives
│
├─ Condition A?
│ └─ ✅ Action A
│
├─ Condition B?
│ └─ ⚠️ Action B (with caveat)
│
└─ Condition C?
└─ 🔴 Escalate / ask the user
\```
When to use: Escalation logic, complexity triage, tool selection cascades, error diagnosis flows.
Instead of plain text rules, use visual markers for common mistakes. This format is more scannable than prose and communicates do/don't at a glance.
### Common Pitfalls
| | Pitfall | Consequence |
|---|---------|-------------|
| ❌ | Doing X without checking Y | Z breaks silently |
| ❌ | Assuming A is true | B fails in production |
| ✅ | Checking Y before doing X | Z works reliably |
| ✅ | Verifying A with tool | B is built on solid ground |
When to use: Rules sections, anti-patterns, common mistakes. Especially effective when the skill has 5+ rules — visual markers prevent "wall of NEVER" fatigue.
A task-oriented lookup table at the end of the skill. Maps common user intents to the right section and key decision. Gives the agent a fast-path before reading the full skill.
## Quick Reference
| I need to... | Go to section | Key decision |
|-------------|---------------|-------------|
| Do X | Section Y | Choose between A or B |
| Debug Z | Troubleshooting | Check W first |
When to use: Skills with many sections (5+ headings), tool/command skills, reference-heavy skills.
For skills that bundle executable scripts in scripts/, instruct the agent to treat them as black boxes — run --help to learn usage, never read the source code.
> **⚠️ IMPORTANT: Treat scripts as black boxes.** Run `python scripts/<script>.py --help`
> to learn usage. Do **NOT** read the source code — it pollutes the context window with
> implementation details you don't need.
When to use: Any skill that includes bundled scripts, CLI tools, or executable utilities. Prevents the agent from wasting context on implementation details.
A FEEDBACK.md enables users to submit improvements to the skill via PR.
---
threshold: 5
---
## Feedback Protocol — <skill-name>
### When to Log a Review
Log a review whenever you help a user and:
- The instructions in SKILL.md were insufficient or unclear
- You had to improvise an answer not covered by the skill
- A command, API, or tool changed and the skill is outdated
### Review Format
Create a JSON file in `.vscode/skill-reviews/<skill-name>/`:
\```json
{
"date": "YYYY-MM-DD",
"author": "dev-name",
"type": "improvement | correction | addition",
"section": "Section Name",
"suggestion": "What should change",
"context": "What prompted this feedback"
}
\```
### Consolidation
When threshold reviews accumulate, summarize them into a single
actionable improvement for the skill maintainer.
The threshold in frontmatter defines how many reviews trigger consolidation.
{
"forceGlobal": false
}
| Field | Type | Purpose |
|---|---|---|
forceGlobal | boolean | If true, this skill is always installed globally (~/.copilot/skills/) regardless of context. Use for universal skills. |
skills/docker-compose/
---
name: docker-compose
description: "Docker Compose workflows — create, debug, and optimize multi-container setups. Covers v2 CLI, health checks, networking, volumes, and production profiles."
argument-hint: Describe what you want to do with Docker Compose
---
# Docker Compose — Agent Guide
You are helping a developer work with Docker Compose. Follow these
instructions to provide accurate, production-ready guidance.
## Creating a Compose File
When asked to create a new compose file:
1. Use the `compose.yaml` filename (not `docker-compose.yml`)
2. Target Compose Specification (no `version` field needed)
3. Always include `restart: unless-stopped` for services
4. Add health checks for services that accept connections
## Common Services Table
| Service | Image | Default Port |
|---------|-------|-------------|
| PostgreSQL | postgres:16-alpine | 5432 |
| Redis | redis:7-alpine | 6379 |
| Nginx | nginx:alpine | 80/443 |
## When the User Asks for Help
- **"Create a compose file for X"** → Scaffold with best practices above
- **"My container won't start"** → Check logs: `docker compose logs <service>`
- **"How do I add a database?"** → Add service from table, include volume + healthcheck
Use the template from the FEEDBACK.md section above.
references/
networking.md ← Deep dive on Docker networking
production.md ← Production deployment patterns
troubleshooting.md ← Common errors and fixes
Before considering a skill complete, verify:
name matches folder name (kebab-case)description is specific, keyword-rich, ideally ~300 chars (max 1024; if >400, consider splitting the skill)license field present in frontmatterreferences/scripts/ (optional)| Anti-Pattern | Why It's Bad | Fix |
|---|---|---|
| Vague description | Agent can't match it to user intent | Use specific keywords + USE FOR/DO NOT USE FOR |
| Wall of text | Agent loses focus | Break into sections with headers |
| Passive voice | Agent doesn't know what to do | Use imperative: "When X, do Y" |
| Too broad scope | Diluted knowledge, conflicts with other skills | Split into focused skills |
| Everything in SKILL.md | Bloats context window | Move deep-dives to references/ |
| No examples | Agent generates inconsistent output | Add input/output examples |
| Human-oriented prose | Agent processes instructions, not explanations | Write for the agent as the reader |
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
<What it does, one line>. Trigger phrases: <phrases>.
日本語の概要は準備中です。原文の説明を表示しています。
Use this skill whenever the user wants to create or improve a presentation for an academic context — conference papers, seminar talks, thesis defenses, grant briefings, lab meetings, invited lectures, or any presentation where the audience will evaluate reasoning and evidence. Triggers include: 'conference talk', 'seminar slides', 'thesis defense', 'research presentation', 'academic deck', 'academic presentation'. Also triggers when the user asks to 'make slides' in combination with academic content (e.g., 'make slides for my paper on X', 'create a presentation for my dissertation defense', 'build a deck for my grant proposal'). This skill governs CONTENT and STRUCTURE decisions. For the technical work of creating or editing the .pptx file itself, also read the pptx SKILL.md.
日本語の概要は準備中です。原文の説明を表示しています。
Shortest English alias for web-adapt / universal-web-adaptation. Use this when adapting an unfamiliar public website generically before creating any site-specific rules.
日本語の概要は準備中です。原文の説明を表示しています。
Use this skill to audit CLI adapter projects (like opencli) for missing output fields, then batch-generate fixes and submit PRs. Turns AI agents into adapter quality reviewers.
日本語の概要は準備中です。原文の説明を表示しています。
Operate professional paid advertising across Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Use for account intake, source-grounded audits, strategy, budget and measurement planning, creative production, experiments, reporting, monitoring, and explicitly approved campaign changes. Also trigger on PPC, paid social, retail media, attribution, tracking, landing pages, cross-platform conversion totals, negative keywords or search terms, beta-feature scoring, stale platform claims, API-token or credential setup, campaign deletion, and safe Claude Ads installation or uninstall.
日本語の概要は準備中です。原文の説明を表示しています。
Audit Amazon Ads profiles, regions, Sponsored Products, Sponsored Brands, Sponsored Display, DSP, portfolios, targeting, search terms, retail readiness, creative, budgets, ACOS, TACOS, reporting, and policy. Use for Amazon Ads, sponsored ads, Amazon PPC, ACOS, TACOS, ASIN advertising, Amazon DSP, or retail-media optimization.
日本語の概要は準備中です。原文の説明を表示しています。