
github-copilot-starter
Set up complete GitHub Copilot configuration for a new project based on technology stack
- Installs
- 8.9K
- Last 24h
- —
- Trending rank
- —
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/github/awesome-copilot --skill github-copilot-starter- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads github-copilot-starter automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
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.
Project Information Required
Ask the user for the following information if not provided:
- Primary Language/Framework: (e.g., JavaScript/React, Python/Django, Java/Spring Boot, etc.)
- Project Type: (e.g., web app, API, mobile app, desktop app, library, etc.)
- Additional Technologies: (e.g., database, cloud provider, testing frameworks, etc.)
- Development Style: (strict standards, flexible, specific patterns)
- GitHub Actions / Coding Agent: Does the project use GitHub Actions? (yes/no — determines whether to generate
copilot-setup-steps.yml)
Configuration Files to Create
Based on the provided stack, create the following files in the appropriate directories:
1. .github/copilot-instructions.md
Main 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:
# {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`
2. .github/instructions/ Directory
Create 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
3. .github/skills/ Directory
Create 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
4. .github/agents/ Directory
Always create these 4 agents:
software-engineer.agent.mdarchitect.agent.mdreviewer.agent.mddebugger.agent.md
For 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:
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/agents/[filename].agent.md -->
5. .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 setup
CRITICAL: The workflow MUST follow this exact structure:
- Job name MUST be
copilot-setup-steps - Include proper triggers (workflow_dispatch, push, pull_request on the workflow file)
- Set appropriate permissions (minimum required)
- Customize steps based on the technology stack provided
Content Guidelines
For each file, follow these principles:
MANDATORY FIRST STEP: Always use the fetch tool to research existing patterns before creating any content:
- Fetch specific instruction from awesome-copilot docs: https://github.com/github/awesome-copilot/blob/main/docs/README.instructions.md
- Fetch specific agents from awesome-copilot docs: https://github.com/github/awesome-copilot/blob/main/docs/README.agents.md
- Fetch specific skills from awesome-copilot docs: https://github.com/github/awesome-copilot/blob/main/docs/README.skills.md
- Check for existing patterns that match the technology stack
Primary Approach: Reference and adapt existing instructions from awesome-copilot repository:
- Use existing content when available - don't reinvent the wheel
- Adapt proven patterns to the specific project context
- Combine multiple examples if the stack requires it
- ALWAYS add attribution comments when using awesome-copilot content
Attribution Format: When using content from awesome-copilot, add this comment at the top of the file:
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/instructions/[filename].instructions.md -->
Examples:
<!-- 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
...
<!-- 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:
- High-level principles and best practices (2-3 sentences each)
- Architectural patterns (mention patterns, not implementation)
- Code style preferences (naming conventions, structure preferences)
- Testing strategy (approach, not test code)
- Documentation standards (format, requirements)
STRICTLY AVOID in .instructions.md files:
- ❌ Writing actual code examples or snippets
- ❌ Detailed implementation steps
- ❌ Test cases or specific test code
- ❌ Boilerplate or template code
- ❌ Function signatures or class definitions
- ❌ Import statements or dependency lists
CORRECT .instructions.md content:
- ✅ "Use descriptive variable names and follow camelCase"
- ✅ "Prefer composition over inheritance"
- ✅ "Write unit tests for all public methods"
- ✅ "Use TypeScript strict mode for better type safety"
- ✅ "Follow the repository's established error handling patterns"
Research Strategy with fetch tool:
- Check awesome-copilot first - Always start here for ALL file types
- Look for exact tech stack matches (e.g., React, Node.js, Spring Boot)
- Look for general matches (e.g., frontend agents, testing skills, review workflows)
- Check the docs and relevant directories directly for related files
- Prefer repo-native examples over inventing new formats
- Only create custom content if nothing relevant exists
Fetch these awesome-copilot directories:
- Instructions: https://github.com/github/awesome-copilot/tree/main/instructions
- Agents: https://github.com/github/awesome-copilot/tree/main/agents
- Skills: https://github.com/github/awesome-copilot/tree/main/skills
Awesome-Copilot Areas to Check:
- Frontend Web Development: React, Angular, Vue, TypeScript, CSS frameworks
- C# .NET Development: Testing, documentation, and best practices
- Java Development: Spring Boot, Quarkus, testing, documentation
- Database Development: PostgreSQL, SQL Server, and general database best practices
- Azure Development: Infrastructure as Code, serverless functions
- Security & Performance: Security frameworks, accessibility, performance optimization
File Structure Standards
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.yml
YAML Frontmatter Template
Use this structure for all files:
Instructions (.instructions.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):
---
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):
---
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.
Execution Steps
- Gather project information - Ask the user for technology stack, project type, and development style if not provided
- Research awesome-copilot patterns:
- Use the fetch tool to explore awesome-copilot directories
- Check instructions: https://github.com/github/awesome-copilot/tree/main/instructions
- Check agents: https://github.com/github/awesome-copilot/tree/main/agents (especially for matching expert agents)
- Check skills: https://github.com/github/awesome-copilot/tree/main/skills
- Document all sources for attribution comments
- Create the directory structure
- Generate main copilot-instructions.md with project-wide standards
- Create language-specific instruction files using awesome-copilot references with attribution
- Generate reusable skills tailored to project needs
- Set up specialized agents, fetching from awesome-copilot where applicable (especially for expert engineer agents matching the tech stack)
- Create the GitHub Actions workflow for Coding Agent (
copilot-setup-steps.yml) — skip if user does not use GitHub Actions - Validate all files follow proper formatting and include necessary frontmatter
Post-Setup Instructions
After creating all files, provide the user with:
- VS Code setup instructions - How to enable and configure the files
- Usage examples - How to use each skill and agent
- Customization tips - How to modify files for their specific needs
- Testing recommendations - How to verify the setup works correctly
Quality Checklist
Before completing, verify:
- All authored Copilot markdown files have proper YAML frontmatter where required
- Language-specific best practices are included
- Files reference each other appropriately using Markdown links
- Skills and agents include relevant descriptions; include MCP/tool-related metadata only when the target Copilot environment actually supports or requires it
- Instructions are comprehensive but not overwhelming
- Security and performance considerations are addressed
- Testing guidelines are included
- Documentation standards are clear
- Code review standards are defined
Workflow Template Structure (only if GitHub Actions is used)
The copilot-setup-steps.yml workflow MUST follow this exact format and KEEP IT SIMPLE:
name: "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:
- 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:
- 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:
- 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:
- ❌ Complex configuration setups
- ❌ Multiple environment configurations
- ❌ Advanced tooling setup
- ❌ Custom scripts or complex logic
- ❌ Multiple package managers
- ❌ Database setup or external services
INCLUDE only:
- ✅ Language/runtime setup
- ✅ Basic dependency installation
- ✅ Simple linting (if standard)
- ✅ Basic test running
- ✅ Standard build commands
FAQ
What does the github-copilot-starter skill do?
Set up complete GitHub Copilot configuration for a new project based on technology stack
How do I install github-copilot-starter?
Run npx skills add https://github.com/github/awesome-copilot --skill github-copilot-starter in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/github-copilot-starter/ (personal) or .claude/skills/github-copilot-starter/ (project).
Which AI agents can use github-copilot-starter?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is github-copilot-starter safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed; Runlayer passed; ZeroLeaks passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains github-copilot-starter?
It is published by github in github/awesome-copilot, and it is an official skill from the maker of the technology it covers. It has 8,949 recorded installs.
More from github/awesome-copilot
git-commit
github/awesome-copilot
Use this skill when the user wants to make a Git commit or split changes into more than one commit. Also use it when the user types "/commit" or asks for a conventional commit. The skill examines the diff, stages the related files, writes a Conventional Commits message, and runs git commit. Do not use it when the user wants only a commit message and no commit. Do not use it to push, open a pull request, rebase, or change the commit history.
excalidraw-diagram-generator
github/awesome-copilot
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
multi-stage-dockerfile
github/awesome-copilot
Create optimized multi-stage Dockerfiles for any language or framework
documentation-writer
github/awesome-copilot
Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.
prd
github/awesome-copilot
Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.
refactor
github/awesome-copilot
Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.