copilot-customization
SKILL.md
Copilot Customization
Create and manage GitHub Copilot rules, instructions files, and configuration for optimal AI assistance.
When to Use This Skill
- Setting up project-wide coding standards for Copilot
- Creating language-specific or folder-specific rules
- Configuring code review, commit message, or PR description instructions
- Choosing between instructions, skills, agents, and prompt files
Customization Hierarchy
┌─────────────────────────────────────────────────────────────────┐
│ INSTRUCTIONS (Rules & Guidelines) │
│ ├── .github/copilot-instructions.md (global, auto-applied) │
│ ├── .github/instructions/*.instructions.md (targeted, glob) │
│ └── AGENTS.md (multi-agent compatible) │
│ │
│ SKILLS (Specialized Capabilities) │
│ └── .github/skills/*/SKILL.md (portable, on-demand) │
│ │
│ PROMPT FILES (Reusable Prompts) │
│ └── .github/prompts/*.prompt.md (task automation) │
│ │
│ AGENTS (Specialized Personas) │
│ └── .github/agents/*.agent.md (roles with tools) │
│ │
│ SETTINGS (VS Code Configuration) │
│ └── .vscode/settings.json (code review, commits, etc.) │
└─────────────────────────────────────────────────────────────────┘
When to Use Each Option
| Scenario | Format | File |
|---|---|---|
| Project-wide standards | Global | .github/copilot-instructions.md |
| Language-specific rules | Targeted | .github/instructions/*.instructions.md |
| Folder-specific guidelines | Targeted | .instructions.md with applyTo glob |
| Specialized capability | Skill | .github/skills/*/SKILL.md |
| Common task automation | Prompt | .github/prompts/*.prompt.md |
| Specialized AI persona | Agent | .github/agents/*.agent.md |
| Code review standards | Settings | reviewSelection.instructions |
| Commit message format | Settings | commitMessageGeneration.instructions |
Instruction File Formats
Global Instructions
# Project Name - Copilot Instructions
## Technology Stack
| Tool | Purpose |
|------|---------|
| **Language** | Python 3.11+ |
| **Framework** | FastAPI |
## Coding Standards
- Use type hints on all functions
- Write docstrings for public APIs
## Don'ts
- ❌ Don't use `any` type
- ❌ Don't commit secrets
Targeted Instructions
---
name: Python Standards
description: Python coding standards for all Python files
applyTo: "**/*.py"
---
# Python Coding Standards
- Use type hints for all function parameters and return values
- Use dataclasses or Pydantic models for structured data
- Write Google-style docstrings for public functions
Glob Patterns for applyTo
| Pattern | Matches |
|---|---|
**/*.py |
All Python files |
**/*.{ts,tsx} |
All TypeScript files |
src/** |
All files in src directory |
**/test_*.py |
All Python test files |
frontend/**/*.tsx |
React components in frontend |
Settings-Based Instructions
Code Review
{
"github.copilot.chat.reviewSelection.instructions": [
{ "file": ".github/instructions/code-review.instructions.md" }
]
}
Commit Messages
{
"github.copilot.chat.commitMessageGeneration.instructions": [
{ "text": "Use conventional commits format: type(scope): description" },
{ "text": "Keep subject line under 50 characters" }
]
}
PR Descriptions
{
"github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
{ "text": "Include a summary of changes" },
{ "text": "List breaking changes if any" },
{ "file": ".github/instructions/pr-template.instructions.md" }
]
}
Layered Instructions Pattern
Combine global + targeted for comprehensive coverage:
.github/
├── copilot-instructions.md # Universal project rules
└── instructions/
├── python.instructions.md # applyTo: "**/*.py"
├── typescript.instructions.md # applyTo: "**/*.ts"
├── testing.instructions.md # applyTo: "**/test_*"
└── api.instructions.md # applyTo: "src/api/**"
Rule Writing Principles
- Be specific — Vague instructions produce vague results
- Keep it short — Each instruction should be a single statement
- Prioritize — Put most important rules first
- Use examples — Show what good looks like
- Be actionable — Focus on what to do, not just what not to do
Workflow
- Analyze — Check existing customization files
- Identify — Determine scope (global, language, folder)
- Choose format — Global instructions, targeted, or settings
- Write rules — Be specific, actionable, with examples
- Validate — Test
applyTopatterns match intended files
Guidelines
- No conflicting rules across files
- Settings reference correct file paths
- Instructions are clear and actionable
- Rules align with existing codebase patterns
- Related agents/skills reference the rules
Weekly Installs
1
Repository
franciscosanche…factu-esFirst Seen
12 days ago
Security Audits
Installed on
mcpjam1
claude-code1
junie1
windsurf1
zencoder1
crush1