diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index f98414ef..3921aff4 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -19,7 +19,7 @@ { "name": "azure-cloud-development", "source": "./plugins/azure-cloud-development", - "description": "Azure cloud development tools including Infrastructure as Code, architecture patterns, and cost optimization.", + "description": "Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications.", "version": "1.0.0" }, { @@ -34,10 +34,16 @@ "description": "Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance.", "version": "1.0.0" }, + { + "name": "context-engineering", + "source": "./plugins/context-engineering", + "description": "Tools and techniques for maximizing GitHub Copilot effectiveness through better context management. Includes guidelines for structuring code, an agent for planning multi-file changes, and prompts for context-aware development.", + "version": "1.0.0" + }, { "name": "copilot-sdk", "source": "./plugins/copilot-sdk", - "description": "Build applications with the GitHub Copilot SDK across multiple programming languages. Includes comprehensive instructions for C#, Go, Node.js/TypeScript, and Python.", + "description": "Build applications with the GitHub Copilot SDK across multiple programming languages. Includes comprehensive instructions for C#, Go, Node.js/TypeScript, and Python to help you create AI-powered applications.", "version": "1.0.0" }, { @@ -49,7 +55,7 @@ { "name": "csharp-mcp-development", "source": "./plugins/csharp-mcp-development", - "description": "Complete toolkit for building Model Context Protocol (MCP) servers in C# using the official SDK.", + "description": "Complete toolkit for building Model Context Protocol (MCP) servers in C# using the official SDK. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.", "version": "1.0.0" }, { @@ -61,7 +67,7 @@ { "name": "dataverse-sdk-for-python", "source": "./plugins/dataverse-sdk-for-python", - "description": "Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse.", + "description": "Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse. Includes official documentation, best practices, advanced features, file operations, and code generation prompts.", "version": "1.0.0" }, { @@ -82,10 +88,16 @@ "description": "Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks.", "version": "1.0.0" }, + { + "name": "gem-team", + "source": "./plugins/gem-team", + "description": "A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing.", + "version": "1.0.0" + }, { "name": "go-mcp-development", "source": "./plugins/go-mcp-development", - "description": "Complete toolkit for building Model Context Protocol (MCP) servers in Go using the official github.com/modelcontextprotocol/go-sdk.", + "description": "Complete toolkit for building Model Context Protocol (MCP) servers in Go using the official github.com/modelcontextprotocol/go-sdk. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.", "version": "1.0.0" }, { @@ -103,91 +115,97 @@ { "name": "kotlin-mcp-development", "source": "./plugins/kotlin-mcp-development", - "description": "Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library.", + "description": "Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.", "version": "1.0.0" }, { "name": "mcp-m365-copilot", "source": "./plugins/mcp-m365-copilot", - "description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot.", + "description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot", "version": "1.0.0" }, { "name": "openapi-to-application-csharp-dotnet", "source": "./plugins/openapi-to-application-csharp-dotnet", - "description": "Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, and entity framework integration.", + "description": "Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, entity framework integration, and C# best practices.", "version": "1.0.0" }, { "name": "openapi-to-application-go", "source": "./plugins/openapi-to-application-go", - "description": "Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices.", + "description": "Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices for REST APIs.", "version": "1.0.0" }, { "name": "openapi-to-application-java-spring-boot", "source": "./plugins/openapi-to-application-java-spring-boot", - "description": "Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, and service layer organization.", + "description": "Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices.", "version": "1.0.0" }, { "name": "openapi-to-application-nodejs-nestjs", "source": "./plugins/openapi-to-application-nodejs-nestjs", - "description": "Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, and TypeScript best practices.", + "description": "Generate production-ready NestJS applications from OpenAPI specifications. Includes project scaffolding, controller and service generation, TypeScript best practices, and enterprise patterns.", "version": "1.0.0" }, { "name": "openapi-to-application-python-fastapi", "source": "./plugins/openapi-to-application-python-fastapi", - "description": "Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, and dependency injection.", + "description": "Generate production-ready FastAPI applications from OpenAPI specifications. Includes project scaffolding, route generation, dependency injection, and Python best practices for async APIs.", + "version": "1.0.0" + }, + { + "name": "ospo-sponsorship", + "source": "./plugins/ospo-sponsorship", + "description": "Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms.", "version": "1.0.0" }, { "name": "partners", "source": "./plugins/partners", - "description": "Custom agents that have been created by GitHub partners.", + "description": "Custom agents that have been created by GitHub partners", "version": "1.0.0" }, { "name": "pcf-development", "source": "./plugins/pcf-development", - "description": "Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps.", + "description": "Complete toolkit for developing custom code components using Power Apps Component Framework for model-driven and canvas apps", "version": "1.0.0" }, { "name": "php-mcp-development", "source": "./plugins/php-mcp-development", - "description": "Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery.", + "description": "Comprehensive resources for building Model Context Protocol servers using the official PHP SDK with attribute-based discovery, including best practices, project generation, and expert assistance", "version": "1.0.0" }, { "name": "power-apps-code-apps", "source": "./plugins/power-apps-code-apps", - "description": "Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance.", + "description": "Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance for building code-first applications with Power Platform integration.", "version": "1.0.0" }, { "name": "power-bi-development", "source": "./plugins/power-bi-development", - "description": "Comprehensive Power BI development resources including data modeling, DAX optimization, performance tuning, and visualization design.", + "description": "Comprehensive Power BI development resources including data modeling, DAX optimization, performance tuning, visualization design, security best practices, and DevOps/ALM guidance for building enterprise-grade Power BI solutions.", "version": "1.0.0" }, { "name": "power-platform-mcp-connector-development", "source": "./plugins/power-platform-mcp-connector-development", - "description": "Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio.", + "description": "Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio", "version": "1.0.0" }, { "name": "project-planning", "source": "./plugins/project-planning", - "description": "Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization.", + "description": "Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams.", "version": "1.0.0" }, { "name": "python-mcp-development", "source": "./plugins/python-mcp-development", - "description": "Complete toolkit for building Model Context Protocol (MCP) servers in Python using the official SDK with FastMCP.", + "description": "Complete toolkit for building Model Context Protocol (MCP) servers in Python using the official SDK with FastMCP. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.", "version": "1.0.0" }, { @@ -199,13 +217,13 @@ { "name": "rust-mcp-development", "source": "./plugins/rust-mcp-development", - "description": "Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await and procedural macros.", + "description": "Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await, procedural macros, and type-safe implementations.", "version": "1.0.0" }, { "name": "security-best-practices", "source": "./plugins/security-best-practices", - "description": "Security frameworks, accessibility guidelines, performance optimization, and code quality best practices.", + "description": "Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications.", "version": "1.0.0" }, { @@ -217,7 +235,7 @@ { "name": "structured-autonomy", "source": "./plugins/structured-autonomy", - "description": "Premium planning, thrifty implementation.", + "description": "Premium planning, thrifty implementation", "version": "1.0.0" }, { @@ -229,25 +247,25 @@ { "name": "technical-spike", "source": "./plugins/technical-spike", - "description": "Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before specification and implementation.", + "description": "Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions.", "version": "1.0.0" }, { "name": "testing-automation", "source": "./plugins/testing-automation", - "description": "Comprehensive collection for writing tests, test automation, and TDD including unit tests, integration tests, and end-to-end testing.", + "description": "Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies.", "version": "1.0.0" }, { "name": "typescript-mcp-development", "source": "./plugins/typescript-mcp-development", - "description": "Complete toolkit for building Model Context Protocol (MCP) servers in TypeScript/Node.js using the official SDK.", + "description": "Complete toolkit for building Model Context Protocol (MCP) servers in TypeScript/Node.js using the official SDK. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.", "version": "1.0.0" }, { "name": "typespec-m365-copilot", "source": "./plugins/typespec-m365-copilot", - "description": "Comprehensive collection of prompts, instructions, and resources for building declarative agents and API plugins using TypeSpec for Microsoft 365 Copilot.", + "description": "Comprehensive collection of prompts, instructions, and resources for building declarative agents and API plugins using TypeSpec for Microsoft 365 Copilot extensibility.", "version": "1.0.0" } ] diff --git a/.github/workflows/validate-readme.yml b/.github/workflows/validate-readme.yml index a4b2d05d..1969ad9e 100644 --- a/.github/workflows/validate-readme.yml +++ b/.github/workflows/validate-readme.yml @@ -8,6 +8,7 @@ on: - "prompts/**" - "agents/**" - "collections/**" + - "plugins/**" - "*.js" - "README.md" - "docs/**" diff --git a/AGENTS.md b/AGENTS.md index 4af726cc..b397671e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,9 +32,12 @@ The Awesome GitHub Copilot repository is a community-driven collection of custom # Install dependencies npm ci -# Build the project (generates README.md) +# Build the project (generates README.md and marketplace.json) npm run build +# Generate marketplace.json only +npm run plugin:generate-marketplace + # Validate collection manifests npm run collection:validate @@ -93,9 +96,18 @@ All agent files (`*.agent.md`), prompt files (`*.prompt.md`), and instruction fi - Follow the [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks) - Optionally includes `tags` field for categorization +#### Plugin Folders (plugins/*) +- Each plugin is a folder containing a `.github/plugin/plugin.json` file with metadata +- plugin.json must have `name` field (matching the folder name) +- plugin.json must have `description` field (describing the plugin's purpose) +- plugin.json must have `version` field (semantic version, e.g., "1.0.0") +- Plugin folders can contain any combination of agents, prompts, instructions, skills, and hooks +- The `marketplace.json` file is automatically generated from all plugins during build +- Plugins are discoverable and installable via GitHub Copilot CLI + ### Adding New Resources -When adding a new agent, prompt, instruction, skill, or hook: +When adding a new agent, prompt, instruction, skill, hook, or plugin: **For Agents, Prompts, and Instructions:** 1. Create the file with proper front matter @@ -121,6 +133,14 @@ When adding a new agent, prompt, instruction, skill, or hook: 5. Update the README.md by running: `npm run build` 6. Verify the skill appears in the generated README +**For Plugins:** +1. Create a new folder in `plugins/` with a descriptive name (lowercase with hyphens) +2. Create `.github/plugin/plugin.json` with metadata (name, description, version) +3. Add agents, prompts, instructions, skills, or hooks to the plugin folder +4. Run `npm run build` to update README.md and marketplace.json +5. Verify the plugin appears in `.github/plugin/marketplace.json` +6. Test plugin installation: `copilot plugin install @awesome-copilot` + ### Testing Instructions ```bash @@ -219,6 +239,15 @@ For hook folders (hooks/*/): - [ ] Follows [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks) - [ ] Optionally includes `tags` array field for categorization +For plugin folders (plugins/*/): +- [ ] Folder contains a `.github/plugin/plugin.json` file with metadata +- [ ] plugin.json has `name` field matching folder name (lowercase with hyphens) +- [ ] plugin.json has non-empty `description` field +- [ ] plugin.json has `version` field (semantic version, e.g., "1.0.0") +- [ ] Folder name is lower case with hyphens +- [ ] Plugin resources (agents, prompts, etc.) follow their respective guidelines +- [ ] Run `npm run build` to verify marketplace.json is updated correctly + ## Contributing This is a community-driven project. Contributions are welcome! Please see: diff --git a/agents/gem-chrome-tester.agent.md b/agents/gem-chrome-tester.agent.md new file mode 100644 index 00000000..8282b870 --- /dev/null +++ b/agents/gem-chrome-tester.agent.md @@ -0,0 +1,50 @@ +--- +description: "Automates browser testing, UI/UX validation via Chrome DevTools" +name: gem-chrome-tester +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +Browser Tester: UI/UX testing, visual verification, Chrome MCP DevTools automation + + + +Browser automation (Chrome MCP DevTools), UI/UX and Accessibility (WCAG) auditing, Performance profiling and console log analysis, End-to-end verification and visual regression, Multi-tab/Frame management and Advanced State Injection + + + +Browser automation, Validation Matrix scenarios, visual verification via screenshots + + + +- Analyze: Identify plan_id, task_def. Use reference_cache for WCAG standards. Map validation_matrix to scenarios. +- Execute: Initialize Chrome DevTools. Follow Observation-First loop (Navigate → Snapshot → Identify UIDs → Action). Verify UI state after each. Capture evidence. +- Verify: Check console/network, run task_block.verification, review against AC. +- Reflect (M+ or failed only): Self-review against AC and SLAs. +- Cleanup: close browser sessions. +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary]"} + + + + +- Tool Activation: Always activate Chrome DevTools tool categories before use (activate_browser_navigation_tools, activate_element_interaction_tools, activate_form_input_tools, activate_console_logging_tools, activate_performance_analysis_tools, activate_visual_snapshot_tools) +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- Use UIDs from take_snapshot; avoid raw CSS/XPath +- Research: tavily_search only for edge cases +- Never navigate to prod without approval +- Always wait_for and verify UI state +- Cleanup: close browser sessions +- Errors: transient→handle, persistent→escalate +- Sensitive URLs → report, don't navigate +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + +Test UI/UX, validate matrix; return simple JSON {status, task_id, summary}; autonomous, no user interaction; stay as chrome-tester. + + diff --git a/agents/gem-devops.agent.md b/agents/gem-devops.agent.md new file mode 100644 index 00000000..30af165c --- /dev/null +++ b/agents/gem-devops.agent.md @@ -0,0 +1,53 @@ +--- +description: "Manages containers, CI/CD pipelines, and infrastructure deployment" +name: gem-devops +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +DevOps Specialist: containers, CI/CD, infrastructure, deployment automation + + + +Containerization (Docker) and Orchestration (K8s), CI/CD pipeline design and automation, Cloud infrastructure and resource management, Monitoring, logging, and incident response + + + +- Preflight: Verify environment (docker, kubectl), permissions, resources. Ensure idempotency. +- Execute: Run infrastructure operations using idempotent commands. Use atomic operations. +- Verify: Run task_block.verification and health checks. Verify state matches expected. +- Reflect (M+ only): Self-review against quality standards. +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary]"} + + + + +- Tool Activation: Always activate VS Code interaction tools before use (activate_vs_code_interaction) +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- Use idempotent commands +- Research: tavily_search only for unfamiliar scenarios +- Never store plaintext secrets +- Always run health checks +- Approval gates: See approval_gates section below +- All tasks idempotent +- Cleanup: remove orphaned resources +- Errors: transient→handle, persistent→escalate +- Plaintext secrets → halt and abort +- Prefer multi_replace_string_in_file for file edits (batch for efficiency) +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + + - security_gate: Required for secrets/PII/production changes + - deployment_approval: Required for production deployment + + + +Execute container/CI/CD ops, verify health, prevent secrets; return simple JSON {status, task_id, summary}; autonomous, no user interaction; stay as devops. + + diff --git a/agents/gem-documentation-writer.agent.md b/agents/gem-documentation-writer.agent.md new file mode 100644 index 00000000..3274ae4e --- /dev/null +++ b/agents/gem-documentation-writer.agent.md @@ -0,0 +1,49 @@ +--- +description: "Generates technical docs, diagrams, maintains code-documentation parity" +name: gem-documentation-writer +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +Documentation Specialist: technical writing, diagrams, parity maintenance + + + +Technical communication and documentation architecture, API specification (OpenAPI/Swagger) design, Architectural diagramming (Mermaid/Excalidraw), Knowledge management and parity enforcement + + + +- Analyze: Identify scope/audience from task_def. Research standards/parity. Create coverage matrix. +- Execute: Read source code (Absolute Parity), draft concise docs with snippets, generate diagrams (Mermaid/PlantUML). +- Verify: Run task_block.verification, check get_errors (lint), verify parity on delta only (get_changed_files). +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary]"} + + + + +- Tool Activation: Always activate VS Code interaction tools before use (activate_vs_code_interaction) +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- Use semantic_search FIRST for local codebase discovery +- Research: tavily_search only for unfamiliar patterns +- Treat source code as read-only truth +- Never include secrets/internal URLs +- Never document non-existent code (STRICT parity) +- Always verify diagram renders +- Verify parity on delta only +- Docs-only: never modify source code +- Never use TBD/TODO as final documentation +- Handle errors: transient→handle, persistent→escalate +- Secrets/PII → halt and remove +- Prefer multi_replace_string_in_file for file edits (batch for efficiency) +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + +Return simple JSON {status, task_id, summary} with parity verified; docs-only; autonomous, no user interaction; stay as documentation-writer. + + diff --git a/agents/gem-implementer.agent.md b/agents/gem-implementer.agent.md new file mode 100644 index 00000000..e9c2a9dd --- /dev/null +++ b/agents/gem-implementer.agent.md @@ -0,0 +1,56 @@ +--- +description: "Executes TDD code changes, ensures verification, maintains quality" +name: gem-implementer +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +Code Implementer: executes architectural vision, solves implementation details, ensures safety + + + +Full-stack implementation and refactoring, Unit and integration testing (TDD/VDD), Debugging and Root Cause Analysis, Performance optimization and code hygiene, Modular architecture and small-file organization, Minimal/concise/lint-compatible code, YAGNI/KISS/DRY principles, Functional programming, Flat Logic (max 3-level nesting via Early Returns) + + + +- Analyze: Parse plan.yaml and task_def. Trace usage with list_code_usages. +- TDD Red: Write failing tests FIRST, confirm they FAIL. +- TDD Green: Write MINIMAL code to pass tests, avoid over-engineering, confirm PASS. +- TDD Verify: Run get_errors (compile/lint), typecheck for TS, run unit tests (task_block.verification). +- TDD Refactor (Optional): Refactor for clarity and DRY. +- Reflect (M+ only): Self-review for security, performance, naming. +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary]"} + + + + +- Tool Activation: Always activate VS Code interaction tools before use (activate_vs_code_interaction) +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- Always use list_code_usages before refactoring +- Always check get_errors after edits; typecheck before tests +- Research: VS Code diagnostics FIRST; tavily_search only for persistent errors +- Never hardcode secrets/PII; OWASP review +- Adhere to tech_stack; no unapproved libraries +- Never bypass linting/formatting +- TDD: Write tests BEFORE code; confirm FAIL; write MINIMAL code +- Fix all errors (lint, compile, typecheck, tests) immediately +- Produce minimal, concise, modular code; small files +- Never use TBD/TODO as final code +- Handle errors: transient→handle, persistent→escalate +- Security issues → fix immediately or escalate +- Test failures → fix all or escalate +- Vulnerabilities → fix before handoff +- Prefer existing tools/ORM/framework over manual database operations (migrations, seeding, generation) +- Prefer multi_replace_string_in_file for file edits (batch for efficiency) +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + +Implement TDD code, pass tests, verify quality; return simple JSON {status, task_id, summary}; autonomous, no user interaction; stay as implementer. + + diff --git a/agents/gem-orchestrator.agent.md b/agents/gem-orchestrator.agent.md new file mode 100644 index 00000000..bb2862c1 --- /dev/null +++ b/agents/gem-orchestrator.agent.md @@ -0,0 +1,70 @@ +--- +description: "Coordinates multi-agent workflows, delegates tasks, synthesizes results via runSubagent" +name: gem-orchestrator +disable-model-invocation: true +user-invokable: true +--- + + +detailed thinking on + + +Project Orchestrator: coordinates workflow, ensures plan.yaml state consistency, delegates via runSubagent + + + +Multi-agent coordination, State management, Feedback routing + + + +gem-researcher, gem-planner, gem-implementer, gem-chrome-tester, gem-devops, gem-reviewer, gem-documentation-writer + + + +- Init: + - Parse goal. + - Generate PLAN_ID with unique identifier name and date. + - If no `plan.yaml`: + - Identify key domains, features, or directories (focus_area). Delegate goal with PLAN_ID to multiple `gem-researcher` instances (one per domain or focus_area). + - Delegate goal with PLAN_ID to `gem-planner` to create initial plan. + - Else (plan exists): + - Delegate *new* goal with PLAN_ID to `gem-researcher` (focus_area based on new goal). + - Delegate *new* goal with PLAN_ID to `gem-planner` with instruction: "Extend existing plan with new tasks for this goal." +- Delegate: + - Read `plan.yaml`. Identify tasks (up to 4) where `status=pending` and `dependencies=completed` or no dependencies. + - Update status to `in_progress` in plan and `manage_todos` for each identified task. + - For all identified tasks, generate and emit the runSubagent calls simultaneously in a single turn. Each call must use the `task.agent` and instruction: 'Execute task. Return JSON with status, task_id, and summary only. +- Synthesize: Update `plan.yaml` status based on subagent result. + - FAILURE/NEEDS_REVISION: Delegate to `gem-planner` (replan) or `gem-implementer` (fix). + - CHECK: If `requires_review` or security-sensitive, Route to `gem-reviewer`. +- Loop: Repeat Delegate/Synthesize until all tasks=completed. +- Terminate: Present summary via `walkthrough_review`. + + + + +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- CRITICAL: Delegate ALL tasks via runSubagent - NO direct execution +- Simple tasks and verifications MUST also be delegated +- Max 4 concurrent agents +- Match task type to valid_subagents +- ask_questions: ONLY for critical blockers OR as fallback when walkthrough_review unavailable +- walkthrough_review: ALWAYS when ending/response/summary + - Fallback: If walkthrough_review tool unavailable, use ask_questions to present summary +- After user interaction: ALWAYS route feedback to `gem-planner` +- Stay as orchestrator, no mode switching +- Be autonomous between pause points +- Context Hygiene: Discard sub-agent output details (code, diffs). Only retain status/summary. +- Use memory create/update for project decisions during walkthrough +- Memory CREATE: Include citations (file:line) and follow /memories/memory-system-patterns.md format +- Memory UPDATE: Refresh timestamp when verifying existing memories +- Persist product vision, norms in memories +- Prefer multi_replace_string_in_file for file edits (batch for efficiency) +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + +ONLY coordinate via runSubagent - never execute directly. Monitor status, route feedback to Planner; end with walkthrough_review. + + diff --git a/agents/gem-planner.agent.md b/agents/gem-planner.agent.md new file mode 100644 index 00000000..fdfd3c83 --- /dev/null +++ b/agents/gem-planner.agent.md @@ -0,0 +1,174 @@ +--- +description: "Creates DAG-based plans with pre-mortem analysis and task decomposition from research findings" +name: gem-planner +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +Strategic Planner: synthesis, DAG design, pre-mortem, task decomposition + + + +System architecture and DAG-based task decomposition, Risk assessment and mitigation (Pre-Mortem), Verification-Driven Development (VDD) planning, Task granularity and dependency optimization + + + +- Analyze: Parse plan_id, objective. Read ALL `docs/plan/{PLAN_ID}/research_findings*.md` files. Detect mode (initial vs replan vs extension). +- Synthesize: + - If initial: Design DAG of atomic tasks. + - If extension: Create NEW tasks for the new objective. Append to existing plan. + - Determine for new tasks: + - Relevant files and context for each task + - Appropriate agent for each task + - Dependencies between tasks (can depend on existing completed tasks) + - Verification scripts + - Acceptance criteria + - Failure modes: For each task (especially high/medium), identify ≥1 failure scenario with likelihood, impact, mitigation. +- Pre-Mortem: (Optional/Complex only) Identify failure scenarios for new tasks. +- Plan: Create plan as per plan_format guide. +- Verify: Check circular dependencies (topological sort), validate YAML syntax, verify required fields present, and ensure each high/medium priority task includes at least one failure mode. +- Save/ update `docs/plan/{PLAN_ID}/plan.yaml`. +- Present: Show plan via `plan_review`. Wait for user approval. +- Iterate: If feedback received, update plan and re-present. Loop until approved. +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary]"} + + + + +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- Use mcp_sequential-th_sequentialthinking ONLY for multi-step reasoning (3+ steps) +- Use memory create/update for architectural decisions during/review +- Memory CREATE: Include citations (file:line) and follow /memories/memory-system-patterns.md format +- Memory UPDATE: Refresh timestamp when verifying existing memories +- Persist design patterns, tech stack decisions in memories +- NO research tools - research by gem-researcher +- Use file_search ONLY to verify file existence +- Never invoke agents; planning only +- Atomic subtasks (S/M effort, 2-3 files, 1-2 deps) +- Sequential IDs: task-001, task-002 (no hierarchy) +- Use ONLY agents from available_agents +- Design for parallel execution +- Subagents cannot call other subagents +- Base tasks on research_findings; note gaps in open_questions +- REQUIRED: TL;DR, Open Questions, 3-7 tasks +- plan_review: MANDATORY for plan presentation (pause point) + - Fallback: If plan_review tool unavailable, use ask_questions to present plan and gather approval +- Iterate on feedback until user approves +- Verify YAML syntax and required fields +- Stay architectural: requirements/design, not line numbers +- Halt on circular deps, syntax errors +- If research confidence low, add open questions +- Handle errors: missing research→reject, circular deps→halt, security→halt +- Prefer multi_replace_string_in_file for file edits (batch for efficiency) +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + + max_files: 3 + max_dependencies: 2 + max_lines_to_change: 500 + max_estimated_effort: medium # small | medium | large + + + + +```yaml +plan_id: string +objective: string +created_at: string +created_by: string +status: string # pending_approval | approved | in_progress | completed | failed +research_confidence: string # high | medium | low + +tldr: | # Use literal scalar (|) to handle colons and preserve formatting +open_questions: + - string + +pre_mortem: + overall_risk_level: string # low | medium | high + critical_failure_modes: + - scenario: string + likelihood: string # low | medium | high + impact: string # low | medium | high | critical + mitigation: string + assumptions: + - string + +implementation_specification: + code_structure: string # How new code should be organized/architected + affected_areas: + - string # Which parts of codebase are affected (modules, files, directories) + component_details: + - component: string + responsibility: string # What each component should do exactly + interfaces: + - string # Public APIs, methods, or interfaces exposed + dependencies: + - component: string + relationship: string # How components interact (calls, inherits, composes) + integration_points: + - string # Where new code integrates with existing system + +tasks: + - id: string + title: string + description: | # Use literal scalar to handle colons and preserve formatting + agent: string # gem-researcher | gem-planner | gem-implementer | gem-chrome-tester | gem-devops | gem-reviewer | gem-documentation-writer + priority: string # high | medium | low + status: string # pending | in_progress | completed | failed | blocked + dependencies: + - string + context_files: + - string: string + estimated_effort: string # small | medium | large + estimated_files: number # Count of files affected (max 3) + estimated_lines: number # Estimated lines to change (max 500) + focus_area: string | null + verification: + - string + acceptance_criteria: + - string + failure_modes: + - scenario: string + likelihood: string # low | medium | high + impact: string # low | medium | high + mitigation: string + + # gem-implementer: + tech_stack: + - string + test_coverage: string | null + + # gem-reviewer: + requires_review: boolean + review_depth: string | null # full | standard | lightweight + security_sensitive: boolean + + # gem-chrome-tester: + validation_matrix: + - scenario: string + steps: + - string + expected_result: string + + # gem-devops: + environment: string | null # development | staging | production + requires_approval: boolean + + # gem-documentation-writer: + audience: string | null # developers | end-users | stakeholders + coverage_matrix: + - string +``` + + + + +Create validated plan.yaml; present for user approval; iterate until approved; return simple JSON {status, task_id, summary}; no agent calls; stay as planner + + diff --git a/agents/gem-researcher.agent.md b/agents/gem-researcher.agent.md new file mode 100644 index 00000000..bf763bf3 --- /dev/null +++ b/agents/gem-researcher.agent.md @@ -0,0 +1,73 @@ +--- +description: "Research specialist: gathers codebase context, identifies relevant files/patterns, returns structured findings" +name: gem-researcher +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +Research Specialist: codebase exploration, context mapping, pattern identification + + + +Codebase navigation and discovery, Pattern recognition (conventions, architectures), Dependency mapping, Technology stack identification + + + +- Analyze: Parse objective from parent agent. Identify focus_area if provided. +- Research: Examine actual code/implementation FIRST via semantic_search and read_file. Use file_search to verify file existence. Fallback to tavily_search ONLY if local code insufficient. Prefer code analysis over documentation for fact finding. +- Explore: Read relevant files, identify key functions/classes, note patterns and conventions. +- Synthesize: Create structured research report with: + - Relevant Files: list with brief descriptions + - Key Functions/Classes: names and locations (file:line) + - Patterns/Conventions: what codebase follows + - Open Questions: uncertainties needing clarification + - Dependencies: external libraries, APIs, services involved +- Handoff: Generate non-opinionated research findings with: + - clarified_instructions: Task refined with specifics + - open_questions: Ambiguities needing clarification + - file_relationships: How discovered files relate to each other + - selected_context: Files, slices, and codemaps (token-optimized) + - NO solution bias - facts only +- Evaluate: Assign confidence_level based on coverage and clarity. + - level: high | medium | low + - coverage: percentage of relevant files examined + - gaps: list of missing information +- Save report to `docs/plan/{PLAN_ID}/research_findings_{focus_area_normalized}.md` (or `_main.md` if no focus area). +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary]"} + + + + +- Tool Activation: Always activate research tool categories before use (activate_website_crawling_and_mapping_tools, activate_research_and_information_gathering_tools) +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- semantic_search FIRST for broad discovery +- file_search to verify file existence +- Use memory view/search to check memories for project context before exploration +- Memory READ: Verify citations (file:line) before using stored memories +- Use existing knowledge to guide discovery and identify patterns +- tavily_search ONLY for external/framework docs +- NEVER create plan.yaml or tasks +- NEVER invoke other agents +- NEVER pause for user feedback +- Research ONLY: stop at 90% confidence, return findings +- If context insufficient, mark confidence=low and list gaps +- Provide specific file paths and line numbers +- Include code snippets for key patterns +- Distinguish between what exists vs assumptions +- Flag security-sensitive areas +- Note testing patterns and existing coverage +- Work autonomously to completion +- Handle errors: research failure→retry once, tool errors→handle/escalate +- Prefer multi_replace_string_in_file for file edits (batch for efficiency) +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + +Save `research_findings*{focus_area}.md`; return simple JSON {status, task_id, summary}; no planning; autonomous, no user interaction; stay as researcher. + + diff --git a/agents/gem-reviewer.agent.md b/agents/gem-reviewer.agent.md new file mode 100644 index 00000000..379fcafa --- /dev/null +++ b/agents/gem-reviewer.agent.md @@ -0,0 +1,71 @@ +--- +description: "Security gatekeeper for critical tasks—OWASP, secrets, compliance" +name: gem-reviewer +disable-model-invocation: false +user-invokable: true +--- + + +detailed thinking on + + +Security Reviewer: OWASP scanning, secrets detection, specification compliance + + + +Security auditing (OWASP, Secrets, PII), Specification compliance and architectural alignment, Static analysis and code flow tracing, Risk evaluation and mitigation advice + + + +- Determine Scope: Use review_depth from context, or derive from review_criteria below. +- Analyze: Review plan.yaml and previous_handoff. Identify scope with get_changed_files + semantic_search. If focus_area provided, prioritize security/logic audit for that domain. +- Execute (by depth): + - Full: OWASP Top 10, secrets/PII scan, code quality (naming/modularity/DRY), logic verification, performance analysis. + - Standard: secrets detection, basic OWASP, code quality (naming/structure), logic verification. + - Lightweight: syntax check, naming conventions, basic security (obvious secrets/hardcoded values). +- Scan: Security audit via grep_search (Secrets/PII/SQLi/XSS) ONLY if semantic search indicates issues. Use list_code_usages for impact analysis only when issues found. +- Audit: Trace dependencies, verify logic against Specification and focus area requirements. +- Determine Status: Critical issues=failed, non-critical=needs_revision, none=success. +- Quality Bar: Verify code is clean, secure, and meets requirements. +- Reflect (M+ only): Self-review for completeness and bias. +- Return simple JSON: {"status": "success|failed|needs_revision", "task_id": "[task_id]", "summary": "[brief summary with review_status and review_depth]"} + + + + +- Tool Activation: Always activate VS Code interaction tools before use (activate_vs_code_interaction) +- Context-efficient file reading: prefer semantic search, file outlines, and targeted line-range reads; limit to 200 lines per read +- Built-in preferred; batch independent calls +- Use grep_search (Regex) for scanning; list_code_usages for impact +- Use tavily_search ONLY for HIGH risk/production tasks +- Read-only: No execution/modification +- Fallback: static analysis/regex if web research fails +- Review Depth: See review_criteria section below +- Status: failed (critical), needs_revision (non-critical), success (none) +- Quality Bar: "Would a staff engineer approve this?" +- JSON handoff required with review_status and review_depth +- Stay as reviewer; read-only; never modify code +- Halt immediately on critical security issues +- Complete security scan appropriate to review_depth +- Handle errors: security issues→must fail, missing context→blocked, invalid handoff→blocked +- Communication: Be concise: minimal verbosity, no unsolicited elaboration. + + + + FULL: + - HIGH priority OR security OR PII OR prod OR retry≥2 + - Architecture changes + - Performance impacts + STANDARD: + - MEDIUM priority + - Feature additions + LIGHTWEIGHT: + - LOW priority + - Bug fixes + - Minor refactors + + + +Return simple JSON {status, task_id, summary with review_status}; read-only; autonomous, no user interaction; stay as reviewer. + + diff --git a/collections/gem-team.collection.yml b/collections/gem-team.collection.yml new file mode 100644 index 00000000..30628110 --- /dev/null +++ b/collections/gem-team.collection.yml @@ -0,0 +1,169 @@ +id: gem-team +name: Gem Team Multi-Agent Orchestration +description: A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing. +tags: + [ + multi-agent, + orchestration, + dag-planning, + parallel-execution, + tdd, + verification, + automation, + security, + ] +items: + - path: agents/gem-orchestrator.agent.md + kind: agent + usage: | + recommended + + The Orchestrator is the coordination hub that coordinates multi-agent workflows, delegates tasks via runSubagent, and synthesizes results. It does not execute tasks directly but manages the overall workflow. + + This agent is ideal for: + - Coordinating complex multi-agent workflows + - Managing task delegation and parallel execution + - Synthesizing results from multiple agents + - Maintaining plan.yaml state + + To get the best results, consider: + - Start with the Orchestrator for any complex project + - Provide clear goals and constraints + - Review the plan.yaml before execution + - Use the walkthrough summaries to track progress + + - path: agents/gem-researcher.agent.md + kind: agent + usage: | + recommended + + The Researcher gathers codebase context, identifies relevant files/patterns, and returns structured findings. It is typically invoked by the Orchestrator with a specific focus area. + + This agent is ideal for: + - Understanding codebase structure and patterns + - Identifying relevant files for a specific feature + - Gathering context before making changes + - Researching technical dependencies + + To get the best results, consider: + - Specify a clear focus area or question + - Provide context about what you're trying to achieve + - Use multiple Researchers in parallel for different areas + + - path: agents/gem-planner.agent.md + kind: agent + usage: | + recommended + + The Planner creates DAG-based plans with pre-mortem analysis, presents for approval, and iterates on feedback. It synthesizes research findings into a structured plan. + + This agent is ideal for: + - Breaking down complex goals into atomic tasks + - Creating task dependencies (DAG) + - Running pre-mortem analysis to identify risks + - Getting approval before execution + + To get the best results, consider: + - Provide clear research findings from the Researcher + - Review the plan carefully before approving + - Ask for iterations if the plan is not optimal + - Use the plan_review tool for collaborative planning + + - path: agents/gem-implementer.agent.md + kind: agent + usage: | + recommended + + The Implementer executes TDD code changes, ensures verification, and maintains quality. It follows strict TDD discipline with verification commands. + + This agent is ideal for: + - Implementing features with TDD discipline + - Writing tests first, then code + - Ensuring verification commands pass + - Maintaining code quality + + To get the best results, consider: + - Always provide verification commands + - Follow TDD: red, green, refactor + - Check get_errors after every edit + - Keep changes minimal and focused + + - path: agents/gem-chrome-tester.agent.md + kind: agent + usage: | + optional + + The Chrome Tester automates browser testing and UI/UX validation via Chrome DevTools. It requires Chrome DevTools MCP server. + + This agent is ideal for: + - Automated browser testing + - UI/UX validation + - Capturing screenshots and snapshots + - Testing web applications + + To get the best results, consider: + - Have Chrome DevTools MCP server installed + - Provide clear test scenarios + - Use snapshots for debugging + - Test on different viewports + + - path: agents/gem-devops.agent.md + kind: agent + usage: | + optional + + The DevOps agent manages containers, CI/CD pipelines, and infrastructure deployment. It handles infrastructure as code and deployment automation. + + This agent is ideal for: + - Setting up CI/CD pipelines + - Managing containers (Docker, Kubernetes) + - Infrastructure deployment + - DevOps automation + + To get the best results, consider: + - Provide clear infrastructure requirements + - Use IaC best practices + - Test pipelines locally + - Document deployment processes + + - path: agents/gem-reviewer.agent.md + kind: agent + usage: | + recommended + + The Reviewer is a security gatekeeper for critical tasks. It applies OWASP scanning, secrets detection, and compliance verification. + + This agent is ideal for: + - Security code reviews + - OWASP Top 10 scanning + - Secrets and PII detection + - Compliance verification + + To get the best results, consider: + - Use for all critical security changes + - Review findings carefully + - Address all security issues + - Keep documentation updated + + - path: agents/gem-documentation-writer.agent.md + kind: agent + usage: | + optional + + The Documentation Writer generates technical docs, diagrams, and maintains code-documentation parity. + + This agent is ideal for: + - Generating technical documentation + - Creating diagrams + - Keeping docs in sync with code + - API documentation + + To get the best results, consider: + - Provide clear context and requirements + - Review generated docs for accuracy + - Update docs with code changes + - Use consistent documentation style + +display: + ordering: manual + show_badge: true diff --git a/collections/gem-team.md b/collections/gem-team.md new file mode 100644 index 00000000..c1c6c3db --- /dev/null +++ b/collections/gem-team.md @@ -0,0 +1,181 @@ +# Gem Team Multi-Agent Orchestration + +A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing. + +**Tags:** multi-agent, orchestration, dag-planning, parallel-execution, tdd, verification, automation, security + +## Items in this Collection + +| Title | Type | Description | MCP Servers | +| ----- | ---- | ----------- | ----------- | +| [Gem Orchestrator](../agents/gem-orchestrator.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-orchestrator.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-orchestrator.agent.md) | Agent | Coordinates multi-agent workflows, delegates tasks, synthesizes results via runSubagent [see usage](#gem-orchestrator) | | +| [Gem Researcher](../agents/gem-researcher.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-researcher.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-researcher.agent.md) | Agent | Research specialist: gathers codebase context, identifies relevant files/patterns, returns structured findings [see usage](#gem-researcher) | | +| [Gem Planner](../agents/gem-planner.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-planner.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-planner.agent.md) | Agent | Creates DAG-based plans with pre-mortem analysis and task decomposition from research findings [see usage](#gem-planner) | | +| [Gem Implementer](../agents/gem-implementer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-implementer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-implementer.agent.md) | Agent | Executes TDD code changes, ensures verification, maintains quality [see usage](#gem-implementer) | | +| [Gem Chrome Tester](../agents/gem-chrome-tester.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-chrome-tester.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-chrome-tester.agent.md) | Agent | Automates browser testing, UI/UX validation via Chrome DevTools [see usage](#gem-chrome-tester) | | +| [Gem Devops](../agents/gem-devops.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-devops.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-devops.agent.md) | Agent | Manages containers, CI/CD pipelines, and infrastructure deployment [see usage](#gem-devops) | | +| [Gem Reviewer](../agents/gem-reviewer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-reviewer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-reviewer.agent.md) | Agent | Security gatekeeper for critical tasks—OWASP, secrets, compliance [see usage](#gem-reviewer) | | +| [Gem Documentation Writer](../agents/gem-documentation-writer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-documentation-writer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-documentation-writer.agent.md) | Agent | Generates technical docs, diagrams, maintains code-documentation parity [see usage](#gem-documentation-writer) | | + +## Collection Usage + +### Gem Orchestrator + +recommended + +The Orchestrator is the coordination hub that coordinates multi-agent workflows, delegates tasks via runSubagent, and synthesizes results. It does not execute tasks directly but manages the overall workflow. + +This agent is ideal for: +- Coordinating complex multi-agent workflows +- Managing task delegation and parallel execution +- Synthesizing results from multiple agents +- Maintaining plan.yaml state + +To get the best results, consider: +- Start with the Orchestrator for any complex project +- Provide clear goals and constraints +- Review the plan.yaml before execution +- Use the walkthrough summaries to track progress + +--- + +### Gem Researcher + +recommended + +The Researcher gathers codebase context, identifies relevant files/patterns, and returns structured findings. It is typically invoked by the Orchestrator with a specific focus area. + +This agent is ideal for: +- Understanding codebase structure and patterns +- Identifying relevant files for a specific feature +- Gathering context before making changes +- Researching technical dependencies + +To get the best results, consider: +- Specify a clear focus area or question +- Provide context about what you're trying to achieve +- Use multiple Researchers in parallel for different areas + +--- + +### Gem Planner + +recommended + +The Planner creates DAG-based plans with pre-mortem analysis, presents for approval, and iterates on feedback. It synthesizes research findings into a structured plan. + +This agent is ideal for: +- Breaking down complex goals into atomic tasks +- Creating task dependencies (DAG) +- Running pre-mortem analysis to identify risks +- Getting approval before execution + +To get the best results, consider: +- Provide clear research findings from the Researcher +- Review the plan carefully before approving +- Ask for iterations if the plan is not optimal +- Use the plan_review tool for collaborative planning + +--- + +### Gem Implementer + +recommended + +The Implementer executes TDD code changes, ensures verification, and maintains quality. It follows strict TDD discipline with verification commands. + +This agent is ideal for: +- Implementing features with TDD discipline +- Writing tests first, then code +- Ensuring verification commands pass +- Maintaining code quality + +To get the best results, consider: +- Always provide verification commands +- Follow TDD: red, green, refactor +- Check get_errors after every edit +- Keep changes minimal and focused + +--- + +### Gem Chrome Tester + +optional + +The Chrome Tester automates browser testing and UI/UX validation via Chrome DevTools. It requires Chrome DevTools MCP server. + +This agent is ideal for: +- Automated browser testing +- UI/UX validation +- Capturing screenshots and snapshots +- Testing web applications + +To get the best results, consider: +- Have Chrome DevTools MCP server installed +- Provide clear test scenarios +- Use snapshots for debugging +- Test on different viewports + +--- + +### Gem Devops + +optional + +The DevOps agent manages containers, CI/CD pipelines, and infrastructure deployment. It handles infrastructure as code and deployment automation. + +This agent is ideal for: +- Setting up CI/CD pipelines +- Managing containers (Docker, Kubernetes) +- Infrastructure deployment +- DevOps automation + +To get the best results, consider: +- Provide clear infrastructure requirements +- Use IaC best practices +- Test pipelines locally +- Document deployment processes + +--- + +### Gem Reviewer + +recommended + +The Reviewer is a security gatekeeper for critical tasks. It applies OWASP scanning, secrets detection, and compliance verification. + +This agent is ideal for: +- Security code reviews +- OWASP Top 10 scanning +- Secrets and PII detection +- Compliance verification + +To get the best results, consider: +- Use for all critical security changes +- Review findings carefully +- Address all security issues +- Keep documentation updated + +--- + +### Gem Documentation Writer + +optional + +The Documentation Writer generates technical docs, diagrams, and maintains code-documentation parity. + +This agent is ideal for: +- Generating technical documentation +- Creating diagrams +- Keeping docs in sync with code +- API documentation + +To get the best results, consider: +- Provide clear context and requirements +- Review generated docs for accuracy +- Update docs with code changes +- Use consistent documentation style + +--- + +*This collection includes 8 curated items for **Gem Team Multi-Agent Orchestration**.* \ No newline at end of file diff --git a/collections/ospo-sponsorship.collection.yml b/collections/ospo-sponsorship.collection.yml new file mode 100644 index 00000000..8d547734 --- /dev/null +++ b/collections/ospo-sponsorship.collection.yml @@ -0,0 +1,15 @@ +id: ospo-sponsorship +name: Open Source Sponsorship +description: Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms. +tags: [ospo, sponsorship, open-source, funding, github-sponsors] +items: + # Agent Skills + - path: skills/sponsor-finder/SKILL.md + kind: skill + usage: | + Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. + Invoke by providing a GitHub owner/repo (e.g., "find sponsorable dependencies in expressjs/express"). +display: + ordering: alpha # or "manual" to preserve the order above + show_badge: true # set to true to show collection badge on items + featured: false diff --git a/collections/ospo-sponsorship.md b/collections/ospo-sponsorship.md new file mode 100644 index 00000000..f620a905 --- /dev/null +++ b/collections/ospo-sponsorship.md @@ -0,0 +1,22 @@ +# Open Source Sponsorship + +Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms. + +**Tags:** ospo, sponsorship, open-source, funding, github-sponsors + +## Items in this Collection + +| Title | Type | Description | +| ----- | ---- | ----------- | +| [Sponsor Finder](../skills/sponsor-finder/SKILL.md) | Skill | Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke by providing a GitHub owner/repo (e.g. "find sponsorable dependencies in expressjs/express"). [see usage](#sponsor-finder) | + +## Collection Usage + +### Sponsor Finder + +Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. +Invoke by providing a GitHub owner/repo (e.g., "find sponsorable dependencies in expressjs/express"). + +--- + +*This collection includes 1 curated items for **Open Source Sponsorship**.* \ No newline at end of file diff --git a/docs/README.agents.md b/docs/README.agents.md index 60246099..27d64099 100644 --- a/docs/README.agents.md +++ b/docs/README.agents.md @@ -73,6 +73,14 @@ Custom agents for GitHub Copilot, making it easy for users and organizations to | [Expert .NET software engineer mode instructions](../agents/expert-dotnet-software-engineer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-dotnet-software-engineer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-dotnet-software-engineer.agent.md) | Provide expert .NET software engineering guidance using modern software design patterns. | | | [Expert React Frontend Engineer](../agents/expert-react-frontend-engineer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-react-frontend-engineer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-react-frontend-engineer.agent.md) | Expert React 19.2 frontend engineer specializing in modern hooks, Server Components, Actions, TypeScript, and performance optimization | | | [Fedora Linux Expert](../agents/fedora-linux-expert.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Ffedora-linux-expert.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Ffedora-linux-expert.agent.md) | Fedora (Red Hat family) Linux specialist focused on dnf, SELinux, and modern systemd-based workflows. | | +| [Gem Chrome Tester](../agents/gem-chrome-tester.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-chrome-tester.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-chrome-tester.agent.md) | Automates browser testing, UI/UX validation via Chrome DevTools | | +| [Gem Devops](../agents/gem-devops.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-devops.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-devops.agent.md) | Manages containers, CI/CD pipelines, and infrastructure deployment | | +| [Gem Documentation Writer](../agents/gem-documentation-writer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-documentation-writer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-documentation-writer.agent.md) | Generates technical docs, diagrams, maintains code-documentation parity | | +| [Gem Implementer](../agents/gem-implementer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-implementer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-implementer.agent.md) | Executes TDD code changes, ensures verification, maintains quality | | +| [Gem Orchestrator](../agents/gem-orchestrator.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-orchestrator.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-orchestrator.agent.md) | Coordinates multi-agent workflows, delegates tasks, synthesizes results via runSubagent | | +| [Gem Planner](../agents/gem-planner.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-planner.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-planner.agent.md) | Creates DAG-based plans with pre-mortem analysis and task decomposition from research findings | | +| [Gem Researcher](../agents/gem-researcher.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-researcher.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-researcher.agent.md) | Research specialist: gathers codebase context, identifies relevant files/patterns, returns structured findings | | +| [Gem Reviewer](../agents/gem-reviewer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-reviewer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgem-reviewer.agent.md) | Security gatekeeper for critical tasks—OWASP, secrets, compliance | | | [Gilfoyle Code Review Mode](../agents/gilfoyle.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgilfoyle.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgilfoyle.agent.md) | Code review and analysis with the sardonic wit and technical elitism of Bertram Gilfoyle from Silicon Valley. Prepare for brutal honesty about your code. | | | [GitHub Actions Expert](../agents/github-actions-expert.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgithub-actions-expert.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgithub-actions-expert.agent.md) | GitHub Actions specialist focused on secure CI/CD workflows, action pinning, OIDC authentication, permissions least privilege, and supply-chain security | | | [Go MCP Server Development Expert](../agents/go-mcp-expert.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgo-mcp-expert.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fgo-mcp-expert.agent.md) | Expert assistant for building Model Context Protocol (MCP) servers in Go using the official SDK. | | diff --git a/docs/README.collections.md b/docs/README.collections.md index 7cc0596f..38fc7778 100644 --- a/docs/README.collections.md +++ b/docs/README.collections.md @@ -29,11 +29,13 @@ Curated collections of related prompts, instructions, and agents organized aroun | [Dataverse SDK for Python](../collections/dataverse-sdk-for-python.md) | Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse. Includes official documentation, best practices, advanced features, file operations, and code generation prompts. | 17 items | dataverse, python, integration, sdk | | [DevOps On-Call](../collections/devops-oncall.md) | A focused set of prompts, instructions, and a chat mode to help triage incidents and respond quickly with DevOps tools and Azure resources. | 5 items | devops, incident-response, oncall, azure | | [Frontend Web Development](../collections/frontend-web-dev.md) | Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks. | 11 items | frontend, web, react, typescript, javascript, css, html, angular, vue | +| [Gem Team Multi-Agent Orchestration](../collections/gem-team.md) | A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing. | 8 items | multi-agent, orchestration, dag-planning, parallel-execution, tdd, verification, automation, security | | [Go MCP Server Development](../collections/go-mcp-development.md) | Complete toolkit for building Model Context Protocol (MCP) servers in Go using the official github.com/modelcontextprotocol/go-sdk. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance. | 3 items | go, golang, mcp, model-context-protocol, server-development, sdk | | [Java Development](../collections/java-development.md) | Comprehensive collection of prompts and instructions for Java development including Spring Boot, Quarkus, testing, documentation, and best practices. | 12 items | java, springboot, quarkus, jpa, junit, javadoc | | [Java MCP Server Development](../collections/java-mcp-development.md) | Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration. | 3 items | java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor | | [Kotlin MCP Server Development](../collections/kotlin-mcp-development.md) | Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance. | 3 items | kotlin, mcp, model-context-protocol, kotlin-multiplatform, server-development, ktor | | [MCP-based M365 Agents](../collections/mcp-m365-copilot.md) | Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot | 5 items | mcp, m365-copilot, declarative-agents, api-plugins, model-context-protocol, adaptive-cards | +| [Open Source Sponsorship](../collections/ospo-sponsorship.md) | Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms. | 1 items | ospo, sponsorship, open-source, funding, github-sponsors | | [OpenAPI to Application - C# .NET](../collections/openapi-to-application-csharp-dotnet.md) | Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, entity framework integration, and C# best practices. | 3 items | openapi, code-generation, api, csharp, dotnet, aspnet | | [OpenAPI to Application - Go](../collections/openapi-to-application-go.md) | Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices for REST APIs. | 3 items | openapi, code-generation, api, go, golang | | [OpenAPI to Application - Java Spring Boot](../collections/openapi-to-application-java-spring-boot.md) | Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices. | 3 items | openapi, code-generation, api, java, spring-boot | diff --git a/docs/README.skills.md b/docs/README.skills.md index e55085b7..cfc18fee 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -24,12 +24,14 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | ---- | ----------- | -------------- | | [agentic-eval](../skills/agentic-eval/SKILL.md) | Patterns and techniques for evaluating and improving AI agent outputs. Use this skill when:
- Implementing self-critique and reflection loops
- Building evaluator-optimizer pipelines for quality-critical generation
- Creating test-driven code refinement workflows
- Designing rubric-based or LLM-as-judge evaluation systems
- Adding iterative improvement to agent outputs (code, reports, analysis)
- Measuring and improving agent response quality | None | | [appinsights-instrumentation](../skills/appinsights-instrumentation/SKILL.md) | Instrument a webapp to send useful telemetry data to Azure App Insights | `LICENSE.txt`
`examples/appinsights.bicep`
`references/ASPNETCORE.md`
`references/AUTO.md`
`references/NODEJS.md`
`references/PYTHON.md`
`scripts/appinsights.ps1` | +| [aspire](../skills/aspire/SKILL.md) | Aspire skill covering the Aspire CLI, AppHost orchestration, service discovery, integrations, MCP server, VS Code extension, Dev Containers, GitHub Codespaces, templates, dashboard, and deployment. Use when the user asks to create, run, debug, configure, deploy, or troubleshoot an Aspire distributed application. | `references/architecture.md`
`references/cli-reference.md`
`references/dashboard.md`
`references/deployment.md`
`references/integrations-catalog.md`
`references/mcp-server.md`
`references/polyglot-apis.md`
`references/testing.md`
`references/troubleshooting.md` | | [azure-deployment-preflight](../skills/azure-deployment-preflight/SKILL.md) | Performs comprehensive preflight validation of Bicep deployments to Azure, including template syntax validation, what-if analysis, and permission checks. Use this skill before any deployment to Azure to preview changes, identify potential issues, and ensure the deployment will succeed. Activate when users mention deploying to Azure, validating Bicep files, checking deployment permissions, previewing infrastructure changes, running what-if, or preparing for azd provision. | `references/ERROR-HANDLING.md`
`references/REPORT-TEMPLATE.md`
`references/VALIDATION-COMMANDS.md` | | [azure-devops-cli](../skills/azure-devops-cli/SKILL.md) | Manage Azure DevOps resources via CLI including projects, repos, pipelines, builds, pull requests, work items, artifacts, and service endpoints. Use when working with Azure DevOps, az commands, devops automation, CI/CD, or when user mentions Azure DevOps CLI. | None | | [azure-resource-visualizer](../skills/azure-resource-visualizer/SKILL.md) | Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. | `LICENSE.txt`
`assets/template-architecture.md` | | [azure-role-selector](../skills/azure-role-selector/SKILL.md) | When user is asking for guidance for which role to assign to an identity given desired permissions, this agent helps them understand the role that will meet the requirements with least privilege access and how to apply that role. | `LICENSE.txt` | | [azure-static-web-apps](../skills/azure-static-web-apps/SKILL.md) | Helps create, configure, and deploy Azure Static Web Apps using the SWA CLI. Use when deploying static sites to Azure, setting up SWA local development, configuring staticwebapp.config.json, adding Azure Functions APIs to SWA, or setting up GitHub Actions CI/CD for Static Web Apps. | None | | [chrome-devtools](../skills/chrome-devtools/SKILL.md) | Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance. | None | +| [copilot-cli-quickstart](../skills/copilot-cli-quickstart/SKILL.md) | Use this skill when someone wants to learn GitHub Copilot CLI from scratch. Offers interactive step-by-step tutorials with separate Developer and Non-Developer tracks, plus on-demand Q&A. Just say "start tutorial" or ask a question! Note: This skill targets GitHub Copilot CLI specifically and uses CLI-specific tools (ask_user, sql, fetch_copilot_cli_documentation). | None | | [copilot-sdk](../skills/copilot-sdk/SKILL.md) | 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. | None | | [create-web-form](../skills/create-web-form/SKILL.md) | Create robust, accessible web forms with best practices for HTML structure, CSS styling, JavaScript interactivity, form validation, and server-side processing. Use when asked to "create a form", "build a web form", "add a contact form", "make a signup form", or when building any HTML form with data handling. Covers PHP and Python backends, MySQL database integration, REST APIs, XML data exchange, accessibility (ARIA), and progressive web apps. | `references/accessibility.md`
`references/aria-form-role.md`
`references/css-styling.md`
`references/form-basics.md`
`references/form-controls.md`
`references/form-data-handling.md`
`references/html-form-elements.md`
`references/html-form-example.md`
`references/hypertext-transfer-protocol.md`
`references/javascript.md`
`references/php-cookies.md`
`references/php-forms.md`
`references/php-json.md`
`references/php-mysql-database.md`
`references/progressive-web-app.md`
`references/python-as-web-framework.md`
`references/python-contact-form.md`
`references/python-flask-app.md`
`references/python-flask.md`
`references/security.md`
`references/styling-web-forms.md`
`references/web-api.md`
`references/web-performance.md`
`references/xml.md` | | [excalidraw-diagram-generator](../skills/excalidraw-diagram-generator/SKILL.md) | 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. | `references/element-types.md`
`references/excalidraw-schema.md`
`scripts/.gitignore`
`scripts/README.md`
`scripts/add-arrow.py`
`scripts/add-icon-to-diagram.py`
`scripts/split-excalidraw-library.py`
`templates/business-flow-swimlane-template.excalidraw`
`templates/class-diagram-template.excalidraw`
`templates/data-flow-diagram-template.excalidraw`
`templates/er-diagram-template.excalidraw`
`templates/flowchart-template.excalidraw`
`templates/mindmap-template.excalidraw`
`templates/relationship-template.excalidraw`
`templates/sequence-diagram-template.excalidraw` | @@ -55,6 +57,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | [refactor](../skills/refactor/SKILL.md) | 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. | None | | [scoutqa-test](../skills/scoutqa-test/SKILL.md) | This skill should be used when the user asks to "test this website", "run exploratory testing", "check for accessibility issues", "verify the login flow works", "find bugs on this page", or requests automated QA testing. Triggers on web application testing scenarios including smoke tests, accessibility audits, e-commerce flows, and user flow validation using ScoutQA CLI. IMPORTANT: Use this skill proactively after implementing web application features to verify they work correctly - don't wait for the user to ask for testing. | None | | [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None | +| [sponsor-finder](../skills/sponsor-finder/SKILL.md) | Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke by providing a GitHub owner/repo (e.g. "find sponsorable dependencies in expressjs/express"). | None | | [terraform-azurerm-set-diff-analyzer](../skills/terraform-azurerm-set-diff-analyzer/SKILL.md) | Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes. | `references/azurerm_set_attributes.json`
`references/azurerm_set_attributes.md`
`scripts/.gitignore`
`scripts/README.md`
`scripts/analyze_plan.py` | | [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices | None | | [vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md) | Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices | None | diff --git a/eng/README.md b/eng/README.md index ff95c85d..5306315b 100644 --- a/eng/README.md +++ b/eng/README.md @@ -1,6 +1,30 @@ # Contributor Reporting (Maintainers) 🚧 -This directory contains a lightweight helper to generate human-readable reports about missing contributors. +This directory contains build scripts and utilities for maintaining the repository. + +## Build Scripts + +### `update-readme.mjs` +Generates the main README.md and documentation files from the repository content (agents, prompts, instructions, skills, hooks, collections). + +### `generate-marketplace.mjs` +Automatically generates `.github/plugin/marketplace.json` from all plugin directories in the `plugins/` folder. This file is used by the GitHub Copilot CLI to discover and install plugins from this repository. + +**How it works:** +- Scans all directories in `plugins/` +- Reads each plugin's `.github/plugin/plugin.json` for metadata +- Generates a consolidated `marketplace.json` with all available plugins +- Runs automatically as part of `npm run build` + +**To run manually:** +```bash +npm run plugin:generate-marketplace +``` + +### `generate-website-data.mjs` +Generates JSON data files for the website from repository content. + +## Contributor Tools - `contributor-report.mjs` — generates a markdown report of merged PRs for missing contributors (includes shared helpers). - `add-missing-contributors.mjs` — on-demand maintainer script to automatically add missing contributors to `.all-contributorsrc` (infers contribution types from merged PR files, then runs the all-contributors CLI). diff --git a/eng/generate-marketplace.mjs b/eng/generate-marketplace.mjs new file mode 100755 index 00000000..80139c85 --- /dev/null +++ b/eng/generate-marketplace.mjs @@ -0,0 +1,99 @@ +#!/usr/bin/env node + +import fs from "fs"; +import path from "path"; +import { ROOT_FOLDER } from "./constants.mjs"; + +const PLUGINS_DIR = path.join(ROOT_FOLDER, "plugins"); +const MARKETPLACE_FILE = path.join(ROOT_FOLDER, ".github", "plugin", "marketplace.json"); + +/** + * Read plugin metadata from plugin.json file + * @param {string} pluginDir - Path to plugin directory + * @returns {object|null} - Plugin metadata or null if not found + */ +function readPluginMetadata(pluginDir) { + const pluginJsonPath = path.join(pluginDir, ".github", "plugin", "plugin.json"); + + if (!fs.existsSync(pluginJsonPath)) { + console.warn(`Warning: No plugin.json found for ${path.basename(pluginDir)}`); + return null; + } + + try { + const content = fs.readFileSync(pluginJsonPath, "utf8"); + return JSON.parse(content); + } catch (error) { + console.error(`Error reading plugin.json for ${path.basename(pluginDir)}:`, error.message); + return null; + } +} + +/** + * Generate marketplace.json from plugin directories + */ +function generateMarketplace() { + console.log("Generating marketplace.json..."); + + if (!fs.existsSync(PLUGINS_DIR)) { + console.error(`Error: Plugins directory not found at ${PLUGINS_DIR}`); + process.exit(1); + } + + // Read all plugin directories + const pluginDirs = fs.readdirSync(PLUGINS_DIR, { withFileTypes: true }) + .filter(entry => entry.isDirectory()) + .map(entry => entry.name) + .sort(); + + console.log(`Found ${pluginDirs.length} plugin directories`); + + // Read metadata for each plugin + const plugins = []; + for (const dirName of pluginDirs) { + const pluginPath = path.join(PLUGINS_DIR, dirName); + const metadata = readPluginMetadata(pluginPath); + + if (metadata) { + plugins.push({ + name: metadata.name, + source: `./plugins/${dirName}`, + description: metadata.description, + version: metadata.version || "1.0.0" + }); + console.log(`✓ Added plugin: ${metadata.name}`); + } else { + console.log(`✗ Skipped: ${dirName} (no valid plugin.json)`); + } + } + + // Create marketplace.json structure + const marketplace = { + name: "awesome-copilot", + metadata: { + description: "Community-driven collection of GitHub Copilot plugins, agents, prompts, and skills", + version: "1.0.0", + pluginRoot: "./plugins" + }, + owner: { + name: "GitHub", + email: "copilot@github.com" + }, + plugins: plugins + }; + + // Ensure directory exists + const marketplaceDir = path.dirname(MARKETPLACE_FILE); + if (!fs.existsSync(marketplaceDir)) { + fs.mkdirSync(marketplaceDir, { recursive: true }); + } + + // Write marketplace.json + fs.writeFileSync(MARKETPLACE_FILE, JSON.stringify(marketplace, null, 2) + "\n"); + + console.log(`\n✓ Successfully generated marketplace.json with ${plugins.length} plugins`); + console.log(` Location: ${MARKETPLACE_FILE}`); +} + +// Run the script +generateMarketplace(); diff --git a/package.json b/package.json index a5ece157..5eff7968 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "private": true, "scripts": { "start": "npm run build", - "build": "node ./eng/update-readme.mjs", + "build": "node ./eng/update-readme.mjs && node ./eng/generate-marketplace.mjs", "contributors:add": "all-contributors add", "contributors:report": "node ./eng/contributor-report.mjs", "contributors:generate": "all-contributors generate", @@ -17,6 +17,7 @@ "skill:create": "node ./eng/create-skill.mjs", "plugin:migrate": "node ./eng/collection-to-plugin.mjs", "plugin:refresh": "PLUGIN_MODE=refresh node ./eng/collection-to-plugin.mjs", + "plugin:generate-marketplace": "node ./eng/generate-marketplace.mjs", "website:data": "node ./eng/generate-website-data.mjs", "website:dev": "npm run website:data && npm run --prefix website dev", "website:build": "npm run build && npm run website:data && npm run --prefix website build", diff --git a/plugins/gem-team/.github/plugin/plugin.json b/plugins/gem-team/.github/plugin/plugin.json new file mode 100644 index 00000000..02d6400e --- /dev/null +++ b/plugins/gem-team/.github/plugin/plugin.json @@ -0,0 +1,10 @@ +{ + "name": "gem-team", + "description": "A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing.", + "version": "1.0.0", + "author": { + "name": "Awesome Copilot Community" + }, + "repository": "https://github.com/github/awesome-copilot", + "license": "MIT" +} diff --git a/plugins/gem-team/README.md b/plugins/gem-team/README.md new file mode 100644 index 00000000..321c64a9 --- /dev/null +++ b/plugins/gem-team/README.md @@ -0,0 +1,33 @@ +# Gem Team Multi-Agent Orchestration Plugin + +A modular multi-agent team for complex project execution with DAG-based planning, parallel execution, TDD verification, and automated testing. + +## Installation + +```bash +# Using Copilot CLI +copilot plugin install gem-team@awesome-copilot +``` + +## What's Included + +### Agents + +| Agent | Description | +|-------|-------------| +| `gem-orchestrator` | Coordinates multi-agent workflows, delegates tasks, synthesizes results via runSubagent | +| `gem-researcher` | Research specialist: gathers codebase context, identifies relevant files/patterns, returns structured findings | +| `gem-planner` | Creates DAG-based plans with pre-mortem analysis and task decomposition from research findings | +| `gem-implementer` | Executes TDD code changes, ensures verification, maintains quality | +| `gem-chrome-tester` | Automates browser testing, UI/UX validation via Chrome DevTools | +| `gem-devops` | Manages containers, CI/CD pipelines, and infrastructure deployment | +| `gem-reviewer` | Security gatekeeper for critical tasks—OWASP, secrets, compliance | +| `gem-documentation-writer` | Generates technical docs, diagrams, maintains code-documentation parity | + +## Source + +This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions. + +## License + +MIT diff --git a/plugins/gem-team/agents/gem-chrome-tester.md b/plugins/gem-team/agents/gem-chrome-tester.md new file mode 120000 index 00000000..8d231f25 --- /dev/null +++ b/plugins/gem-team/agents/gem-chrome-tester.md @@ -0,0 +1 @@ +../../../agents/gem-chrome-tester.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-devops.md b/plugins/gem-team/agents/gem-devops.md new file mode 120000 index 00000000..5a965bed --- /dev/null +++ b/plugins/gem-team/agents/gem-devops.md @@ -0,0 +1 @@ +../../../agents/gem-devops.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-documentation-writer.md b/plugins/gem-team/agents/gem-documentation-writer.md new file mode 120000 index 00000000..de10461e --- /dev/null +++ b/plugins/gem-team/agents/gem-documentation-writer.md @@ -0,0 +1 @@ +../../../agents/gem-documentation-writer.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-implementer.md b/plugins/gem-team/agents/gem-implementer.md new file mode 120000 index 00000000..030a21d5 --- /dev/null +++ b/plugins/gem-team/agents/gem-implementer.md @@ -0,0 +1 @@ +../../../agents/gem-implementer.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-orchestrator.md b/plugins/gem-team/agents/gem-orchestrator.md new file mode 120000 index 00000000..0f72d3bb --- /dev/null +++ b/plugins/gem-team/agents/gem-orchestrator.md @@ -0,0 +1 @@ +../../../agents/gem-orchestrator.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-planner.md b/plugins/gem-team/agents/gem-planner.md new file mode 120000 index 00000000..b6cdc652 --- /dev/null +++ b/plugins/gem-team/agents/gem-planner.md @@ -0,0 +1 @@ +../../../agents/gem-planner.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-researcher.md b/plugins/gem-team/agents/gem-researcher.md new file mode 120000 index 00000000..29b4b593 --- /dev/null +++ b/plugins/gem-team/agents/gem-researcher.md @@ -0,0 +1 @@ +../../../agents/gem-researcher.agent.md \ No newline at end of file diff --git a/plugins/gem-team/agents/gem-reviewer.md b/plugins/gem-team/agents/gem-reviewer.md new file mode 120000 index 00000000..de8ce09a --- /dev/null +++ b/plugins/gem-team/agents/gem-reviewer.md @@ -0,0 +1 @@ +../../../agents/gem-reviewer.agent.md \ No newline at end of file diff --git a/plugins/ospo-sponsorship/.github/plugin/plugin.json b/plugins/ospo-sponsorship/.github/plugin/plugin.json new file mode 100644 index 00000000..b5508ba7 --- /dev/null +++ b/plugins/ospo-sponsorship/.github/plugin/plugin.json @@ -0,0 +1,10 @@ +{ + "name": "ospo-sponsorship", + "description": "Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms.", + "version": "1.0.0", + "author": { + "name": "Awesome Copilot Community" + }, + "repository": "https://github.com/github/awesome-copilot", + "license": "MIT" +} diff --git a/plugins/ospo-sponsorship/README.md b/plugins/ospo-sponsorship/README.md new file mode 100644 index 00000000..315ceece --- /dev/null +++ b/plugins/ospo-sponsorship/README.md @@ -0,0 +1,26 @@ +# Open Source Sponsorship Plugin + +Tools and resources for Open Source Program Offices (OSPOs) to identify, evaluate, and manage sponsorship of open source dependencies through GitHub Sponsors, Open Collective, and other funding platforms. + +## Installation + +```bash +# Using Copilot CLI +copilot plugin install ospo-sponsorship@awesome-copilot +``` + +## What's Included + +### Skills + +| Skill | Description | +|-------|-------------| +| `SKILL.md` | Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke by providing a GitHub owner/repo (e.g. "find sponsorable dependencies in expressjs/express"). | + +## Source + +This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions. + +## License + +MIT diff --git a/plugins/ospo-sponsorship/skills/sponsor-finder b/plugins/ospo-sponsorship/skills/sponsor-finder new file mode 120000 index 00000000..d9aa6da7 --- /dev/null +++ b/plugins/ospo-sponsorship/skills/sponsor-finder @@ -0,0 +1 @@ +../../../skills/sponsor-finder \ No newline at end of file diff --git a/skills/aspire/SKILL.md b/skills/aspire/SKILL.md new file mode 100644 index 00000000..937dffae --- /dev/null +++ b/skills/aspire/SKILL.md @@ -0,0 +1,231 @@ +--- +name: aspire +description: 'Aspire skill covering the Aspire CLI, AppHost orchestration, service discovery, integrations, MCP server, VS Code extension, Dev Containers, GitHub Codespaces, templates, dashboard, and deployment. Use when the user asks to create, run, debug, configure, deploy, or troubleshoot an Aspire distributed application.' +--- + +# Aspire — Polyglot Distributed-App Orchestration + +Aspire is a **code-first, polyglot toolchain** for building observable, production-ready distributed applications. It orchestrates containers, executables, and cloud resources from a single AppHost project — regardless of whether the workloads are C#, Python, JavaScript/TypeScript, Go, Java, Rust, Bun, Deno, or PowerShell. + +> **Mental model:** The AppHost is a *conductor* — it doesn't play the instruments, it tells every service when to start, how to find each other, and watches for problems. + +Detailed reference material lives in the `references/` folder — load on demand. + +--- + +## References + +| Reference | When to load | +|---|---| +| [CLI Reference](references/cli-reference.md) | Command flags, options, or detailed usage | +| [MCP Server](references/mcp-server.md) | Setting up MCP for AI assistants, available tools | +| [Integrations Catalog](references/integrations-catalog.md) | Discovering integrations via MCP tools, wiring patterns | +| [Polyglot APIs](references/polyglot-apis.md) | Method signatures, chaining options, language-specific patterns | +| [Architecture](references/architecture.md) | DCP internals, resource model, service discovery, networking, telemetry | +| [Dashboard](references/dashboard.md) | Dashboard features, standalone mode, GenAI Visualizer | +| [Deployment](references/deployment.md) | Docker, Kubernetes, Azure Container Apps, App Service | +| [Testing](references/testing.md) | Integration tests against the AppHost | +| [Troubleshooting](references/troubleshooting.md) | Diagnostic codes, common errors, and fixes | + +--- + +## 1. Researching Aspire Documentation + +The Aspire team ships an **MCP server** that provides documentation tools directly inside your AI assistant. See [MCP Server](references/mcp-server.md) for setup details. + +### Aspire CLI 13.2+ (recommended — has built-in docs search) + +If running Aspire CLI **13.2 or later** (`aspire --version`), the MCP server includes docs search tools: + +| Tool | Description | +|---|---| +| `list_docs` | Lists all available documentation from aspire.dev | +| `search_docs` | Performs weighted lexical search across indexed documentation | +| `get_doc` | Retrieves a specific document by its slug | + +These tools were added in [PR #14028](https://github.com/dotnet/aspire/pull/14028). To update: `aspire update --self --channel daily`. + +For more on this approach, see David Pine's post: https://davidpine.dev/posts/aspire-docs-mcp-tools/ + +### Aspire CLI 13.1 (integration tools only) + +On 13.1, the MCP server provides integration lookup but **not** docs search: + +| Tool | Description | +|---|---| +| `list_integrations` | Lists available Aspire hosting integrations | +| `get_integration_docs` | Gets documentation for a specific integration package | + +For general docs queries on 13.1, use **Context7** as your primary source (see below). + +### Fallback: Context7 + +Use **Context7** (`mcp_context7`) when the Aspire MCP docs tools are unavailable (13.1) or the MCP server isn't running: + +**Step 1 — Resolve the library ID** (one-time per session): + +Call `mcp_context7_resolve-library-id` with `libraryName: ".NET Aspire"`. + +| Rank | Library ID | Use when | +|---|---|---| +| 1 | `/microsoft/aspire.dev` | Primary source. Guides, integrations, CLI reference, deployment. | +| 2 | `/dotnet/aspire` | API internals, source-level implementation details. | +| 3 | `/communitytoolkit/aspire` | Non-Microsoft polyglot integrations (Go, Java, Node.js, Ollama). | + +**Step 2 — Query docs:** + +``` +libraryId: "/microsoft/aspire.dev", query: "Python integration AddPythonApp service discovery" +libraryId: "/communitytoolkit/aspire", query: "Golang Java Node.js community integrations" +``` + +### Fallback: GitHub search (when Context7 is also unavailable) + +Search the official docs repo on GitHub: +- **Docs repo:** `microsoft/aspire.dev` — path: `src/frontend/src/content/docs/` +- **Source repo:** `dotnet/aspire` +- **Samples repo:** `dotnet/aspire-samples` +- **Community integrations:** `CommunityToolkit/Aspire` + +--- + +## 2. Prerequisites & Install + +| Requirement | Details | +|---|---| +| **.NET SDK** | 10.0+ (required even for non-.NET workloads — the AppHost is .NET) | +| **Container runtime** | Docker Desktop, Podman, or Rancher Desktop | +| **IDE (optional)** | VS Code + C# Dev Kit, Visual Studio 2022, JetBrains Rider | + +```bash +# Linux / macOS +curl -sSL https://aspire.dev/install.sh | bash + +# Windows PowerShell +irm https://aspire.dev/install.ps1 | iex + +# Verify +aspire --version + +# Install templates +dotnet new install Aspire.ProjectTemplates +``` + +--- + +## 3. Project Templates + +| Template | Command | Description | +|---|---|---| +| **aspire-starter** | `aspire new aspire-starter` | ASP.NET Core/Blazor starter + AppHost + tests | +| **aspire-ts-cs-starter** | `aspire new aspire-ts-cs-starter` | ASP.NET Core/React starter + AppHost | +| **aspire-py-starter** | `aspire new aspire-py-starter` | FastAPI/React starter + AppHost | +| **aspire-apphost-singlefile** | `aspire new aspire-apphost-singlefile` | Empty single-file AppHost | + +--- + +## 4. AppHost Quick Start (Polyglot) + +The AppHost orchestrates all services. Non-.NET workloads run as containers or executables. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +// Infrastructure +var redis = builder.AddRedis("cache"); +var postgres = builder.AddPostgres("pg").AddDatabase("catalog"); + +// .NET API +var api = builder.AddProject("api") + .WithReference(postgres).WithReference(redis); + +// Python ML service +var ml = builder.AddPythonApp("ml-service", "../ml-service", "main.py") + .WithHttpEndpoint(targetPort: 8000).WithReference(redis); + +// React frontend (Vite) +var web = builder.AddViteApp("web", "../frontend") + .WithHttpEndpoint(targetPort: 5173).WithReference(api); + +// Go worker +var worker = builder.AddGolangApp("worker", "../go-worker") + .WithReference(redis); + +builder.Build().Run(); +``` + +For complete API signatures, see [Polyglot APIs](references/polyglot-apis.md). + +--- + +## 5. Core Concepts (Summary) + +| Concept | Key point | +|---|---| +| **Run vs Publish** | `aspire run` = local dev (DCP engine). `aspire publish` = generate deployment manifests. | +| **Service discovery** | Automatic via env vars: `ConnectionStrings__`, `services____http__0` | +| **Resource lifecycle** | DAG ordering — dependencies start first. `.WaitFor()` gates on health checks. | +| **Resource types** | `ProjectResource`, `ContainerResource`, `ExecutableResource`, `ParameterResource` | +| **Integrations** | 144+ across 13 categories. Hosting package (AppHost) + Client package (service). | +| **Dashboard** | Real-time logs, traces, metrics, GenAI visualizer. Runs automatically with `aspire run`. | +| **MCP Server** | AI assistants can query running apps and search docs via CLI (STDIO). | +| **Testing** | `Aspire.Hosting.Testing` — spin up full AppHost in xUnit/MSTest/NUnit. | +| **Deployment** | Docker, Kubernetes, Azure Container Apps, Azure App Service. | + +--- + +## 6. CLI Quick Reference + +Valid commands in Aspire CLI 13.1: + +| Command | Description | Status | +|---|---|---| +| `aspire new