github-copilot

AI-powered coding assistant providing inline suggestions, chat interface, code review, and autonomous coding agent across IDEs and GitHub.com

16 stars

Best use case

github-copilot is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

AI-powered coding assistant providing inline suggestions, chat interface, code review, and autonomous coding agent across IDEs and GitHub.com

Teams using github-copilot should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/github-copilot/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/ai-agents/github-copilot/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/github-copilot/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How github-copilot Compares

Feature / Agentgithub-copilotStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

AI-powered coding assistant providing inline suggestions, chat interface, code review, and autonomous coding agent across IDEs and GitHub.com

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# GitHub Copilot

GitHub Copilot is an AI coding assistant that helps you write code faster with less effort, allowing you to focus more on problem-solving and collaboration. It provides real-time code suggestions, an interactive chat interface, automated code review, and autonomous coding capabilities.

## Key Features

- **Inline Code Suggestions** - Autocomplete-style suggestions as you type
- **Next Edit Suggestions** - Predicts where and what edits may be needed
- **Copilot Chat** - Interactive AI assistant for coding questions
- **Code Review** - Automated PR review with suggested changes
- **Coding Agent** - Autonomous code changes from issue to PR
- **PR Summaries** - Auto-generated pull request descriptions
- **Multi-File Editing** - Edit Mode and Agent Mode for complex changes
- **MCP Integration** - Extend functionality via Model Context Protocol
- **Custom Instructions** - Repository and path-specific guidance
- **Alternative Models** - Claude and Gemini model options

## Supported Environments

| Environment | Inline Suggestions | Chat | Code Review |
|-------------|-------------------|------|-------------|
| VS Code | ✅ | ✅ | ✅ |
| Visual Studio | ✅ | ✅ | ✅ |
| JetBrains IDEs | ✅ | ✅ | ✅ |
| Xcode | ✅ | ✅ | ✅ |
| Eclipse | ✅ | ✅ | ✅ |
| Vim/Neovim | ✅ | ❌ | ❌ |
| GitHub.com | ❌ | ✅ | ✅ |
| GitHub Mobile | ❌ | ✅ | ✅ |
| Windows Terminal | ❌ | ✅ | ❌ |

## Plan Tiers

| Feature | Free | Pro/Pro+ | Business | Enterprise |
|---------|------|----------|----------|------------|
| Inline suggestions | Limited | ✅ | ✅ | ✅ |
| Copilot Chat | Limited | ✅ | ✅ | ✅ |
| Code review | ❌ | ✅ | ✅ | ✅ |
| Coding agent | ❌ | ✅ | ✅ | ✅ |
| PR summaries | ❌ | ✅ | ✅ | ✅ |
| Premium AI models | ❌ | ✅ | ✅ | ✅ |
| Custom instructions | ❌ | ✅ | ✅ | ✅ |
| Organization policies | ❌ | ❌ | ✅ | ✅ |
| Audit logs | ❌ | ❌ | ✅ | ✅ |

## Installation

### VS Code

```bash
# Install via Extensions marketplace
# Search for "GitHub Copilot" and "GitHub Copilot Chat"
# Or via command line:
code --install-extension GitHub.copilot
code --install-extension GitHub.copilot-chat
```

### JetBrains IDEs

1. Open **Settings** → **Plugins**
2. Search for "GitHub Copilot"
3. Click **Install** and restart IDE
4. Sign in with GitHub account

### Visual Studio

1. Open **Extensions** → **Manage Extensions**
2. Search for "GitHub Copilot"
3. Download and install
4. Restart Visual Studio

### Vim/Neovim

```vim
" Using vim-plug
Plug 'github/copilot.vim'

" After installation, run:
:Copilot setup
```

### Xcode

1. Install GitHub Copilot for Xcode from Mac App Store
2. Enable the extension in System Preferences → Extensions
3. **Important**: Disable native predictive text to avoid duplicate suggestions

### Eclipse

1. Open **Help** → **Eclipse Marketplace**
2. Search for "GitHub Copilot"
3. Install and restart
4. Manual trigger: `Option+Command+/` (Mac) / `Ctrl+Alt+/` (Windows/Linux)

## Inline Code Suggestions

### How Suggestions Work

Copilot analyzes your code context and generates completions that match your coding style. Suggestions appear as grayed text. Press `Tab` to accept.

### Keyboard Shortcuts

| Action | Mac | Windows/Linux |
|--------|-----|---------------|
| Accept suggestion | `Tab` | `Tab` |
| Reject suggestion | `Esc` | `Esc` |
| Next suggestion | `Option+]` | `Alt+]` |
| Previous suggestion | `Option+[` | `Alt+[` |
| Accept next word | `Cmd+→` | `Ctrl+→` |
| Open suggestions panel | `Ctrl+Enter` | `Ctrl+Enter` |

### Triggering Suggestions

```python
# Write a comment describing what you want
# Copilot will suggest the implementation

# Function to calculate fibonacci sequence
def fibonacci(n):
    # Copilot suggests completion here
```

### Next Edit Suggestions

Next edit suggestions predict where and what edits may be needed based on your ongoing changes:

- **Gutter arrows** indicate suggestion locations
- **Tab** navigates to next suggestion
- **Tab again** accepts the suggestion
- Available in VS Code with `github.copilot.nextEditSuggestions.enabled`

```json
{
  "github.copilot.nextEditSuggestions.enabled": true
}
```

### Language-Specific Configuration

**VS Code settings.json:**
```json
{
  "github.copilot.enable": {
    "*": true,
    "python": true,
    "javascript": true,
    "yaml": false,
    "plaintext": false
  }
}
```

**JetBrains (github-copilot.xml):**
```xml
<component name="github-copilot">
  <option name="languageAllowList">
    <entry key="Python" value="true" />
    <entry key="JavaScript" value="true" />
    <entry key="YAML" value="false" />
  </option>
</component>
```

### IDE-Specific Features

| IDE | Special Feature |
|-----|-----------------|
| VS Code | Next edit suggestions with gutter arrows |
| Visual Studio | Comment suggestions for C#/C++ via `///` or `/**` |
| JetBrains | Multiple suggestions in new tabs via `Cmd+Shift+A` |
| Xcode | Requires disabling native predictive text |
| Eclipse | Manual trigger via `Option+Command+/` |

## Copilot Chat

### Access Methods

- **Chat View** - Side panel for extended conversations
- **Quick Chat** - `Cmd+Shift+I` (Mac) / `Ctrl+Shift+I` (Windows)
- **Inline Chat** - `Cmd+I` (Mac) / `Ctrl+I` (Windows)
- **Smart Actions** - Right-click context menu

### Chat Modes

| Mode | Description | Use Case |
|------|-------------|----------|
| **Ask** | Answer questions about code | Understanding code, learning |
| **Edit** | Manual file selection for changes | Controlled multi-file edits |
| **Agent** | Autonomous multi-file editing | Complex refactoring, features |
| **Plan** | Create implementation plan first | Large changes requiring review |

### Chat Participants (@mentions)

Use `@` to invoke specialized participants:

```
@workspace How is authentication implemented in this project?
@github What are the open issues labeled 'bug'?
@terminal How do I run the test suite?
@vscode How do I configure the debugger?
```

### Slash Commands

Common commands for quick actions:

| Command | Description |
|---------|-------------|
| `/explain` | Explain selected code |
| `/fix` | Fix problems in code |
| `/tests` | Generate unit tests |
| `/doc` | Generate documentation |
| `/simplify` | Simplify complex code |
| `/new` | Create new file/project |
| `/clear` | Clear chat history |

### Chat Variables (#references)

Reference specific context with `#`:

```
#file:src/auth.py Explain this authentication flow
#selection What does this code do?
#codebase Where is the user model defined?
#terminalLastCommand Why did this command fail?
```

### Example Chat Sessions

**Explaining Code:**
```
User: @workspace /explain #file:src/api/routes.py

Copilot: This file defines the API routes for your application...
```

**Generating Tests:**
```
User: /tests Generate unit tests for the UserService class

Copilot: Here are comprehensive unit tests for UserService:
[code block with tests]
```

**Debugging:**
```
User: /fix This function throws a TypeError when input is None

Copilot: The issue is that you're not handling None values.
Here's the fix:
[code block with fix]
```

## Custom Instructions

GitHub Copilot supports three types of custom instructions to guide AI behavior for your repository.

### Instruction Types Overview

| Type | Location | Scope | Use Case |
|------|----------|-------|----------|
| Repository-wide | `.github/copilot-instructions.md` | All files | General coding standards |
| Path-specific | `.github/instructions/*.instructions.md` | Matched files | Language/framework rules |
| Agent-specific | `AGENTS.md`, `CLAUDE.md`, `GEMINI.md` | Model-specific | AI model customization |

### Repository-Wide Instructions

Create `.github/copilot-instructions.md` with natural language instructions:

```markdown
# Copilot Instructions for This Repository

## High-Level Details
- This is a TypeScript monorepo with React frontend and Node.js backend
- Uses pnpm for package management
- Follows clean architecture patterns

## Build Instructions
- Bootstrap: pnpm install
- Build: pnpm build
- Test: pnpm test
- Lint: pnpm lint

## Project Layout
- /apps/web - React frontend (Next.js 14)
- /apps/api - Express.js backend
- /packages/shared - Shared utilities
- /.github/workflows - CI/CD pipelines

## Code Style
- Use TypeScript strict mode
- Prefer functional components in React
- Use async/await over .then() chains

## Validation Steps
- Run pnpm typecheck before committing
- Ensure all tests pass with pnpm test
- Verify no lint errors with pnpm lint
```

**Content Recommendations** (from official docs):
- **High-level details**: Repository summary, size, languages, frameworks
- **Build instructions**: Bootstrap, build, test, run, lint sequences with versions
- **Project layout**: Architectural elements, configuration files, CI/CD workflows
- **Validation steps**: Explicit procedures to verify changes

**Guidelines**:
- Keep instructions under 2 pages (not task-specific)
- Whitespace between instructions is ignored
- Can be single paragraph or separated by blank lines for legibility

### Automatic Instructions Generation

On GitHub.com, Copilot coding agent can generate `.github/copilot-instructions.md` automatically:

1. Open any pull request in your repository
2. Look for the Copilot suggestion in PR comments
3. Click the link to generate instructions
4. Or navigate to repository **Settings** → **Copilot** → **Agents** tab

### Path-Specific Instructions

Create files in `.github/instructions/` with frontmatter specifying glob patterns.

**File naming**: `NAME.instructions.md`

**Single pattern:**
```markdown
---
applyTo: "**/*.ts"
---

# TypeScript Guidelines

- Use strict null checks
- Prefer interfaces over types for object shapes
- Use enums for fixed sets of values
- Document public APIs with JSDoc
```

**Multiple patterns** (comma-separated):
```markdown
---
applyTo: "**/*.ts,**/*.tsx"
---

# TypeScript and React Guidelines

- Use functional components with hooks
- Prefer named exports over default
- Use React.FC for component typing
```

**With agent exclusion:**
```markdown
---
applyTo: "src/api/**/*"
excludeAgent: "code-review"
---

# API Development Guidelines

These instructions apply to coding agent only, not code review.

- Use OpenAPI/Swagger annotations
- Return consistent error responses
- Include rate limiting headers
- Log all requests with correlation IDs
```

### Glob Pattern Reference

| Pattern | Matches |
|---------|---------|
| `*` | All files in current directory |
| `**` or `**/*` | All files recursively |
| `*.py` | Python files in current directory |
| `**/*.ts` | All TypeScript files recursively |
| `**/*.ts,**/*.tsx` | TypeScript and TSX files |
| `src/**/*.py` | Python files in src recursively |
| `src/api/**/*` | All files in src/api recursively |
| `**/subdir/**/*.py` | Python files in any subdir at any depth |
| `app/models/**/*.rb` | Ruby files in app/models |

### Agent Exclusion

Use `excludeAgent` in frontmatter to restrict which Copilot features use the instructions:

```yaml
---
applyTo: "**"
excludeAgent: "code-review"
---
```

| Value | Effect |
|-------|--------|
| `code-review` | Only coding agent uses these instructions |
| `coding-agent` | Only code review uses these instructions |
| (omitted) | Both coding agent and code review use instructions |

### Agent-Specific Instructions

Create model-specific instruction files in repository root:

| File | Purpose |
|------|---------|
| `AGENTS.md` | General agent instructions (all models) |
| `CLAUDE.md` | Claude-specific instructions |
| `GEMINI.md` | Gemini-specific instructions |

**Note**: In VS Code, agent instructions outside workspace root are disabled by default.

### Instruction Priority

Instructions combine automatically with this priority (highest to lowest):

1. **Personal instructions** - User's global settings
2. **Repository instructions** - `.github/copilot-instructions.md`
3. **Path-specific instructions** - Matching `.instructions.md` files
4. **Organization instructions** - Org-wide policies

When instructions conflict, higher priority wins. All applicable non-conflicting instructions combine.

### Enabling Custom Instructions

**VS Code:**
1. Open Settings (`Cmd+,` / `Ctrl+,`)
2. Search for "Code Generation: Use Instruction Files"
3. Enable the toggle

**GitHub.com (Code Review):**
1. Navigate to repository **Settings**
2. Click **Copilot** in sidebar
3. Select **Code review** tab
4. Toggle "Use custom instructions when reviewing pull requests"

### Limitations

- Path-specific instructions on GitHub.com currently support only:
  - Copilot coding agent
  - Code review
- Instructions should not conflict (behavior undefined for conflicts)
- Agent instructions outside workspace root disabled by default in VS Code

## Pull Request Features

### PR Summaries

Generate summaries for pull request descriptions:

1. Create or navigate to a pull request
2. Click the Copilot icon in the description field
3. Select "Summary"
4. Review and edit before posting
5. Provide feedback via thumbs up/down

**Important**: Start with a blank description - Copilot doesn't consider existing content.

**Availability**: Requires Pro, Business, or Enterprise plan (not in Free).

### Commit Message Generation

Copilot can suggest commit messages based on staged changes:

1. Stage your changes
2. Click the Copilot icon in commit message field
3. Review and customize the suggested message

## Code Review

### Requesting Review on GitHub.com

1. Open pull request
2. Click **Reviewers** dropdown
3. Select **Copilot**
4. Wait ~30 seconds for analysis
5. Review inline comments and suggestions

### Requesting Review in IDE

**VS Code:**
- Right-click code → **Generate Code** → **Review**
- Or click **Review** button in Source Control panel

**JetBrains:**
- Click **Copilot: Review Code Changes** in Commit window

**Visual Studio:**
- Click **Review changes with Copilot** in Git Changes

### Applying Suggestions

```markdown
# Copilot suggests:
- Use `const` instead of `let` for immutable values
- Add error handling for network requests
- Extract repeated logic into utility function

# You can:
1. Apply individual suggestions with one click
2. Batch multiple suggestions into single commit
3. Dismiss suggestions you don't agree with
```

### Custom Review Instructions

Add to `.github/copilot-instructions.md`:

```markdown
## Code Review Focus

When reviewing code, prioritize:
1. Security vulnerabilities (SQL injection, XSS)
2. Performance bottlenecks
3. Error handling completeness
4. API contract compliance
5. Test coverage gaps
```

## Coding Agent

The Copilot coding agent can autonomously implement features from issues to pull requests.

### Using the Coding Agent

1. Create or navigate to a GitHub issue
2. Assign the issue to Copilot
3. Copilot creates a branch and implements changes
4. Review the generated PR
5. Request modifications via comments if needed

### Agent Capabilities

- Read and understand issue requirements
- Create implementation plan
- Write code across multiple files
- Run tests and fix failures
- Respond to review feedback
- Iterate until approved

### Agent Repository Control

Control which repositories the coding agent can access:

| Setting | Description |
|---------|-------------|
| No repositories | Completely disabled |
| All repositories | Enabled everywhere |
| Selected repositories | Manual repository selection |

### Best Practices for Agent

```markdown
# Write detailed issue descriptions:

## Feature: Add user profile page

### Requirements
- Display user avatar, name, and bio
- Show list of recent posts
- Include edit profile button for own profile
- Responsive design for mobile

### Technical Notes
- Use existing UserService for data
- Follow existing page layout patterns
- Add unit tests for new components

### Acceptance Criteria
- [ ] Profile page renders correctly
- [ ] Edit button only shows for own profile
- [ ] Mobile responsive
- [ ] Tests pass
```

## Privacy & Policy Settings

### Public Code Matching

Control whether Copilot suggests code matching public repositories:

- Checks ~150 characters of surrounding context
- Matching or near-matching suggestions won't display when blocked
- Configure in personal settings or organization policies

**Note**: Enterprise Cloud members cannot independently configure this - inherits from organization.

### Data Collection

Choose whether GitHub collects prompts and suggestions:

- **Default**: Data NOT used for AI model training
- Optional: Allow collection for product improvement
- Configure in personal Copilot settings

### Alternative AI Models

Enable additional AI model options:

| Model | Default | Configurable |
|-------|---------|--------------|
| GPT-4 | ✅ Enabled | N/A |
| Claude | ❌ Disabled | ✅ Yes |
| Gemini | ❌ Disabled | ✅ Yes |

### Web Search (Bing)

Copilot Chat can use Bing for current events:

- **Default**: Disabled
- Enable for specialized topics or recent information
- Toggle in personal settings

## MCP Integration

### What is MCP?

Model Context Protocol (MCP) is an open standard for connecting AI models with external tools and data sources.

### GitHub MCP Server

Install and configure the GitHub MCP server:

```json
// VS Code settings.json
{
  "github.copilot.chat.mcp.servers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/github-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "${env:GITHUB_TOKEN}"
      }
    }
  }
}
```

### Available Toolsets

| Toolset | Capabilities |
|---------|--------------|
| `repos` | Repository operations |
| `issues` | Issue management |
| `pulls` | Pull request operations |
| `code_security` | Security scanning |
| `experiments` | Experimental features |

### Using MCP Tools in Chat

```
User: @github Create an issue for the login bug

Copilot: [Uses MCP to create issue]
Issue #123 created: "Fix login redirect loop"
```

## Prompt Engineering Best Practices

### Selecting the Right Tool

**Inline Suggestions Excel At:**
- Real-time code completion while typing
- Generating boilerplate and repetitive patterns
- Converting natural language comments into code
- Test-driven development workflows

**Chat Interface Works Best For:**
- Answering conceptual questions about existing code
- Building large code blocks iteratively
- Using built-in keywords and skills for specific tasks
- Adopting specialized personas (e.g., code reviewer role)

### Effective Prompt Patterns

1. **Be Specific**
   ```
   ❌ Write a function
   ✅ Write a TypeScript function that validates email addresses using regex
   ```

2. **Provide Context**
   ```
   ❌ Fix this code
   ✅ Fix the null pointer error on line 45 when user.profile is undefined
   ```

3. **Include Examples**
   ```
   Write a function that formats dates
   Input: "2024-01-15"
   Output: "January 15, 2024"
   ```

4. **Break Down Complex Tasks**
   ```
   Instead of: "Build a user authentication system"

   Ask step by step:
   1. Create user model with email and password hash
   2. Add registration endpoint with validation
   3. Add login endpoint with JWT generation
   4. Add middleware for protected routes
   ```

5. **Specify Constraints**
   ```
   Write a sorting function that:
   - Handles null values gracefully
   - Works with arrays up to 10,000 items
   - Maintains stable sort order
   ```

### Role-Playing for Better Results

```
Act as a senior security engineer and review this authentication code
for vulnerabilities:

[paste code]

Focus on:
- Input validation
- Token handling
- Session management
- OWASP Top 10 risks
```

### Context Management

**Optimize Response Quality:**
- Keep only relevant files open in your IDE
- Remove unhelpful previous prompts from chat
- Reference specific repositories and files
- Use IDE keywords to focus on particular tasks
- Start new conversations when context becomes cluttered

**Iterative Refinement:**
- Rephrase prompts if initial responses aren't helpful
- Review multiple inline suggestions using keyboard shortcuts
- Provide feedback (thumbs up/down) to improve suggestions

### What Copilot Does Well

- ✅ Writing tests and repetitive code
- ✅ Debugging and correcting syntax
- ✅ Explaining and commenting code
- ✅ Generating regular expressions
- ✅ Converting comments to code
- ✅ Refactoring and simplifying

### What to Validate Carefully

- ⚠️ Business logic accuracy
- ⚠️ Security-sensitive code
- ⚠️ Performance-critical sections
- ⚠️ External API integrations
- ⚠️ Database queries

### Code Validation Checklist

Before accepting suggestions:
1. Request explanations of suggested code
2. Evaluate functionality correctness
3. Check for security vulnerabilities
4. Assess readability and maintainability
5. Run linting and code scanning
6. Verify against project conventions

## Configuration Reference

### VS Code Settings

```json
{
  // Enable/disable Copilot
  "github.copilot.enable": {
    "*": true
  },

  // Enable next edit suggestions (preview)
  "github.copilot.nextEditSuggestions.enabled": true,

  // Custom instructions file
  "github.copilot.chat.codeGeneration.useInstructionFiles": true,

  // Inline suggestions behavior
  "github.copilot.inlineSuggest.enable": true,

  // Chat settings
  "github.copilot.chat.localeOverride": "en"
}
```

### JetBrains Settings

Navigate to **Settings** → **Tools** → **GitHub Copilot**:

- **Enable Copilot**: Toggle on/off
- **Languages**: Configure per-language enablement
- **Update Channel**: Stable or Nightly
- **Automatic Completion**: Enable/disable auto-suggestions

### Disabling for Specific Files

**VS Code:**
```json
{
  "github.copilot.enable": {
    "*.env": false,
    "*.pem": false,
    "*.key": false
  }
}
```

**gitignore-style exclusion:**
Create `.github/copilot-ignore`:
```
# Exclude sensitive files
*.env
secrets/
credentials.json
```

## Troubleshooting

### Suggestions Not Appearing

1. Check Copilot status icon (should be highlighted)
2. Verify language is enabled in settings
3. Check for conflicting extensions
4. Re-authenticate: Sign out and back in
5. Check if duplication detection is limiting suggestions

### Chat Not Responding

1. Check internet connection
2. Verify Copilot subscription is active
3. Try different AI model if available
4. Clear chat history with `/clear`

### Slow Performance

1. Reduce open files/tabs
2. Disable for large files
3. Check proxy/firewall settings
4. Update to latest extension version

### Authorization Issues

1. Go to GitHub Settings → Applications
2. Find GitHub Copilot in OAuth Apps
3. Revoke access
4. Re-authorize in IDE

### Limited Suggestions

If receiving fewer suggestions than expected:
- Duplication detection may be enabled
- Check personal settings for public code matching
- Review organization policy settings

## Resources

- **Documentation**: https://docs.github.com/en/copilot
- **VS Code Extension**: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
- **JetBrains Plugin**: https://plugins.jetbrains.com/plugin/17718-github-copilot
- **GitHub MCP Server**: https://github.com/github/github-mcp-server
- **Changelog**: https://github.blog/changelog/label/copilot/

## Enterprise Metrics & ROI Measurement

### Engineering System Success Playbook (ESSP) Framework

GitHub's ESSP provides a structured approach to measuring Copilot's impact on engineering teams using the SPACE framework:

| SPACE Dimension | Copilot Metrics |
|-----------------|-----------------|
| **Satisfaction** | Copilot satisfaction score (1-5 survey), tooling satisfaction |
| **Performance** | Code quality, security maintainability scores |
| **Activity** | PRs merged per developer, suggestion acceptance rates |
| **Communication** | PR review turnaround, collaboration patterns |
| **Efficiency** | Lead time reduction, AI leverage percentage |

### Copilot Satisfaction Metric

Measure developer satisfaction with Copilot through periodic surveys:

**Survey Question**: "How satisfied are you with GitHub Copilot?"

| Score | Interpretation |
|-------|----------------|
| 5 | Extremely satisfied - Core part of workflow |
| 4 | Satisfied - Regular productive use |
| 3 | Neutral - Occasional use |
| 2 | Dissatisfied - Limited value |
| 1 | Very dissatisfied - Not using |

**Measurement Guidelines**:
- Survey quarterly for trend analysis
- Segment by team, role, and language
- Track alongside adoption metrics
- Include qualitative feedback questions

### AI Leverage Calculation

Calculate the ROI of Copilot investment:

```
AI Leverage = (Time Savings × Staff Salary) / AI Costs × 100
```

**Example Calculation**:
```
Time saved per developer: 10 hours/week
Team size: 50 developers
Average hourly rate: $75
Copilot cost per seat: $19/month

Weekly savings: 10 × 50 × $75 = $37,500
Monthly savings: $37,500 × 4 = $150,000
Monthly cost: 50 × $19 = $950

AI Leverage = ($150,000 / $950) × 100 = 15,789%
```

**Data Collection**:
- Time saved: Developer surveys or time tracking
- Acceptance rates: GitHub analytics dashboard
- Cost: License and infrastructure costs
- Productivity gains: PRs merged, cycle time improvements

### Four Engineering Success Zones

Track Copilot's impact across these key areas:

| Zone | Metrics | Copilot Impact |
|------|---------|----------------|
| **Quality** | Change failure rate, code security score | Catches bugs early, security scanning |
| **Velocity** | Lead time, deployment frequency | Faster code writing, reduced review time |
| **Developer Happiness** | Satisfaction scores, flow state | Reduces toil, automates boring tasks |
| **Business Outcomes** | Feature delivery, revenue impact | Faster time-to-market |

### Leading vs Lagging Indicators

**Leading Indicators** (Early signals):
- Copilot suggestion acceptance rate
- Daily active users
- Feature adoption (chat, code review, agent)
- Time to first suggestion acceptance

**Lagging Indicators** (Outcomes):
- Overall productivity improvements
- Code quality metrics over time
- Developer retention rates
- Total development cost reduction

### Enterprise Deployment Recommendations

**Phased Rollout Strategy**:

| Phase | Duration | Scope | Success Criteria |
|-------|----------|-------|------------------|
| Pilot | 4-6 weeks | 1-2 teams (20-50 devs) | 70%+ satisfaction, measurable time savings |
| Expansion | 8-12 weeks | 5-10 teams | Consistent metrics across teams |
| Full rollout | Ongoing | Organization-wide | Established baselines, continuous improvement |

**Success Factors**:
1. Executive sponsorship and clear goals
2. Champion developers for peer support
3. Custom instructions for codebase context
4. Training and enablement programs
5. Regular metrics review and iteration

## Addressing Engineering Antipatterns

Copilot helps teams overcome common engineering antipatterns:

### Big Bang Releases

**Problem**: Large, infrequent releases increase risk and complexity.

**Copilot Solutions**:
- Generate feature flags for incremental rollout
- Automate test creation for smaller PRs
- Suggest refactoring to isolate features

```
User: Help me add a feature flag for the new checkout flow

Copilot: [Generates feature flag implementation with gradual rollout support]
```

### Gold Plating

**Problem**: Adding unnecessary features beyond requirements.

**Copilot Solutions**:
- Focus code review on scope adherence
- Generate tests that match acceptance criteria only
- Suggest simpler implementations

```
User: Review this PR for scope creep. Requirements: [paste requirements]

Copilot: [Identifies code that goes beyond stated requirements]
```

### Overengineering

**Problem**: Overly complex solutions for simple problems.

**Copilot Solutions**:
- Use `/simplify` command on complex code
- Request alternative simpler approaches
- Generate YAGNI-focused implementations

```
User: /simplify This seems overengineered for just caching API responses

Copilot: [Suggests simpler caching approach without unnecessary abstractions]
```

### Technical Debt Accumulation

**Problem**: Shortcuts that degrade maintainability over time.

**Copilot Solutions**:
- Identify tech debt during code review
- Suggest refactoring opportunities
- Generate documentation for legacy code

```
User: Analyze this file for technical debt and suggest improvements

Copilot: [Lists debt items with prioritized refactoring suggestions]
```

### Inadequate Testing

**Problem**: Insufficient test coverage leading to fragile code.

**Copilot Solutions**:
- Auto-generate unit tests with `/tests`
- Suggest edge cases and error scenarios
- Create integration and E2E tests

```
User: /tests Generate comprehensive tests for UserService including edge cases

Copilot: [Creates tests covering happy path, errors, edge cases, and boundary conditions]
```

### Deployment Bottlenecks

**Problem**: Manual or slow deployment processes.

**Copilot Solutions**:
- Generate GitHub Actions workflows
- Automate CI/CD pipeline creation
- Create deployment scripts and documentation

```
User: Create a GitHub Actions workflow for deploying to AWS ECS with staging and production environments

Copilot: [Generates complete CI/CD workflow with environment promotion]
```

### GitHub's Internal Copilot Usage

GitHub reports these internal use cases for Copilot:

| Use Case | Impact |
|----------|--------|
| **Test creation** | Faster test writing, better coverage |
| **Code refactoring** | Cleaner, more maintainable code |
| **GitHub Actions workflows** | Automated CI/CD setup |
| **Documentation** | API docs, code comments |
| **Code explanation** | Onboarding, knowledge sharing |
| **Debugging assistance** | Faster issue resolution |

## Best Practices Summary

1. **Use descriptive comments** to guide suggestions
2. **Open relevant files** to provide context
3. **Break complex tasks** into smaller prompts
4. **Review all suggestions** before accepting
5. **Use custom instructions** for consistency
6. **Provide feedback** to improve suggestions
7. **Stay updated** with new features via changelog
8. **Validate security** of suggested code
9. **Keep context clean** by starting new chats when needed
10. **Select the right tool** - inline vs chat based on task
11. **Measure impact** with ESSP metrics and AI leverage
12. **Deploy strategically** with phased rollout and champions

Related Skills

copilot-sdk

16
from diegosouzapw/awesome-omni-skill

Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent. **PROACTIVE ACTIVATION**: Auto-invoke when building agentic applications or integrating Copilot SDK. **DETECTION**: Check for @github/copilot-sdk imports, copilot dependencies in package.json/pyproject.toml/go.mod. **USE CASES**: Embedding agents in apps, creating custom tools, implementing streaming, managing sessions, connecting to MCP servers.

awesome-copilot-root-typespec-create-agent

16
from diegosouzapw/awesome-omni-skill

Generate a complete TypeSpec declarative agent with instructions, capabilities, and conversation starters for Microsoft 365 Copilot Use when: the task directly matches typespec create agent responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.

awesome-copilot-root-mcp-m365-agent-expert

16
from diegosouzapw/awesome-omni-skill

Expert assistant for building MCP-based declarative agents for Microsoft 365 Copilot with Model Context Protocol integration Use when: the task directly matches mcp m365 agent expert responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.

awesome-copilot-root-mcp-create-declarative-agent

16
from diegosouzapw/awesome-omni-skill

Skill converted from mcp-create-declarative-agent.prompt.md Use when: the task directly matches mcp create declarative agent responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.

awesome-copilot-root-agent-governance

16
from diegosouzapw/awesome-omni-skill

Use when: the task directly matches agent governance responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.

python-github-actions

16
from diegosouzapw/awesome-omni-skill

Complete Python GitHub Actions system. PROACTIVELY activate for: (1) uv-based CI workflows (10-100x faster), (2) Matrix testing across Python versions, (3) Dependency caching with setup-uv, (4) Parallel test execution, (5) Reusable workflows, (6) Publishing to PyPI with trusted publishing, (7) Code coverage with codecov, (8) Security scanning. Provides: Workflow templates, caching config, matrix strategies, composite actions. Ensures fast, reliable CI/CD pipelines.

phoenix-github

16
from diegosouzapw/awesome-omni-skill

Manage GitHub issues, labels, and project boards for the Arize-ai/phoenix repository. Use when filing roadmap issues, triaging bugs, applying labels, managing the Phoenix roadmap project board, or querying issue/project state via the GitHub CLI.

github

16
from diegosouzapw/awesome-omni-skill

Access GitHub repositories via the GitHub REST API. Use this skill when the user wants to interact with GitHub including reading files, creating/updating files, listing repos, managing branches, viewing commits, working with issues, or managing pull requests. All scripts use PEP 723 inline metadata for dependencies and run via `uv run`. Requires GITHUB_TOKEN environment variable (a Personal Access Token with appropriate scopes).

github-workflow-automation

16
from diegosouzapw/awesome-omni-skill

Advanced GitHub Actions workflow automation with AI swarm coordination, intelligent CI/CD pipelines, and comprehensive repository management

github-search

16
from diegosouzapw/awesome-omni-skill

Search GitHub for repos, code, and usage examples using gh CLI. Capabilities: repo discovery, code search, finding library usage patterns, issue/PR search. Actions: search, find, discover repos/code/examples. Keywords: gh, github, search repos, search code, find examples, how to use library, stars, language filter. Use when: finding repositories, searching code patterns, discovering how libraries are used, exploring open source.

github-release-management

16
from diegosouzapw/awesome-omni-skill

Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management

github-ops

16
from diegosouzapw/awesome-omni-skill

Workflow for repository reconnaissance and operations using GitHub CLI (gh). Optimizes token usage by using structured API queries instead of blind file fetching.