Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Set up complete GitHub Copilot configuration for a new project based on technology stack
.claude/skills/github-copilot-starter/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | — | — |
| case-03 | ✗→✓ | ▲ Improved | — | — |
| case-07 | ✗→✓ | ▲ Improved | — | — |
| case-14 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
You are a GitHub Copilot setup specialist. Your task is to create a complete, production-ready GitHub Copilot configuration for a new project based on the specified technology stack.
Ask the user for the following information if not provided:
copilot-setup-steps.yml)Based on the provided stack, create the following files in the appropriate directories:
.github/copilot-instructions.mdMain repository instructions that apply to all Copilot interactions. This is the most important file — Copilot reads it for every interaction in the repository.
Use this structure:
md# {Project Name} — Copilot Instructions ## Project Overview Brief description of what this project does and its primary purpose. ## Tech Stack List the primary language, frameworks, and key dependencies. ## Conventions - Naming: describe naming conventions for files, functions, variables - Structure: describe how the codebase is organized - Error handling: describe the project's approach to errors and exceptions ## Workflow - Describe PR conventions, branch naming, and commit style - Reference specific instruction files for detailed standards: - Language guidelines: `.github/instructions/{language}.instructions.md` - Testing: `.github/instructions/testing.instructions.md` - Security: `.github/instructions/security.instructions.md` - Documentation: `.github/instructions/documentation.instructions.md` - Performance: `.github/instructions/performance.instructions.md` - Code review: `.github/instructions/code-review.instructions.md`
.github/instructions/ DirectoryCreate specific instruction files:
{primaryLanguage}.instructions.md - Language-specific guidelinestesting.instructions.md - Testing standards and practicesdocumentation.instructions.md - Documentation requirementssecurity.instructions.md - Security best practicesperformance.instructions.md - Performance optimization guidelinescode-review.instructions.md - Code review standards and GitHub review guidelines.github/skills/ DirectoryCreate reusable skills as self-contained folders:
setup-component/SKILL.md - Component/module creationwrite-tests/SKILL.md - Test generationcode-review/SKILL.md - Code review assistancerefactor-code/SKILL.md - Code refactoringgenerate-docs/SKILL.md - Documentation generationdebug-issue/SKILL.md - Debugging assistance.github/agents/ DirectoryAlways create these 4 agents:
software-engineer.agent.mdarchitect.agent.mdreviewer.agent.mddebugger.agent.mdFor each, fetch the most specific match from awesome-copilot agents. If none exists, use the generic template.
Agent Attribution: When using content from awesome-copilot agents, add attribution comments:
markdown<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/agents/[filename].agent.md -->
.github/workflows/ Directory (only if user uses GitHub Actions)Skip this section entirely if the user answered "no" to GitHub Actions.
Create Coding Agent workflow file:
copilot-setup-steps.yml - GitHub Actions workflow for Coding Agent environment setupCRITICAL: The workflow MUST follow this exact structure:
copilot-setup-stepsFor each file, follow these principles:
MANDATORY FIRST STEP: Always use the fetch tool to research existing patterns before creating any content:
Primary Approach: Reference and adapt existing instructions from awesome-copilot repository:
Attribution Format: When using content from awesome-copilot, add this comment at the top of the file:
md<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/instructions/[filename].instructions.md -->
Examples:
md<!-- Based on: https://github.com/github/awesome-copilot/blob/main/instructions/react.instructions.md --> --- applyTo: "**/*.jsx,**/*.tsx" description: "React development best practices" --- # React Development Guidelines ...
md<!-- Inspired by: https://github.com/github/awesome-copilot/blob/main/instructions/java.instructions.md --> <!-- and: https://github.com/github/awesome-copilot/blob/main/instructions/spring-boot.instructions.md --> --- applyTo: "**/*.java" description: "Java Spring Boot development standards" --- # Java Spring Boot Guidelines ...
Secondary Approach: If no awesome-copilot instructions exist, create SIMPLE GUIDELINES ONLY:
STRICTLY AVOID in .instructions.md files:
CORRECT .instructions.md content:
Research Strategy with fetch tool:
Fetch these awesome-copilot directories:
Awesome-Copilot Areas to Check:
Ensure all files follow these conventions:
project-root/
├── .github/
│ ├── copilot-instructions.md
│ ├── instructions/
│ │ ├── [language].instructions.md
│ │ ├── testing.instructions.md
│ │ ├── documentation.instructions.md
│ │ ├── security.instructions.md
│ │ ├── performance.instructions.md
│ │ └── code-review.instructions.md
│ ├── skills/
│ │ ├── setup-component/
│ │ │ └── SKILL.md
│ │ ├── write-tests/
│ │ │ └── SKILL.md
│ │ ├── code-review/
│ │ │ └── SKILL.md
│ │ ├── refactor-code/
│ │ │ └── SKILL.md
│ │ ├── generate-docs/
│ │ │ └── SKILL.md
│ │ └── debug-issue/
│ │ └── SKILL.md
│ ├── agents/
│ │ ├── software-engineer.agent.md
│ │ ├── architect.agent.md
│ │ ├── reviewer.agent.md
│ │ └── debugger.agent.md
│ └── workflows/ # only if GitHub Actions is used
│ └── copilot-setup-steps.ymlUse this structure for all files:
Instructions (.instructions.md):
md--- applyTo: "**/*.{lang-ext}" description: "Development standards for {Language}" --- # {Language} coding standards Apply the repository-wide guidance from `../copilot-instructions.md` to all code. ## General Guidelines - Follow the project's established conventions and patterns - Prefer clear, readable code over clever abstractions - Use the language's idiomatic style and recommended practices - Keep modules focused and appropriately sized <!-- Adapt the sections below to match the project's specific technology choices and preferences -->
Skills (SKILL.md):
md--- name: {skill-name} description: {Brief description of what this skill does} --- # {Skill Name} {One sentence describing what this skill does. Always follow the repository's established patterns.} Ask for {required inputs} if not provided. ## Requirements - Use the existing design system and repository conventions - Follow the project's established patterns and style - Adapt to the specific technology choices of this stack - Reuse existing validation and documentation patterns
Agents (.agent.md):
md--- description: Generate an implementation plan for new features or refactoring existing code. tools: ['codebase', 'web/fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] model: Claude Sonnet 4 --- # Planning mode instructions You are in planning mode. Your task is to generate an implementation plan for a new feature or for refactoring existing code. Don't make any code edits, just generate a plan. The plan consists of a Markdown document that describes the implementation plan, including the following sections: * Overview: A brief description of the feature or refactoring task. * Requirements: A list of requirements for the feature or refactoring task. * Implementation Steps: A detailed list of steps to implement the feature or refactoring task. * Testing: A list of tests that need to be implemented to verify the feature or refactoring task.
copilot-setup-steps.yml) — skip if user does not use GitHub ActionsAfter creating all files, provide the user with:
Before completing, verify:
The copilot-setup-steps.yml workflow MUST follow this exact format and KEEP IT SIMPLE:
yamlname: "Copilot Setup Steps" on: workflow_dispatch: push: paths: - .github/workflows/copilot-setup-steps.yml pull_request: paths: - .github/workflows/copilot-setup-steps.yml jobs: # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. copilot-setup-steps: runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout code uses: actions/checkout@v5 # Add ONLY basic technology-specific setup steps here
KEEP WORKFLOWS SIMPLE - Only include essential steps:
Node.js/JavaScript:
yaml- name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "20" cache: "npm" - name: Install dependencies run: npm ci - name: Run linter run: npm run lint - name: Run tests run: npm test
Python:
yaml- name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.11" - name: Install dependencies run: pip install -r requirements.txt - name: Run linter run: flake8 . - name: Run tests run: pytest
Java:
yaml- name: Set up JDK uses: actions/setup-java@v4 with: java-version: "17" distribution: "temurin" - name: Build with Maven run: mvn compile - name: Run tests run: mvn test
AVOID in workflows:
INCLUDE only:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.