skills/github-copilot-starter/SKILL.md
Set up complete GitHub Copilot configuration for a new project based on technology stack
npx skillsauth add williamlimasilva/.copilot github-copilot-starterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
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.
.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/prompts/ DirectoryCreate reusable prompt files:
setup-component.prompt.md - Component/module creationwrite-tests.prompt.md - Test generationcode-review.prompt.md - Code review assistancerefactor-code.prompt.md - Code refactoringgenerate-docs.prompt.md - Documentation generationdebug-issue.prompt.md - Debugging assistance.github/agents/ DirectoryCreate specialized chat modes:
architect.agent.md - Architecture planning modereviewer.agent.md - Code review modedebugger.agent.md - Debugging modeChat Mode Attribution: When using content from awesome-copilot chatmodes, add attribution comments:
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/agents/[filename].agent.md -->
.github/workflows/ DirectoryCreate 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:
<!-- 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:
STRICTLY AVOID in .instructions.md files:
CORRECT .instructions.md content:
Research Strategy with fetch tool:
Fetch these awesome-copilot directories:
Awesome-Copilot Collections 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
│ ├── prompts/
│ │ ├── setup-component.prompt.md
│ │ ├── write-tests.prompt.md
│ │ ├── code-review.prompt.md
│ │ ├── refactor-code.prompt.md
│ │ ├── generate-docs.prompt.md
│ │ └── debug-issue.prompt.md
│ ├── agents/
│ │ ├── architect.agent.md
│ │ ├── reviewer.agent.md
│ │ └── debugger.agent.md
│ └── workflows/
│ └── copilot-setup-steps.yml
Use this frontmatter structure for all files:
Instructions (.instructions.md):
---
applyTo: "**/*.ts,**/*.tsx"
---
# Project coding standards for TypeScript and React
Apply the [general coding guidelines](./general-coding.instructions.md) to all code.
## TypeScript Guidelines
- Use TypeScript for all new code
- Follow functional programming principles where possible
- Use interfaces for data structures and type definitions
- Prefer immutable data (const, readonly)
- Use optional chaining (?.) and nullish coalescing (??) operators
## React Guidelines
- Use functional components with hooks
- Follow the React hooks rules (no conditional hooks)
- Use React.FC type for components with children
- Keep components small and focused
- Use CSS modules for component styling
Prompts (.prompt.md):
---
agent: 'agent'
model: Claude Sonnet 4
tools: ['githubRepo', 'codebase']
description: 'Generate a new React form component'
---
Your goal is to generate a new React form component based on the templates in #githubRepo contoso/react-templates.
Ask for the form name and fields if not provided.
Requirements for the form:
* Use form design system components: [design-system/Form.md](../docs/design-system/Form.md)
* Use `react-hook-form` for form state management:
* Always define TypeScript types for your form data
* Prefer *uncontrolled* components using register
* Use `defaultValues` to prevent unnecessary rerenders
* Use `yup` for validation:
* Create reusable validation schemas in separate files
* Use TypeScript types to ensure type safety
* Customize UX-friendly validation rules
Chat Modes (.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.
copilot-setup-steps.yml)After 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:
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:
INCLUDE only:
development
Anxiety-aware, evidence-driven collaboration for stalled or high-stakes work when a user says uncertainty, repeated setbacks, or lack of visible progress is causing significant anxiety or distress. Use immediately when explicitly invoked; when this fit is only inferred from the user's own account, ask permission before applying it. Preserve the user's ideal and turn grounded perspective-taking into persistent, bounded problem solving. Do not use to diagnose, provide therapy, manufacture certainty, or lower goals for reassurance.
development
Build, review, debug, package, and test Roslyn diagnostic analyzers, code fix providers, and incremental source generators. Use for DiagnosticAnalyzer, CodeFixProvider, IIncrementalGenerator, IOperation analysis, Microsoft.CodeAnalysis dependency pinning, Roslyn test harnesses, C#/VB tests, and analyzer NuGet packaging.
testing
Migrates a project that uses checked-in .designer.cs files behind .resx to using a source-generator instead
development
Polish any GitHub repository's surface — labels (emoji rating tiers, P0–P3 priority, impact severity), issue forms, PR template, CI workflows, CODEOWNERS, rulesets, docs. Repo meta & config only — no code logic touched. Use when creating a new repo or polishing an existing one.