diff --git a/.github/ISSUE_TEMPLATE/feature-template.yaml b/.github/ISSUE_TEMPLATE/feature-template.yaml new file mode 100644 index 0000000..6440b61 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-template.yaml @@ -0,0 +1,51 @@ +name: Feature Request +description: Suggest a new Copilot instruction, prompt, skill or agent pattern or improvement +title: "[FEATURE] " +labels: ["Feature", "Needs Triage"] +body: +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the feature. + options: + - label: I have searched the existing issues + required: true +- type: dropdown + id: file-type + attributes: + label: What type of feature is this? + multiple: true + options: + - Instruction + - Prompt + - Custom Agent + - Skill +- type: textarea + id: feature-description + attributes: + label: Describe the Solution + description: A concise description of the proposed solution. + validations: + required: true +- type: textarea + id: alternatives + attributes: + label: Describe Alternatives + description: Mention any patterns, workarounds, or tools you've tried that help Copilot behave better. + validations: + required: false +- type: textarea + id: additional-context + attributes: + label: Additional Context + description: List relevant languages/frameworks (e.g., Node.js, Terraform), link to examples, or add screenshots. + validations: + required: false +- type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our Code of Conduct. + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml new file mode 100644 index 0000000..bf1280f --- /dev/null +++ b/.github/workflows/lint.yaml @@ -0,0 +1,40 @@ +name: Lint + +on: + push: + branches: [ main ] + pull_request: + types: [opened, synchronize, reopened] + +jobs: + markdown-lint: + runs-on: ubuntu-latest + name: Lint Markdown Files + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + + - name: Install linting tools + run: | + npm install -g markdownlint-cli2 + npm install -g awesome-lint + + - name: Run markdownlint + run: markdownlint-cli2 "**/*.md" "#node_modules" + + - name: Run awesome-lint + run: awesome-lint + + - name: Lint summary + if: failure() + run: echo "❌ Markdown linting failed. Please fix the issues above and try again." + + - name: Lint success + if: success() + run: echo "✅ All markdown files are properly formatted!" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d813cc7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# OS +Thumbs.db +Desktop.ini + +# Editors +.vscode/ +!.vscode/extensions.json +!.vscode/settings.json + +# Node +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +dist/ +build/ + +# Python +__pycache__/ +*.pyc +.pytest_cache/ +.venv/ diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..1dd8622 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,6 @@ +{ + "default": true, + "MD013": false, + "MD033": false, + "MD041": false +} diff --git a/.refs/imgs/awesome-github-copilot.svg b/.refs/imgs/awesome-github-copilot.svg new file mode 100644 index 0000000..3285c45 --- /dev/null +++ b/.refs/imgs/awesome-github-copilot.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="780" height="160" viewBox="0 0 780 160" role="img" aria-label="Awesome Copilot Agents"> + <defs> + <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1"> + <stop offset="0" stop-color="#111827"/> + <stop offset="1" stop-color="#1f2937"/> + </linearGradient> + </defs> + <rect width="780" height="160" rx="18" fill="url(#bg)"/> + <rect x="18" y="18" width="744" height="124" rx="14" fill="#0b1220" opacity="0.55"/> + <text x="48" y="78" fill="#ffffff" font-family="ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial" font-size="42" font-weight="700">Awesome Copilot Agents</text> + <text x="48" y="116" fill="#cbd5e1" font-family="ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial" font-size="20">Instructions • Prompts • Skills • MCPs • Custom Agents</text> +</svg> diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md new file mode 100644 index 0000000..facd182 --- /dev/null +++ b/CODE-OF-CONDUCT.md @@ -0,0 +1,31 @@ +# Code of Conduct + +This project follows the Contributor Covenant Code of Conduct. + +## Our Pledge + +We pledge to make participation in our community a harassment-free experience for everyone. + +## Our Standards + +Examples of behavior that contributes to a positive environment include: + +- Being respectful and considerate +- Giving and gracefully accepting constructive feedback +- Focusing on what is best for the community + +Examples of unacceptable behavior include: + +- Harassment or discrimination +- Trolling, insulting/derogatory comments, and personal attacks +- Publishing others' private information without permission + +## Enforcement + +Project maintainers are responsible for clarifying and enforcing standards. + +Report issues to the maintainers via GitHub issues or discussions in this repository. + +## Attribution + +Adapted from the Contributor Covenant, version 2.1: <https://www.contributor-covenant.org/version/2/1/code_of_conduct/> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..7450ff7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,64 @@ +# Contributing + +Thanks for contributing to `ReactSphere/awesome-copilot-agents`. + +## What To Contribute + +We accept: + +- Instructions: `*.instructions.md` +- Prompts: `*.prompt.md` +- Custom agents: `*.agent.md` +- Skills: folders that contain a `SKILL.md` +- MCP links: additions to the README list + +## Folder Layout + +- `instructions/` +- `prompts/` +- `agents/` +- `skills/` +- `.refs/` (assets used by docs) + +## Conventions + +### Markdown Front Matter + +Prefer YAML front matter at the top of instruction, prompt, and agent files. + +Example: + +```yaml +--- +description: Short description +applyTo: "**/*.ts" +--- +``` + +### Naming + +- Instructions: `something.instructions.md` +- Prompts: `something.prompt.md` +- Agents: `something.agent.md` + +### Content Quality + +- Be specific and actionable. +- Avoid “always do X” rules that conflict with common repositories. +- Prefer a small number of strong constraints over long checklists. + +## Adding A New Entry + +1. Add the markdown file to the appropriate folder. +2. Add a link to it in `README.md` under the correct category. +3. Ensure links are relative where possible. + +## Local Validation (Optional) + +If you use markdown linting in your editor or CI, fix warnings before submitting. + +## Submitting A Pull Request + +1. Create a feature branch. +2. Commit your change with a short, clear message. +3. Open a PR describing what you added and why. diff --git a/README.md b/README.md new file mode 100644 index 0000000..fa63ea2 --- /dev/null +++ b/README.md @@ -0,0 +1,101 @@ +# Awesome Copilot Agents [![Awesome](https://awesome.re/badge-flat2.svg)](https://awesome.re) + +[![Awesome Copilot Agents](.refs/imgs/awesome-github-copilot.svg)](.refs/imgs/awesome-github-copilot.svg) + +A curated list of instructions, prompts, skills, MCPs, and custom agent markdown files to enhance your GitHub Copilot experience. + +--- + +## Contents + +- [Why Copilot Agents](#why-copilot-agents) +- [Instructions](#instructions) + - [Boilerplates \& Templates](#boilerplates--templates) + - [Languages \& Stacks](#languages--stacks) + - [Workflows](#workflows) +- [Prompts](#prompts) +- [Custom Agents](#custom-agents) +- [Agent Skills](#agent-skills) +- [MCPs](#mcps) +- [How to Use](#how-to-use) + +## Why Copilot Agents + +Customized instructions, prompts, skills, MCPs, and custom agents help guide GitHub Copilot by adding repository context: coding standards, toolchains, frameworks, conventions, and preferred workflows. + +Tip: Learn more about customizing GitHub Copilot in VS Code in the [VS Code documentation](https://code.visualstudio.com/docs/copilot/customization/overview). + +## Instructions + +Instructions provide Copilot with repository-specific context to improve suggestions. + +### Boilerplates \& Templates + +- [Standard Language Template](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/instructions/boilerplate-and-templates/standard-language.instructions.md) - A minimal template for new instruction files. + +### Languages \& Stacks + +- [JavaScript (Standard Focus)](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/instructions/languages/javascript/javascript.instructions.md) - Modern JS for Node.js and browsers. +- [TypeScript (Standard Focus)](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/instructions/languages/typescript/typescript.instructions.md) - TS in React/Node with strictness and ergonomic patterns. + +### Workflows + +- [PRD Creation](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/instructions/workflows/ai-development-instructions/prd-creation.instructions.md) - Create a Product Requirements Document. +- [Task Generation](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/instructions/workflows/ai-development-instructions/task-generation.instructions.md) - Break a PRD into actionable tasks. +- [Task Execution](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/instructions/workflows/ai-development-instructions/task-execution.instructions.md) - Execute tasks with testing and Git hygiene. + +## Prompts + +Prompts are reusable task definitions that guide Copilot to produce a specific output. + +- [PRD Creation Prompt](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/prompts/ai-development-tasks/prd-creation.prompt.md) - Create a PRD from a feature idea. +- [Task Generation Prompt](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/prompts/ai-development-tasks/task-generation.prompt.md) - Turn a PRD into a task list. +- [Task Execution Prompt](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/prompts/ai-development-tasks/task-execution.prompt.md) - Execute a single task safely. + +## Custom Agents + +Custom agents let you define specialized Copilot personas (planner, architect, debugger, reviewer) as version-controlled markdown. + +- [Architect](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/agents/ai-development-mode/architect.agent.md) - Design and plan systems. +- [Clean Code](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/agents/ai-development-mode/clean-code.agent.md) - Improve readability and maintainability. +- [Debugger](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/agents/ai-development-mode/debugger.agent.md) - Diagnose and fix bugs. +- [PRD Creation](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/agents/ai-development-mode/prd-creation.agent.md) - Produce PRDs from rough ideas. + +## Agent Skills + +Agent Skills are portable, version-controlled folders of instructions and resources that agents can load on demand. + +- [Calculator](https://github.com/ReactSphere/awesome-copilot-agents/tree/main/skills/calculator/SKILL.md) - Perform precise arithmetic and conversions. + +## MCPs + +MCPs (Model Context Protocol servers) connect agents to tools and data sources. + +- [GitHub MCP Server](https://github.com/github/github-mcp-server) - Repo, issues, PRs, and workflows. +- [Model Context Protocol Servers](https://github.com/modelcontextprotocol/servers) - Official reference servers. + +## How to Use + +### VS Code Setup + +1. Install and sign in to GitHub Copilot. +2. Keep your reusable assets version-controlled so your whole team can share them. + +### File Types + +| Type | Purpose | +| ------------------- | ---------------------------------------- | +| `*.instructions.md` | Contextual instructions. | +| `*.prompt.md` | Reusable prompts. | +| `*.agent.md` | Custom agents (personas). | +| `SKILL.md` | Skill definition inside a skill folder. | + +### Formatting + +Use YAML front matter for metadata such as `description`, `mode`, and `applyTo`. + +## Contributing + +Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md). + +Licensed under the MIT License. See [LICENSE](LICENSE). diff --git a/agents/ai-development-mode/architect.agent.md b/agents/ai-development-mode/architect.agent.md new file mode 100644 index 0000000..c562345 --- /dev/null +++ b/agents/ai-development-mode/architect.agent.md @@ -0,0 +1,21 @@ +--- +description: Design and plan systems with clear tradeoffs. +mode: agent +--- + +# Architect + +You help design software systems and changes. + +## Operating Rules + +- Ask clarifying questions when requirements are ambiguous. +- Prefer small, incremental designs that can ship. +- Call out assumptions and tradeoffs explicitly. +- Produce diagrams in ASCII when helpful. + +## Deliverables + +- A short design summary +- Key decisions and alternatives +- A step-by-step implementation outline diff --git a/agents/ai-development-mode/clean-code.agent.md b/agents/ai-development-mode/clean-code.agent.md new file mode 100644 index 0000000..3d15386 --- /dev/null +++ b/agents/ai-development-mode/clean-code.agent.md @@ -0,0 +1,21 @@ +--- +description: Improve readability, naming, and maintainability. +mode: agent +--- + +# Clean Code + +You refactor and review code for clarity and maintainability. + +## Priorities + +- Make behavior explicit. +- Reduce surprising control flow. +- Prefer clear names and small functions. +- Avoid over-engineering. + +## Output + +- Suggested edits +- A brief rationale +- Any risks or required tests diff --git a/agents/ai-development-mode/debugger.agent.md b/agents/ai-development-mode/debugger.agent.md new file mode 100644 index 0000000..c6e6b33 --- /dev/null +++ b/agents/ai-development-mode/debugger.agent.md @@ -0,0 +1,21 @@ +--- +description: Diagnose and fix bugs systematically. +mode: agent +--- + +# Debugger + +You investigate failures and propose minimal, correct fixes. + +## Workflow + +1. Reproduce the issue (or narrow the conditions). +2. Identify the root cause. +3. Implement the smallest safe fix. +4. Add/adjust tests if appropriate. + +## Output + +- Root cause explanation +- Fix summary +- Verification steps diff --git a/agents/ai-development-mode/prd-creation.agent.md b/agents/ai-development-mode/prd-creation.agent.md new file mode 100644 index 0000000..5dd02aa --- /dev/null +++ b/agents/ai-development-mode/prd-creation.agent.md @@ -0,0 +1,17 @@ +--- +description: Turn rough ideas into a usable PRD. +mode: agent +--- + +# PRD Creation + +You convert a vague idea into a Product Requirements Document. + +## PRD Sections + +- Problem statement +- Goals and non-goals +- User stories +- Acceptance criteria +- Out of scope +- Risks and open questions diff --git a/instructions/boilerplate-and-templates/standard-language.instructions.md b/instructions/boilerplate-and-templates/standard-language.instructions.md new file mode 100644 index 0000000..82e4a67 --- /dev/null +++ b/instructions/boilerplate-and-templates/standard-language.instructions.md @@ -0,0 +1,18 @@ +--- +description: Template for creating new instruction files. +--- + +# Standard Language Instructions Template + +Use this file as a starting point when adding a new `*.instructions.md`. + +## Coding Standards + +- Prefer clear, descriptive names. +- Add tests for bug fixes and non-trivial logic. +- Keep changes minimal and focused. + +## Tooling + +- Follow the repository's formatter/linter. +- Avoid introducing new dependencies without justification. diff --git a/instructions/languages/javascript/javascript.instructions.md b/instructions/languages/javascript/javascript.instructions.md new file mode 100644 index 0000000..179e867 --- /dev/null +++ b/instructions/languages/javascript/javascript.instructions.md @@ -0,0 +1,22 @@ +--- +description: JavaScript standards for Node.js and browsers. +applyTo: "**/*.{js,mjs,cjs}" +--- + +# JavaScript Instructions + +## Style + +- Prefer modern syntax (ES2020+). +- Use `const` by default; use `let` only when reassigned. +- Avoid implicit type coercion in critical logic. + +## Error Handling + +- Prefer explicit error messages. +- Preserve original error causes when rethrowing. + +## Testing + +- Add tests when behavior changes. +- Cover edge cases and error paths. diff --git a/instructions/languages/typescript/typescript.instructions.md b/instructions/languages/typescript/typescript.instructions.md new file mode 100644 index 0000000..dc4dd3b --- /dev/null +++ b/instructions/languages/typescript/typescript.instructions.md @@ -0,0 +1,22 @@ +--- +description: TypeScript standards for React/Node projects. +applyTo: "**/*.{ts,tsx}" +--- + +# TypeScript Instructions + +## Types + +- Prefer `unknown` over `any`. +- Avoid `as` casting unless there is a runtime check or strong invariant. +- Prefer discriminated unions for complex branching. + +## APIs + +- Favor typed inputs/outputs. +- Keep public interfaces stable and documented. + +## React (If Applicable) + +- Keep components small and focused. +- Prefer straightforward state; avoid premature memoization. diff --git a/instructions/workflows/ai-development-instructions/prd-creation.instructions.md b/instructions/workflows/ai-development-instructions/prd-creation.instructions.md new file mode 100644 index 0000000..ff5d04d --- /dev/null +++ b/instructions/workflows/ai-development-instructions/prd-creation.instructions.md @@ -0,0 +1,17 @@ +--- +description: Workflow for creating a PRD. +--- + +# PRD Creation Workflow + +When asked to create a PRD: + +1. Ask 3-7 clarifying questions if requirements are unclear. +2. Write a PRD with: + - Problem statement + - Goals and non-goals + - User stories + - Acceptance criteria + - Metrics (if relevant) + - Risks and open questions +3. Keep it concise but unambiguous. diff --git a/instructions/workflows/ai-development-instructions/task-execution.instructions.md b/instructions/workflows/ai-development-instructions/task-execution.instructions.md new file mode 100644 index 0000000..652be9a --- /dev/null +++ b/instructions/workflows/ai-development-instructions/task-execution.instructions.md @@ -0,0 +1,12 @@ +--- +description: Workflow for executing tasks safely. +--- + +# Task Execution Workflow + +When executing a task: + +1. Confirm the desired behavior. +2. Make the smallest correct change. +3. Run or describe the relevant verification (tests, build, lint). +4. Summarize what changed and why. diff --git a/instructions/workflows/ai-development-instructions/task-generation.instructions.md b/instructions/workflows/ai-development-instructions/task-generation.instructions.md new file mode 100644 index 0000000..15feccf --- /dev/null +++ b/instructions/workflows/ai-development-instructions/task-generation.instructions.md @@ -0,0 +1,14 @@ +--- +description: Workflow for turning a PRD into tasks. +--- + +# Task Generation Workflow + +Given a PRD: + +1. Identify major components (UI, API, data model, infra, docs). +2. Break work into small tasks that can be reviewed. +3. For each task, include: + - Description + - Acceptance criteria + - Test/verification notes diff --git a/prompts/ai-development-tasks/prd-creation.prompt.md b/prompts/ai-development-tasks/prd-creation.prompt.md new file mode 100644 index 0000000..61c0797 --- /dev/null +++ b/prompts/ai-development-tasks/prd-creation.prompt.md @@ -0,0 +1,18 @@ +--- +description: Create a PRD from a feature idea. +--- + +# PRD Creation Prompt + +Create a PRD for the following idea: + +- Idea: <replace me> + +Include: + +- Problem statement +- Goals and non-goals +- Target users +- User stories +- Acceptance criteria +- Risks and open questions diff --git a/prompts/ai-development-tasks/task-execution.prompt.md b/prompts/ai-development-tasks/task-execution.prompt.md new file mode 100644 index 0000000..1faf710 --- /dev/null +++ b/prompts/ai-development-tasks/task-execution.prompt.md @@ -0,0 +1,15 @@ +--- +description: Execute a single task with safe changes and verification. +--- + +# Task Execution Prompt + +Task: + +<describe the task> + +Constraints: + +- Make the smallest correct change. +- Add or update tests when appropriate. +- Explain how to verify the change. diff --git a/prompts/ai-development-tasks/task-generation.prompt.md b/prompts/ai-development-tasks/task-generation.prompt.md new file mode 100644 index 0000000..118bc1e --- /dev/null +++ b/prompts/ai-development-tasks/task-generation.prompt.md @@ -0,0 +1,11 @@ +--- +description: Turn a PRD into an implementation task list. +--- + +# Task Generation Prompt + +Given this PRD: + +<paste PRD here> + +Generate a task list suitable for a GitHub issue/PR description. Keep tasks small and reviewable. diff --git a/skills/calculator/SKILL.md b/skills/calculator/SKILL.md new file mode 100644 index 0000000..b8dc5d2 --- /dev/null +++ b/skills/calculator/SKILL.md @@ -0,0 +1,17 @@ +--- +name: Calculator +description: Perform precise arithmetic and unit conversions. +--- + +# Calculator + +You can: + +- Add, subtract, multiply, divide +- Work with percentages +- Convert between common units (time, bytes) + +## Examples + +- "Convert 3.5 GiB to bytes" +- "What is 17% of 2490?"