Thank you for your interest in contributing to Copilot Kit! This repository thrives on community contributions of battle-tested prompts, instructions, and configurations.
- Custom prompts for common development workflows
- Custom instructions for specific frameworks or patterns
- Chat modes/agents with specialized behaviors
- Documentation improvements and examples
- Bug fixes for existing prompts or configurations
All contributions should:
- ✅ Be battle-tested in real-world development scenarios
- ✅ Follow existing file structure and naming conventions
- ✅ Include clear documentation and examples
- ✅ Work with GitHub Copilot Chat in VS Code
- ✅ Be general-purpose (avoid company/project-specific details)
When contributing custom prompts:
- YAML frontmatter: Include all required fields (
name,description,agent,argument-hint) - Clear goal: State what the prompt accomplishes in 1-2 sentences
- Context gathering: Specify what information the prompt needs to work effectively
- Concrete protocol: Provide step-by-step instructions, not vague guidance
- Output format: Include templates or examples of expected results
- Edge cases: Document how the prompt handles unusual situations
---
name: kebab-case-name
description: "One-line summary (30-60 chars)"
agent: agent
argument-hint: "Optional guidance for users"
tools: []
---
## Goal
[What this accomplishes]
## Inputs & Context Gathering
[What information is needed]
## Protocol
[Step-by-step instructions]
## Expected Output Format
[Template or example]
## Guidance
[Edge cases, best practices]- Use kebab-case:
feature-name.prompt.md - Be descriptive:
generate-api-tests.prompt.mdnottests.prompt.md - Place in
.github/prompts/directory - Verb-based for actions (
create-,generate-,refactor-) - Noun-based for reviews/analysis (
code-review,security-audit)
Before submitting, verify:
- ✅ YAML frontmatter is valid (no syntax errors)
- ✅ Prompt invokes successfully:
/your-prompt-name - ✅ Works on at least 3 different real-world scenarios
- ✅ All internal file references are correct
- ✅ Examples are copy-paste runnable
- ✅ Output matches documented format
For custom instructions (.github/instructions/):
- Target specific frameworks, languages, or patterns
- Include setup requirements (SDKs, tools, versions)
- Provide before/after examples
- Document which Copilot features they enhance
For custom agents (.github/agents/):
- Use
.agent.mdextension - Define clear scope and boundaries
- Specify tools/capabilities the agent should have
- Include example conversations or use cases
- Follow template structure (use
/create-promptif needed)
If contributing MCP server configs:
- Test configuration works in
.vscode/mcp.json - Document prerequisites (API keys, Node.js version, etc.)
- Include setup instructions
- Specify which prompts benefit from the server
- Note any security/privacy considerations
# Fork the repo on GitHub, then:
git clone https://github.com/YOUR_USERNAME/copilot-kit.git
cd copilot-kitgit checkout -b prompt/your-prompt-name
# or
git checkout -b instruction/your-feature
# or
git checkout -b agent/your-agent-name- Create your prompt/instruction/agent file
- Follow the quality standards above
- Test thoroughly
Update README.md to list your contribution:
For prompts, add a row to the Prompts table:
| [your-prompt-name](.github/prompts/your-prompt-name.prompt.md) | Brief description | Category |For instructions, add to Custom Instructions table.
For agents, add to Chat Modes table.
git add .
git commit -m "Add [type]: [name] - [brief description]"
# Examples:
# "Add prompt: generate-api-tests - Create integration tests for REST APIs"
# "Add instruction: nestjs-best-practices - NestJS development guidelines"
git push origin prompt/your-prompt-name- Go to your fork on GitHub
- Click "New Pull Request"
- Provide a clear description:
- What it does
- Why it's useful
- How to use it
- Testing you performed
PR Template:
## Description
[Brief description of what this adds]
## Type of Contribution
- [ ] Custom Prompt
- [ ] Custom Instruction
- [ ] Chat Mode/Agent
- [ ] MCP Configuration
- [ ] Documentation
- [ ] Bug Fix
## Use Case
[When/why would someone use this?]
## Testing Performed
- [ ] Tested on [X] different scenarios
- [ ] YAML frontmatter validates
- [ ] Works in VS Code Copilot Chat
- [ ] Documentation updated
## Screenshots/Examples (optional)
[If helpful, show before/after or example output]- Maintainers may request changes
- Address feedback promptly
- Update your PR with requested modifications
- Use proper heading hierarchy (H1 → H2 → H3)
- Add language identifiers to code fences:
```typescript - Use bold for emphasis,
codefor technical terms - Include blank lines between sections
- Keep lines under 120 characters when possible
- Clear and concise: Avoid unnecessary jargon
- Action-oriented: Use active voice ("Generate tests" not "Tests will be generated")
- Specific: Provide concrete examples, not abstract concepts
- Inclusive: Use "we" and "you", avoid assumptions about skill level
- Must be syntactically correct
- Include all necessary imports/setup
- Use realistic variable names
- Add comments for complex logic
- Show expected output when relevant
Please avoid:
- ❌ Company-specific or proprietary prompts
- ❌ Prompts that require paid services without free tiers
- ❌ Untested or experimental prompts
- ❌ Duplicates of existing prompts (search first!)
- ❌ Prompts with hardcoded secrets/credentials
- ❌ Overly broad prompts ("make code better")
- ❌ Framework-specific prompts without clear value
Found a bug or have a suggestion?
- Search existing issues first to avoid duplicates
- Open a new issue with:
- Clear, descriptive title
- Steps to reproduce (for bugs)
- Expected vs. actual behavior
- VS Code version, Copilot version
- Prompt name and version (if applicable)
- Open an issue with the
questionlabel - Check existing documentation first
- Be specific about what you're trying to achieve
- Be respectful and professional
- Provide constructive feedback
- Focus on the contribution, not the contributor
- Help create a welcoming environment for all
Contributors will be:
- Listed in PR history
- Credited in release notes (for significant contributions)
- Mentioned in related videos/content (when applicable)
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping make Copilot Kit better for everyone! 🚀
If you have questions about contributing, feel free to open an issue or reach out:
- YouTube: IKcode Igor Wnek
- BlueSky: @ikcode.dev