diff --git a/README.md b/README.md index 58881bc9..630ab021 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,8 @@ For AI coding agents working with this project, refer to [AGENTS.md](AGENTS.md) ├── instructions/ # Coding standards and best practices (.instructions.md) ├── agents/ # AI personas and specialized modes (.agent.md) ├── collections/ # Curated collections of related items (.collection.yml) -└── scripts/ # Utility scripts for maintenance +├── scripts/ # Utility scripts for maintenance +└── skills/ # AI capabilities for specialized tasks ``` ## 📄 License diff --git a/agents/CSharpExpert.agent.md b/agents/CSharpExpert.agent.md index a7390d0a..5c07fed7 100644 --- a/agents/CSharpExpert.agent.md +++ b/agents/CSharpExpert.agent.md @@ -6,6 +6,9 @@ description: An agent designed to assist with software development tasks for .NE You are an expert C#/.NET developer. You help with .NET tasks by giving clean, well-designed, error-free, fast, secure, readable, and maintainable code that follows .NET conventions. You also give insights, best practices, general software design tips, and testing best practices. +You are familiar with the currently released .NET and C# versions (for example, up to .NET 10 and C# 14 at the time of writing). (Refer to https://learn.microsoft.com/en-us/dotnet/core/whats-new +and https://learn.microsoft.com/en-us/dotnet/csharp/whats-new for details.) + When invoked: - Understand the user's .NET task and context diff --git a/agents/accessibility.agent.md b/agents/accessibility.agent.md index f2bf6d1c..69cd49fd 100644 --- a/agents/accessibility.agent.md +++ b/agents/accessibility.agent.md @@ -1,7 +1,7 @@ --- description: 'Expert assistant for web accessibility (WCAG 2.1/2.2), inclusive UX, and a11y testing' model: GPT-4.1 -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Accessibility Expert diff --git a/agents/aem-frontend-specialist.agent.md b/agents/aem-frontend-specialist.agent.md index c0964644..7f172aeb 100644 --- a/agents/aem-frontend-specialist.agent.md +++ b/agents/aem-frontend-specialist.agent.md @@ -1,7 +1,7 @@ --- description: 'Expert assistant for developing AEM components using HTL, Tailwind CSS, and Figma-to-code workflows with design system integration' model: 'GPT-4.1' -tools: ['codebase', 'edit/editFiles', 'fetch', 'githubRepo', 'figma-dev-mode-mcp-server'] +tools: ['codebase', 'edit/editFiles', 'web/fetch', 'githubRepo', 'figma-dev-mode-mcp-server'] --- # AEM Front-End Specialist diff --git a/agents/bicep-implement.agent.md b/agents/bicep-implement.agent.md index 56c7b350..62c7659f 100644 --- a/agents/bicep-implement.agent.md +++ b/agents/bicep-implement.agent.md @@ -1,7 +1,7 @@ --- description: 'Act as an Azure Bicep Infrastructure as Code coding specialist that creates Bicep templates.' tools: - [ 'edit/editFiles', 'fetch', 'runCommands', 'terminalLastCommand', 'get_bicep_best_practices', 'azure_get_azure_verified_module', 'todos' ] + [ 'edit/editFiles', 'web/fetch', 'runCommands', 'terminalLastCommand', 'get_bicep_best_practices', 'azure_get_azure_verified_module', 'todos' ] --- # Azure Bicep Infrastructure as Code coding Specialist diff --git a/agents/bicep-plan.agent.md b/agents/bicep-plan.agent.md index 26e7c885..23c83a05 100644 --- a/agents/bicep-plan.agent.md +++ b/agents/bicep-plan.agent.md @@ -1,7 +1,7 @@ --- description: 'Act as implementation planner for your Azure Bicep Infrastructure as Code task.' tools: - [ 'edit/editFiles', 'fetch', 'microsoft-docs', 'azure_design_architecture', 'get_bicep_best_practices', 'bestpractices', 'bicepschema', 'azure_get_azure_verified_module', 'todos' ] + [ 'edit/editFiles', 'web/fetch', 'microsoft-docs', 'azure_design_architecture', 'get_bicep_best_practices', 'bestpractices', 'bicepschema', 'azure_get_azure_verified_module', 'todos' ] --- # Azure Bicep Infrastructure Planning diff --git a/agents/critical-thinking.agent.md b/agents/critical-thinking.agent.md index 4fa9da1e..0d056889 100644 --- a/agents/critical-thinking.agent.md +++ b/agents/critical-thinking.agent.md @@ -1,6 +1,6 @@ --- description: 'Challenge assumptions and encourage critical thinking to ensure the best possible solution and outcomes.' -tools: ['codebase', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'problems', 'search', 'searchResults', 'usages'] +tools: ['codebase', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'problems', 'search', 'searchResults', 'usages'] --- # Critical thinking mode instructions diff --git a/agents/csharp-dotnet-janitor.agent.md b/agents/csharp-dotnet-janitor.agent.md index a7fd15f3..3273fc35 100644 --- a/agents/csharp-dotnet-janitor.agent.md +++ b/agents/csharp-dotnet-janitor.agent.md @@ -1,6 +1,6 @@ --- description: 'Perform janitorial tasks on C#/.NET code including cleanup, modernization, and tech debt remediation.' -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github'] --- # C#/.NET Janitor diff --git a/agents/custom-agent-foundry.agent.md b/agents/custom-agent-foundry.agent.md index 576d421c..58ebec9a 100644 --- a/agents/custom-agent-foundry.agent.md +++ b/agents/custom-agent-foundry.agent.md @@ -24,7 +24,7 @@ When a user wants to create a custom agent, start by understanding: ### 2. Custom Agent Design Principles **Tool Selection Strategy:** -- **Read-only agents** (planning, research, review): Use `['search', 'fetch', 'githubRepo', 'usages', 'grep_search', 'read_file', 'semantic_search']` +- **Read-only agents** (planning, research, review): Use `['search', 'web/fetch', 'githubRepo', 'usages', 'grep_search', 'read_file', 'semantic_search']` - **Implementation agents** (coding, refactoring): Add `['replace_string_in_file', 'multi_replace_string_in_file', 'create_file', 'run_in_terminal']` - **Testing agents**: Include `['run_notebook_cell', 'test_failure', 'run_in_terminal']` - **Deployment agents**: Include `['run_in_terminal', 'create_and_run_task', 'get_errors']` diff --git a/agents/demonstrate-understanding.agent.md b/agents/demonstrate-understanding.agent.md index 63dc7644..49731de4 100644 --- a/agents/demonstrate-understanding.agent.md +++ b/agents/demonstrate-understanding.agent.md @@ -1,6 +1,6 @@ --- description: 'Validate user understanding of code, design patterns, and implementation details through guided questioning.' -tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] +tools: ['codebase', 'web/fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] --- # Demonstrate Understanding mode instructions diff --git a/agents/dotnet-upgrade.agent.md b/agents/dotnet-upgrade.agent.md index fe6472c3..effc8c75 100644 --- a/agents/dotnet-upgrade.agent.md +++ b/agents/dotnet-upgrade.agent.md @@ -1,6 +1,6 @@ --- description: 'Perform janitorial tasks on C#/.NET code including cleanup, modernization, and tech debt remediation.' -tools: ['codebase', 'edit/editFiles', 'search', 'runCommands', 'runTasks', 'runTests', 'problems', 'changes', 'usages', 'findTestFiles', 'testFailure', 'terminalLastCommand', 'terminalSelection', 'fetch', 'microsoft.docs.mcp'] +tools: ['codebase', 'edit/editFiles', 'search', 'runCommands', 'runTasks', 'runTests', 'problems', 'changes', 'usages', 'findTestFiles', 'testFailure', 'terminalLastCommand', 'terminalSelection', 'web/fetch', 'microsoft.docs.mcp'] --- # .NET Upgrade Collection diff --git a/agents/drupal-expert.agent.md b/agents/drupal-expert.agent.md index 2555266f..1db3015d 100644 --- a/agents/drupal-expert.agent.md +++ b/agents/drupal-expert.agent.md @@ -1,7 +1,7 @@ --- description: 'Expert assistant for Drupal development, architecture, and best practices using PHP 8.3+ and modern Drupal patterns' model: GPT-4.1 -tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'fetch', 'githubRepo', 'runTests', 'problems'] +tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'web/fetch', 'githubRepo', 'runTests', 'problems'] --- # Drupal Expert diff --git a/agents/expert-cpp-software-engineer.agent.md b/agents/expert-cpp-software-engineer.agent.md index cbb1596f..7050cde3 100644 --- a/agents/expert-cpp-software-engineer.agent.md +++ b/agents/expert-cpp-software-engineer.agent.md @@ -1,6 +1,6 @@ --- description: 'Provide expert C++ software engineering guidance using modern C++ and industry best practices.' -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp'] --- # Expert C++ software engineer mode instructions diff --git a/agents/gilfoyle.agent.md b/agents/gilfoyle.agent.md index 2ffd7fff..269614c0 100644 --- a/agents/gilfoyle.agent.md +++ b/agents/gilfoyle.agent.md @@ -1,6 +1,6 @@ --- description: 'Code review and analysis with the sardonic wit and technical elitism of Bertram Gilfoyle from Silicon Valley. Prepare for brutal honesty about your code.' -tools: ['changes', 'codebase', 'fetch', 'findTestFiles', 'githubRepo', 'openSimpleBrowser', 'problems', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'usages', 'vscodeAPI'] +tools: ['changes', 'codebase', 'web/fetch', 'findTestFiles', 'githubRepo', 'openSimpleBrowser', 'problems', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'usages', 'vscodeAPI'] --- # Gilfoyle Code Review Mode diff --git a/agents/hlbpa.agent.md b/agents/hlbpa.agent.md index decdfe6c..cdedf3c9 100644 --- a/agents/hlbpa.agent.md +++ b/agents/hlbpa.agent.md @@ -5,7 +5,7 @@ tools: - 'search/codebase' - 'changes' - 'edit/editFiles' - - 'fetch' + - 'web/fetch' - 'findTestFiles' - 'githubRepo' - 'runCommands' diff --git a/agents/laravel-expert-agent.agent.md b/agents/laravel-expert-agent.agent.md index c066d7c1..8badba2e 100644 --- a/agents/laravel-expert-agent.agent.md +++ b/agents/laravel-expert-agent.agent.md @@ -1,7 +1,7 @@ --- description: 'Expert Laravel development assistant specializing in modern Laravel 12+ applications with Eloquent, Artisan, testing, and best practices' model: GPT-4.1 | 'gpt-5' | 'Claude Sonnet 4.5' -tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'fetch', 'githubRepo', 'runTests', 'problems', 'search'] +tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'web/fetch', 'githubRepo', 'runTests', 'problems', 'search'] --- # Laravel Expert Agent diff --git a/agents/mentor.agent.md b/agents/mentor.agent.md index 69cb457d..c6531ad6 100644 --- a/agents/mentor.agent.md +++ b/agents/mentor.agent.md @@ -1,6 +1,6 @@ --- description: 'Help mentor the engineer by providing guidance and support.' -tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] +tools: ['codebase', 'web/fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] --- # Mentor mode instructions diff --git a/agents/pimcore-expert.agent.md b/agents/pimcore-expert.agent.md index 8e915e3b..d841a44e 100644 --- a/agents/pimcore-expert.agent.md +++ b/agents/pimcore-expert.agent.md @@ -1,7 +1,7 @@ --- description: 'Expert Pimcore development assistant specializing in CMS, DAM, PIM, and E-Commerce solutions with Symfony integration' model: GPT-4.1 | 'gpt-5' | 'Claude Sonnet 4.5' -tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'fetch', 'githubRepo', 'runTests', 'problems'] +tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'web/fetch', 'githubRepo', 'runTests', 'problems'] --- # Pimcore Expert diff --git a/agents/principal-software-engineer.agent.md b/agents/principal-software-engineer.agent.md index 82056fc4..68875d4c 100644 --- a/agents/principal-software-engineer.agent.md +++ b/agents/principal-software-engineer.agent.md @@ -1,6 +1,6 @@ --- description: 'Provide principal-level software engineering guidance with focus on engineering excellence, technical leadership, and pragmatic implementation.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] --- # Principal software engineer mode instructions diff --git a/agents/prompt-builder.agent.md b/agents/prompt-builder.agent.md index cb34c06e..5e1a76ef 100644 --- a/agents/prompt-builder.agent.md +++ b/agents/prompt-builder.agent.md @@ -1,6 +1,6 @@ --- description: 'Expert prompt engineering and validation system for creating high-quality prompts - Brought to you by microsoft/edge-ai' -tools: ['codebase', 'edit/editFiles', 'fetch', 'githubRepo', 'problems', 'runCommands', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'usages', 'terraform', 'Microsoft Docs', 'context7'] +tools: ['codebase', 'edit/editFiles', 'web/fetch', 'githubRepo', 'problems', 'runCommands', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'usages', 'terraform', 'Microsoft Docs', 'context7'] --- # Prompt Builder Instructions diff --git a/agents/research-technical-spike.agent.md b/agents/research-technical-spike.agent.md index 93112d10..5b3e92f5 100644 --- a/agents/research-technical-spike.agent.md +++ b/agents/research-technical-spike.agent.md @@ -1,7 +1,7 @@ --- description: "Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation." name: "Technical spike research mode" -tools: ["runCommands", "runTasks", "edit", "runNotebooks", "search", "extensions", "usages", "vscodeAPI", "think", "problems", "changes", "testFailure", "openSimpleBrowser", "fetch", "githubRepo", "todos", "Microsoft Docs", "search"] +tools: ['vscode', 'execute', 'read', 'edit', 'search', 'web', 'agent', 'todo'] --- # Technical spike research mode @@ -12,6 +12,23 @@ Systematically validate technical spike documents through exhaustive investigati **CRITICAL**: User must specify spike document path before proceeding. Stop if no spike document provided. +## MCP Tool Prerequisites + +**Before research, identify documentation-focused MCP servers matching spike's technology domain.** + +### MCP Discovery Process + +1. Parse spike document for primary technologies/platforms +2. Search [GitHub MCP Gallery](https://github.com/mcp) for documentation MCPs matching technology stack +3. Verify availability of documentation tools (e.g., `mcp_microsoft_doc_*`, `mcp_hashicorp_ter_*`) +4. Recommend installation if beneficial documentation MCPs are missing + +**Example**: For Microsoft technologies → Microsoft Learn MCP server provides authoritative docs/APIs. + +**Focus on documentation MCPs** (doc search, API references, tutorials) rather than operational tools (database connectors, deployment tools). + +**User chooses** whether to install recommended MCPs or proceed without. Document decisions in spike's "External Resources" section. + ## Research Methodology ### Tool Usage Philosophy @@ -145,7 +162,6 @@ Systematically validate technical spike documents through exhaustive investigati - `#search` → `#fetch` → `#githubRepo` (docs to implementation) - `#githubRepo` → `#search` → `#fetch` (implementation to official docs) -- Use `#think` between tool calls to analyze findings and plan next recursion ## Todo Management Integration diff --git a/agents/se-system-architecture-reviewer.agent.md b/agents/se-system-architecture-reviewer.agent.md index 3942b3e8..7ac77dec 100644 --- a/agents/se-system-architecture-reviewer.agent.md +++ b/agents/se-system-architecture-reviewer.agent.md @@ -2,7 +2,7 @@ name: 'SE: Architect' description: 'System architecture review specialist with Well-Architected frameworks, design validation, and scalability analysis for AI and distributed systems' model: GPT-5 -tools: ['codebase', 'edit/editFiles', 'search', 'fetch'] +tools: ['codebase', 'edit/editFiles', 'search', 'web/fetch'] --- # System Architecture Reviewer diff --git a/agents/se-technical-writer.agent.md b/agents/se-technical-writer.agent.md index 4fcda734..5b4e8ed7 100644 --- a/agents/se-technical-writer.agent.md +++ b/agents/se-technical-writer.agent.md @@ -2,7 +2,7 @@ name: 'SE: Tech Writer' description: 'Technical writing specialist for creating developer documentation, technical blogs, tutorials, and educational content' model: GPT-5 -tools: ['codebase', 'edit/editFiles', 'search', 'fetch'] +tools: ['codebase', 'edit/editFiles', 'search', 'web/fetch'] --- # Technical Writer diff --git a/agents/se-ux-ui-designer.agent.md b/agents/se-ux-ui-designer.agent.md index 6b144a95..d1ee41aa 100644 --- a/agents/se-ux-ui-designer.agent.md +++ b/agents/se-ux-ui-designer.agent.md @@ -2,7 +2,7 @@ name: 'SE: UX Designer' description: 'Jobs-to-be-Done analysis, user journey mapping, and UX research artifacts for Figma and design workflows' model: GPT-5 -tools: ['codebase', 'edit/editFiles', 'search', 'fetch'] +tools: ['codebase', 'edit/editFiles', 'search', 'web/fetch'] --- # UX/UI Designer diff --git a/agents/search-ai-optimization-expert.agent.md b/agents/search-ai-optimization-expert.agent.md index 50dd32f1..123fb7a8 100644 --- a/agents/search-ai-optimization-expert.agent.md +++ b/agents/search-ai-optimization-expert.agent.md @@ -1,6 +1,6 @@ --- description: 'Expert guidance for modern search optimization: SEO, Answer Engine Optimization (AEO), and Generative Engine Optimization (GEO) with AI-ready content strategies' -tools: ['codebase', 'fetch', 'githubRepo', 'terminalCommand', 'edit/editFiles', 'problems'] +tools: ['codebase', 'web/fetch', 'githubRepo', 'terminalCommand', 'edit/editFiles', 'problems'] --- # Search & AI Optimization Expert diff --git a/agents/semantic-kernel-dotnet.agent.md b/agents/semantic-kernel-dotnet.agent.md index 02efb99f..a93dfc71 100644 --- a/agents/semantic-kernel-dotnet.agent.md +++ b/agents/semantic-kernel-dotnet.agent.md @@ -1,6 +1,6 @@ --- description: 'Create, update, refactor, explain or work with code using the .NET version of Semantic Kernel.' -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github'] --- # Semantic Kernel .NET mode instructions diff --git a/agents/semantic-kernel-python.agent.md b/agents/semantic-kernel-python.agent.md index 39fb04b7..eb680ddc 100644 --- a/agents/semantic-kernel-python.agent.md +++ b/agents/semantic-kernel-python.agent.md @@ -1,6 +1,6 @@ --- description: 'Create, update, refactor, explain or work with code using the Python version of Semantic Kernel.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github', 'configurePythonEnvironment', 'getPythonEnvironmentInfo', 'getPythonExecutableCommand', 'installPythonPackage'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github', 'configurePythonEnvironment', 'getPythonEnvironmentInfo', 'getPythonExecutableCommand', 'installPythonPackage'] --- # Semantic Kernel Python mode instructions diff --git a/agents/shopify-expert.agent.md b/agents/shopify-expert.agent.md index 8b5cb4f3..66d89060 100644 --- a/agents/shopify-expert.agent.md +++ b/agents/shopify-expert.agent.md @@ -1,7 +1,7 @@ --- description: 'Expert Shopify development assistant specializing in theme development, Liquid templating, app development, and Shopify APIs' model: GPT-4.1 -tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'fetch', 'githubRepo', 'runTests', 'problems'] +tools: ['codebase', 'terminalCommand', 'edit/editFiles', 'web/fetch', 'githubRepo', 'runTests', 'problems'] --- # Shopify Expert diff --git a/agents/simple-app-idea-generator.agent.md b/agents/simple-app-idea-generator.agent.md index 970703a3..91332d41 100644 --- a/agents/simple-app-idea-generator.agent.md +++ b/agents/simple-app-idea-generator.agent.md @@ -1,6 +1,6 @@ --- description: 'Brainstorm and develop new application ideas through fun, interactive questioning until ready for specification creation.' -tools: ['changes', 'codebase', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'search', 'searchResults', 'usages', 'microsoft.docs.mcp', 'websearch'] +tools: ['changes', 'codebase', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'search', 'searchResults', 'usages', 'microsoft.docs.mcp', 'websearch'] --- # Idea Generator mode instructions diff --git a/agents/software-engineer-agent-v1.agent.md b/agents/software-engineer-agent-v1.agent.md index 39cfe17b..b4b7bafc 100644 --- a/agents/software-engineer-agent-v1.agent.md +++ b/agents/software-engineer-agent-v1.agent.md @@ -1,6 +1,6 @@ --- description: 'Expert-level software engineering agent. Deliver production-ready, maintainable code. Execute systematically and specification-driven. Document comprehensively. Operate autonomously and adaptively.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] --- # Software Engineer Agent v1 diff --git a/agents/specification.agent.md b/agents/specification.agent.md index 8ae88d58..b120dfe5 100644 --- a/agents/specification.agent.md +++ b/agents/specification.agent.md @@ -1,6 +1,6 @@ --- description: 'Generate or update specification documents for new or existing functionality.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github'] --- # Specification mode instructions diff --git a/agents/task-planner.agent.md b/agents/task-planner.agent.md index 0e9fc7f2..e9a0cb66 100644 --- a/agents/task-planner.agent.md +++ b/agents/task-planner.agent.md @@ -63,7 +63,7 @@ You WILL process user input as follows: - `{{specific_action}}` → "Create eventstream module with custom endpoint support" - **Final Output**: You WILL ensure NO template markers remain in final files -**CRITICAL**: If you encounter invalid file references or broken line numbers, you WILL update the research file first using #file:./task-researcher.agent.md, then update all dependent planning files. +**CRITICAL**: If you encounter invalid file references or broken line numbers, you WILL update the research file first using #file:./task-researcher.agent.md , then update all dependent planning files. ## File Naming Standards diff --git a/agents/tech-debt-remediation-plan.agent.md b/agents/tech-debt-remediation-plan.agent.md index 5e96c3c2..6941896c 100644 --- a/agents/tech-debt-remediation-plan.agent.md +++ b/agents/tech-debt-remediation-plan.agent.md @@ -1,6 +1,6 @@ --- description: 'Generate technical debt remediation plans for code, tests, and documentation.' -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'github'] --- # Technical Debt Remediation Plan diff --git a/agents/technical-content-evaluator.agent.md b/agents/technical-content-evaluator.agent.md index a3bad60f..63237549 100644 --- a/agents/technical-content-evaluator.agent.md +++ b/agents/technical-content-evaluator.agent.md @@ -1,7 +1,7 @@ --- name: technical-content-evaluator description: 'Elite technical content editor and curriculum architect for evaluating technical training materials, documentation, and educational content. Reviews for technical accuracy, pedagogical excellence, content flow, code validation, and ensures A-grade quality standards.' -tools: ['edit', 'search', 'shell', 'fetch', 'runTasks', 'githubRepo', 'todos', 'runSubagent'] +tools: ['edit', 'search', 'shell', 'web/fetch', 'runTasks', 'githubRepo', 'todos', 'runSubagent'] model: Claude Sonnet 4.5 (copilot) --- Evaluate and enhance technical training content, documentation, and educational materials through comprehensive editorial review. Apply rigorous standards for technical accuracy, pedagogical excellence, and content quality to transform good content into exceptional learning experiences. diff --git a/agents/voidbeast-gpt41enhanced.agent.md b/agents/voidbeast-gpt41enhanced.agent.md index 0a633efc..e7782f65 100644 --- a/agents/voidbeast-gpt41enhanced.agent.md +++ b/agents/voidbeast-gpt41enhanced.agent.md @@ -1,6 +1,6 @@ --- description: '4.1 voidBeast_GPT41Enhanced 1.0 : a advanced autonomous developer agent, designed for elite full-stack development with enhanced multi-mode capabilities. This latest evolution features sophisticated mode detection, comprehensive research capabilities, and never-ending problem resolution. Plan/Act/Deep Research/Analyzer/Checkpoints(Memory)/Prompt Generator Modes.' -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'readCellOutput', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'updateUserPreferences', 'usages', 'vscodeAPI'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'readCellOutput', 'runCommands', 'runNotebooks', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'updateUserPreferences', 'usages', 'vscodeAPI'] --- # voidBeast_GPT41Enhanced 1.0 - Elite Developer AI Assistant diff --git a/agents/wg-code-alchemist.agent.md b/agents/wg-code-alchemist.agent.md index a41eeb0a..000cd749 100644 --- a/agents/wg-code-alchemist.agent.md +++ b/agents/wg-code-alchemist.agent.md @@ -1,6 +1,6 @@ --- description: 'Ask WG Code Alchemist to transform your code with Clean Code principles and SOLID design' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- You are WG Code Alchemist, an expert software engineer specializing in Clean Code practices and SOLID principles. You communicate with the precision and helpfulness of JARVIS from Iron Man. diff --git a/agents/wg-code-sentinel.agent.md b/agents/wg-code-sentinel.agent.md index adafd2af..bd59a600 100644 --- a/agents/wg-code-sentinel.agent.md +++ b/agents/wg-code-sentinel.agent.md @@ -1,6 +1,6 @@ --- description: 'Ask WG Code Sentinel to review your code for security issues.' -tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runNotebooks', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- You are WG Code Sentinel, an expert security reviewer specializing in identifying and mitigating code vulnerabilities. You communicate with the precision and helpfulness of JARVIS from Iron Man. diff --git a/collections/frontend-web-dev.md b/collections/frontend-web-dev.md index be6ebf47..849391de 100644 --- a/collections/frontend-web-dev.md +++ b/collections/frontend-web-dev.md @@ -13,7 +13,7 @@ Essential prompts, instructions, and chat modes for modern frontend web developm | [Electron Code Review Mode Instructions](../agents/electron-angular-native.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Felectron-angular-native.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Felectron-angular-native.agent.md) | Agent | 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 React Frontend Engineer](../agents/expert-react-frontend-engineer.agent.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-react-frontend-engineer.agent.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fexpert-react-frontend-engineer.agent.md) | Agent | Expert React 19.2 frontend engineer specializing in modern hooks, Server Components, Actions, TypeScript, and performance optimization | | | [Next.js + Tailwind Development Instructions](../instructions/nextjs-tailwind.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md) | Instruction | Next.js + Tailwind development standards and instructions | | -| [Next.js Best Practices for LLMs (2025)](../instructions/nextjs.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) | Instruction | No description | | +| [Next.js Best Practices for LLMs (2026)](../instructions/nextjs.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) | Instruction | Best practices for building Next.js (App Router) apps with modern caching, tooling, and server/client boundaries (aligned with Next.js 16.1.1). | | | [ReactJS Development Instructions](../instructions/reactjs.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Freactjs.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Freactjs.instructions.md) | Instruction | ReactJS development standards and best practices | | | [TanStack Start with Shadcn/ui Development Guide](../instructions/tanstack-start-shadcn-tailwind.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md) | Instruction | Guidelines for building TanStack Start applications | | | [Test Generation with Playwright MCP](../prompts/playwright-generate-test.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-generate-test.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-generate-test.prompt.md) | Prompt | Generate a Playwright test based on a scenario using Playwright MCP | | diff --git a/docs/README.instructions.md b/docs/README.instructions.md index f1c19203..1f7d3272 100644 --- a/docs/README.instructions.md +++ b/docs/README.instructions.md @@ -9,7 +9,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for **To Use/Apply:** - Copy these instructions to your `.github/copilot-instructions.md` file in your workspace -- Create task-specific `.github/.instructions.md` files in your workspace's `.github/instructions` folder +- Create task-specific `*.instructions.md` files in your workspace's `.github/instructions/` folder (e.g., `.github/instructions/my-csharp-rules.instructions.md`) - Instructions automatically apply to Copilot behavior once installed in your workspace | Title | Description | @@ -110,7 +110,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for | [MS-SQL DBA Chat Mode Instructions](../instructions/ms-sql-dba.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fms-sql-dba.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fms-sql-dba.instructions.md) | Instructions for customizing GitHub Copilot behavior for MS-SQL DBA chat mode. | | [NestJS Development Best Practices](../instructions/nestjs.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnestjs.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnestjs.instructions.md) | NestJS development standards and best practices for building scalable Node.js server-side applications | | [Next.js + Tailwind Development Instructions](../instructions/nextjs-tailwind.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md) | Next.js + Tailwind development standards and instructions | -| [Next.js Best Practices for LLMs (2025)](../instructions/nextjs.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) | (2025) specific coding standards and best practices | +| [Next.js Best Practices for LLMs (2026)](../instructions/nextjs.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) | Best practices for building Next.js (App Router) apps with modern caching, tooling, and server/client boundaries (aligned with Next.js 16.1.1). | | [Object Calisthenics Rules](../instructions/object-calisthenics.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fobject-calisthenics.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fobject-calisthenics.instructions.md) | Enforces Object Calisthenics principles for business domain code to ensure clean, maintainable, and robust code | | [Oqtane](../instructions/oqtane.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Foqtane.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Foqtane.instructions.md) | Oqtane Module patterns | | [PCF Community Resources](../instructions/pcf-community-resources.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpcf-community-resources.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpcf-community-resources.instructions.md) | PCF community resources including gallery, videos, blogs, and development tools | diff --git a/docs/README.skills.md b/docs/README.skills.md index 7c371a6e..b83420f1 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -23,9 +23,12 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | Name | Description | Bundled Assets | | ---- | ----------- | -------------- | | [appinsights-instrumentation](../skills/appinsights-instrumentation/SKILL.md) | Instrument a webapp to send useful telemetry data to Azure App Insights | `LICENSE.txt`
`examples/appinsights.bicep`
`references/ASPNETCORE.md`
`references/AUTO.md`
`references/NODEJS.md`
`references/PYTHON.md`
`scripts/appinsights.ps1` | +| [azure-resource-visualizer](../skills/azure-resource-visualizer/SKILL.md) | Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. | `LICENSE.txt`
`assets/template-architecture.md` | | [azure-role-selector](../skills/azure-role-selector/SKILL.md) | When user is asking for guidance for which role to assign to an identity given desired permissions, this agent helps them understand the role that will meet the requirements with least privilege access and how to apply that role. | `LICENSE.txt` | | [github-issues](../skills/github-issues/SKILL.md) | Create, update, and manage GitHub issues using MCP tools. Use this skill when users want to create bug reports, feature requests, or task issues, update existing issues, add labels/assignees/milestones, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task. | `references/templates.md` | | [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None | | [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None | +| [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices | None | +| [vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md) | Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices | None | | [web-design-reviewer](../skills/web-design-reviewer/SKILL.md) | This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level. | `references/framework-fixes.md`
`references/visual-checklist.md` | | [webapp-testing](../skills/webapp-testing/SKILL.md) | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs. | `test-helper.js` | diff --git a/eng/constants.mjs b/eng/constants.mjs index 028fcea0..a690076e 100644 --- a/eng/constants.mjs +++ b/eng/constants.mjs @@ -19,7 +19,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for **To Use/Apply:** - Copy these instructions to your \`.github/copilot-instructions.md\` file in your workspace -- Create task-specific \`.github/.instructions.md\` files in your workspace's \`.github/instructions\` folder +- Create task-specific \`*.instructions.md\` files in your workspace's \`.github/instructions/\` folder (e.g., \`.github/instructions/my-csharp-rules.instructions.md\`) - Instructions automatically apply to Copilot behavior once installed in your workspace`, promptsSection: `## 🎯 Reusable Prompts diff --git a/instructions/nextjs.instructions.md b/instructions/nextjs.instructions.md index d28d5e5f..300dd58d 100644 --- a/instructions/nextjs.instructions.md +++ b/instructions/nextjs.instructions.md @@ -1,10 +1,11 @@ --- -applyTo: '**' +description: "Best practices for building Next.js (App Router) apps with modern caching, tooling, and server/client boundaries (aligned with Next.js 16.1.1)." +applyTo: '**/*.tsx, **/*.ts, **/*.jsx, **/*.js, **/*.css' --- -# Next.js Best Practices for LLMs (2025) +# Next.js Best Practices for LLMs (2026) -_Last updated: July 2025_ +_Last updated: January 2026 (aligned to Next.js 16.1.1)_ This document summarizes the latest, authoritative best practices for building, structuring, and maintaining Next.js applications. It is intended for use by LLMs and developers to ensure code quality, maintainability, and scalability. @@ -34,6 +35,7 @@ This document summarizes the latest, authoritative best practices for building, **Never use `next/dynamic` with `{ ssr: false }` inside a Server Component.** This is not supported and will cause a build/runtime error. **Correct Approach:** + - If you need to use a Client Component (e.g., a component that uses hooks, browser APIs, or client-only libraries) inside a Server Component, you must: 1. Move all client-only logic/UI into a dedicated Client Component (with `'use client'` at the top). 2. Import and use that Client Component directly in the Server Component (no need for `next/dynamic`). @@ -43,7 +45,7 @@ This document summarizes the latest, authoritative best practices for building, ```tsx // Server Component -import DashboardNavbar from '@/components/DashboardNavbar'; +import DashboardNavbar from "@/components/DashboardNavbar"; export default async function DashboardPage() { // ...server logic... @@ -57,12 +59,19 @@ export default async function DashboardPage() { ``` **Why:** + - Server Components cannot use client-only features or dynamic imports with SSR disabled. - Client Components can be rendered inside Server Components, but not the other way around. **Summary:** Always move client-only UI into a Client Component and import it directly in your Server Component. Never use `next/dynamic` with `{ ssr: false }` in a Server Component. +## 2.2. Next.js 16+ async request APIs (App Router) + +- **Assume request-bound data is async in Server Components and Route Handlers.** In Next.js 16, APIs like `cookies()`, `headers()`, and `draftMode()` are async in the App Router. +- **Be careful with route props:** `params` / `searchParams` may be Promises in Server Components. Prefer `await`ing them instead of treating them as plain objects. +- **Avoid dynamic rendering by accident:** Accessing request data (cookies/headers/searchParams) opts the route into dynamic behavior. Read them intentionally and isolate dynamic parts behind `Suspense` boundaries when appropriate. + --- ## 2. Component Best Practices @@ -111,33 +120,60 @@ Always move client-only UI into a Client Component and import it directly in you - **Error Handling:** Return appropriate HTTP status codes and error messages. - **Authentication:** Protect sensitive routes using middleware or server-side session checks. +### Route Handler usage note (performance) + +- **Do not call your own Route Handlers from Server Components** (e.g., `fetch('/api/...')`) just to reuse logic. Prefer extracting shared logic into modules (e.g., `lib/`) and calling it directly to avoid extra server hops. + ## 5. General Best Practices - **TypeScript:** Use TypeScript for all code. Enable `strict` mode in `tsconfig.json`. -- **ESLint & Prettier:** Enforce code style and linting. Use the official Next.js ESLint config. +- **ESLint & Prettier:** Enforce code style and linting. Use the official Next.js ESLint config. In Next.js 16, prefer running ESLint via the ESLint CLI (not `next lint`). - **Environment Variables:** Store secrets in `.env.local`. Never commit secrets to version control. + - In Next.js 16, `serverRuntimeConfig` / `publicRuntimeConfig` are removed. Use environment variables instead. + - `NEXT_PUBLIC_` variables are **inlined at build time** (changing them after build won’t affect a deployed build). + - If you truly need runtime evaluation of env in a dynamic context, follow Next.js guidance (e.g., call `connection()` before reading `process.env`). - **Testing:** Use Jest, React Testing Library, or Playwright. Write tests for all critical logic and components. - **Accessibility:** Use semantic HTML and ARIA attributes. Test with screen readers. - **Performance:** - Use built-in Image and Font optimization. + - Prefer **Cache Components** (`cacheComponents` + `use cache`) over legacy caching patterns. - Use Suspense and loading states for async data. - Avoid large client bundles; keep most logic in Server Components. - **Security:** - Sanitize all user input. - Use HTTPS in production. - Set secure HTTP headers. + - Prefer server-side authorization for Server Actions and Route Handlers; never trust client input. - **Documentation:** - Write clear README and code comments. - Document public APIs and components. +## 6. Caching & Revalidation (Next.js 16 Cache Components) + +- **Prefer Cache Components for memoization/caching** in the App Router. + - Enable in `next.config.*` via `cacheComponents: true`. + - Use the **`use cache` directive** to opt a component/function into caching. +- **Use cache tagging and lifetimes intentionally:** + - Use `cacheTag(...)` to associate cached results with tags. + - Use `cacheLife(...)` to control cache lifetime (presets or configured profiles). +- **Revalidation guidance:** + - Prefer `revalidateTag(tag, 'max')` (stale-while-revalidate) for most cases. + - The single-argument form `revalidateTag(tag)` is legacy/deprecated. + - Use `updateTag(...)` inside **Server Actions** when you need “read-your-writes” / immediate consistency. +- **Avoid `unstable_cache`** for new code; treat it as legacy and migrate toward Cache Components. + +## 7. Tooling updates (Next.js 16) + +- **Turbopack is the default dev bundler.** Configure via the top-level `turbopack` field in `next.config.*` (do not use the removed `experimental.turbo`). +- **Typed routes are stable** via `typedRoutes` (TypeScript required). + # Avoid Unnecessary Example Files Do not create example/demo files (like ModalExample.tsx) in the main codebase unless the user specifically requests a live example, Storybook story, or explicit documentation component. Keep the repository clean and production-focused by default. # Always use the latest documentation and guides + - For every nextjs related request, begin by searching for the most current nextjs documentation, guides, and examples. - Use the following tools to fetch and search documentation if they are available: - `resolve_library_id` to resolve the package/library name in the docs. - `get_library_docs` for up to date documentation. - - diff --git a/instructions/vsixtoolkit.instructions.md b/instructions/vsixtoolkit.instructions.md index 4db23c02..3837d95e 100644 --- a/instructions/vsixtoolkit.instructions.md +++ b/instructions/vsixtoolkit.instructions.md @@ -23,6 +23,47 @@ Verify the project uses the toolkit by checking for: - Ensure all UI respects Visual Studio themes - Follow VSSDK and VSTHRD analyzer rules - Produce testable, maintainable extension code +- **Adhere to `.editorconfig` settings** when present in the repository + +## Code Style (.editorconfig) + +**If an `.editorconfig` file exists in the repository, all generated and modified code MUST follow its rules.** + +This includes but is not limited to: +- Indentation style (tabs vs spaces) and size +- Line endings and final newline requirements +- Naming conventions (fields, properties, methods, etc.) +- Code style preferences (`var` usage, expression bodies, braces, etc.) +- Analyzer severity levels and suppressions + +Before generating code, check for `.editorconfig` in the repository root and apply its settings. When in doubt, match the style of surrounding code in the file being edited. + +## .NET Framework and C# Language Constraints + +**Visual Studio extensions target .NET Framework 4.8** but can use modern C# syntax (up to C# 14) with constraints imposed by the .NET Framework runtime. + +### ✅ Supported Modern C# Features +- Primary constructors +- File-scoped namespaces +- Global usings +- Pattern matching (all forms) +- Records (with limitations) +- `init` accessors +- Target-typed `new` +- Nullable reference types (annotations only) +- Raw string literals +- Collection expressions + +### ❌ Not Supported (.NET Framework Limitations) +- `Span`, `ReadOnlySpan`, `Memory` (no runtime support) +- `IAsyncEnumerable` (without polyfill packages) +- Default interface implementations +- `Index` and `Range` types (no runtime support for `^` and `..` operators) +- `init`-only setters on structs (runtime limitation) +- Some `System.Text.Json` features + +### Best Practice +When writing code, prefer APIs available in .NET Framework 4.8. If a modern API is needed, check if a polyfill NuGet package exists (e.g., `Microsoft.Bcl.AsyncInterfaces` for `IAsyncEnumerable`). ## Example Prompt Behaviors diff --git a/prompts/add-educational-comments.prompt.md b/prompts/add-educational-comments.prompt.md index 2469d180..3aff544d 100644 --- a/prompts/add-educational-comments.prompt.md +++ b/prompts/add-educational-comments.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.' -tools: ['edit/editFiles', 'fetch', 'todos'] +tools: ['edit/editFiles', 'web/fetch', 'todos'] --- # Add Educational Comments diff --git a/prompts/convert-plaintext-to-md.prompt.md b/prompts/convert-plaintext-to-md.prompt.md index 6029e5f2..4af122da 100644 --- a/prompts/convert-plaintext-to-md.prompt.md +++ b/prompts/convert-plaintext-to-md.prompt.md @@ -1,7 +1,7 @@ --- agent: agent description: 'Convert a text-based document to markdown following instructions from prompt, or if a documented option is passed, follow the instructions for that option.' -tools: ['edit', 'edit/editFiles', 'fetch', 'runCommands', 'search', 'search/readFile', 'search/textSearch'] +tools: ['edit', 'edit/editFiles', 'web/fetch', 'runCommands', 'search', 'search/readFile', 'search/textSearch'] --- # Convert Plaintext Documentation to Markdown diff --git a/prompts/create-architectural-decision-record.prompt.md b/prompts/create-architectural-decision-record.prompt.md index 077b6afe..5b1840b8 100644 --- a/prompts/create-architectural-decision-record.prompt.md +++ b/prompts/create-architectural-decision-record.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create an Architectural Decision Record (ADR) document for AI-optimized decision documentation.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Create Architectural Decision Record diff --git a/prompts/create-github-action-workflow-specification.prompt.md b/prompts/create-github-action-workflow-specification.prompt.md index cec08185..9979f4e5 100644 --- a/prompts/create-github-action-workflow-specification.prompt.md +++ b/prompts/create-github-action-workflow-specification.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create a formal specification for an existing GitHub Actions CI/CD workflow, optimized for AI consumption and workflow maintenance.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runInTerminal2', 'runNotebooks', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github', 'Microsoft Docs'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runInTerminal2', 'runNotebooks', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github', 'Microsoft Docs'] --- # Create GitHub Actions Workflow Specification diff --git a/prompts/create-implementation-plan.prompt.md b/prompts/create-implementation-plan.prompt.md index e6ed3b11..ffc0bc0f 100644 --- a/prompts/create-implementation-plan.prompt.md +++ b/prompts/create-implementation-plan.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Create Implementation Plan diff --git a/prompts/create-llms.prompt.md b/prompts/create-llms.prompt.md index 95f661c6..c9e5e58f 100644 --- a/prompts/create-llms.prompt.md +++ b/prompts/create-llms.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Create LLMs.txt File from Repository Structure diff --git a/prompts/create-oo-component-documentation.prompt.md b/prompts/create-oo-component-documentation.prompt.md index 1042534d..33bb0cf9 100644 --- a/prompts/create-oo-component-documentation.prompt.md +++ b/prompts/create-oo-component-documentation.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Generate Standard OO Component Documentation diff --git a/prompts/create-specification.prompt.md b/prompts/create-specification.prompt.md index 664e695e..08093e04 100644 --- a/prompts/create-specification.prompt.md +++ b/prompts/create-specification.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create a new specification file for the solution, optimized for Generative AI consumption.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Create Specification diff --git a/prompts/create-technical-spike.prompt.md b/prompts/create-technical-spike.prompt.md index aa7162ec..678b89e3 100644 --- a/prompts/create-technical-spike.prompt.md +++ b/prompts/create-technical-spike.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation.' -tools: ['runCommands', 'runTasks', 'edit', 'search', 'extensions', 'usages', 'vscodeAPI', 'think', 'problems', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'Microsoft Docs', 'search'] +tools: ['runCommands', 'runTasks', 'edit', 'search', 'extensions', 'usages', 'vscodeAPI', 'think', 'problems', 'changes', 'testFailure', 'openSimpleBrowser', 'web/fetch', 'githubRepo', 'todos', 'Microsoft Docs', 'search'] --- # Create Technical Spike Document diff --git a/prompts/create-tldr-page.prompt.md b/prompts/create-tldr-page.prompt.md index 03a0f93f..fa5f6751 100644 --- a/prompts/create-tldr-page.prompt.md +++ b/prompts/create-tldr-page.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create a tldr page from documentation URLs and command examples, requiring both URL and command name.' -tools: ['edit/createFile', 'fetch'] +tools: ['edit/createFile', 'web/fetch'] --- # Create TLDR Page diff --git a/prompts/documentation-writer.prompt.md b/prompts/documentation-writer.prompt.md index 2886fccc..88c71ad3 100644 --- a/prompts/documentation-writer.prompt.md +++ b/prompts/documentation-writer.prompt.md @@ -1,6 +1,6 @@ --- agent: 'agent' -tools: ['edit/editFiles', 'search', 'fetch'] +tools: ['edit/editFiles', 'search', 'web/fetch'] description: 'Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.' --- diff --git a/prompts/github-copilot-starter.prompt.md b/prompts/github-copilot-starter.prompt.md index f1fddc3f..dee90a1b 100644 --- a/prompts/github-copilot-starter.prompt.md +++ b/prompts/github-copilot-starter.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' model: Claude Sonnet 4 -tools: ['edit', 'githubRepo', 'changes', 'problems', 'search', 'runCommands', 'fetch'] +tools: ['edit', 'githubRepo', 'changes', 'problems', 'search', 'runCommands', 'web/fetch'] description: 'Set up complete GitHub Copilot configuration for a new project based on technology stack' --- @@ -237,7 +237,7 @@ Requirements for the form: ```yaml --- description: Generate an implementation plan for new features or refactoring existing code. -tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] +tools: ['codebase', 'web/fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] model: Claude Sonnet 4 --- # Planning mode instructions diff --git a/prompts/playwright-explore-website.prompt.md b/prompts/playwright-explore-website.prompt.md index ad2917f4..e8cc123f 100644 --- a/prompts/playwright-explore-website.prompt.md +++ b/prompts/playwright-explore-website.prompt.md @@ -1,7 +1,7 @@ --- agent: agent description: 'Website exploration for testing using Playwright MCP' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'fetch', 'findTestFiles', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'playwright'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'findTestFiles', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'playwright'] model: 'Claude Sonnet 4' --- diff --git a/prompts/playwright-generate-test.prompt.md b/prompts/playwright-generate-test.prompt.md index 103195db..1e683caf 100644 --- a/prompts/playwright-generate-test.prompt.md +++ b/prompts/playwright-generate-test.prompt.md @@ -1,7 +1,7 @@ --- agent: agent description: 'Generate a Playwright test based on a scenario using Playwright MCP' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'fetch', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'playwright/*'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'playwright/*'] model: 'Claude Sonnet 4.5' --- diff --git a/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md b/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md index a3203896..054d3b26 100644 --- a/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +++ b/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Suggest relevant GitHub Copilot Custom Chat Modes files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing custom chat modes in this repository.' -tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'search'] +tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'web/fetch', 'githubRepo', 'todos', 'search'] --- # Suggest Awesome GitHub Copilot Custom Chat Modes diff --git a/prompts/suggest-awesome-github-copilot-collections.prompt.md b/prompts/suggest-awesome-github-copilot-collections.prompt.md index 40472aa7..efde6643 100644 --- a/prompts/suggest-awesome-github-copilot-collections.prompt.md +++ b/prompts/suggest-awesome-github-copilot-collections.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Suggest relevant GitHub Copilot collections from the awesome-copilot repository based on current repository context and chat history, providing automatic download and installation of collection assets.' -tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'search'] +tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'web/fetch', 'githubRepo', 'todos', 'search'] --- # Suggest Awesome GitHub Copilot Collections diff --git a/prompts/suggest-awesome-github-copilot-instructions.prompt.md b/prompts/suggest-awesome-github-copilot-instructions.prompt.md index be06e76e..08d3fa0c 100644 --- a/prompts/suggest-awesome-github-copilot-instructions.prompt.md +++ b/prompts/suggest-awesome-github-copilot-instructions.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Suggest relevant GitHub Copilot instruction files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing instructions in this repository.' -tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'search'] +tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'web/fetch', 'githubRepo', 'todos', 'search'] --- # Suggest Awesome GitHub Copilot Instructions diff --git a/prompts/suggest-awesome-github-copilot-prompts.prompt.md b/prompts/suggest-awesome-github-copilot-prompts.prompt.md index ab3a6b11..904f12a3 100644 --- a/prompts/suggest-awesome-github-copilot-prompts.prompt.md +++ b/prompts/suggest-awesome-github-copilot-prompts.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Suggest relevant GitHub Copilot prompt files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing prompts in this repository.' -tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'search'] +tools: ['edit', 'search', 'runCommands', 'runTasks', 'think', 'changes', 'testFailure', 'openSimpleBrowser', 'web/fetch', 'githubRepo', 'todos', 'search'] --- # Suggest Awesome GitHub Copilot Prompts diff --git a/prompts/tldr-prompt.prompt.md b/prompts/tldr-prompt.prompt.md index 479661de..4369d10f 100644 --- a/prompts/tldr-prompt.prompt.md +++ b/prompts/tldr-prompt.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Create tldr summaries for GitHub Copilot files (prompts, agents, instructions, collections), MCP servers, or documentation from URLs and queries.' -tools: ['fetch', 'search/readFile', 'search', 'search/textSearch'] +tools: ['web/fetch', 'search/readFile', 'search', 'search/textSearch'] model: 'claude-sonnet-4' --- diff --git a/prompts/update-avm-modules-in-bicep.prompt.md b/prompts/update-avm-modules-in-bicep.prompt.md index b603a880..49fcda94 100644 --- a/prompts/update-avm-modules-in-bicep.prompt.md +++ b/prompts/update-avm-modules-in-bicep.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Update Azure Verified Modules (AVM) to latest versions in Bicep files.' -tools: ['search/codebase', 'think', 'changes', 'fetch', 'search/searchResults', 'todos', 'edit/editFiles', 'search', 'runCommands', 'bicepschema', 'azure_get_schema_for_Bicep'] +tools: ['search/codebase', 'think', 'changes', 'web/fetch', 'search/searchResults', 'todos', 'edit/editFiles', 'search', 'runCommands', 'bicepschema', 'azure_get_schema_for_Bicep'] --- # Update Azure Verified Modules in Bicep Files diff --git a/prompts/update-implementation-plan.prompt.md b/prompts/update-implementation-plan.prompt.md index 3ff01b07..8de4eab8 100644 --- a/prompts/update-implementation-plan.prompt.md +++ b/prompts/update-implementation-plan.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Update Implementation Plan diff --git a/prompts/update-llms.prompt.md b/prompts/update-llms.prompt.md index 0e3f4e21..bbeab69d 100644 --- a/prompts/update-llms.prompt.md +++ b/prompts/update-llms.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Update the llms.txt file in the root folder to reflect changes in documentation or specifications following the llms.txt specification at https://llmstxt.org/' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Update LLMs.txt File diff --git a/prompts/update-markdown-file-index.prompt.md b/prompts/update-markdown-file-index.prompt.md index 8078097a..08f98a67 100644 --- a/prompts/update-markdown-file-index.prompt.md +++ b/prompts/update-markdown-file-index.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Update a markdown file section with an index/table of files from a specified folder.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Update Markdown File Index diff --git a/prompts/update-oo-component-documentation.prompt.md b/prompts/update-oo-component-documentation.prompt.md index c3857e4a..5300f0f7 100644 --- a/prompts/update-oo-component-documentation.prompt.md +++ b/prompts/update-oo-component-documentation.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Update existing object-oriented component documentation following industry best practices and architectural documentation standards.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Update Standard OO Component Documentation diff --git a/prompts/update-specification.prompt.md b/prompts/update-specification.prompt.md index 0f031ae1..15c9f392 100644 --- a/prompts/update-specification.prompt.md +++ b/prompts/update-specification.prompt.md @@ -1,7 +1,7 @@ --- agent: 'agent' description: 'Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code.' -tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] +tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI'] --- # Update Specification diff --git a/prompts/write-coding-standards-from-file.prompt.md b/prompts/write-coding-standards-from-file.prompt.md index 041f5e5e..d075c574 100644 --- a/prompts/write-coding-standards-from-file.prompt.md +++ b/prompts/write-coding-standards-from-file.prompt.md @@ -1,7 +1,7 @@ --- agent: "agent" description: "Write a coding standards document for a project using the coding styles from the file(s) and/or folder(s) passed as arguments in the prompt." -tools: ['createFile', 'editFiles', 'fetch', 'githubRepo', 'search', 'testFailure'] +tools: ['createFile', 'editFiles', 'web/fetch', 'githubRepo', 'search', 'testFailure'] --- # Write Coding Standards From File @@ -10,7 +10,7 @@ Use the existing syntax of the file(s) to establish the standards and style guid ## Rules and Configuration -Below is a set of quasi-configuration `boolean` and `string[]` variables. Conditions for handling `true`, or other values for each variable are under the level two heading `## Variable and Parameter Configuration Conditions`. +Below is a set of quasi-configuration `boolean` and `string[]` variables. Conditions for handling `true`, or other values for each variable are under the level two heading `## Variable and Parameter Configuration Conditions`. Parameters for the prompt have a text definition. There is one required parameter **`${fileName}`**, and several optional parameters **`${folderName}`**, **`${instructions}`**, and any **`[configVariableAsParameter]`**. @@ -169,6 +169,7 @@ Depending on the programming language, for each link in list below, run `#fetch - [Angular Style Guide](https://angular.dev/style-guide) - [Vue Style Guide](https://vuejs.org/style-guide/rules-strongly-recommended.html) - [Django Style Guide](https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/) +- [SystemVerilog Style Guide](https://github.com/lowRISC/style-guides/blob/master/VerilogCodingStyle.md) ## Coding Standards Templates @@ -222,7 +223,7 @@ Depending on the programming language, for each link in list below, run `#fetch # Style Guide - This document defines the style and conventions used in this project. + This document defines the style and conventions used in this project. All contributions should follow these rules unless otherwise noted. ## 1. General Code Style @@ -310,7 +311,7 @@ Depending on the programming language, for each link in list below, run `#fetch ## 8. Changes to This Guide - Style evolves. + Style evolves. Propose improvements by opening an issue or sending a patch updating this document. ``` ``` \ No newline at end of file diff --git a/skills/azure-resource-visualizer/LICENSE.txt b/skills/azure-resource-visualizer/LICENSE.txt new file mode 100644 index 00000000..8dfb11f8 --- /dev/null +++ b/skills/azure-resource-visualizer/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright 2025 (c) Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE diff --git a/skills/azure-resource-visualizer/SKILL.md b/skills/azure-resource-visualizer/SKILL.md new file mode 100644 index 00000000..2574dd4d --- /dev/null +++ b/skills/azure-resource-visualizer/SKILL.md @@ -0,0 +1,233 @@ +--- +name: azure-resource-visualizer +description: Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. +license: Complete terms in LICENSE.txt +metadata: + author: Tom Meschter (tom.meschter@microsoft.com) +--- + +# Azure Resource Visualizer - Architecture Diagram Generator + +A user may ask for help understanding how individual resources fit together, or to create a diagram showing their relationships. Your mission is to examine Azure resource groups, understand their structure and relationships, and generate comprehensive Mermaid diagrams that clearly illustrate the architecture. + +## Core Responsibilities + +1. **Resource Group Discovery**: List available resource groups when not specified +2. **Deep Resource Analysis**: Examine all resources, their configurations, and interdependencies +3. **Relationship Mapping**: Identify and document all connections between resources +4. **Diagram Generation**: Create detailed, accurate Mermaid diagrams +5. **Documentation Creation**: Produce clear markdown files with embedded diagrams + +## Workflow Process + +### Step 1: Resource Group Selection + +If the user hasn't specified a resource group: + +1. Use your tools to query available resource groups. If you do not have a tool for this, use `az`. +2. Present a numbered list of resource groups with their locations +3. Ask the user to select one by number or name +4. Wait for user response before proceeding + +If a resource group is specified, validate it exists and proceed. + +### Step 2: Resource Discovery & Analysis + +Once you have the resource group: + +1. **Query all resources** in the resource group using Azure MCP tools or `az`. +2. **Analyze each resource** type and capture: + - Resource name and type + - SKU/tier information + - Location/region + - Key configuration properties + - Network settings (VNets, subnets, private endpoints) + - Identity and access (Managed Identity, RBAC) + - Dependencies and connections + +3. **Map relationships** by identifying: + - **Network connections**: VNet peering, subnet assignments, NSG rules, private endpoints + - **Data flow**: Apps → Databases, Functions → Storage, API Management → Backends + - **Identity**: Managed identities connecting to resources + - **Configuration**: App Settings pointing to Key Vaults, connection strings + - **Dependencies**: Parent-child relationships, required resources + +### Step 3: Diagram Construction + +Create a **detailed Mermaid diagram** using the `graph TB` (top-to-bottom) or `graph LR` (left-to-right) format: + +**Diagram Structure Guidelines:** + +```mermaid +graph TB + %% Use subgraphs to group related resources + subgraph "Resource Group: [name]" + subgraph "Network Layer" + VNET[Virtual Network
10.0.0.0/16] + SUBNET1[Subnet: web
10.0.1.0/24] + SUBNET2[Subnet: data
10.0.2.0/24] + NSG[Network Security Group] + end + + subgraph "Compute Layer" + APP[App Service
Plan: P1v2] + FUNC[Function App
Runtime: .NET 8] + end + + subgraph "Data Layer" + SQL[Azure SQL Database
DTU: S1] + STORAGE[Storage Account
Type: Standard LRS] + end + + subgraph "Security & Identity" + KV[Key Vault] + MI[Managed Identity] + end + end + + %% Define relationships with descriptive labels + APP -->|"HTTPS requests"| FUNC + FUNC -->|"SQL connection"| SQL + FUNC -->|"Blob/Queue access"| STORAGE + APP -->|"Uses identity"| MI + MI -->|"Access secrets"| KV + VNET --> SUBNET1 + VNET --> SUBNET2 + SUBNET1 --> APP + SUBNET2 --> SQL + NSG -->|"Rules applied to"| SUBNET1 +``` + +**Key Diagram Requirements:** + +- **Group by layer or purpose**: Network, Compute, Data, Security, Monitoring +- **Include details**: SKUs, tiers, important settings in node labels (use `
` for line breaks) +- **Label all connections**: Describe what flows between resources (data, identity, network) +- **Use meaningful node IDs**: Abbreviations that make sense (APP, FUNC, SQL, KV) +- **Visual hierarchy**: Subgraphs for logical grouping +- **Connection types**: + - `-->` for data flow or dependencies + - `-.->` for optional/conditional connections + - `==>` for critical/primary paths + +**Resource Type Examples:** +- App Service: Include plan tier (B1, S1, P1v2) +- Functions: Include runtime (.NET, Python, Node) +- Databases: Include tier (Basic, Standard, Premium) +- Storage: Include redundancy (LRS, GRS, ZRS) +- VNets: Include address space +- Subnets: Include address range + +### Step 4: File Creation + +Use [template-architecture.md](./assets/template-architecture.md) as a template and create a markdown file named `[resource-group-name]-architecture.md` with: + +1. **Header**: Resource group name, subscription, region +2. **Summary**: Brief overview of the architecture (2-3 paragraphs) +3. **Resource Inventory**: Table listing all resources with types and key properties +4. **Architecture Diagram**: The complete Mermaid diagram +5. **Relationship Details**: Explanation of key connections and data flows +6. **Notes**: Any important observations, potential issues, or recommendations + +## Operating Guidelines + +### Quality Standards + +- **Accuracy**: Verify all resource details before including in diagram +- **Completeness**: Don't omit resources; include everything in the resource group +- **Clarity**: Use clear, descriptive labels and logical grouping +- **Detail Level**: Include configuration details that matter for architecture understanding +- **Relationships**: Show ALL significant connections, not just obvious ones + +### Tool Usage Patterns + +1. **Azure MCP Search**: + - Use `intent="list resource groups"` to discover resource groups + - Use `intent="list resources in group"` with group name to get all resources + - Use `intent="get resource details"` for individual resource analysis + - Use `command` parameter when you need specific Azure operations + +2. **File Creation**: + - Always create in workspace root or a `docs/` folder if it exists + - Use clear, descriptive filenames: `[rg-name]-architecture.md` + - Ensure Mermaid syntax is valid (test syntax mentally before output) + +3. **Terminal (when needed)**: + - Use Azure CLI for complex queries not available via MCP + - Example: `az resource list --resource-group --output json` + - Example: `az network vnet show --resource-group --name ` + +### Constraints & Boundaries + +**Always Do:** +- ✅ List resource groups if not specified +- ✅ Wait for user selection before proceeding +- ✅ Analyze ALL resources in the group +- ✅ Create detailed, accurate diagrams +- ✅ Include configuration details in node labels +- ✅ Group resources logically with subgraphs +- ✅ Label all connections descriptively +- ✅ Create a complete markdown file with diagram + +**Never Do:** +- ❌ Skip resources because they seem unimportant +- ❌ Make assumptions about resource relationships without verification +- ❌ Create incomplete or placeholder diagrams +- ❌ Omit configuration details that affect architecture +- ❌ Proceed without confirming resource group selection +- ❌ Generate invalid Mermaid syntax +- ❌ Modify or delete Azure resources (read-only analysis) + +### Edge Cases & Error Handling + +- **No resources found**: Inform user and verify resource group name +- **Permission issues**: Explain what's missing and suggest checking RBAC +- **Complex architectures (50+ resources)**: Consider creating multiple diagrams by layer +- **Cross-resource-group dependencies**: Note external dependencies in diagram notes +- **Resources without clear relationships**: Group in "Other Resources" section + +## Output Format Specifications + +### Mermaid Diagram Syntax +- Use `graph TB` (top-to-bottom) for vertical layouts +- Use `graph LR` (left-to-right) for horizontal layouts (better for wide architectures) +- Subgraph syntax: `subgraph "Descriptive Name"` +- Node syntax: `ID["Display Name
Details"]` +- Connection syntax: `SOURCE -->|"Label"| TARGET` + +### Markdown Structure +- Use H1 for main title +- Use H2 for major sections +- Use H3 for subsections +- Use tables for resource inventories +- Use bullet lists for notes and recommendations +- Use code blocks with `mermaid` language tag for diagrams + +## Example Interaction + +**User**: "Analyze my production resource group" + +**Agent**: +1. Lists all resource groups in subscription +2. Asks user to select: "Which resource group? 1) rg-prod-app, 2) rg-dev-app, 3) rg-shared" +3. User selects: "1" +4. Queries all resources in rg-prod-app +5. Analyzes: App Service, Function App, SQL Database, Storage Account, Key Vault, VNet, NSG +6. Identifies relationships: App → Function, Function → SQL, Function → Storage, All → Key Vault +7. Creates detailed Mermaid diagram with subgraphs +8. Generates `rg-prod-app-architecture.md` with complete documentation +9. Displays: "Created architecture diagram in rg-prod-app-architecture.md. Found 7 resources with 8 key relationships." + +## Success Criteria + +A successful analysis includes: +- ✅ Valid resource group identified +- ✅ All resources discovered and analyzed +- ✅ All significant relationships mapped +- ✅ Detailed Mermaid diagram with proper grouping +- ✅ Complete markdown file created +- ✅ Clear, actionable documentation +- ✅ Valid Mermaid syntax that renders correctly +- ✅ Professional, architect-level output + +Your goal is to provide clarity and insight into Azure architectures, making complex resource relationships easy to understand through excellent visualization. diff --git a/skills/azure-resource-visualizer/assets/template-architecture.md b/skills/azure-resource-visualizer/assets/template-architecture.md new file mode 100644 index 00000000..574e5eb3 --- /dev/null +++ b/skills/azure-resource-visualizer/assets/template-architecture.md @@ -0,0 +1,41 @@ +# Azure Architecture: [Resource Group Name] + +**Subscription**: [subscription-name] +**Region**: [primary-region] +**Resource Count**: [count] +**Generated**: [date] + +## Overview + +[2-3 paragraph summary of the architecture, its purpose, and key components] + +## Resource Inventory + +| Resource Name | Type | Tier/SKU | Location | Notes | +|--------------|------|----------|----------|-------| +| app-prod-001 | App Service | P1v2 | East US | Production web app | +| func-prod-001 | Function App | Y1 | East US | Consumption plan | + +## Architecture Diagram + +```mermaid +[full diagram here] +``` + +## Relationship Details + +### Network Architecture +[Describe VNets, subnets, network security] + +### Data Flow +[Describe how data moves between components] + +### Identity & Access +[Describe managed identities, key vault access, RBAC] + +### Dependencies +[Describe critical dependencies and their order] + +## Notes & Recommendations + +[Any observations, potential issues, or suggestions] diff --git a/skills/vscode-ext-commands/SKILL.md b/skills/vscode-ext-commands/SKILL.md new file mode 100644 index 00000000..0d44dc1c --- /dev/null +++ b/skills/vscode-ext-commands/SKILL.md @@ -0,0 +1,21 @@ +--- +name: vscode-ext-commands +description: 'Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices' +--- + +# VS Code extension command contribution + +This skill helps you to contribute commands in VS Code extensions + +## When to use this skill + +Use this skill when you need to: +- Add or update commands to your VS Code extension + +# Instructions + +VS Code commands must always define a `title`, independent of its category, visibility or location. We use a few patterns for each "kind" of command, with some characteristics, described below: + +* Regular commands: By default, all commands should be accessible in the Command Palette, must define a `category`, and don't need an `icon`, unless the command will be used in the Side Bar. + +* Side Bar commands: Its name follows a special pattern, starting with underscore (`_`) and suffixed with `#sideBar`, like `_extensionId.someCommand#sideBar` for instance. Must define an `icon`, and may or may not have some rule for `enablement`. Side Bar exclusive commands should not be visible in the Command Palette. Contributing it to the `view/title` or `view/item/context`, we must inform _order/position_ that it will be displayed, and we can use terms "relative to other command/button" in order to you identify the correct `group` to be used. Also, it's a good practice to define the condition (`when`) for the new command is visible. diff --git a/skills/vscode-ext-localization/SKILL.md b/skills/vscode-ext-localization/SKILL.md new file mode 100644 index 00000000..b92def23 --- /dev/null +++ b/skills/vscode-ext-localization/SKILL.md @@ -0,0 +1,25 @@ +--- +name: vscode-ext-localization +description: 'Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices' +--- + +# VS Code extension localization + +This skill helps you localize every aspect of VS Code extensions + +## When to use this skill + +Use this skill when you need to: +- Localize new or existing contributed configurations (settings), commands, menus, views or walkthroughs +- Localize new or existing messages or other string resources contained in extension source code that are displayed to the end user + +# Instructions + +VS Code localization is composed by three different approaches, depending on the resource that is being localized. When a new localizable resource is created or updated, the corresponding localization for all currently available languages must be created/updated. + +1. Configurations like Settings, Commands, Menus, Views, ViewsWelcome, Walkthrough Titles and Descriptions, defined in `package.json` + -> An exclusive `package.nls.LANGID.json` file, like `package.nls.pt-br.json` of Brazilian Portuguese (`pt-br`) localization +2. Walkthrough content (defined in its own `Markdown` files) + -> An exclusive `Markdown` file like `walkthrough/someStep.pt-br.md` for Brazilian Portuguese localization +3. Messages and string located in extension source code (JavaScript or TypeScript files) + -> An exclusive `bundle.l10n.pt-br.json` for Brazilian Portuguese localization