Preparing the repo for how the custom agents will work

This commit is contained in:
Aaron Powell 2025-10-23 16:37:15 +11:00
parent 3b8a56a83d
commit 3adf3dc1c6
23 changed files with 735 additions and 349 deletions

View File

@ -50,13 +50,13 @@
"path": { "path": {
"type": "string", "type": "string",
"description": "Relative path from repository root to the item file", "description": "Relative path from repository root to the item file",
"pattern": "^(prompts|instructions|chatmodes)/[^/]+\\.(prompt|instructions|chatmode)\\.md$", "pattern": "^(prompts|instructions|chatmodes|agents)/[^/]+\\.(prompt|instructions|chatmode|agent)\\.md$",
"minLength": 1 "minLength": 1
}, },
"kind": { "kind": {
"type": "string", "type": "string",
"description": "Type of the item", "description": "Type of the item",
"enum": ["prompt", "instruction", "chat-mode"] "enum": ["prompt", "instruction", "chat-mode", "agent"]
}, },
"usage": { "usage": {
"type": "string", "type": "string",
@ -82,9 +82,9 @@
"description": "Whether to show collection badge on items", "description": "Whether to show collection badge on items",
"default": false "default": false
}, },
"promoted": { "featured": {
"type": "boolean", "type": "boolean",
"description": "Whether this collection is promoted on the main page", "description": "Whether this collection is featured on the main page",
"default": false "default": false
} }
} }

24
README.agents.md Normal file
View File

@ -0,0 +1,24 @@
# 🤖 Custom Agents
Custom GitHub Copilot agents that integrate with MCP servers to provide enhanced capabilities for specific workflows and tools.
### How to Use Custom Agents
**To Install:**
- Click the **VS Code** or **VS Code Insiders** install button for the agent you want to use
- Download the `*.agent.md` file and manually add it to your repository
**MCP Server Setup:**
- Each agent may require one or more MCP servers to function
- Click the MCP server to view it on the GitHub MCP registry
- Agents will automatically install the MCP servers they need when activated
**To Activate/Use:**
- Access installed agents through the VS Code Chat interface, through Copilot CLI, or assign them in Coding Agent
- Agents will have access to tools from configured MCP servers
- Follow agent-specific instructions for optimal usage
| Title | Description | MCP Servers |
| ----- | ----------- | ----------- |
| [Amplitude Experiment Implementation](agents/amplitude-experiment-implementation.agent.md)<br />[![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%2Famplitude-experiment-implementation.agent.md)<br />[![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%2Famplitude-experiment-implementation.agent.md) | This custom agent uses Amplitude's MCP tools to deploy new experiments inside of Amplitude, enabling seamless variant testing capabilities and rollout of product features. | |
| [Launchdarkly Flag Cleanup](agents/launchdarkly-flag-cleanup.agent.md)<br />[![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%2Flaunchdarkly-flag-cleanup.agent.md)<br />[![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%2Flaunchdarkly-flag-cleanup.agent.md) | A specialized GitHub Copilot agent that uses the LaunchDarkly MCP server to safely automate feature flag cleanup workflows. This agent determines removal readiness, identifies the correct forward value, and creates PRs that preserve production behavior while removing obsolete flags and updating stale defaults. | [launchdarkly](https://github.com/mcp/launchdarkly/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code-0098FF?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode:mcp/by-name/launchdarkly/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code_Insiders-24bfa5?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode-insiders:mcp/by-name/launchdarkly/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-Visual_Studio-C16FDE?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-visualstudio?vscode:mcp/by-name/launchdarkly/mcp-server) |
| [Stackhawk Security Onboarding](agents/stackhawk-security-onboarding.agent.md)<br />[![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%2Fstackhawk-security-onboarding.agent.md)<br />[![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%2Fstackhawk-security-onboarding.agent.md) | Automatically set up StackHawk security testing for your repository with generated configuration and GitHub Actions workflow | [stackhawk-mcp](https://github.com/mcp/stackhawk-mcp/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code-0098FF?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode:mcp/by-name/stackhawk-mcp/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code_Insiders-24bfa5?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode-insiders:mcp/by-name/stackhawk-mcp/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-Visual_Studio-C16FDE?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-visualstudio?vscode:mcp/by-name/stackhawk-mcp/mcp-server) |

View File

@ -35,7 +35,7 @@ Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, e
| [Create PRD Chat Mode](chatmodes/prd.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) | Generate a comprehensive Product Requirements Document (PRD) in Markdown, detailing user stories, acceptance criteria, technical considerations, and metrics. Optionally create GitHub issues upon user confirmation. | | [Create PRD Chat Mode](chatmodes/prd.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) | Generate a comprehensive Product Requirements Document (PRD) in Markdown, detailing user stories, acceptance criteria, technical considerations, and metrics. Optionally create GitHub issues upon user confirmation. |
| [Critical thinking mode instructions](chatmodes/critical-thinking.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fcritical-thinking.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fcritical-thinking.chatmode.md) | Challenge assumptions and encourage critical thinking to ensure the best possible solution and outcomes. | | [Critical thinking mode instructions](chatmodes/critical-thinking.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fcritical-thinking.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fcritical-thinking.chatmode.md) | Challenge assumptions and encourage critical thinking to ensure the best possible solution and outcomes. |
| [Debug Mode Instructions](chatmodes/debug.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdebug.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdebug.chatmode.md) | Debug your application to find and fix a bug | | [Debug Mode Instructions](chatmodes/debug.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdebug.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdebug.chatmode.md) | Debug your application to find and fix a bug |
| [Declarative Agents Architect](chatmodes/declarative-agents-architect.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdeclarative-agents-architect.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdeclarative-agents-architect.chatmode.md) | | | | [Declarative Agents Architect](chatmodes/declarative-agents-architect.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdeclarative-agents-architect.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdeclarative-agents-architect.chatmode.md) | |
| [Demonstrate Understanding mode instructions](chatmodes/demonstrate-understanding.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdemonstrate-understanding.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdemonstrate-understanding.chatmode.md) | Validate user understanding of code, design patterns, and implementation details through guided questioning. | | [Demonstrate Understanding mode instructions](chatmodes/demonstrate-understanding.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdemonstrate-understanding.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fdemonstrate-understanding.chatmode.md) | Validate user understanding of code, design patterns, and implementation details through guided questioning. |
| [Electron Code Review Mode Instructions](chatmodes/electron-angular-native.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Felectron-angular-native.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Felectron-angular-native.chatmode.md) | Code Review Mode tailored for Electron app with Node.js backend (main), Angular frontend (render), and native integration layer (e.g., AppleScript, shell, or native tooling). Services in other repos are not reviewed here. | | [Electron Code Review Mode Instructions](chatmodes/electron-angular-native.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Felectron-angular-native.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Felectron-angular-native.chatmode.md) | Code Review Mode tailored for Electron app with Node.js backend (main), Angular frontend (render), and native integration layer (e.g., AppleScript, shell, or native tooling). Services in other repos are not reviewed here. |
| [Expert .NET software engineer mode instructions](chatmodes/expert-dotnet-software-engineer.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-dotnet-software-engineer.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-dotnet-software-engineer.chatmode.md) | Provide expert .NET software engineering guidance using modern software design patterns. | | [Expert .NET software engineer mode instructions](chatmodes/expert-dotnet-software-engineer.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-dotnet-software-engineer.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-dotnet-software-engineer.chatmode.md) | Provide expert .NET software engineering guidance using modern software design patterns. |

View File

@ -16,7 +16,7 @@ Curated collections of related prompts, instructions, and chat modes organized a
| Name | Description | Items | Tags | | Name | Description | Items | Tags |
| ---- | ----------- | ----- | ---- | | ---- | ----------- | ----- | ---- |
| [⭐ Partners](collections/partners.md) | Custom agents that have been created by GitHub partners | 10 items | tag1, tag2, tag3 | | [⭐ Partners](collections/partners.md) | Custom agents that have been created by GitHub partners | 3 items | tag1, tag2, tag3 |
| [Azure & Cloud Development](collections/azure-cloud-development.md) | Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications. | 18 items | azure, cloud, infrastructure, bicep, terraform, serverless, architecture, devops | | [Azure & Cloud Development](collections/azure-cloud-development.md) | Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications. | 18 items | azure, cloud, infrastructure, bicep, terraform, serverless, architecture, devops |
| [C# .NET Development](collections/csharp-dotnet-development.md) | Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices. | 7 items | csharp, dotnet, aspnet, testing | | [C# .NET Development](collections/csharp-dotnet-development.md) | Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices. | 7 items | csharp, dotnet, aspnet, testing |
| [C# MCP Server Development](collections/csharp-mcp-development.md) | 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. | 3 items | csharp, mcp, model-context-protocol, dotnet, server-development | | [C# MCP Server Development](collections/csharp-mcp-development.md) | 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. | 3 items | csharp, mcp, model-context-protocol, dotnet, server-development |
@ -26,18 +26,18 @@ Curated collections of related prompts, instructions, and chat modes organized a
| [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 | | [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 |
| [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 | | [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 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 | | [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 | | [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 |
| [PHP MCP Server Development](collections/php-mcp-development.md) | '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' | 3 items | php, mcp, model-context-protocol, server-development, sdk, attributes, composer | | [PHP MCP Server Development](collections/php-mcp-development.md) | 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 | 3 items | php, mcp, model-context-protocol, server-development, sdk, attributes, composer |
| [Power Apps Code Apps Development](collections/power-apps-code-apps.md) | 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. | 3 items | power-apps, power-platform, typescript, react, code-apps, dataverse, connectors | | [Power Apps Code Apps Development](collections/power-apps-code-apps.md) | 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. | 3 items | power-apps, power-platform, typescript, react, code-apps, dataverse, connectors |
| [Power BI Development](collections/power-bi-development.md) | 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. | 14 items | power-bi, dax, data-modeling, performance, visualization, security, devops, business-intelligence | | [Power BI Development](collections/power-bi-development.md) | 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. | 14 items | power-bi, dax, data-modeling, performance, visualization, security, devops, business-intelligence |
| [Power Platform MCP Connector Development](collections/power-platform-mcp-connector-development.md) | Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio | 4 items | power-platform, mcp, copilot-studio, custom-connector, json-rpc | | [Power Platform MCP Connector Development](collections/power-platform-mcp-connector-development.md) | Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio | 4 items | power-platform, mcp, copilot-studio, custom-connector, json-rpc |
| [Project Planning & Management](collections/project-planning.md) | Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. | 17 items | planning, project-management, epic, feature, implementation, task, architecture, technical-spike | | [Project Planning & Management](collections/project-planning.md) | Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. | 17 items | planning, project-management, epic, feature, implementation, task, architecture, technical-spike |
| [Python MCP Server Development](collections/python-mcp-development.md) | 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. | 3 items | python, mcp, model-context-protocol, fastmcp, server-development | | [Python MCP Server Development](collections/python-mcp-development.md) | 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. | 3 items | python, mcp, model-context-protocol, fastmcp, server-development |
| [Ruby MCP Server Development](collections/ruby-mcp-development.md) | 'Complete toolkit for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration support.' | 3 items | ruby, mcp, model-context-protocol, server-development, sdk, rails, gem | | [Ruby MCP Server Development](collections/ruby-mcp-development.md) | Complete toolkit for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration support. | 3 items | ruby, mcp, model-context-protocol, server-development, sdk, rails, gem |
| [Rust MCP Server Development](collections/rust-mcp-development.md) | Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await, procedural macros, and type-safe implementations. | 3 items | rust, mcp, model-context-protocol, server-development, sdk, tokio, async, macros, rmcp | | [Rust MCP Server Development](collections/rust-mcp-development.md) | Build high-performance Model Context Protocol servers in Rust using the official rmcp SDK with async/await, procedural macros, and type-safe implementations. | 3 items | rust, mcp, model-context-protocol, server-development, sdk, tokio, async, macros, rmcp |
| [Security & Code Quality](collections/security-best-practices.md) | Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications. | 6 items | security, accessibility, performance, code-quality, owasp, a11y, optimization, best-practices | | [Security & Code Quality](collections/security-best-practices.md) | Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications. | 6 items | security, accessibility, performance, code-quality, owasp, a11y, optimization, best-practices |
| [Swift MCP Server Development](collections/swift-mcp-development.md) | 'Comprehensive collection for building Model Context Protocol servers in Swift using the official MCP Swift SDK with modern concurrency features.' | 3 items | swift, mcp, model-context-protocol, server-development, sdk, ios, macos, concurrency, actor, async-await | | [Swift MCP Server Development](collections/swift-mcp-development.md) | Comprehensive collection for building Model Context Protocol servers in Swift using the official MCP Swift SDK with modern concurrency features. | 3 items | swift, mcp, model-context-protocol, server-development, sdk, ios, macos, concurrency, actor, async-await |
| [Tasks by microsoft/edge-ai](collections/edge-ai-tasks.md) | Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai | 3 items | architecture, planning, research, tasks, implementation | | [Tasks by microsoft/edge-ai](collections/edge-ai-tasks.md) | Task Researcher and Task Planner for intermediate to expert users and large codebases - Brought to you by microsoft/edge-ai | 3 items | architecture, planning, research, tasks, implementation |
| [Technical Spike](collections/technical-spike.md) | Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions. | 2 items | technical-spike, assumption-testing, validation, research | | [Technical Spike](collections/technical-spike.md) | Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions. | 2 items | technical-spike, assumption-testing, validation, research |
| [Testing & Test Automation](collections/testing-automation.md) | Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies. | 11 items | testing, tdd, automation, unit-tests, integration, playwright, jest, nunit | | [Testing & Test Automation](collections/testing-automation.md) | Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies. | 11 items | testing, tdd, automation, unit-tests, integration, playwright, jest, nunit |

View File

@ -15,8 +15,8 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
| Title | Description | | Title | Description |
| ----- | ----------- | | ----- | ----------- |
| [.NET Framework Development](instructions/dotnet-framework.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-framework.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-framework.instructions.md) | Guidance for working with .NET Framework projects. Includes project structure, C# language version, NuGet management, and best practices. | | [.NET Framework Development](instructions/dotnet-framework.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-framework.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-framework.instructions.md) | Guidance for working with .NET Framework projects. Includes project structure, C# language version, NuGet management, and best practices. |
| [.NET Framework Upgrade Specialist](instructions/dotnet-upgrade.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-upgrade.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-upgrade.instructions.md) | Specialized agent for comprehensive .NET framework upgrades with progressive tracking and validation |
| [.NET MAUI](instructions/dotnet-maui.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-maui.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-maui.instructions.md) | .NET MAUI component and application patterns | | [.NET MAUI](instructions/dotnet-maui.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-maui.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-maui.instructions.md) | .NET MAUI component and application patterns |
| [.NET Project Upgrade Instructions](instructions/dotnet-upgrade.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-upgrade.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fdotnet-upgrade.instructions.md) | Specialized agent for comprehensive .NET framework upgrades with progressive tracking and validation |
| [AI Prompt Engineering & Safety Best Practices](instructions/ai-prompt-engineering-safety-best-practices.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fai-prompt-engineering-safety-best-practices.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fai-prompt-engineering-safety-best-practices.instructions.md) | Comprehensive best practices for AI prompt engineering, safety frameworks, bias mitigation, and responsible AI usage for Copilot and LLMs. | | [AI Prompt Engineering & Safety Best Practices](instructions/ai-prompt-engineering-safety-best-practices.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fai-prompt-engineering-safety-best-practices.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fai-prompt-engineering-safety-best-practices.instructions.md) | Comprehensive best practices for AI prompt engineering, safety frameworks, bias mitigation, and responsible AI usage for Copilot and LLMs. |
| [Angular Development Instructions](instructions/angular.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fangular.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fangular.instructions.md) | Angular-specific coding standards and best practices | | [Angular Development Instructions](instructions/angular.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fangular.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fangular.instructions.md) | Angular-specific coding standards and best practices |
| [Ansible Conventions and Best Practices](instructions/ansible.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fansible.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fansible.instructions.md) | Ansible conventions and best practices | | [Ansible Conventions and Best Practices](instructions/ansible.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fansible.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fansible.instructions.md) | Ansible conventions and best practices |
@ -40,7 +40,6 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
| [ColdFusion Coding Standards for CFC Files](instructions/coldfusion-cfc.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcoldfusion-cfc.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcoldfusion-cfc.instructions.md) | ColdFusion Coding Standards for CFC component and application patterns | | [ColdFusion Coding Standards for CFC Files](instructions/coldfusion-cfc.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcoldfusion-cfc.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcoldfusion-cfc.instructions.md) | ColdFusion Coding Standards for CFC component and application patterns |
| [Collections Development](instructions/collections.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcollections.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcollections.instructions.md) | Guidelines for creating and managing awesome-copilot collections | | [Collections Development](instructions/collections.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcollections.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcollections.instructions.md) | Guidelines for creating and managing awesome-copilot collections |
| [Containerization & Docker Best Practices](instructions/containerization-docker-best-practices.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcontainerization-docker-best-practices.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcontainerization-docker-best-practices.instructions.md) | Comprehensive best practices for creating optimized, secure, and efficient Docker images and managing containers. Covers multi-stage builds, image layer optimization, security scanning, and runtime best practices. | | [Containerization & Docker Best Practices](instructions/containerization-docker-best-practices.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcontainerization-docker-best-practices.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcontainerization-docker-best-practices.instructions.md) | Comprehensive best practices for creating optimized, secure, and efficient Docker images and managing containers. Covers multi-stage builds, image layer optimization, security scanning, and runtime best practices. |
| [Conventional Commit](instructions/conventional-commit.prompt.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconventional-commit.prompt.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconventional-commit.prompt.md) | Prompt and workflow for generating conventional commit messages using a structured XML format. Guides users to create standardized, descriptive commit messages in line with the Conventional Commits specification, including instructions, examples, and validation. |
| [Convert Spring JPA project to Spring Data Cosmos](instructions/convert-jpa-to-spring-data-cosmos.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconvert-jpa-to-spring-data-cosmos.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconvert-jpa-to-spring-data-cosmos.instructions.md) | Step-by-step guide for converting Spring Boot JPA applications to use Azure Cosmos DB with Spring Data Cosmos | | [Convert Spring JPA project to Spring Data Cosmos](instructions/convert-jpa-to-spring-data-cosmos.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconvert-jpa-to-spring-data-cosmos.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fconvert-jpa-to-spring-data-cosmos.instructions.md) | Step-by-step guide for converting Spring Boot JPA applications to use Azure Cosmos DB with Spring Data Cosmos |
| [Copilot Process tracking Instructions](instructions/copilot-thought-logging.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcopilot-thought-logging.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcopilot-thought-logging.instructions.md) | See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed | | [Copilot Process tracking Instructions](instructions/copilot-thought-logging.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcopilot-thought-logging.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fcopilot-thought-logging.instructions.md) | See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed |
| [Copilot Prompt Files Guidelines](instructions/prompt.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fprompt.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fprompt.instructions.md) | Guidelines for creating high-quality prompt files for GitHub Copilot | | [Copilot Prompt Files Guidelines](instructions/prompt.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fprompt.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fprompt.instructions.md) | Guidelines for creating high-quality prompt files for GitHub Copilot |

View File

@ -12,6 +12,7 @@ A curated collection of prompts, instructions, and chat modes to supercharge you
This repository provides a comprehensive toolkit for enhancing GitHub Copilot with specialized: This repository provides a comprehensive toolkit for enhancing GitHub Copilot with specialized:
- **[![Awesome Prompts](https://img.shields.io/badge/Awesome-Prompts-blue?logo=githubcopilot)](README.prompts.md)** - Focused, task-specific prompts for generating code, documentation, and solving specific problems - **[![Awesome Prompts](https://img.shields.io/badge/Awesome-Prompts-blue?logo=githubcopilot)](README.prompts.md)** - Focused, task-specific prompts for generating code, documentation, and solving specific problems
- **[![Awesome Custom Agents](https://img.shields.io/badge/Awesome-Agents-blue?logo=githubcopilot)](README.agents.md)** - Specialized GitHub Copilot agents that integrate with MCP servers to provide enhanced capabilities for specific workflows and tools
- **[![Awesome Instructions](https://img.shields.io/badge/Awesome-Instructions-blue?logo=githubcopilot)](README.instructions.md)** - Comprehensive coding standards and best practices that apply to specific file patterns or entire projects - **[![Awesome Instructions](https://img.shields.io/badge/Awesome-Instructions-blue?logo=githubcopilot)](README.instructions.md)** - Comprehensive coding standards and best practices that apply to specific file patterns or entire projects
- **[![Awesome Chat Modes](https://img.shields.io/badge/Awesome-Chat_Modes-blue?logo=githubcopilot)](README.chatmodes.md)** - Specialized AI personas and conversation modes for different roles and contexts - **[![Awesome Chat Modes](https://img.shields.io/badge/Awesome-Chat_Modes-blue?logo=githubcopilot)](README.chatmodes.md)** - Specialized AI personas and conversation modes for different roles and contexts
- **[![Awesome Collections](https://img.shields.io/badge/Awesome-Collections-blue?logo=githubcopilot)](README.collections.md)** - Curated collections of related prompts, instructions, and chat modes organized around specific themes and workflows - **[![Awesome Collections](https://img.shields.io/badge/Awesome-Collections-blue?logo=githubcopilot)](README.collections.md)** - Curated collections of related prompts, instructions, and chat modes organized around specific themes and workflows
@ -22,7 +23,7 @@ Discover our curated collections of prompts, instructions, and chat modes organi
| Name | Description | Items | Tags | | Name | Description | Items | Tags |
| ---- | ----------- | ----- | ---- | | ---- | ----------- | ----- | ---- |
| [Partners](collections/partners.md) | Custom agents that have been created by GitHub partners | 10 items | tag1, tag2, tag3 | | [Partners](collections/partners.md) | Custom agents that have been created by GitHub partners | 3 items | tag1, tag2, tag3 |
## MCP Server ## MCP Server

View File

@ -101,7 +101,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi
| [Repo Story Time](prompts/repo-story-time.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md) | Generate a comprehensive repository summary and narrative story from commit history | | [Repo Story Time](prompts/repo-story-time.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md) | Generate a comprehensive repository summary and narrative story from commit history |
| [Review And Refactor](prompts/review-and-refactor.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) | Review and refactor code in your project according to defined instructions | | [Review And Refactor](prompts/review-and-refactor.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) | Review and refactor code in your project according to defined instructions |
| [Ruby MCP Server Generator](prompts/ruby-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md) | Generate a complete Model Context Protocol server project in Ruby using the official MCP Ruby SDK gem. | | [Ruby MCP Server Generator](prompts/ruby-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fruby-mcp-server-generator.prompt.md) | Generate a complete Model Context Protocol server project in Ruby using the official MCP Ruby SDK gem. |
| [Rust MCP Server Generator](prompts/rust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md) | Generate a complete Rust Model Context Protocol server project with tools, prompts, resources, and tests using the official rmcp SDK | | [Rust Mcp Server Generator](prompts/rust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md) | Generate a complete Rust Model Context Protocol server project with tools, prompts, resources, and tests using the official rmcp SDK |
| [Shuffle JSON Data](prompts/shuffle-json-data.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fshuffle-json-data.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fshuffle-json-data.prompt.md) | Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries. | | [Shuffle JSON Data](prompts/shuffle-json-data.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fshuffle-json-data.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fshuffle-json-data.prompt.md) | Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries. |
| [Spring Boot Best Practices](prompts/java-springboot.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-springboot.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-springboot.prompt.md) | Get best practices for developing applications with Spring Boot. | | [Spring Boot Best Practices](prompts/java-springboot.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-springboot.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-springboot.prompt.md) | Get best practices for developing applications with Spring Boot. |
| [Spring Boot with Kotlin Best Practices](prompts/kotlin-springboot.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fkotlin-springboot.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fkotlin-springboot.prompt.md) | Get best practices for developing applications with Spring Boot and Kotlin. | | [Spring Boot with Kotlin Best Practices](prompts/kotlin-springboot.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fkotlin-springboot.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fkotlin-springboot.prompt.md) | Get best practices for developing applications with Spring Boot and Kotlin. |

View File

@ -0,0 +1,34 @@
---
name: Amplitude Experiment Implementation
description: This custom agent uses Amplitude's MCP tools to deploy new experiments inside of Amplitude, enabling seamless variant testing capabilities and rollout of product features.
---
### Role
You are an AI coding agent tasked with implementing a feature experiment based on a set of requirements in a github issue.
### Instructions
1. Gather feature requirements and make a plan
* Identify the issue number with the feature requirements listed. If the user does not provide one, ask the user to provide one and HALT.
* Read through the feature requirements from the issue. Identify feature requirements, instrumentation (tracking requirements), and experimentation requirements if listed.
* Analyze the existing code base/application based on the requirements listed. Understand how the application already implements similar features, and how the application uses Amplitude experiment for feature flagging/experimentation.
* Create a plan to implement the feature, create the experiment, and wrap the feature in the experiment's variants.
2. Implement the feature based on the plan
* Ensure you're following repository best practices and paradigms.
3. Create an experiment using Amplitude MCP.
* Ensure you follow the tool directions and schema.
* Create the experiment using the create_experiment Amplitude MCP tool.
* Determine what configurations you should set on creation based on the issue requirements.
4. Wrap the new feature you just implemented in the new experiment.
* Use existing paradigms for Amplitude Experiment feature flagging and experimentation use in the application.
* Ensure the new feature version(s) is(are) being shown for the treatment variant(s), not the control
5. Summarize your implementation, and provide a URL to the created experiment in the output.

View File

@ -8,62 +8,12 @@ Task Researcher and Task Planner for intermediate to expert users and large code
| Title | Type | Description | | Title | Type | Description |
| ----- | ---- | ----------- | | ----- | ---- | ----------- |
| [Task Researcher Instructions](../chatmodes/task-researcher.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md) | Chat Mode | Task research specialist for comprehensive project analysis - Brought to you by microsoft/edge-ai [see usage](#task-researcher-instructions) |
| [Task Planner Instructions](../chatmodes/task-planner.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md) | Chat Mode | Task planner for creating actionable implementation plans - Brought to you by microsoft/edge-ai [see usage](#task-planner-instructions) |
| [Task Plan Implementation Instructions](../instructions/task-implementation.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md) | Instruction | Instructions for implementing task plans with progressive tracking and change record - Brought to you by microsoft/edge-ai [see usage](#task-plan-implementation-instructions) | | [Task Plan Implementation Instructions](../instructions/task-implementation.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md) | Instruction | Instructions for implementing task plans with progressive tracking and change record - Brought to you by microsoft/edge-ai [see usage](#task-plan-implementation-instructions) |
| [Task Planner Instructions](../chatmodes/task-planner.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md) | Chat Mode | Task planner for creating actionable implementation plans - Brought to you by microsoft/edge-ai [see usage](#task-planner-instructions) |
| [Task Researcher Instructions](../chatmodes/task-researcher.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md) | Chat Mode | Task research specialist for comprehensive project analysis - Brought to you by microsoft/edge-ai [see usage](#task-researcher-instructions) |
## Collection Usage ## Collection Usage
### Task Researcher Instructions
Now you can iterate on research for your tasks!
```markdown, research.prompt.md
---
mode: task-researcher
title: Research microsoft fabric realtime intelligence terraform support
---
Review the microsoft documentation for fabric realtime intelligence
and come up with ideas on how to implement this support into our terraform components.
```
Research is dumped out into a .copilot-tracking/research/*-research.md file and will include discoveries for GHCP along with examples and schema that will be useful during implementation.
Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on.
---
### Task Planner Instructions
Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on.
```markdown, task-plan.prompt.md
---
mode: task-planner
title: Plan microsoft fabric realtime intelligence terraform support
---
#file: .copilot-tracking/research/*-fabric-rti-blueprint-modification-research.md
Build a plan to support adding fabric rti to this project
```
`task-planner` will help you create a plan for implementing your task(s). It will use your fully researched ideas or build new research if not already provided.
`task-planner` will produce three (3) files that will be used by `task-implementation.instructions.md`.
* `.copilot-tracking/plan/*-plan.instructions.md`
* A newly generated instructions file that has the plan as a checklist of Phases and Tasks.
* `.copilot-tracking/details/*-details.md`
* The details for the implementation, the plan file refers to this file for specific details (important if you have a big plan).
* `.copilot-tracking/prompts/implement-*.prompt.md`
* A newly generated prompt file that will create a `.copilot-tracking/changes/*-changes.md` file and proceed to implement the changes.
Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase.
---
### Task Plan Implementation Instructions ### Task Plan Implementation Instructions
Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase. Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase.
@ -97,4 +47,53 @@ To use these generated instructions and prompts, you'll need to update your `set
--- ---
*This collection includes 3 curated items for **Tasks by microsoft/edge-ai**.* ### Task Planner Instructions
Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on.
```markdown, task-plan.prompt.md
---
mode: task-planner
title: Plan microsoft fabric realtime intelligence terraform support
---
#file: .copilot-tracking/research/*-fabric-rti-blueprint-modification-research.md
Build a plan to support adding fabric rti to this project
```
`task-planner` will help you create a plan for implementing your task(s). It will use your fully researched ideas or build new research if not already provided.
`task-planner` will produce three (3) files that will be used by `task-implementation.instructions.md`.
* `.copilot-tracking/plan/*-plan.instructions.md`
* A newly generated instructions file that has the plan as a checklist of Phases and Tasks.
* `.copilot-tracking/details/*-details.md`
* The details for the implementation, the plan file refers to this file for specific details (important if you have a big plan).
* `.copilot-tracking/prompts/implement-*.prompt.md`
* A newly generated prompt file that will create a `.copilot-tracking/changes/*-changes.md` file and proceed to implement the changes.
Continue to use `task-planner` to iterate on the plan until you have exactly what you want done to your codebase.
---
### Task Researcher Instructions
Now you can iterate on research for your tasks!
```markdown, research.prompt.md
---
mode: task-researcher
title: Research microsoft fabric realtime intelligence terraform support
---
Review the microsoft documentation for fabric realtime intelligence
and come up with ideas on how to implement this support into our terraform components.
```
Research is dumped out into a .copilot-tracking/research/*-research.md file and will include discoveries for GHCP along with examples and schema that will be useful during implementation.
Also, task-researcher will provide additional ideas for implementation which you can work with GitHub Copilot on selecting the right one to focus on.
---

View File

@ -1,6 +1,6 @@
# Java MCP Server Development # Java MCP Server Development
'Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration.' Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration.
**Tags:** java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor **Tags:** java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor

View File

@ -7,7 +7,9 @@ items:
kind: agent kind: agent
- path: agents/stackhawk-security-onboarding.agent.md - path: agents/stackhawk-security-onboarding.agent.md
kind: agent kind: agent
- path: agents/amplitude-experiment-implementation.agent.md
kind: agent
display: display:
ordering: alpha ordering: alpha
show_badge: true show_badge: true
promoted: true featured: true

View File

@ -6,18 +6,11 @@ Custom agents that have been created by GitHub partners
## Items in this Collection ## Items in this Collection
| Title | Type | Description | | Title | Type | Description | MCP Servers |
| ----- | ---- | ----------- | | ----- | ---- | ----------- | ----------- |
| [API Architect mode instructions](../chatmodes/api-architect.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fapi-architect.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fapi-architect.chatmode.md) | Chat Mode | Your role is that of an API architect. Help mentor the engineer by providing guidance, support, and working code. | | [Amplitude Experiment Implementation](../agents/amplitude-experiment-implementation.agent.md)<br />[![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%2Famplitude-experiment-implementation.agent.md)<br />[![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%2Famplitude-experiment-implementation.agent.md) | Agent | This custom agent uses Amplitude's MCP tools to deploy new experiments inside of Amplitude, enabling seamless variant testing capabilities and rollout of product features. | |
| [Azure Logic Apps Expert Mode](../chatmodes/azure-logic-apps-expert.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fazure-logic-apps-expert.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fazure-logic-apps-expert.chatmode.md) | Chat Mode | Expert guidance for Azure Logic Apps development focusing on workflow design, integration patterns, and JSON-based Workflow Definition Language. | | [Launchdarkly Flag Cleanup](../agents/launchdarkly-flag-cleanup.agent.md)<br />[![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%2Flaunchdarkly-flag-cleanup.agent.md)<br />[![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%2Flaunchdarkly-flag-cleanup.agent.md) | Agent | A specialized GitHub Copilot agent that uses the LaunchDarkly MCP server to safely automate feature flag cleanup workflows. This agent determines removal readiness, identifies the correct forward value, and creates PRs that preserve production behavior while removing obsolete flags and updating stale defaults. | [launchdarkly](https://github.com/mcp/launchdarkly/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code-0098FF?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode:mcp/by-name/launchdarkly/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code_Insiders-24bfa5?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode-insiders:mcp/by-name/launchdarkly/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-Visual_Studio-C16FDE?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-visualstudio?vscode:mcp/by-name/launchdarkly/mcp-server) |
| [Blueprint Mode Codex v1](../chatmodes/blueprint-mode-codex.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fblueprint-mode-codex.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fblueprint-mode-codex.chatmode.md) | Chat Mode | Executes structured workflows with strict correctness and maintainability. Enforces a minimal tool usage policy, never assumes facts, prioritizes reproducible solutions, self-correction, and edge-case handling. | | [Stackhawk Security Onboarding](../agents/stackhawk-security-onboarding.agent.md)<br />[![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%2Fstackhawk-security-onboarding.agent.md)<br />[![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%2Fstackhawk-security-onboarding.agent.md) | Agent | Automatically set up StackHawk security testing for your repository with generated configuration and GitHub Actions workflow | [stackhawk-mcp](https://github.com/mcp/stackhawk-mcp/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code-0098FF?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode:mcp/by-name/stackhawk-mcp/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-VS_Code_Insiders-24bfa5?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-vscode?vscode-insiders:mcp/by-name/stackhawk-mcp/mcp-server)<br />[![Install MCP](https://img.shields.io/badge/Install_MCP-Visual_Studio-C16FDE?style=flat-square)](https://aka.ms/awesome-copilot/install/mcp-visualstudio?vscode:mcp/by-name/stackhawk-mcp/mcp-server) |
| [Clojure Interactive Programming with Backseat Driver](../chatmodes/clojure-interactive-programming.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fclojure-interactive-programming.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fclojure-interactive-programming.chatmode.md) | Chat Mode | Expert Clojure pair programmer with REPL-first methodology, architectural oversight, and interactive problem-solving. Enforces quality standards, prevents workarounds, and develops solutions incrementally through live REPL evaluation before file modifications. |
| [Expert C++ software engineer mode instructions](../chatmodes/expert-cpp-software-engineer.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-cpp-software-engineer.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fexpert-cpp-software-engineer.chatmode.md) | Chat Mode | Provide expert C++ software engineering guidance using modern C++ and industry best practices. |
| [Gilfoyle Code Review Mode](../chatmodes/gilfoyle.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fgilfoyle.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fgilfoyle.chatmode.md) | Chat Mode | Code review and analysis with the sardonic wit and technical elitism of Bertram Gilfoyle from Silicon Valley. Prepare for brutal honesty about your code. |
| [Java MCP Expert](../chatmodes/java-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fjava-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fjava-mcp-expert.chatmode.md) | Chat Mode | Expert assistance for building Model Context Protocol servers in Java using reactive streams, the official MCP Java SDK, and Spring Boot integration. |
| [Meta Agentic Project Scaffold](../chatmodes/meta-agentic-project-scaffold.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmeta-agentic-project-scaffold.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fmeta-agentic-project-scaffold.chatmode.md) | Chat Mode | Meta agentic project creation assistant to help users create and manage project workflows effectively. |
| [Power Platform Expert](../chatmodes/power-platform-expert.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-expert.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-expert.chatmode.md) | Chat Mode | Power Platform expert providing guidance on Code Apps, canvas apps, Dataverse, connectors, and Power Platform best practices |
| [Ruby MCP Expert](../chatmodes/ruby-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fruby-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fruby-mcp-expert.chatmode.md) | Chat Mode | Expert assistance for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration. |
--- ---
*This collection includes 10 curated items for **Partners**.* *This collection includes 3 curated items for **Partners**.*

View File

@ -1,6 +1,6 @@
# PHP MCP Server Development # PHP MCP Server Development
'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' 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
**Tags:** php, mcp, model-context-protocol, server-development, sdk, attributes, composer **Tags:** php, mcp, model-context-protocol, server-development, sdk, attributes, composer

View File

@ -1,6 +1,6 @@
# Ruby MCP Server Development # Ruby MCP Server Development
'Complete toolkit for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration support.' Complete toolkit for building Model Context Protocol servers in Ruby using the official MCP Ruby SDK gem with Rails integration support.
**Tags:** ruby, mcp, model-context-protocol, server-development, sdk, rails, gem **Tags:** ruby, mcp, model-context-protocol, server-development, sdk, rails, gem

View File

@ -9,7 +9,7 @@ Build high-performance Model Context Protocol servers in Rust using the official
| Title | Type | Description | | Title | Type | Description |
| ----- | ---- | ----------- | | ----- | ---- | ----------- |
| [Rust MCP Server Development Best Practices](../instructions/rust-mcp-server.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Frust-mcp-server.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Frust-mcp-server.instructions.md) | Instruction | Best practices for building Model Context Protocol servers in Rust using the official rmcp SDK with async/await patterns | | [Rust MCP Server Development Best Practices](../instructions/rust-mcp-server.instructions.md)<br />[![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/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Frust-mcp-server.instructions.md)<br />[![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/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Frust-mcp-server.instructions.md) | Instruction | Best practices for building Model Context Protocol servers in Rust using the official rmcp SDK with async/await patterns |
| [Rust MCP Server Generator](../prompts/rust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md) | Prompt | Generate a complete Rust Model Context Protocol server project with tools, prompts, resources, and tests using the official rmcp SDK | | [Rust Mcp Server Generator](../prompts/rust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frust-mcp-server-generator.prompt.md) | Prompt | Generate a complete Rust Model Context Protocol server project with tools, prompts, resources, and tests using the official rmcp SDK |
| [Rust MCP Expert](../chatmodes/rust-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frust-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frust-mcp-expert.chatmode.md) | Chat Mode | Expert assistant for Rust MCP server development using the rmcp SDK with tokio async runtime [see usage](#rust-mcp-expert) | | [Rust MCP Expert](../chatmodes/rust-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frust-mcp-expert.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frust-mcp-expert.chatmode.md) | Chat Mode | Expert assistant for Rust MCP server development using the rmcp SDK with tokio async runtime [see usage](#rust-mcp-expert) |
## Collection Usage ## Collection Usage

View File

@ -1,6 +1,6 @@
# Swift MCP Server Development # Swift MCP Server Development
'Comprehensive collection for building Model Context Protocol servers in Swift using the official MCP Swift SDK with modern concurrency features.' Comprehensive collection for building Model Context Protocol servers in Swift using the official MCP Swift SDK with modern concurrency features.
**Tags:** swift, mcp, model-context-protocol, server-development, sdk, ios, macos, concurrency, actor, async-await **Tags:** swift, mcp, model-context-protocol, server-development, sdk, ios, macos, concurrency, actor, async-await

View File

@ -8,8 +8,5 @@ Tools for creation, management and research of technical spikes to reduce unknow
| Title | Type | Description | | Title | Type | Description |
| ----- | ---- | ----------- | | ----- | ---- | ----------- |
| [Technical spike research mode](../chatmodes/research-technical-spike.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md) | Chat Mode | Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation. |
| [Create Technical Spike Document](../prompts/create-technical-spike.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Prompt | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. | | [Create Technical Spike Document](../prompts/create-technical-spike.prompt.md)<br />[![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/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)<br />[![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/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Prompt | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. |
| [Technical spike research mode](../chatmodes/research-technical-spike.chatmode.md)<br />[![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/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md)<br />[![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/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md) | Chat Mode | Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation. |
---
*This collection includes 2 curated items for **Technical Spike**.*

View File

@ -6,7 +6,7 @@ const readline = require("readline");
const rl = readline.createInterface({ const rl = readline.createInterface({
input: process.stdin, input: process.stdin,
output: process.stdout output: process.stdout,
}); });
function prompt(question) { function prompt(question) {
@ -22,20 +22,20 @@ function parseArgs() {
// simple long/short option parsing // simple long/short option parsing
for (let i = 0; i < args.length; i++) { for (let i = 0; i < args.length; i++) {
const a = args[i]; const a = args[i];
if (a === '--id' || a === '-i') { if (a === "--id" || a === "-i") {
out.id = args[i + 1]; out.id = args[i + 1];
i++; i++;
} else if (a.startsWith('--id=')) { } else if (a.startsWith("--id=")) {
out.id = a.split('=')[1]; out.id = a.split("=")[1];
} else if (a === '--tags' || a === '-t') { } else if (a === "--tags" || a === "-t") {
out.tags = args[i + 1]; out.tags = args[i + 1];
i++; i++;
} else if (a.startsWith('--tags=')) { } else if (a.startsWith("--tags=")) {
out.tags = a.split('=')[1]; out.tags = a.split("=")[1];
} else if (!a.startsWith('-') && !out.id) { } else if (!a.startsWith("-") && !out.id) {
// first positional -> id // first positional -> id
out.id = a; out.id = a;
} else if (!a.startsWith('-') && out.id && !out.tags) { } else if (!a.startsWith("-") && out.id && !out.tags) {
// second positional -> tags // second positional -> tags
out.tags = a; out.tags = a;
} }
@ -43,7 +43,7 @@ function parseArgs() {
// normalize tags to string (comma separated) or undefined // normalize tags to string (comma separated) or undefined
if (Array.isArray(out.tags)) { if (Array.isArray(out.tags)) {
out.tags = out.tags.join(','); out.tags = out.tags.join(",");
} }
return out; return out;
@ -69,16 +69,23 @@ async function createCollectionTemplate() {
} }
if (!/^[a-z0-9-]+$/.test(collectionId)) { if (!/^[a-z0-9-]+$/.test(collectionId)) {
console.error("❌ Collection ID must contain only lowercase letters, numbers, and hyphens"); console.error(
"❌ Collection ID must contain only lowercase letters, numbers, and hyphens"
);
process.exit(1); process.exit(1);
} }
const collectionsDir = path.join(__dirname, "collections"); const collectionsDir = path.join(__dirname, "collections");
const filePath = path.join(collectionsDir, `${collectionId}.collection.yml`); const filePath = path.join(
collectionsDir,
`${collectionId}.collection.yml`
);
// Check if file already exists // Check if file already exists
if (fs.existsSync(filePath)) { if (fs.existsSync(filePath)) {
console.log(`⚠️ Collection ${collectionId} already exists at ${filePath}`); console.log(
`⚠️ Collection ${collectionId} already exists at ${filePath}`
);
console.log("💡 Please edit that file instead or choose a different ID."); console.log("💡 Please edit that file instead or choose a different ID.");
process.exit(1); process.exit(1);
} }
@ -91,17 +98,21 @@ async function createCollectionTemplate() {
// Get collection name // Get collection name
const defaultName = collectionId const defaultName = collectionId
.split("-") .split("-")
.map(word => word.charAt(0).toUpperCase() + word.slice(1)) .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
.join(" "); .join(" ");
let collectionName = await prompt(`Collection name (default: ${defaultName}): `); let collectionName = await prompt(
`Collection name (default: ${defaultName}): `
);
if (!collectionName.trim()) { if (!collectionName.trim()) {
collectionName = defaultName; collectionName = defaultName;
} }
// Get description // Get description
const defaultDescription = `A collection of related prompts, instructions, and chat modes for ${collectionName.toLowerCase()}.`; const defaultDescription = `A collection of related prompts, instructions, and chat modes for ${collectionName.toLowerCase()}.`;
let description = await prompt(`Description (default: ${defaultDescription}): `); let description = await prompt(
`Description (default: ${defaultDescription}): `
);
if (!description.trim()) { if (!description.trim()) {
description = defaultDescription; description = defaultDescription;
} }
@ -110,11 +121,17 @@ async function createCollectionTemplate() {
let tags = []; let tags = [];
let tagInput = parsed.tags; let tagInput = parsed.tags;
if (!tagInput) { if (!tagInput) {
tagInput = await prompt("Tags (comma-separated, or press Enter for defaults): "); tagInput = await prompt(
"Tags (comma-separated, or press Enter for defaults): "
);
} }
if (tagInput && tagInput.toString().trim()) { if (tagInput && tagInput.toString().trim()) {
tags = tagInput.toString().split(",").map(tag => tag.trim()).filter(tag => tag); tags = tagInput
.toString()
.split(",")
.map((tag) => tag.trim())
.filter((tag) => tag);
} else { } else {
// Generate some default tags from the collection ID // Generate some default tags from the collection ID
tags = collectionId.split("-").slice(0, 3); tags = collectionId.split("-").slice(0, 3);
@ -134,6 +151,11 @@ items:
# kind: instruction # kind: instruction
# - path: chatmodes/example.chatmode.md # - path: chatmodes/example.chatmode.md
# kind: chat-mode # kind: chat-mode
# - path: agents/example.agent.md
# kind: agent
# usage: |
# This agent requires the example MCP server to be installed.
# Configure any required environment variables (e.g., EXAMPLE_API_KEY).
display: display:
ordering: alpha # or "manual" to preserve the order above ordering: alpha # or "manual" to preserve the order above
show_badge: false # set to true to show collection badge on items show_badge: false # set to true to show collection badge on items
@ -148,7 +170,6 @@ display:
console.log("4. Run 'node update-readme.js' to generate documentation"); console.log("4. Run 'node update-readme.js' to generate documentation");
console.log("\n📄 Collection template contents:"); console.log("\n📄 Collection template contents:");
console.log(template); console.log(template);
} catch (error) { } catch (error) {
console.error(`❌ Error creating collection template: ${error.message}`); console.error(`❌ Error creating collection template: ${error.message}`);
process.exit(1); process.exit(1);

21
package-lock.json generated
View File

@ -8,6 +8,9 @@
"name": "awesome-copilot", "name": "awesome-copilot",
"version": "1.0.0", "version": "1.0.0",
"license": "MIT", "license": "MIT",
"dependencies": {
"js-yaml": "^4.1.0"
},
"devDependencies": { "devDependencies": {
"all-contributors-cli": "^6.26.1" "all-contributors-cli": "^6.26.1"
} }
@ -92,6 +95,12 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1" "url": "https://github.com/chalk/ansi-styles?sponsor=1"
} }
}, },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"license": "Python-2.0"
},
"node_modules/async": { "node_modules/async": {
"version": "3.2.6", "version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@ -335,6 +344,18 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/json-fixer": { "node_modules/json-fixer": {
"version": "1.6.15", "version": "1.6.15",
"resolved": "https://registry.npmjs.org/json-fixer/-/json-fixer-1.6.15.tgz", "resolved": "https://registry.npmjs.org/json-fixer/-/json-fixer-1.6.15.tgz",

View File

@ -3,7 +3,9 @@
"version": "1.0.0", "version": "1.0.0",
"description": "Enhance your GitHub Copilot experience with community-contributed instructions, prompts, and chat modes", "description": "Enhance your GitHub Copilot experience with community-contributed instructions, prompts, and chat modes",
"main": "update-readme.js", "main": "update-readme.js",
"private": true,
"scripts": { "scripts": {
"start": "node run build",
"build": "node update-readme.js", "build": "node update-readme.js",
"contributors:add": "all-contributors add", "contributors:add": "all-contributors add",
"contributors:generate": "all-contributors generate", "contributors:generate": "all-contributors generate",
@ -24,5 +26,8 @@
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"all-contributors-cli": "^6.26.1" "all-contributors-cli": "^6.26.1"
},
"dependencies": {
"js-yaml": "^4.1.0"
} }
} }

View File

@ -2,7 +2,11 @@
const fs = require("fs"); const fs = require("fs");
const path = require("path"); const path = require("path");
const { parseCollectionYaml } = require("./yaml-parser"); const {
parseCollectionYaml,
extractMcpServers,
parseAgentFrontmatter,
} = require("./yaml-parser");
// Template sections for the README // Template sections for the README
const TEMPLATES = { const TEMPLATES = {
@ -68,9 +72,29 @@ Curated collections of related prompts, instructions, and chat modes organized a
- Or browse to the individual files to copy content manually - Or browse to the individual files to copy content manually
- Collections help you discover related customizations you might have missed`, - Collections help you discover related customizations you might have missed`,
promotedCollectionsSection: `## 🌟 Featured Collections featuredCollectionsSection: `## 🌟 Featured Collections
Discover our curated collections of prompts, instructions, and chat modes organized around specific themes and workflows.`, Discover our curated collections of prompts, instructions, and chat modes organized around specific themes and workflows.`,
agentsSection: `## 🤖 Custom Agents
Custom GitHub Copilot agents that integrate with MCP servers to provide enhanced capabilities for specific workflows and tools.`,
agentsUsage: `### How to Use Custom Agents
**To Install:**
- Click the **VS Code** or **VS Code Insiders** install button for the agent you want to use
- Download the \`*.agent.md\` file and manually add it to your repository
**MCP Server Setup:**
- Each agent may require one or more MCP servers to function
- Click the MCP server to view it on the GitHub MCP registry
- Agents will automatically install the MCP servers they need when activated
**To Activate/Use:**
- Access installed agents through the VS Code Chat interface, through Copilot CLI, or assign them in Coding Agent
- Agents will have access to tools from configured MCP servers
- Follow agent-specific instructions for optimal usage`,
}; };
// Add error handling utility // Add error handling utility
@ -120,6 +144,19 @@ function extractTitle(filePath) {
const cleanTitle = afterTitle.replace(/^['"]|['"]$/g, ""); const cleanTitle = afterTitle.replace(/^['"]|['"]$/g, "");
return cleanTitle; return cleanTitle;
} }
// Look for name field in frontmatter
if (line.includes("name:")) {
// Extract everything after 'name:'
const afterName = line.substring(line.indexOf("name:") + 5).trim();
// Remove quotes if present
const cleanName = afterName.replace(/^['"]|['"]$/g, "");
// Convert hyphenated lowercase to title case
return cleanName
.split("-")
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
.join(" ");
}
} }
} }
@ -222,6 +259,15 @@ function extractTitle(filePath) {
function extractDescription(filePath) { function extractDescription(filePath) {
return safeFileOperation( return safeFileOperation(
() => { () => {
// Special handling for agent files
if (filePath.endsWith(".agent.md")) {
const agent = parseAgentFrontmatter(filePath);
if (agent && agent.description) {
return agent.description;
}
return null;
}
const content = fs.readFileSync(filePath, "utf8"); const content = fs.readFileSync(filePath, "utf8");
// Parse frontmatter for description (for both prompts and instructions) // Parse frontmatter for description (for both prompts and instructions)
@ -316,6 +362,7 @@ const AKA_INSTALL_URLS = {
instructions: "https://aka.ms/awesome-copilot/install/instructions", instructions: "https://aka.ms/awesome-copilot/install/instructions",
prompt: "https://aka.ms/awesome-copilot/install/prompt", prompt: "https://aka.ms/awesome-copilot/install/prompt",
mode: "https://aka.ms/awesome-copilot/install/chatmode", mode: "https://aka.ms/awesome-copilot/install/chatmode",
agent: "https://aka.ms/awesome-copilot/install/agent",
}; };
function makeBadges(link, type) { function makeBadges(link, type) {
@ -343,7 +390,7 @@ function generateInstructionsSection(instructionsDir) {
// Get all instruction files // Get all instruction files
const instructionFiles = fs const instructionFiles = fs
.readdirSync(instructionsDir) .readdirSync(instructionsDir)
.filter((file) => file.endsWith(".md")); .filter((file) => file.endsWith(".instructions.md"));
// Map instruction files to objects with title for sorting // Map instruction files to objects with title for sorting
const instructionEntries = instructionFiles.map((file) => { const instructionEntries = instructionFiles.map((file) => {
@ -449,56 +496,146 @@ function generatePromptsSection(promptsDir) {
* Generate the chat modes section with a table of all chat modes * Generate the chat modes section with a table of all chat modes
*/ */
function generateChatModesSection(chatmodesDir) { function generateChatModesSection(chatmodesDir) {
// Check if chatmodes directory exists return generateUnifiedModeSection({
if (!fs.existsSync(chatmodesDir)) { dir: chatmodesDir,
console.log("Chat modes directory does not exist"); extension: ".chatmode.md",
linkPrefix: "chatmodes",
badgeType: "mode",
includeMcpServers: false,
sectionTemplate: TEMPLATES.chatmodesSection,
usageTemplate: TEMPLATES.chatmodesUsage,
});
}
/**
* Generate MCP server links for an agent
* @param {string[]} servers - Array of MCP server names
* @returns {string} - Formatted MCP server links with badges
*/
function generateMcpServerLinks(servers) {
if (!servers || servers.length === 0) {
return ""; return "";
} }
// Get all chat mode files const badges = [
const chatmodeFiles = fs {
.readdirSync(chatmodesDir) type: "vscode",
.filter((file) => file.endsWith(".chatmode.md")); url: "https://img.shields.io/badge/Install_MCP-VS_Code-0098FF?style=flat-square",
badgeUrl: (serverName) =>
`https://aka.ms/awesome-copilot/install/mcp-vscode?vscode:mcp/by-name/${serverName}/mcp-server`,
},
{
type: "insiders",
url: "https://img.shields.io/badge/Install_MCP-VS_Code_Insiders-24bfa5?style=flat-square",
badgeUrl: (serverName) =>
`https://aka.ms/awesome-copilot/install/mcp-vscode?vscode-insiders:mcp/by-name/${serverName}/mcp-server`,
},
{
type: "visualstudio",
url: "https://img.shields.io/badge/Install_MCP-Visual_Studio-C16FDE?style=flat-square",
badgeUrl: (serverName) =>
`https://aka.ms/awesome-copilot/install/mcp-visualstudio?vscode:mcp/by-name/${serverName}/mcp-server`,
},
];
// Map chat mode files to objects with title for sorting return servers
const chatmodeEntries = chatmodeFiles.map((file) => { .map((serverName) => {
const filePath = path.join(chatmodesDir, file); const registryUrl = `https://github.com/mcp/${serverName}/mcp-server`;
const title = extractTitle(filePath); const badgeUrls = badges
return { file, filePath, title }; .map(
(badge) =>
`[![Install MCP](${badge.url})](${badge.badgeUrl(serverName)})`
)
.join("<br />");
return `[${serverName}](${registryUrl})<br />${badgeUrls}`;
})
.join("<br />");
}
/**
* Generate the agents section with a table of all agents
*/
function generateAgentsSection(agentsDir) {
return generateUnifiedModeSection({
dir: agentsDir,
extension: ".agent.md",
linkPrefix: "agents",
badgeType: "agent",
includeMcpServers: true,
sectionTemplate: TEMPLATES.agentsSection,
usageTemplate: TEMPLATES.agentsUsage,
});
}
/**
* Unified generator for chat modes & agents (future consolidation)
* @param {Object} cfg
* @param {string} cfg.dir - Directory path
* @param {string} cfg.extension - File extension to match (e.g. .chatmode.md, .agent.md)
* @param {string} cfg.linkPrefix - Link prefix folder name
* @param {string} cfg.badgeType - Badge key (mode, agent)
* @param {boolean} cfg.includeMcpServers - Whether to include MCP server column
* @param {string} cfg.sectionTemplate - Section heading template
* @param {string} cfg.usageTemplate - Usage subheading template
*/
function generateUnifiedModeSection(cfg) {
const {
dir,
extension,
linkPrefix,
badgeType,
includeMcpServers,
sectionTemplate,
usageTemplate,
} = cfg;
if (!fs.existsSync(dir)) {
console.log(`Directory missing for unified mode section: ${dir}`);
return "";
}
const files = fs.readdirSync(dir).filter((f) => f.endsWith(extension));
const entries = files.map((file) => {
const filePath = path.join(dir, file);
return { file, filePath, title: extractTitle(filePath) };
}); });
// Sort by title alphabetically entries.sort((a, b) => a.title.localeCompare(b.title));
chatmodeEntries.sort((a, b) => a.title.localeCompare(b.title)); console.log(
`Unified mode generator: ${entries.length} files for extension ${extension}`
);
if (entries.length === 0) return "";
console.log(`Found ${chatmodeEntries.length} chat mode files`); let header = "| Title | Description |";
if (includeMcpServers) header += " MCP Servers |";
let separator = "| ----- | ----------- |";
if (includeMcpServers) separator += " ----------- |";
// If no chat modes, return empty string let content = `${header}\n${separator}\n`;
if (chatmodeEntries.length === 0) {
return ""; for (const { file, filePath, title } of entries) {
const link = encodeURI(`${linkPrefix}/${file}`);
const description = extractDescription(filePath);
const badges = makeBadges(link, badgeType);
let mcpServerCell = "";
if (includeMcpServers) {
const servers = extractMcpServers(filePath);
mcpServerCell = generateMcpServerLinks(servers);
} }
// Create table header if (includeMcpServers) {
let chatmodesContent = "| Title | Description |\n| ----- | ----------- |\n"; content += `| [${title}](${link})<br />${badges} | ${
description && description !== "null" ? description : ""
// Generate table rows for each chat mode file } | ${mcpServerCell} |\n`;
for (const entry of chatmodeEntries) {
const { file, filePath, title } = entry;
const link = encodeURI(`chatmodes/${file}`);
// Check if there's a description in the frontmatter
const customDescription = extractDescription(filePath);
// Create badges for installation links
const badges = makeBadges(link, "mode");
if (customDescription && customDescription !== "null") {
chatmodesContent += `| [${title}](${link})<br />${badges} | ${customDescription} |\n`;
} else { } else {
chatmodesContent += `| [${title}](${link})<br />${badges} | | |\n`; content += `| [${title}](${link})<br />${badges} | ${
description && description !== "null" ? description : ""
} |\n`;
} }
} }
return `${TEMPLATES.chatmodesSection}\n${TEMPLATES.chatmodesUsage}\n\n${chatmodesContent}`; return `${sectionTemplate}\n${usageTemplate}\n\n${content}`;
} }
/** /**
@ -530,28 +667,28 @@ function generateCollectionsSection(collectionsDir) {
const collectionId = const collectionId =
collection.id || path.basename(file, ".collection.yml"); collection.id || path.basename(file, ".collection.yml");
const name = collection.name || collectionId; const name = collection.name || collectionId;
const isPromoted = collection.display?.promoted === true; const isFeatured = collection.display?.featured === true;
return { file, filePath, collection, collectionId, name, isPromoted }; return { file, filePath, collection, collectionId, name, isFeatured };
}) })
.filter((entry) => entry !== null); // Remove failed parses .filter((entry) => entry !== null); // Remove failed parses
// Separate promoted and regular collections // Separate featured and regular collections
const promotedCollections = collectionEntries.filter( const featuredCollections = collectionEntries.filter(
(entry) => entry.isPromoted (entry) => entry.isFeatured
); );
const regularCollections = collectionEntries.filter( const regularCollections = collectionEntries.filter(
(entry) => !entry.isPromoted (entry) => !entry.isFeatured
); );
// Sort each group alphabetically by name // Sort each group alphabetically by name
promotedCollections.sort((a, b) => a.name.localeCompare(b.name)); featuredCollections.sort((a, b) => a.name.localeCompare(b.name));
regularCollections.sort((a, b) => a.name.localeCompare(b.name)); regularCollections.sort((a, b) => a.name.localeCompare(b.name));
// Combine: promoted first, then regular // Combine: featured first, then regular
const sortedEntries = [...promotedCollections, ...regularCollections]; const sortedEntries = [...featuredCollections, ...regularCollections];
console.log( console.log(
`Found ${collectionEntries.length} collection files (${promotedCollections.length} promoted)` `Found ${collectionEntries.length} collection files (${featuredCollections.length} featured)`
); );
// If no collections, return empty string // If no collections, return empty string
@ -565,13 +702,13 @@ function generateCollectionsSection(collectionsDir) {
// Generate table rows for each collection file // Generate table rows for each collection file
for (const entry of sortedEntries) { for (const entry of sortedEntries) {
const { collection, collectionId, name, isPromoted } = entry; const { collection, collectionId, name, isFeatured } = entry;
const description = collection.description || "No description"; const description = collection.description || "No description";
const itemCount = collection.items ? collection.items.length : 0; const itemCount = collection.items ? collection.items.length : 0;
const tags = collection.tags ? collection.tags.join(", ") : ""; const tags = collection.tags ? collection.tags.join(", ") : "";
const link = `collections/${collectionId}.md`; const link = `collections/${collectionId}.md`;
const displayName = isPromoted ? `${name}` : name; const displayName = isFeatured ? `${name}` : name;
collectionsContent += `| [${displayName}](${link}) | ${description} | ${itemCount} items | ${tags} |\n`; collectionsContent += `| [${displayName}](${link}) | ${description} | ${itemCount} items | ${tags} |\n`;
} }
@ -580,9 +717,9 @@ function generateCollectionsSection(collectionsDir) {
} }
/** /**
* Generate the promoted collections section for the main README * Generate the featured collections section for the main README
*/ */
function generatePromotedCollectionsSection(collectionsDir) { function generateFeaturedCollectionsSection(collectionsDir) {
// Check if collections directory exists // Check if collections directory exists
if (!fs.existsSync(collectionsDir)) { if (!fs.existsSync(collectionsDir)) {
return ""; return "";
@ -593,8 +730,8 @@ function generatePromotedCollectionsSection(collectionsDir) {
.readdirSync(collectionsDir) .readdirSync(collectionsDir)
.filter((file) => file.endsWith(".collection.yml")); .filter((file) => file.endsWith(".collection.yml"));
// Map collection files to objects with name for sorting, filter for promoted // Map collection files to objects with name for sorting, filter for featured
const promotedCollections = collectionFiles const featuredCollections = collectionFiles
.map((file) => { .map((file) => {
const filePath = path.join(collectionsDir, file); const filePath = path.join(collectionsDir, file);
return safeFileOperation( return safeFileOperation(
@ -602,8 +739,8 @@ function generatePromotedCollectionsSection(collectionsDir) {
const collection = parseCollectionYaml(filePath); const collection = parseCollectionYaml(filePath);
if (!collection) return null; if (!collection) return null;
// Only include collections with promoted: true // Only include collections with featured: true
if (!collection.display?.promoted) return null; if (!collection.display?.featured) return null;
const collectionId = const collectionId =
collection.id || path.basename(file, ".collection.yml"); collection.id || path.basename(file, ".collection.yml");
@ -626,31 +763,31 @@ function generatePromotedCollectionsSection(collectionsDir) {
null null
); );
}) })
.filter((entry) => entry !== null); // Remove non-promoted and failed parses .filter((entry) => entry !== null); // Remove non-featured and failed parses
// Sort by name alphabetically // Sort by name alphabetically
promotedCollections.sort((a, b) => a.name.localeCompare(b.name)); featuredCollections.sort((a, b) => a.name.localeCompare(b.name));
console.log(`Found ${promotedCollections.length} promoted collection(s)`); console.log(`Found ${featuredCollections.length} featured collection(s)`);
// If no promoted collections, return empty string // If no featured collections, return empty string
if (promotedCollections.length === 0) { if (featuredCollections.length === 0) {
return ""; return "";
} }
// Create table header // Create table header
let promotedContent = let featuredContent =
"| Name | Description | Items | Tags |\n| ---- | ----------- | ----- | ---- |\n"; "| Name | Description | Items | Tags |\n| ---- | ----------- | ----- | ---- |\n";
// Generate table rows for each promoted collection // Generate table rows for each featured collection
for (const entry of promotedCollections) { for (const entry of featuredCollections) {
const { collectionId, name, description, tags, itemCount } = entry; const { collectionId, name, description, tags, itemCount } = entry;
const readmeLink = `collections/${collectionId}.md`; const readmeLink = `collections/${collectionId}.md`;
promotedContent += `| [${name}](${readmeLink}) | ${description} | ${itemCount} items | ${tags} |\n`; featuredContent += `| [${name}](${readmeLink}) | ${description} | ${itemCount} items | ${tags} |\n`;
} }
return `${TEMPLATES.promotedCollectionsSection}\n\n${promotedContent}`; return `${TEMPLATES.featuredCollectionsSection}\n\n${featuredContent}`;
} }
/** /**
@ -672,7 +809,16 @@ function generateCollectionReadme(collection, collectionId) {
} }
content += `## Items in this Collection\n\n`; content += `## Items in this Collection\n\n`;
// Check if collection has any agents to determine table structure (future: chatmodes may migrate)
const hasAgents = collection.items.some((item) => item.kind === "agent");
// Generate appropriate table header
if (hasAgents) {
content += `| Title | Type | Description | MCP Servers |\n| ----- | ---- | ----------- | ----------- |\n`;
} else {
content += `| Title | Type | Description |\n| ----- | ---- | ----------- |\n`; content += `| Title | Type | Description |\n| ----- | ---- | ----------- |\n`;
}
let collectionUsageHeader = "## Collection Usage\n\n"; let collectionUsageHeader = "## Collection Usage\n\n";
let collectionUsageContent = []; let collectionUsageContent = [];
@ -697,6 +843,8 @@ function generateCollectionReadme(collection, collectionId) {
? "Chat Mode" ? "Chat Mode"
: item.kind === "instruction" : item.kind === "instruction"
? "Instruction" ? "Instruction"
: item.kind === "agent"
? "Agent"
: "Prompt"; : "Prompt";
const link = `../${item.path}`; const link = `../${item.path}`;
@ -707,6 +855,8 @@ function generateCollectionReadme(collection, collectionId) {
? "instructions" ? "instructions"
: item.kind === "chat-mode" : item.kind === "chat-mode"
? "mode" ? "mode"
: item.kind === "agent"
? "agent"
: "prompt" : "prompt"
); );
@ -716,7 +866,17 @@ function generateCollectionReadme(collection, collectionId) {
.toLowerCase()})` .toLowerCase()})`
: description; : description;
content += `| [${title}](${link})<br />${badges} | ${typeDisplay} | ${usageDescription} |\n`; // Generate MCP server column if collection has agents
content += buildCollectionRow({
hasAgents,
title,
link,
badges,
typeDisplay,
usageDescription,
filePath,
kind: item.kind,
});
// Generate Usage section for each collection // Generate Usage section for each collection
if (item.usage && item.usage.trim()) { if (item.usage && item.usage.trim()) {
collectionUsageContent.push( collectionUsageContent.push(
@ -740,6 +900,30 @@ function generateCollectionReadme(collection, collectionId) {
return content; return content;
} }
/**
* Build a single markdown table row for a collection item.
* Handles optional MCP server column when agents are present.
*/
function buildCollectionRow({
hasAgents,
title,
link,
badges,
typeDisplay,
usageDescription,
filePath,
kind,
}) {
if (hasAgents) {
// Only agents currently have MCP servers; future migration may extend to chat modes.
const mcpServers = kind === "agent" ? extractMcpServers(filePath) : [];
const mcpServerCell =
mcpServers.length > 0 ? generateMcpServerLinks(mcpServers) : "";
return `| [${title}](${link})<br />${badges} | ${typeDisplay} | ${usageDescription} | ${mcpServerCell} |\n`;
}
return `| [${title}](${link})<br />${badges} | ${typeDisplay} | ${usageDescription} |\n`;
}
// Utility: write file only if content changed // Utility: write file only if content changed
function writeFileIfChanged(filePath, content) { function writeFileIfChanged(filePath, content) {
const exists = fs.existsSync(filePath); const exists = fs.existsSync(filePath);
@ -776,6 +960,7 @@ try {
const instructionsDir = path.join(__dirname, "instructions"); const instructionsDir = path.join(__dirname, "instructions");
const promptsDir = path.join(__dirname, "prompts"); const promptsDir = path.join(__dirname, "prompts");
const chatmodesDir = path.join(__dirname, "chatmodes"); const chatmodesDir = path.join(__dirname, "chatmodes");
const agentsDir = path.join(__dirname, "agents");
const collectionsDir = path.join(__dirname, "collections"); const collectionsDir = path.join(__dirname, "collections");
// Compose headers for standalone files by converting section headers to H1 // Compose headers for standalone files by converting section headers to H1
@ -785,6 +970,7 @@ try {
); );
const promptsHeader = TEMPLATES.promptsSection.replace(/^##\s/m, "# "); const promptsHeader = TEMPLATES.promptsSection.replace(/^##\s/m, "# ");
const chatmodesHeader = TEMPLATES.chatmodesSection.replace(/^##\s/m, "# "); const chatmodesHeader = TEMPLATES.chatmodesSection.replace(/^##\s/m, "# ");
const agentsHeader = TEMPLATES.agentsSection.replace(/^##\s/m, "# ");
const collectionsHeader = TEMPLATES.collectionsSection.replace( const collectionsHeader = TEMPLATES.collectionsSection.replace(
/^##\s/m, /^##\s/m,
"# " "# "
@ -809,6 +995,14 @@ try {
TEMPLATES.chatmodesUsage TEMPLATES.chatmodesUsage
); );
// Generate agents README
const agentsReadme = buildCategoryReadme(
generateAgentsSection,
agentsDir,
agentsHeader,
TEMPLATES.agentsUsage
);
// Generate collections README // Generate collections README
const collectionsReadme = buildCategoryReadme( const collectionsReadme = buildCategoryReadme(
generateCollectionsSection, generateCollectionsSection,
@ -827,6 +1021,7 @@ try {
path.join(__dirname, "README.chatmodes.md"), path.join(__dirname, "README.chatmodes.md"),
chatmodesReadme chatmodesReadme
); );
writeFileIfChanged(path.join(__dirname, "README.agents.md"), agentsReadme);
writeFileIfChanged( writeFileIfChanged(
path.join(__dirname, "README.collections.md"), path.join(__dirname, "README.collections.md"),
collectionsReadme collectionsReadme
@ -857,17 +1052,17 @@ try {
} }
} }
// Generate promoted collections section and update main README.md // Generate featured collections section and update main README.md
console.log("Updating main README.md with promoted collections..."); console.log("Updating main README.md with featured collections...");
const promotedSection = generatePromotedCollectionsSection(collectionsDir); const featuredSection = generateFeaturedCollectionsSection(collectionsDir);
if (promotedSection) { if (featuredSection) {
const mainReadmePath = path.join(__dirname, "README.md"); const mainReadmePath = path.join(__dirname, "README.md");
if (fs.existsSync(mainReadmePath)) { if (fs.existsSync(mainReadmePath)) {
let readmeContent = fs.readFileSync(mainReadmePath, "utf8"); let readmeContent = fs.readFileSync(mainReadmePath, "utf8");
// Define markers to identify where to insert the promoted collections // Define markers to identify where to insert the featured collections
const startMarker = "## 🌟 Featured Collections"; const startMarker = "## 🌟 Featured Collections";
const endMarker = "## MCP Server"; const endMarker = "## MCP Server";
@ -882,7 +1077,7 @@ try {
const beforeSection = readmeContent.substring(0, startIndex); const beforeSection = readmeContent.substring(0, startIndex);
const afterSection = readmeContent.substring(endIndex); const afterSection = readmeContent.substring(endIndex);
readmeContent = readmeContent =
beforeSection + promotedSection + "\n\n" + afterSection; beforeSection + featuredSection + "\n\n" + afterSection;
} }
} else { } else {
// Section doesn't exist, insert it before "## MCP Server" // Section doesn't exist, insert it before "## MCP Server"
@ -890,17 +1085,17 @@ try {
if (mcpIndex !== -1) { if (mcpIndex !== -1) {
const beforeMcp = readmeContent.substring(0, mcpIndex); const beforeMcp = readmeContent.substring(0, mcpIndex);
const afterMcp = readmeContent.substring(mcpIndex); const afterMcp = readmeContent.substring(mcpIndex);
readmeContent = beforeMcp + promotedSection + "\n\n" + afterMcp; readmeContent = beforeMcp + featuredSection + "\n\n" + afterMcp;
} }
} }
writeFileIfChanged(mainReadmePath, readmeContent); writeFileIfChanged(mainReadmePath, readmeContent);
console.log("Main README.md updated with promoted collections"); console.log("Main README.md updated with featured collections");
} else { } else {
console.warn("README.md not found, skipping promoted collections update"); console.warn("README.md not found, skipping featured collections update");
} }
} else { } else {
console.log("No promoted collections found to add to README.md"); console.log("No featured collections found to add to README.md");
} }
} catch (error) { } catch (error) {
console.error(`Error generating category README files: ${error.message}`); console.error(`Error generating category README files: ${error.message}`);

View File

@ -2,7 +2,7 @@
const fs = require("fs"); const fs = require("fs");
const path = require("path"); const path = require("path");
const { parseCollectionYaml } = require("./yaml-parser"); const { parseCollectionYaml, parseAgentFrontmatter } = require("./yaml-parser");
// Maximum number of items allowed in a collection // Maximum number of items allowed in a collection
const MAX_COLLECTION_ITEMS = 50; const MAX_COLLECTION_ITEMS = 50;
@ -72,6 +72,98 @@ function validateCollectionTags(tags) {
return null; return null;
} }
function validateAgentFile(filePath, itemNumber) {
try {
const agent = parseAgentFrontmatter(filePath);
if (!agent) {
return `Item ${filePath} agent file could not be parsed`;
}
// Validate name field
if (!agent.name || typeof agent.name !== "string") {
return `Item ${filePath} agent must have a 'name' field`;
}
if (!/^[a-z0-9-]+$/.test(agent.name)) {
return `Item ${filePath} agent name must contain only lowercase letters, numbers, and hyphens`;
}
if (agent.name.length < 1 || agent.name.length > 50) {
return `Item ${filePath} agent name must be between 1 and 50 characters`;
}
// Validate description field
if (!agent.description || typeof agent.description !== "string") {
return `Item ${filePath} agent must have a 'description' field`;
}
if (agent.description.length < 1 || agent.description.length > 500) {
return `Item ${filePath} agent description must be between 1 and 500 characters`;
}
// Validate tools field (optional)
if (agent.tools !== undefined && !Array.isArray(agent.tools)) {
return `Item ${filePath} agent 'tools' must be an array`;
}
// Validate mcp-servers field (optional)
if (agent["mcp-servers"]) {
if (
typeof agent["mcp-servers"] !== "object" ||
Array.isArray(agent["mcp-servers"])
) {
return `Item ${filePath} agent 'mcp-servers' must be an object`;
}
// Validate each MCP server configuration
for (const [serverName, serverConfig] of Object.entries(
agent["mcp-servers"]
)) {
if (!serverConfig || typeof serverConfig !== "object") {
return `Item ${filePath} agent MCP server '${serverName}' must be an object`;
}
if (!serverConfig.type || typeof serverConfig.type !== "string") {
return `Item ${filePath} agent MCP server '${serverName}' must have a 'type' field`;
}
// For local type servers, command is required
if (serverConfig.type === "local" && !serverConfig.command) {
return `Item ${filePath} agent MCP server '${serverName}' with type 'local' must have a 'command' field`;
}
// Validate args if present
if (
serverConfig.args !== undefined &&
!Array.isArray(serverConfig.args)
) {
return `Item ${filePath} agent MCP server '${serverName}' 'args' must be an array`;
}
// Validate tools if present
if (
serverConfig.tools !== undefined &&
!Array.isArray(serverConfig.tools)
) {
return `Item ${filePath} agent MCP server '${serverName}' 'tools' must be an array`;
}
// Validate env if present
if (serverConfig.env !== undefined) {
if (
typeof serverConfig.env !== "object" ||
Array.isArray(serverConfig.env)
) {
return `Item ${filePath} agent MCP server '${serverName}' 'env' must be an object`;
}
}
}
}
return null; // All validations passed
} catch (error) {
return `Item ${filePath} agent file validation failed: ${error.message}`;
}
}
function validateCollectionItems(items) { function validateCollectionItems(items) {
if (!items || !Array.isArray(items)) { if (!items || !Array.isArray(items)) {
return "Items is required and must be an array"; return "Items is required and must be an array";
@ -94,8 +186,10 @@ function validateCollectionItems(items) {
if (!item.kind || typeof item.kind !== "string") { if (!item.kind || typeof item.kind !== "string") {
return `Item ${i + 1} must have a kind string`; return `Item ${i + 1} must have a kind string`;
} }
if (!["prompt", "instruction", "chat-mode"].includes(item.kind)) { if (!["prompt", "instruction", "chat-mode", "agent"].includes(item.kind)) {
return `Item ${i + 1} kind must be one of: prompt, instruction, chat-mode`; return `Item ${
i + 1
} kind must be one of: prompt, instruction, chat-mode, agent`;
} }
// Validate file path exists // Validate file path exists
@ -106,13 +200,35 @@ function validateCollectionItems(items) {
// Validate path pattern matches kind // Validate path pattern matches kind
if (item.kind === "prompt" && !item.path.endsWith(".prompt.md")) { if (item.kind === "prompt" && !item.path.endsWith(".prompt.md")) {
return `Item ${i + 1} kind is "prompt" but path doesn't end with .prompt.md`; return `Item ${
i + 1
} kind is "prompt" but path doesn't end with .prompt.md`;
} }
if (item.kind === "instruction" && !item.path.endsWith(".instructions.md")) { if (
return `Item ${i + 1} kind is "instruction" but path doesn't end with .instructions.md`; item.kind === "instruction" &&
!item.path.endsWith(".instructions.md")
) {
return `Item ${
i + 1
} kind is "instruction" but path doesn't end with .instructions.md`;
} }
if (item.kind === "chat-mode" && !item.path.endsWith(".chatmode.md")) { if (item.kind === "chat-mode" && !item.path.endsWith(".chatmode.md")) {
return `Item ${i + 1} kind is "chat-mode" but path doesn't end with .chatmode.md`; return `Item ${
i + 1
} kind is "chat-mode" but path doesn't end with .chatmode.md`;
}
if (item.kind === "agent" && !item.path.endsWith(".agent.md")) {
return `Item ${
i + 1
} kind is "agent" but path doesn't end with .agent.md`;
}
// Validate agent-specific frontmatter
if (item.kind === "agent") {
const agentValidation = validateAgentFile(filePath, i + 1);
if (agentValidation) {
return agentValidation;
}
} }
} }
return null; return null;
@ -125,14 +241,17 @@ function validateCollectionDisplay(display) {
if (display) { if (display) {
// Normalize ordering and show_badge in case the YAML parser left inline comments // Normalize ordering and show_badge in case the YAML parser left inline comments
const normalize = (val) => { const normalize = (val) => {
if (typeof val !== 'string') return val; if (typeof val !== "string") return val;
// Strip any inline comment starting with '#' // Strip any inline comment starting with '#'
const hashIndex = val.indexOf('#'); const hashIndex = val.indexOf("#");
if (hashIndex !== -1) { if (hashIndex !== -1) {
val = val.substring(0, hashIndex).trim(); val = val.substring(0, hashIndex).trim();
} }
// Also strip surrounding quotes if present // Also strip surrounding quotes if present
if ((val.startsWith("\"") && val.endsWith("\"")) || (val.startsWith("'") && val.endsWith("'"))) { if (
(val.startsWith('"') && val.endsWith('"')) ||
(val.startsWith("'") && val.endsWith("'"))
) {
val = val.substring(1, val.length - 1); val = val.substring(1, val.length - 1);
} }
return val.trim(); return val.trim();
@ -149,11 +268,11 @@ function validateCollectionDisplay(display) {
const raw = display.show_badge; const raw = display.show_badge;
const normalizedBadge = normalize(raw); const normalizedBadge = normalize(raw);
// Accept boolean or string boolean values // Accept boolean or string boolean values
if (typeof normalizedBadge === 'string') { if (typeof normalizedBadge === "string") {
if (!['true', 'false'].includes(normalizedBadge.toLowerCase())) { if (!["true", "false"].includes(normalizedBadge.toLowerCase())) {
return "Display show_badge must be boolean"; return "Display show_badge must be boolean";
} }
} else if (typeof normalizedBadge !== 'boolean') { } else if (typeof normalizedBadge !== "boolean") {
return "Display show_badge must be boolean"; return "Display show_badge must be boolean";
} }
} }
@ -224,7 +343,7 @@ function validateCollections() {
if (errors.length > 0) { if (errors.length > 0) {
console.error(`❌ Validation errors in ${file}:`); console.error(`❌ Validation errors in ${file}:`);
errors.forEach(error => console.error(` - ${error}`)); errors.forEach((error) => console.error(` - ${error}`));
hasErrors = true; hasErrors = true;
} else { } else {
console.log(`${file} is valid`); console.log(`${file} is valid`);
@ -233,7 +352,9 @@ function validateCollections() {
// Check for duplicate IDs // Check for duplicate IDs
if (collection.id) { if (collection.id) {
if (usedIds.has(collection.id)) { if (usedIds.has(collection.id)) {
console.error(`❌ Duplicate collection ID "${collection.id}" found in ${file}`); console.error(
`❌ Duplicate collection ID "${collection.id}" found in ${file}`
);
hasErrors = true; hasErrors = true;
} else { } else {
usedIds.add(collection.id); usedIds.add(collection.id);

View File

@ -1,5 +1,6 @@
// Simple YAML parser for collection files // YAML parser for collection files and agent frontmatter
const fs = require("fs"); const fs = require("fs");
const yaml = require("js-yaml");
function safeFileOperation(operation, filePath, defaultValue = null) { function safeFileOperation(operation, filePath, defaultValue = null) {
try { try {
@ -10,159 +11,132 @@ function safeFileOperation(operation, filePath, defaultValue = null) {
} }
} }
/**
* Parse a collection YAML file (.collection.yml)
* Collections are pure YAML files without frontmatter delimiters
* @param {string} filePath - Path to the collection file
* @returns {object|null} Parsed collection object or null on error
*/
function parseCollectionYaml(filePath) { function parseCollectionYaml(filePath) {
return safeFileOperation( return safeFileOperation(
() => { () => {
const content = fs.readFileSync(filePath, "utf8"); const content = fs.readFileSync(filePath, "utf8");
const lines = content.split("\n");
const result = {};
let currentKey = null;
let currentArray = null;
let currentObject = null;
const readLiteralBlock = (startIndex, parentIndent) => { // Collections are pure YAML files, parse directly with js-yaml
const blockLines = []; return yaml.load(content, { schema: yaml.JSON_SCHEMA });
let blockIndent = null;
let index = startIndex;
for (; index < lines.length; index++) {
const rawLine = lines[index];
const trimmedLine = rawLine.trimEnd();
const contentOnly = trimmedLine.trim();
const lineIndent = rawLine.length - rawLine.trimLeft().length;
if (contentOnly === "" && blockIndent === null) {
// Preserve leading blank lines inside the literal block
blockLines.push("");
continue;
}
if (contentOnly !== "" && lineIndent <= parentIndent) {
break;
}
if (contentOnly === "") {
blockLines.push("");
continue;
}
if (blockIndent === null) {
blockIndent = lineIndent;
}
blockLines.push(rawLine.slice(blockIndent));
}
return {
content: blockLines.join("\n").replace(/\r/g, "").trimEnd(),
nextIndex: index - 1,
};
};
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
const trimmed = line.trim();
if (!trimmed || trimmed.startsWith("#")) continue;
const leadingSpaces = line.length - line.trimLeft().length;
// Handle array items starting with -
if (trimmed.startsWith("- ")) {
if (currentKey === "items") {
if (!currentArray) {
currentArray = [];
result[currentKey] = currentArray;
}
// Parse item object
const item = {};
currentArray.push(item);
currentObject = item;
// Handle inline properties on same line as -
const restOfLine = trimmed.substring(2).trim();
if (restOfLine) {
const colonIndex = restOfLine.indexOf(":");
if (colonIndex > -1) {
const key = restOfLine.substring(0, colonIndex).trim();
const value = restOfLine.substring(colonIndex + 1).trim();
item[key] = value;
}
}
} else if (currentKey === "tags") {
if (!currentArray) {
currentArray = [];
result[currentKey] = currentArray;
}
const value = trimmed.substring(2).trim();
currentArray.push(value);
}
}
// Handle key-value pairs
else if (trimmed.includes(":")) {
const colonIndex = trimmed.indexOf(":");
const key = trimmed.substring(0, colonIndex).trim();
let value = trimmed.substring(colonIndex + 1).trim();
if (leadingSpaces === 0) {
// Top-level property
currentKey = key;
currentArray = null;
currentObject = null;
if (value) {
// Handle array format [item1, item2, item3]
if (value.startsWith("[") && value.endsWith("]")) {
const arrayContent = value.slice(1, -1);
if (arrayContent.trim()) {
result[key] = arrayContent.split(",").map(item => item.trim());
} else {
result[key] = [];
}
currentKey = null; // Reset since we handled the array
} else if (value === "|" || value === ">") {
const { content: blockContent, nextIndex } = readLiteralBlock(i + 1, leadingSpaces);
result[key] = blockContent;
i = nextIndex;
} else {
result[key] = value;
}
} else if (key === "items" || key === "tags") {
// Will be populated by array items
result[key] = [];
currentArray = result[key];
} else if (key === "display") {
result[key] = {};
currentObject = result[key];
}
} else if (currentObject && leadingSpaces > 0) {
// Property of current object (e.g., display properties)
if (value === "|" || value === ">") {
const { content: blockContent, nextIndex } = readLiteralBlock(i + 1, leadingSpaces);
currentObject[key] = blockContent;
i = nextIndex;
} else {
currentObject[key] = value === "true" ? true : value === "false" ? false : value;
}
} else if (currentArray && currentObject && leadingSpaces > 2) {
// Property of array item object
if (value === "|" || value === ">") {
const { content: blockContent, nextIndex } = readLiteralBlock(i + 1, leadingSpaces);
currentObject[key] = blockContent;
i = nextIndex;
} else {
currentObject[key] = value;
}
}
}
}
return result;
}, },
filePath, filePath,
null null
); );
} }
module.exports = { parseCollectionYaml, safeFileOperation }; /**
* Parse agent frontmatter from an agent markdown file (.agent.md)
* Agent files use standard markdown frontmatter with --- delimiters
* @param {string} filePath - Path to the agent file
* @returns {object|null} Parsed agent frontmatter or null on error
*/
function parseAgentFrontmatter(filePath) {
return safeFileOperation(
() => {
const content = fs.readFileSync(filePath, "utf8");
const lines = content.split("\n");
// Agent files use standard markdown frontmatter format
// Find the YAML frontmatter between --- delimiters
let yamlStart = -1;
let yamlEnd = -1;
let delimiterCount = 0;
for (let i = 0; i < lines.length; i++) {
const trimmed = lines[i].trim();
if (trimmed === "---") {
delimiterCount++;
if (delimiterCount === 1) {
yamlStart = i + 1;
} else if (delimiterCount === 2) {
yamlEnd = i;
break;
}
}
}
if (yamlStart === -1 || yamlEnd === -1) {
throw new Error(
"Could not find YAML frontmatter delimiters (---) in agent file"
);
}
// Extract YAML content between delimiters
const yamlContent = lines.slice(yamlStart, yamlEnd).join("\n");
// Parse YAML directly with js-yaml
const frontmatter = yaml.load(yamlContent, { schema: yaml.JSON_SCHEMA });
// Normalize string fields that can accumulate trailing newlines/spaces
if (frontmatter) {
if (typeof frontmatter.name === "string") {
frontmatter.name = frontmatter.name.replace(/[\r\n]+$/g, "").trim();
}
if (typeof frontmatter.description === "string") {
// Remove only trailing whitespace/newlines; preserve internal formatting
frontmatter.description = frontmatter.description.replace(
/[\s\r\n]+$/g,
""
);
}
}
return frontmatter;
},
filePath,
null
);
}
/**
* Extract agent metadata including MCP server information
* @param {string} filePath - Path to the agent file
* @returns {object|null} Agent metadata object with name, description, tools, and mcp-servers
*/
function extractAgentMetadata(filePath) {
const frontmatter = parseAgentFrontmatter(filePath);
if (!frontmatter) {
return null;
}
return {
name: typeof frontmatter.name === "string" ? frontmatter.name : null,
description:
typeof frontmatter.description === "string"
? frontmatter.description
: null,
tools: frontmatter.tools || [],
mcpServers: frontmatter["mcp-servers"] || {},
};
}
/**
* Extract MCP server names from an agent file
* @param {string} filePath - Path to the agent file
* @returns {string[]} Array of MCP server names
*/
function extractMcpServers(filePath) {
const metadata = extractAgentMetadata(filePath);
if (!metadata || !metadata.mcpServers) {
return [];
}
return Object.keys(metadata.mcpServers);
}
module.exports = {
parseCollectionYaml,
parseAgentFrontmatter,
extractAgentMetadata,
extractMcpServers,
safeFileOperation,
};