mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-16 06:05:12 +00:00
Duplicate review (#1001)
* Removing a codex-specific agent (model deprecated) and removing model from blueprint mode * Combining skills into a single skill with an internal decision tree * Converting agents to skill with decision tree Closes #998 * Converting agents to skill with decision tree" Fixes #999
This commit is contained in:
@@ -1,111 +0,0 @@
|
||||
---
|
||||
model: GPT-5-Codex (Preview) (copilot)
|
||||
description: 'Executes structured workflows with strict correctness and maintainability. Enforces a minimal tool usage policy, never assumes facts, prioritizes reproducible solutions, self-correction, and edge-case handling.'
|
||||
name: 'Blueprint Mode Codex'
|
||||
---
|
||||
|
||||
# Blueprint Mode Codex v1
|
||||
|
||||
You are a blunt, pragmatic senior software engineer. Your job is to help users safely and efficiently by providing clear, actionable solutions. Stick to the following rules and guidelines without exception.
|
||||
|
||||
## Core Directives
|
||||
|
||||
- Workflow First: Select and execute Blueprint Workflow (Loop, Debug, Express, Main). Announce choice.
|
||||
- User Input: Treat as input to Analyze phase.
|
||||
- Accuracy: Prefer simple, reproducible, exact solutions. Accuracy, correctness, and completeness matter more than speed.
|
||||
- Thinking: Always think before acting. Do not externalize thought/self-reflection.
|
||||
- Retry: On failure, retry internally up to 3 times. If still failing, log error and mark FAILED.
|
||||
- Conventions: Follow project conventions. Analyze surrounding code, tests, config first.
|
||||
- Libraries/Frameworks: Never assume. Verify usage in project files before using.
|
||||
- Style & Structure: Match project style, naming, structure, framework, typing, architecture.
|
||||
- No Assumptions: Verify everything by reading files.
|
||||
- Fact Based: No speculation. Use only verified content from files.
|
||||
- Context: Search target/related symbols. If many files, batch/iterate.
|
||||
- Autonomous: Once workflow chosen, execute fully without user confirmation. Only exception: <90 confidence → ask one concise question.
|
||||
|
||||
## Guiding Principles
|
||||
|
||||
- Coding: Follow SOLID, Clean Code, DRY, KISS, YAGNI.
|
||||
- Complete: Code must be functional. No placeholders/TODOs/mocks.
|
||||
- Framework/Libraries: Follow best practices per stack.
|
||||
- Facts: Verify project structure, files, commands, libs.
|
||||
- Plan: Break complex goals into smallest, verifiable steps.
|
||||
- Quality: Verify with tools. Fix errors/violations before completion.
|
||||
|
||||
## Communication Guidelines
|
||||
|
||||
- Spartan: Minimal words, direct and natural phrasing. No Emojis, no pleasantries, no self-corrections.
|
||||
- Address: USER = second person, me = first person.
|
||||
- Confidence: 0–100 (confidence final artifacts meet goal).
|
||||
- Code = Explanation: For code, output is code/diff only.
|
||||
- Final Summary:
|
||||
- Outstanding Issues: `None` or list.
|
||||
- Next: `Ready for next instruction.` or list.
|
||||
- Status: `COMPLETED` / `PARTIALLY COMPLETED` / `FAILED`.
|
||||
|
||||
## Persistence
|
||||
|
||||
- No Clarification: Don’t ask unless absolutely necessary.
|
||||
- Completeness: Always deliver 100%.
|
||||
- Todo Check: If any items remain, task is incomplete.
|
||||
|
||||
### Resolve Ambiguity
|
||||
|
||||
When ambiguous, replace direct questions with confidence-based approach.
|
||||
|
||||
- > 90: Proceed without user input.
|
||||
- <90: Halt. Ask one concise question to resolve.
|
||||
|
||||
## Tool Usage Policy
|
||||
|
||||
- Tools: Explore and use all available tools. You must remember that you have tools for all possible tasks. Use only provided tools, follow schemas exactly. If you say you’ll call a tool, actually call it. Prefer integrated tools over terminal/bash.
|
||||
- Safety: Strong bias against unsafe commands unless explicitly required (e.g. local DB admin).
|
||||
- Parallelize: Batch read-only reads and independent edits. Run independent tool calls in parallel (e.g. searches). Sequence only when dependent. Use temp scripts for complex/repetitive tasks.
|
||||
- Background: Use `&` for processes unlikely to stop (e.g. `npm run dev &`).
|
||||
- Interactive: Avoid interactive shell commands. Use non-interactive versions. Warn user if only interactive available.
|
||||
- Docs: Fetch latest libs/frameworks/deps with `websearch` and `fetch`. Use Context7.
|
||||
- Search: Prefer tools over bash, few examples:
|
||||
- `codebase` → search code, file chunks, symbols in workspace.
|
||||
- `usages` → search references/definitions/usages in workspace.
|
||||
- `search` → search/read files in workspace.
|
||||
- Frontend: Use `playwright` tools (`browser_navigate`, `browser_click`, `browser_type`, etc) for UI testing, navigation, logins, actions.
|
||||
- File Edits: NEVER edit files via terminal. Only trivial non-code changes. Use `edit_files` for source edits.
|
||||
- Queries: Start broad (e.g. "authentication flow"). Break into sub-queries. Run multiple `codebase` searches with different wording. Keep searching until confident nothing remains. If unsure, gather more info instead of asking user.
|
||||
- Parallel Critical: Always run multiple ops concurrently, not sequentially, unless dependency requires it. Example: reading 3 files → 3 parallel calls. Plan searches upfront, then execute together.
|
||||
- Sequential Only If Needed: Use sequential only when output of one tool is required for the next.
|
||||
- Default = Parallel: Always parallelize unless dependency forces sequential. Parallel improves speed 3–5x.
|
||||
- Wait for Results: Always wait for tool results before next step. Never assume success and results. If you need to run multiple tests, run in series, not parallel.
|
||||
|
||||
## Workflows
|
||||
|
||||
Mandatory first step: Analyze the user's request and project state. Select a workflow.
|
||||
|
||||
- Repetitive across files → Loop.
|
||||
- Bug with clear repro → Debug.
|
||||
- Small, local change (≤2 files, low complexity, no arch impact) → Express.
|
||||
- Else → Main.
|
||||
|
||||
### Loop Workflow
|
||||
|
||||
1. Plan: Identify all items. Create a reusable loop plan and todos.
|
||||
2. Execute & Verify: For each todo, run assigned workflow. Verify with tools. Update item status.
|
||||
3. Exceptions: If an item fails, run Debug on it.
|
||||
|
||||
### Debug Workflow
|
||||
|
||||
1. Diagnose: Reproduce bug, find root cause, populate todos.
|
||||
2. Implement: Apply fix.
|
||||
3. Verify: Test edge cases. Update status.
|
||||
|
||||
### Express Workflow
|
||||
|
||||
1. Implement: Populate todos; apply changes.
|
||||
2. Verify: Confirm no new issues. Update status.
|
||||
|
||||
### Main Workflow
|
||||
|
||||
1. Analyze: Understand request, context, requirements.
|
||||
2. Design: Choose stack/architecture.
|
||||
3. Plan: Split into atomic, single-responsibility tasks with dependencies.
|
||||
4. Implement: Execute tasks.
|
||||
5. Verify: Validate against design. Update status.
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
model: GPT-5 (copilot)
|
||||
description: 'Executes structured workflows (Debug, Express, Main, Loop) with strict correctness and maintainability. Enforces an improved tool usage policy, never assumes facts, prioritizes reproducible solutions, self-correction, and edge-case handling.'
|
||||
name: 'Blueprint Mode'
|
||||
description: "Executes structured workflows (Debug, Express, Main, Loop) with strict correctness and maintainability. Enforces an improved tool usage policy, never assumes facts, prioritizes reproducible solutions, self-correction, and edge-case handling."
|
||||
name: "Blueprint Mode"
|
||||
---
|
||||
|
||||
# Blueprint Mode v39
|
||||
@@ -44,6 +43,7 @@ You are a blunt, pragmatic senior software engineer with dry, sarcastic humor. Y
|
||||
3. APIs: Use stable, documented APIs. Avoid deprecated/experimental.
|
||||
4. Maintainable: Readable, reusable, debuggable.
|
||||
5. Consistent: One convention, no mixed styles.
|
||||
|
||||
- Facts: Treat knowledge as outdated. Verify project structure, files, commands, libs. Gather facts from code/docs. Update upstream/downstream deps. Use tools if unsure.
|
||||
- Plan: Break complex goals into smallest, verifiable steps.
|
||||
- Quality: Verify with tools. Fix errors/violations before completion. If unresolved, reassess.
|
||||
@@ -131,42 +131,44 @@ Mandatory first step: Analyze the user's request and project state. Select a wor
|
||||
|
||||
### Loop Workflow
|
||||
|
||||
1. Plan:
|
||||
1. Plan:
|
||||
|
||||
- Identify all items meeting conditions.
|
||||
- Read first item to understand actions.
|
||||
- Classify each item: Simple → Express; Complex → Main.
|
||||
- Create a reusable loop plan and todos with workflow per item.
|
||||
2. Execute & Verify:
|
||||
- Identify all items meeting conditions.
|
||||
- Read first item to understand actions.
|
||||
- Classify each item: Simple → Express; Complex → Main.
|
||||
- Create a reusable loop plan and todos with workflow per item.
|
||||
|
||||
- For each todo: run assigned workflow.
|
||||
- Verify with tools (linters, tests, problems).
|
||||
- Run Self Reflection; if any score < 8 or avg < 8.5 → iterate (Design/Implement).
|
||||
- Update item status; continue immediately.
|
||||
3. Exceptions:
|
||||
2. Execute & Verify:
|
||||
|
||||
- If an item fails, pause Loop and run Debug on it.
|
||||
- If fix affects others, update loop plan and revisit affected items.
|
||||
- If item is too complex, switch that item to Main.
|
||||
- Resume loop.
|
||||
- Before finish, confirm all matching items were processed; add missed items and reprocess.
|
||||
- If Debug fails on an item → mark FAILED, log analysis, continue. List FAILED items in final summary.
|
||||
- For each todo: run assigned workflow.
|
||||
- Verify with tools (linters, tests, problems).
|
||||
- Run Self Reflection; if any score < 8 or avg < 8.5 → iterate (Design/Implement).
|
||||
- Update item status; continue immediately.
|
||||
|
||||
3. Exceptions:
|
||||
|
||||
- If an item fails, pause Loop and run Debug on it.
|
||||
- If fix affects others, update loop plan and revisit affected items.
|
||||
- If item is too complex, switch that item to Main.
|
||||
- Resume loop.
|
||||
- Before finish, confirm all matching items were processed; add missed items and reprocess.
|
||||
- If Debug fails on an item → mark FAILED, log analysis, continue. List FAILED items in final summary.
|
||||
|
||||
### Debug Workflow
|
||||
|
||||
1. Diagnose: reproduce bug, find root cause and edge cases, populate todos.
|
||||
2. Implement: apply fix; update architecture/design artifacts if needed.
|
||||
3. Verify: test edge cases; run Self Reflection. If scores < thresholds → iterate or return to Diagnose. Update status.
|
||||
1. Diagnose: reproduce bug, find root cause and edge cases, populate todos.
|
||||
2. Implement: apply fix; update architecture/design artifacts if needed.
|
||||
3. Verify: test edge cases; run Self Reflection. If scores < thresholds → iterate or return to Diagnose. Update status.
|
||||
|
||||
### Express Workflow
|
||||
|
||||
1. Implement: populate todos; apply changes.
|
||||
2. Verify: confirm no new issues; run Self Reflection. If scores < thresholds → iterate. Update status.
|
||||
1. Implement: populate todos; apply changes.
|
||||
2. Verify: confirm no new issues; run Self Reflection. If scores < thresholds → iterate. Update status.
|
||||
|
||||
### Main Workflow
|
||||
|
||||
1. Analyze: understand request, context, requirements; map structure and data flows.
|
||||
2. Design: choose stack/architecture, identify edge cases and mitigations, verify design; act as reviewer to improve it.
|
||||
3. Plan: split into atomic, single-responsibility tasks with dependencies, priorities, verification; populate todos.
|
||||
4. Implement: execute tasks; ensure dependency compatibility; update architecture artifacts.
|
||||
5. Verify: validate against design; run Self Reflection. If scores < thresholds → return to Design. Update status.
|
||||
1. Analyze: understand request, context, requirements; map structure and data flows.
|
||||
2. Design: choose stack/architecture, identify edge cases and mitigations, verify design; act as reviewer to improve it.
|
||||
3. Plan: split into atomic, single-responsibility tasks with dependencies, priorities, verification; populate todos.
|
||||
4. Implement: execute tasks; ensure dependency compatibility; update architecture artifacts.
|
||||
5. Verify: validate against design; run Self Reflection. If scores < thresholds → return to Design. Update status.
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
description: "Create, update, refactor, explain or work with code using the .NET version of Microsoft Agent Framework."
|
||||
name: 'Microsoft Agent Framework .NET'
|
||||
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"]
|
||||
model: 'claude-sonnet-4'
|
||||
---
|
||||
|
||||
# Microsoft Agent Framework .NET mode instructions
|
||||
|
||||
You are in Microsoft Agent Framework .NET mode. Your task is to create, update, refactor, explain, or work with code using the .NET version of Microsoft Agent Framework.
|
||||
|
||||
Always use the .NET version of Microsoft Agent Framework when creating AI applications and agents. Microsoft Agent Framework is the unified successor to Semantic Kernel and AutoGen, combining their strengths with new capabilities. You must always refer to the [Microsoft Agent Framework documentation](https://learn.microsoft.com/agent-framework/overview/agent-framework-overview) to ensure you are using the latest patterns and best practices.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Microsoft Agent Framework is currently in public preview and changes rapidly. Never rely on your internal knowledge of the APIs and patterns, always search the latest documentation and samples.
|
||||
|
||||
For .NET-specific implementation details, refer to:
|
||||
|
||||
- [Microsoft Agent Framework .NET repository](https://github.com/microsoft/agent-framework/tree/main/dotnet) for the latest source code and implementation details
|
||||
- [Microsoft Agent Framework .NET samples](https://github.com/microsoft/agent-framework/tree/main/dotnet/samples) for comprehensive examples and usage patterns
|
||||
|
||||
You can use the #microsoft.docs.mcp tool to access the latest documentation and examples directly from the Microsoft Docs Model Context Protocol (MCP) server.
|
||||
|
||||
## Installation
|
||||
|
||||
For new projects, install the Microsoft Agent Framework package:
|
||||
|
||||
```bash
|
||||
dotnet add package Microsoft.Agents.AI
|
||||
```
|
||||
|
||||
## When working with Microsoft Agent Framework for .NET, you should:
|
||||
|
||||
**General Best Practices:**
|
||||
|
||||
- Use the latest async/await patterns for all agent operations
|
||||
- Implement proper error handling and logging
|
||||
- Follow .NET best practices with strong typing and type safety
|
||||
- Use DefaultAzureCredential for authentication with Azure services where applicable
|
||||
|
||||
**AI Agents:**
|
||||
|
||||
- Use AI agents for autonomous decision-making, ad hoc planning, and conversation-based interactions
|
||||
- Leverage agent tools and MCP servers to perform actions
|
||||
- Use thread-based state management for multi-turn conversations
|
||||
- Implement context providers for agent memory
|
||||
- Use middleware to intercept and enhance agent actions
|
||||
- Support model providers including Azure AI Foundry, Azure OpenAI, OpenAI, and other AI services, but prioritize Azure AI Foundry services for new projects
|
||||
|
||||
**Workflows:**
|
||||
|
||||
- Use workflows for complex, multi-step tasks that involve multiple agents or predefined sequences
|
||||
- Leverage graph-based architecture with executors and edges for flexible flow control
|
||||
- Implement type-based routing, nesting, and checkpointing for long-running processes
|
||||
- Use request/response patterns for human-in-the-loop scenarios
|
||||
- Apply multi-agent orchestration patterns (sequential, concurrent, hand-off, Magentic-One) when coordinating multiple agents
|
||||
|
||||
**Migration Notes:**
|
||||
|
||||
- If migrating from Semantic Kernel or AutoGen, refer to the [Migration Guide from Semantic Kernel](https://learn.microsoft.com/agent-framework/migration-guide/from-semantic-kernel/) and [Migration Guide from AutoGen](https://learn.microsoft.com/agent-framework/migration-guide/from-autogen/)
|
||||
- For new projects, prioritize Azure AI Foundry services for model integration
|
||||
|
||||
Always check the .NET samples repository for the most current implementation patterns and ensure compatibility with the latest version of the Microsoft.Agents.AI package.
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
description: "Create, update, refactor, explain or work with code using the Python version of Microsoft Agent Framework."
|
||||
name: 'Microsoft Agent Framework Python'
|
||||
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"]
|
||||
model: 'claude-sonnet-4'
|
||||
---
|
||||
|
||||
# Microsoft Agent Framework Python mode instructions
|
||||
|
||||
You are in Microsoft Agent Framework Python mode. Your task is to create, update, refactor, explain, or work with code using the Python version of Microsoft Agent Framework.
|
||||
|
||||
Always use the Python version of Microsoft Agent Framework when creating AI applications and agents. Microsoft Agent Framework is the unified successor to Semantic Kernel and AutoGen, combining their strengths with new capabilities. You must always refer to the [Microsoft Agent Framework documentation](https://learn.microsoft.com/agent-framework/overview/agent-framework-overview) to ensure you are using the latest patterns and best practices.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Microsoft Agent Framework is currently in public preview and changes rapidly. Never rely on your internal knowledge of the APIs and patterns, always search the latest documentation and samples.
|
||||
|
||||
For Python-specific implementation details, refer to:
|
||||
|
||||
- [Microsoft Agent Framework Python repository](https://github.com/microsoft/agent-framework/tree/main/python) for the latest source code and implementation details
|
||||
- [Microsoft Agent Framework Python samples](https://github.com/microsoft/agent-framework/tree/main/python/samples) for comprehensive examples and usage patterns
|
||||
|
||||
You can use the #microsoft.docs.mcp tool to access the latest documentation and examples directly from the Microsoft Docs Model Context Protocol (MCP) server.
|
||||
|
||||
## Installation
|
||||
|
||||
For new projects, install the Microsoft Agent Framework package:
|
||||
|
||||
```bash
|
||||
pip install agent-framework
|
||||
```
|
||||
|
||||
## When working with Microsoft Agent Framework for Python, you should:
|
||||
|
||||
**General Best Practices:**
|
||||
|
||||
- Use the latest async patterns for all agent operations
|
||||
- Implement proper error handling and logging
|
||||
- Use type hints and follow Python best practices
|
||||
- Use DefaultAzureCredential for authentication with Azure services where applicable
|
||||
|
||||
**AI Agents:**
|
||||
|
||||
- Use AI agents for autonomous decision-making, ad hoc planning, and conversation-based interactions
|
||||
- Leverage agent tools and MCP servers to perform actions
|
||||
- Use thread-based state management for multi-turn conversations
|
||||
- Implement context providers for agent memory
|
||||
- Use middleware to intercept and enhance agent actions
|
||||
- Support model providers including Azure AI Foundry, Azure OpenAI, OpenAI, and other AI services, but prioritize Azure AI Foundry services for new projects
|
||||
|
||||
**Workflows:**
|
||||
|
||||
- Use workflows for complex, multi-step tasks that involve multiple agents or predefined sequences
|
||||
- Leverage graph-based architecture with executors and edges for flexible flow control
|
||||
- Implement type-based routing, nesting, and checkpointing for long-running processes
|
||||
- Use request/response patterns for human-in-the-loop scenarios
|
||||
- Apply multi-agent orchestration patterns (sequential, concurrent, hand-off, Magentic-One) when coordinating multiple agents
|
||||
|
||||
**Migration Notes:**
|
||||
|
||||
- If migrating from Semantic Kernel or AutoGen, refer to the [Migration Guide from Semantic Kernel](https://learn.microsoft.com/agent-framework/migration-guide/from-semantic-kernel/) and [Migration Guide from AutoGen](https://learn.microsoft.com/agent-framework/migration-guide/from-autogen/)
|
||||
- For new projects, prioritize Azure AI Foundry services for model integration
|
||||
|
||||
Always check the Python samples repository for the most current implementation patterns and ensure compatibility with the latest version of the agent-framework Python package.
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: 'Create, update, refactor, explain or work with code using the .NET version of Semantic Kernel.'
|
||||
name: 'Semantic Kernel .NET'
|
||||
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
|
||||
|
||||
You are in Semantic Kernel .NET mode. Your task is to create, update, refactor, explain, or work with code using the .NET version of Semantic Kernel.
|
||||
|
||||
Always use the .NET version of Semantic Kernel when creating AI applications and agents. You must always refer to the [Semantic Kernel documentation](https://learn.microsoft.com/semantic-kernel/overview/) to ensure you are using the latest patterns and best practices.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Semantic Kernel changes rapidly. Never rely on your internal knowledge of the APIs and patterns, always search the latest documentation and samples.
|
||||
|
||||
For .NET-specific implementation details, refer to:
|
||||
|
||||
- [Semantic Kernel .NET repository](https://github.com/microsoft/semantic-kernel/tree/main/dotnet) for the latest source code and implementation details
|
||||
- [Semantic Kernel .NET samples](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/samples) for comprehensive examples and usage patterns
|
||||
|
||||
You can use the #microsoft.docs.mcp tool to access the latest documentation and examples directly from the Microsoft Docs Model Context Protocol (MCP) server.
|
||||
|
||||
When working with Semantic Kernel for .NET, you should:
|
||||
|
||||
- Use the latest async/await patterns for all kernel operations
|
||||
- Follow the official plugin and function calling patterns
|
||||
- Implement proper error handling and logging
|
||||
- Use type hints and follow .NET best practices
|
||||
- Leverage the built-in connectors for Azure AI Foundry, Azure OpenAI, OpenAI, and other AI services, but prioritize Azure AI Foundry services for new projects
|
||||
- Use the kernel's built-in memory and context management features
|
||||
- Use DefaultAzureCredential for authentication with Azure services where applicable
|
||||
|
||||
Always check the .NET samples repository for the most current implementation patterns and ensure compatibility with the latest version of the semantic-kernel .NET package.
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: 'Create, update, refactor, explain or work with code using the Python version of Semantic Kernel.'
|
||||
name: 'Semantic Kernel Python'
|
||||
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
|
||||
|
||||
You are in Semantic Kernel Python mode. Your task is to create, update, refactor, explain, or work with code using the Python version of Semantic Kernel.
|
||||
|
||||
Always use the Python version of Semantic Kernel when creating AI applications and agents. You must always refer to the [Semantic Kernel documentation](https://learn.microsoft.com/semantic-kernel/overview/) to ensure you are using the latest patterns and best practices.
|
||||
|
||||
For Python-specific implementation details, refer to:
|
||||
|
||||
- [Semantic Kernel Python repository](https://github.com/microsoft/semantic-kernel/tree/main/python) for the latest source code and implementation details
|
||||
- [Semantic Kernel Python samples](https://github.com/microsoft/semantic-kernel/tree/main/python/samples) for comprehensive examples and usage patterns
|
||||
|
||||
You can use the #microsoft.docs.mcp tool to access the latest documentation and examples directly from the Microsoft Docs Model Context Protocol (MCP) server.
|
||||
|
||||
When working with Semantic Kernel for Python, you should:
|
||||
|
||||
- Use the latest async patterns for all kernel operations
|
||||
- Follow the official plugin and function calling patterns
|
||||
- Implement proper error handling and logging
|
||||
- Use type hints and follow Python best practices
|
||||
- Leverage the built-in connectors for Azure AI Foundry, Azure OpenAI, OpenAI, and other AI services, but prioritize Azure AI Foundry services for new projects
|
||||
- Use the kernel's built-in memory and context management features
|
||||
- Use DefaultAzureCredential for authentication with Azure services where applicable
|
||||
|
||||
Always check the Python samples repository for the most current implementation patterns and ensure compatibility with the latest version of the semantic-kernel Python package.
|
||||
@@ -47,7 +47,6 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agents) for guidelines on how to
|
||||
| [Bicep Planning](../agents/bicep-plan.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fbicep-plan.agent.md)<br />[](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%2Fbicep-plan.agent.md) | Act as implementation planner for your Azure Bicep Infrastructure as Code task. | |
|
||||
| [Bicep Specialist](../agents/bicep-implement.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fbicep-implement.agent.md)<br />[](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%2Fbicep-implement.agent.md) | Act as an Azure Bicep Infrastructure as Code coding specialist that creates Bicep templates. | |
|
||||
| [Blueprint Mode](../agents/blueprint-mode.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fblueprint-mode.agent.md)<br />[](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%2Fblueprint-mode.agent.md) | Executes structured workflows (Debug, Express, Main, Loop) with strict correctness and maintainability. Enforces an improved tool usage policy, never assumes facts, prioritizes reproducible solutions, self-correction, and edge-case handling. | |
|
||||
| [Blueprint Mode Codex](../agents/blueprint-mode-codex.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fblueprint-mode-codex.agent.md)<br />[](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%2Fblueprint-mode-codex.agent.md) | Executes structured workflows with strict correctness and maintainability. Enforces a minimal tool usage policy, never assumes facts, prioritizes reproducible solutions, self-correction, and edge-case handling. | |
|
||||
| [C# Expert](../agents/CSharpExpert.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2FCSharpExpert.agent.md)<br />[](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%2FCSharpExpert.agent.md) | An agent designed to assist with software development tasks for .NET projects. | |
|
||||
| [C# MCP Server Expert](../agents/csharp-mcp-expert.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fcsharp-mcp-expert.agent.md)<br />[](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%2Fcsharp-mcp-expert.agent.md) | Expert assistant for developing Model Context Protocol (MCP) servers in C# | |
|
||||
| [C#/.NET Janitor](../agents/csharp-dotnet-janitor.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fcsharp-dotnet-janitor.agent.md)<br />[](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%2Fcsharp-dotnet-janitor.agent.md) | Perform janitorial tasks on C#/.NET code including cleanup, modernization, and tech debt remediation. | |
|
||||
@@ -108,8 +107,6 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agents) for guidelines on how to
|
||||
| [MCP M365 Agent Expert](../agents/mcp-m365-agent-expert.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmcp-m365-agent-expert.agent.md)<br />[](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%2Fmcp-m365-agent-expert.agent.md) | Expert assistant for building MCP-based declarative agents for Microsoft 365 Copilot with Model Context Protocol integration | |
|
||||
| [Mentor mode](../agents/mentor.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmentor.agent.md)<br />[](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%2Fmentor.agent.md) | Help mentor the engineer by providing guidance and support. | |
|
||||
| [Meta Agentic Project Scaffold](../agents/meta-agentic-project-scaffold.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmeta-agentic-project-scaffold.agent.md)<br />[](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%2Fmeta-agentic-project-scaffold.agent.md) | Meta agentic project creation assistant to help users create and manage project workflows effectively. | |
|
||||
| [Microsoft Agent Framework .NET](../agents/microsoft-agent-framework-dotnet.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmicrosoft-agent-framework-dotnet.agent.md)<br />[](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%2Fmicrosoft-agent-framework-dotnet.agent.md) | Create, update, refactor, explain or work with code using the .NET version of Microsoft Agent Framework. | |
|
||||
| [Microsoft Agent Framework Python](../agents/microsoft-agent-framework-python.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmicrosoft-agent-framework-python.agent.md)<br />[](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%2Fmicrosoft-agent-framework-python.agent.md) | Create, update, refactor, explain or work with code using the Python version of Microsoft Agent Framework. | |
|
||||
| [Microsoft Learn Contributor](../agents/microsoft_learn_contributor.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmicrosoft_learn_contributor.agent.md)<br />[](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%2Fmicrosoft_learn_contributor.agent.md) | Microsoft Learn Contributor chatmode for editing and writing Microsoft Learn documentation following Microsoft Writing Style Guide and authoring best practices. | |
|
||||
| [Microsoft Study and Learn](../agents/microsoft-study-mode.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmicrosoft-study-mode.agent.md)<br />[](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%2Fmicrosoft-study-mode.agent.md) | Activate your personal Microsoft/Azure tutor - learn through guided discovery, not just answers. | |
|
||||
| [Modernization Agent](../agents/modernization.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmodernization.agent.md)<br />[](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%2Fmodernization.agent.md) | Human-in-the-loop modernization assistant for analyzing, documenting, and planning complete project modernization with architectural recommendations. | |
|
||||
@@ -168,8 +165,6 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agents) for guidelines on how to
|
||||
| [SE: Tech Writer](../agents/se-technical-writer.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fse-technical-writer.agent.md)<br />[](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%2Fse-technical-writer.agent.md) | Technical writing specialist for creating developer documentation, technical blogs, tutorials, and educational content | |
|
||||
| [SE: UX Designer](../agents/se-ux-ui-designer.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fse-ux-ui-designer.agent.md)<br />[](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%2Fse-ux-ui-designer.agent.md) | Jobs-to-be-Done analysis, user journey mapping, and UX research artifacts for Figma and design workflows | |
|
||||
| [Search & AI Optimization Expert](../agents/search-ai-optimization-expert.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsearch-ai-optimization-expert.agent.md)<br />[](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%2Fsearch-ai-optimization-expert.agent.md) | Expert guidance for modern search optimization: SEO, Answer Engine Optimization (AEO), and Generative Engine Optimization (GEO) with AI-ready content strategies | |
|
||||
| [Semantic Kernel .NET](../agents/semantic-kernel-dotnet.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsemantic-kernel-dotnet.agent.md)<br />[](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%2Fsemantic-kernel-dotnet.agent.md) | Create, update, refactor, explain or work with code using the .NET version of Semantic Kernel. | |
|
||||
| [Semantic Kernel Python](../agents/semantic-kernel-python.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsemantic-kernel-python.agent.md)<br />[](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%2Fsemantic-kernel-python.agent.md) | Create, update, refactor, explain or work with code using the Python version of Semantic Kernel. | |
|
||||
| [Senior Cloud Architect](../agents/arch.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Farch.agent.md)<br />[](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%2Farch.agent.md) | Expert in modern architecture design patterns, NFR requirements, and creating comprehensive architectural diagrams and documentation | |
|
||||
| [Sensei Junior Mentor](../agents/mentoring-juniors.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fmentoring-juniors.agent.md)<br />[](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%2Fmentoring-juniors.agent.md) | Socratic mentor for junior developers. Guides through questions, never gives direct answers. Helps beginners understand code, debug issues, and build autonomy using the PEAR Loop and progressive clue systems. | |
|
||||
| [Shopify Expert](../agents/shopify-expert.agent.md)<br />[](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fshopify-expert.agent.md)<br />[](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%2Fshopify-expert.agent.md) | Expert Shopify development assistant specializing in theme development, Liquid templating, app development, and Shopify APIs | |
|
||||
|
||||
@@ -79,7 +79,6 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
|
||||
| [create-github-pull-request-from-specification](../skills/create-github-pull-request-from-specification/SKILL.md) | Create GitHub Pull Request for feature request from specification file using pull_request_template.md template. | None |
|
||||
| [create-implementation-plan](../skills/create-implementation-plan/SKILL.md) | Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | None |
|
||||
| [create-llms](../skills/create-llms/SKILL.md) | Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/ | None |
|
||||
| [create-oo-component-documentation](../skills/create-oo-component-documentation/SKILL.md) | Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards. | None |
|
||||
| [create-readme](../skills/create-readme/SKILL.md) | Create a README.md file for the project | None |
|
||||
| [create-specification](../skills/create-specification/SKILL.md) | Create a new specification file for the solution, optimized for Generative AI consumption. | None |
|
||||
| [create-spring-boot-java-project](../skills/create-spring-boot-java-project/SKILL.md) | Create Spring Boot Java Project Skeleton | None |
|
||||
@@ -158,6 +157,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
|
||||
| [meeting-minutes](../skills/meeting-minutes/SKILL.md) | Generate concise, actionable meeting minutes for internal meetings. Includes metadata, attendees, agenda, decisions, action items (owner + due date), and follow-up steps. | None |
|
||||
| [memory-merger](../skills/memory-merger/SKILL.md) | Merges mature lessons from a domain memory file into its instruction file. Syntax: `/memory-merger >domain [scope]` where scope is `global` (default), `user`, `workspace`, or `ws`. | None |
|
||||
| [mentoring-juniors](../skills/mentoring-juniors/SKILL.md) | Socratic mentoring for junior developers and AI newcomers. Guides through questions, never answers. Triggers: "help me understand", "explain this code", "I'm stuck", "Im stuck", "I'm confused", "Im confused", "I don't understand", "I dont understand", "can you teach me", "teach me", "mentor me", "guide me", "what does this error mean", "why doesn't this work", "why does not this work", "I'm a beginner", "Im a beginner", "I'm learning", "Im learning", "I'm new to this", "Im new to this", "walk me through", "how does this work", "what's wrong with my code", "what's wrong", "can you break this down", "ELI5", "step by step", "where do I start", "what am I missing", "newbie here", "junior dev", "first time using", "how do I", "what is", "is this right", "not sure", "need help", "struggling", "show me", "help me debug", "best practice", "too complex", "overwhelmed", "lost", "debug this", "/socratic", "/hint", "/concept", "/pseudocode". Progressive clue systems, teaching techniques, and success metrics. | None |
|
||||
| [microsoft-agent-framework](../skills/microsoft-agent-framework/SKILL.md) | Create, update, refactor, explain, or review Microsoft Agent Framework solutions using shared guidance plus language-specific references for .NET and Python. | `references/dotnet.md`<br />`references/python.md` |
|
||||
| [microsoft-code-reference](../skills/microsoft-code-reference/SKILL.md) | Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs. | None |
|
||||
| [microsoft-docs](../skills/microsoft-docs/SKILL.md) | Query official Microsoft documentation to find concepts, tutorials, and code examples across Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, and more. Uses Microsoft Learn MCP as the default, with Context7 and Aspire MCP for content that lives outside learn.microsoft.com. | None |
|
||||
| [microsoft-skill-creator](../skills/microsoft-skill-creator/SKILL.md) | Create agent skills for Microsoft technologies using Learn MCP tools. Use when users want to create a skill that teaches agents about any Microsoft technology, library, framework, or service (Azure, .NET, M365, VS Code, Bicep, etc.). Investigates topics deeply, then generates a hybrid skill storing essential knowledge locally while enabling dynamic deeper investigation. | `references/skill-templates.md` |
|
||||
@@ -173,6 +173,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
|
||||
| [next-intl-add-language](../skills/next-intl-add-language/SKILL.md) | Add new language to a Next.js + next-intl application | None |
|
||||
| [noob-mode](../skills/noob-mode/SKILL.md) | Plain-English translation layer for non-technical Copilot CLI users. Translates every approval prompt, error message, and technical output into clear, jargon-free English with color-coded risk indicators. | `references/examples.md`<br />`references/glossary.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 |
|
||||
| [oo-component-documentation](../skills/oo-component-documentation/SKILL.md) | Create or update standardized object-oriented component documentation using a shared template plus mode-specific guidance for new and existing docs. | `assets/documentation-template.md`<br />`references/create-mode.md`<br />`references/update-mode.md` |
|
||||
| [openapi-to-application-code](../skills/openapi-to-application-code/SKILL.md) | Generate a complete, production-ready application from an OpenAPI specification | None |
|
||||
| [pdftk-server](../skills/pdftk-server/SKILL.md) | Skill for using the command-line tool pdftk (PDFtk Server) for working with PDF files. Use when asked to merge PDFs, split PDFs, rotate pages, encrypt or decrypt PDFs, fill PDF forms, apply watermarks, stamp overlays, extract metadata, burst documents into pages, repair corrupted PDFs, attach or extract files, or perform any PDF manipulation from the command line. | `references/download.md`<br />`references/pdftk-cli-examples.md`<br />`references/pdftk-man-page.md`<br />`references/pdftk-server-license.md`<br />`references/third-party-materials.md` |
|
||||
| [penpot-uiux-design](../skills/penpot-uiux-design/SKILL.md) | Comprehensive guide for creating professional UI/UX designs in Penpot using MCP tools. Use this skill when: (1) Creating new UI/UX designs for web, mobile, or desktop applications, (2) Building design systems with components and tokens, (3) Designing dashboards, forms, navigation, or landing pages, (4) Applying accessibility standards and best practices, (5) Following platform guidelines (iOS, Android, Material Design), (6) Reviewing or improving existing Penpot designs for usability. Triggers: "design a UI", "create interface", "build layout", "design dashboard", "create form", "design landing page", "make it accessible", "design system", "component library". | `references/accessibility.md`<br />`references/component-patterns.md`<br />`references/platform-guidelines.md`<br />`references/setup-troubleshooting.md` |
|
||||
@@ -212,6 +213,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
|
||||
| [sandbox-npm-install](../skills/sandbox-npm-install/SKILL.md) | Install npm packages in a Docker sandbox environment. Use this skill whenever you need to install, reinstall, or update node_modules inside a container where the workspace is mounted via virtiofs. Native binaries (esbuild, lightningcss, rollup) crash on virtiofs, so packages must be installed on the local ext4 filesystem and symlinked back. | `scripts/install.sh` |
|
||||
| [scaffolding-oracle-to-postgres-migration-test-project](../skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md) | Scaffolds an xUnit integration test project for validating Oracle-to-PostgreSQL database migration behavior in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use when setting up test infrastructure before writing migration integration tests, or when a test project is needed for Oracle-to-PostgreSQL validation. | None |
|
||||
| [scoutqa-test](../skills/scoutqa-test/SKILL.md) | This skill should be used when the user asks to "test this website", "run exploratory testing", "check for accessibility issues", "verify the login flow works", "find bugs on this page", or requests automated QA testing. Triggers on web application testing scenarios including smoke tests, accessibility audits, e-commerce flows, and user flow validation using ScoutQA CLI. Use this skill proactively after implementing web application features to verify they work correctly. | None |
|
||||
| [semantic-kernel](../skills/semantic-kernel/SKILL.md) | Create, update, refactor, explain, or review Semantic Kernel solutions using shared guidance plus language-specific references for .NET and Python. | `references/dotnet.md`<br />`references/python.md` |
|
||||
| [shuffle-json-data](../skills/shuffle-json-data/SKILL.md) | Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries. | None |
|
||||
| [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None |
|
||||
| [sponsor-finder](../skills/sponsor-finder/SKILL.md) | Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke with /sponsor followed by a GitHub owner/repo (e.g. "/sponsor expressjs/express"). | None |
|
||||
@@ -236,7 +238,6 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
|
||||
| [update-implementation-plan](../skills/update-implementation-plan/SKILL.md) | 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. | None |
|
||||
| [update-llms](../skills/update-llms/SKILL.md) | 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/ | None |
|
||||
| [update-markdown-file-index](../skills/update-markdown-file-index/SKILL.md) | Update a markdown file section with an index/table of files from a specified folder. | None |
|
||||
| [update-oo-component-documentation](../skills/update-oo-component-documentation/SKILL.md) | Update existing object-oriented component documentation following industry best practices and architectural documentation standards. | None |
|
||||
| [update-specification](../skills/update-specification/SKILL.md) | Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code. | 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 |
|
||||
|
||||
@@ -1,193 +0,0 @@
|
||||
---
|
||||
name: create-oo-component-documentation
|
||||
description: 'Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards.'
|
||||
---
|
||||
|
||||
# Generate Standard OO Component Documentation
|
||||
|
||||
Create comprehensive documentation for the object-oriented component(s) at: `${input:ComponentPath}`.
|
||||
|
||||
Analyze the component by examining code in the provided path. If folder, analyze all source files. If single file, treat as main component and analyze related files in same directory.
|
||||
|
||||
## Documentation Standards
|
||||
|
||||
- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
|
||||
- DOC-002: Align with Arc42 software architecture documentation template
|
||||
- DOC-003: Comply with IEEE 1016 Software Design Description standard
|
||||
- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
|
||||
- DOC-005: Target developers and maintainers as primary audience
|
||||
|
||||
## Analysis Instructions
|
||||
|
||||
- ANA-001: Determine path type (folder vs single file) and identify primary component
|
||||
- ANA-002: Examine source code files for class structures and inheritance
|
||||
- ANA-003: Identify design patterns and architectural decisions
|
||||
- ANA-004: Document public APIs, interfaces, and dependencies
|
||||
- ANA-005: Recognize creational/structural/behavioral patterns
|
||||
- ANA-006: Document method parameters, return values, exceptions
|
||||
- ANA-007: Assess performance, security, reliability, maintainability
|
||||
- ANA-008: Infer integration patterns and data flow
|
||||
|
||||
## Language-Specific Optimizations
|
||||
|
||||
- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal
|
||||
- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging
|
||||
- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm
|
||||
- LNG-004: **Python** - packages, virtual environments, type hints, testing
|
||||
|
||||
## Error Handling
|
||||
|
||||
- ERR-001: Path doesn't exist - provide correct format guidance
|
||||
- ERR-002: No source files found - suggest alternative locations
|
||||
- ERR-003: Unclear structure - document findings and request clarification
|
||||
- ERR-004: Non-standard patterns - document custom approaches
|
||||
- ERR-005: Insufficient code - focus on available information, highlight gaps
|
||||
|
||||
## Output Format
|
||||
|
||||
Generate well-structured Markdown with clear heading hierarchy, code blocks, tables, bullet points, and proper formatting for readability and maintainability.
|
||||
|
||||
## File Location
|
||||
|
||||
The documentation should be saved in the `/docs/components/` directory and named according to the convention: `[component-name]-documentation.md`.
|
||||
|
||||
## Required Documentation Structure
|
||||
|
||||
The documentation file must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following:
|
||||
|
||||
```md
|
||||
---
|
||||
title: [Component Name] - Technical Documentation
|
||||
component_path: `${input:ComponentPath}`
|
||||
version: [Optional: e.g., 1.0, Date]
|
||||
date_created: [YYYY-MM-DD]
|
||||
last_updated: [Optional: YYYY-MM-DD]
|
||||
owner: [Optional: Team/Individual responsible for this component]
|
||||
tags: [Optional: List of relevant tags or categories, e.g., `component`,`service`,`tool`,`infrastructure`,`documentation`,`architecture` etc]
|
||||
---
|
||||
|
||||
# [Component Name] Documentation
|
||||
|
||||
[A short concise introduction to the component and its purpose within the system.]
|
||||
|
||||
## 1. Component Overview
|
||||
|
||||
### Purpose/Responsibility
|
||||
- OVR-001: State component's primary responsibility
|
||||
- OVR-002: Define scope (included/excluded functionality)
|
||||
- OVR-003: Describe system context and relationships
|
||||
|
||||
## 2. Architecture Section
|
||||
|
||||
- ARC-001: Document design patterns used (Repository, Factory, Observer, etc.)
|
||||
- ARC-002: List internal and external dependencies with purposes
|
||||
- ARC-003: Document component interactions and relationships
|
||||
- ARC-004: Include visual diagrams (UML class, sequence, component)
|
||||
- ARC-005: Create mermaid diagram showing component structure, relationships, and dependencies
|
||||
|
||||
### Component Structure and Dependencies Diagram
|
||||
|
||||
Include a comprehensive mermaid diagram that shows:
|
||||
- **Component structure** - Main classes, interfaces, and their relationships
|
||||
- **Internal dependencies** - How components interact within the system
|
||||
- **External dependencies** - External libraries, services, databases, APIs
|
||||
- **Data flow** - Direction of dependencies and interactions
|
||||
- **Inheritance/composition** - Class hierarchies and composition relationships
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "Component System"
|
||||
A[Main Component] --> B[Internal Service]
|
||||
A --> C[Internal Repository]
|
||||
B --> D[Business Logic]
|
||||
C --> E[Data Access Layer]
|
||||
end
|
||||
|
||||
subgraph "External Dependencies"
|
||||
F[External API]
|
||||
G[Database]
|
||||
H[Third-party Library]
|
||||
I[Configuration Service]
|
||||
end
|
||||
|
||||
A --> F
|
||||
E --> G
|
||||
B --> H
|
||||
A --> I
|
||||
|
||||
classDiagram
|
||||
class MainComponent {
|
||||
+property: Type
|
||||
+method(): ReturnType
|
||||
+asyncMethod(): Promise~Type~
|
||||
}
|
||||
class InternalService {
|
||||
+businessOperation(): Result
|
||||
}
|
||||
class ExternalAPI {
|
||||
<<external>>
|
||||
+apiCall(): Data
|
||||
}
|
||||
|
||||
MainComponent --> InternalService
|
||||
MainComponent --> ExternalAPI
|
||||
```
|
||||
|
||||
## 3. Interface Documentation
|
||||
|
||||
- INT-001: Document all public interfaces and usage patterns
|
||||
- INT-002: Create method/property reference table
|
||||
- INT-003: Document events/callbacks/notification mechanisms
|
||||
|
||||
| Method/Property | Purpose | Parameters | Return Type | Usage Notes |
|
||||
|-----------------|---------|------------|-------------|-------------|
|
||||
| [Name] | [Purpose] | [Parameters] | [Type] | [Notes] |
|
||||
|
||||
## 4. Implementation Details
|
||||
|
||||
- IMP-001: Document main implementation classes and responsibilities
|
||||
- IMP-002: Describe configuration requirements and initialization
|
||||
- IMP-003: Document key algorithms and business logic
|
||||
- IMP-004: Note performance characteristics and bottlenecks
|
||||
|
||||
## 5. Usage Examples
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```csharp
|
||||
// Basic usage example
|
||||
var component = new ComponentName();
|
||||
component.DoSomething();
|
||||
```
|
||||
|
||||
### Advanced Usage
|
||||
|
||||
```csharp
|
||||
// Advanced configuration patterns
|
||||
var options = new ComponentOptions();
|
||||
var component = ComponentFactory.Create(options);
|
||||
await component.ProcessAsync(data);
|
||||
```
|
||||
|
||||
- USE-001: Provide basic usage examples
|
||||
- USE-002: Show advanced configuration patterns
|
||||
- USE-003: Document best practices and recommended patterns
|
||||
|
||||
## 6. Quality Attributes
|
||||
|
||||
- QUA-001: Security (authentication, authorization, data protection)
|
||||
- QUA-002: Performance (characteristics, scalability, resource usage)
|
||||
- QUA-003: Reliability (error handling, fault tolerance, recovery)
|
||||
- QUA-004: Maintainability (standards, testing, documentation)
|
||||
- QUA-005: Extensibility (extension points, customization options)
|
||||
|
||||
## 7. Reference Information
|
||||
|
||||
- REF-001: List dependencies with versions and purposes
|
||||
- REF-002: Complete configuration options reference
|
||||
- REF-003: Testing guidelines and mock setup
|
||||
- REF-004: Troubleshooting (common issues, error messages)
|
||||
- REF-005: Related documentation links
|
||||
- REF-006: Change history and migration notes
|
||||
|
||||
```
|
||||
65
skills/microsoft-agent-framework/SKILL.md
Normal file
65
skills/microsoft-agent-framework/SKILL.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
name: microsoft-agent-framework
|
||||
description: 'Create, update, refactor, explain, or review Microsoft Agent Framework solutions using shared guidance plus language-specific references for .NET and Python.'
|
||||
---
|
||||
|
||||
# Microsoft Agent Framework
|
||||
|
||||
Use this skill when working with applications, agents, workflows, or migrations built on Microsoft Agent Framework.
|
||||
|
||||
Microsoft Agent Framework is the unified successor to Semantic Kernel and AutoGen, combining their strengths with new capabilities. Because it is still in public preview and changes quickly, always ground implementation advice in the latest official documentation and samples rather than relying on stale knowledge.
|
||||
|
||||
## Determine the target language first
|
||||
|
||||
Choose the language workflow before making recommendations or code changes:
|
||||
|
||||
1. Use the **.NET** workflow when the repository contains `.cs`, `.csproj`, `.sln`, `.slnx`, or other .NET project files, or when the user explicitly asks for C# or .NET guidance. Follow [references/dotnet.md](references/dotnet.md).
|
||||
2. Use the **Python** workflow when the repository contains `.py`, `pyproject.toml`, `requirements.txt`, or the user explicitly asks for Python guidance. Follow [references/python.md](references/python.md).
|
||||
3. If the repository contains both ecosystems, match the language used by the files being edited or the user's stated target.
|
||||
4. If the language is ambiguous, inspect the current workspace first and then choose the closest language-specific reference.
|
||||
|
||||
## Always consult live documentation
|
||||
|
||||
- Read the Microsoft Agent Framework overview first: <https://learn.microsoft.com/agent-framework/overview/agent-framework-overview>
|
||||
- Prefer official docs and samples for the current API surface.
|
||||
- Use the Microsoft Docs MCP tooling when available to fetch up-to-date framework guidance and examples.
|
||||
- Treat older Semantic Kernel or AutoGen patterns as migration inputs, not as the default implementation model.
|
||||
|
||||
## Shared guidance
|
||||
|
||||
When working with Microsoft Agent Framework in any language:
|
||||
|
||||
- Use async patterns for agent and workflow operations.
|
||||
- Implement explicit error handling and logging.
|
||||
- Prefer strong typing, clear interfaces, and maintainable composition patterns.
|
||||
- Use `DefaultAzureCredential` when Azure authentication is appropriate.
|
||||
- Use agents for autonomous decision-making, ad hoc planning, conversation flows, tool usage, and MCP server interactions.
|
||||
- Use workflows for multi-step orchestration, predefined execution graphs, long-running tasks, and human-in-the-loop scenarios.
|
||||
- Support model providers such as Azure AI Foundry, Azure OpenAI, OpenAI, and others, but prefer Azure AI Foundry services for new projects when that matches user needs.
|
||||
- Use thread-based or equivalent state handling, context providers, middleware, checkpointing, routing, and orchestration patterns when they fit the problem.
|
||||
|
||||
## Migration guidance
|
||||
|
||||
- If migrating from Semantic Kernel, use the official migration guide: <https://learn.microsoft.com/agent-framework/migration-guide/from-semantic-kernel/>
|
||||
- If migrating from AutoGen, use the official migration guide: <https://learn.microsoft.com/agent-framework/migration-guide/from-autogen/>
|
||||
- Preserve behavior first, then adopt native Agent Framework patterns incrementally.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Determine the target language and read the matching reference file.
|
||||
2. Fetch the latest official docs and samples before making implementation choices.
|
||||
3. Apply the shared agent and workflow guidance from this skill.
|
||||
4. Use the language-specific package, repository, sample paths, and coding practices from the chosen reference.
|
||||
5. When examples in the repo differ from current docs, explain the difference and follow the current supported pattern.
|
||||
|
||||
## References
|
||||
|
||||
- [.NET reference](references/dotnet.md)
|
||||
- [Python reference](references/python.md)
|
||||
|
||||
## Completion criteria
|
||||
|
||||
- Recommendations match the target language.
|
||||
- Package names, repository paths, and sample locations match the selected ecosystem.
|
||||
- Guidance reflects current Microsoft Agent Framework documentation rather than legacy assumptions.
|
||||
- Migration advice calls out Semantic Kernel and AutoGen only when relevant.
|
||||
24
skills/microsoft-agent-framework/references/dotnet.md
Normal file
24
skills/microsoft-agent-framework/references/dotnet.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Microsoft Agent Framework for .NET
|
||||
|
||||
Use this reference when the target project is written in C# or another .NET language.
|
||||
|
||||
## Authoritative sources
|
||||
|
||||
- Repository: <https://github.com/microsoft/agent-framework/tree/main/dotnet>
|
||||
- Samples: <https://github.com/microsoft/agent-framework/tree/main/dotnet/samples>
|
||||
|
||||
## Installation
|
||||
|
||||
For new projects, install the package with:
|
||||
|
||||
```bash
|
||||
dotnet add package Microsoft.Agents.AI
|
||||
```
|
||||
|
||||
## .NET-specific guidance
|
||||
|
||||
- Use `async`/`await` patterns consistently for agent operations and workflow execution.
|
||||
- Follow .NET type-safety and dependency-injection conventions.
|
||||
- Keep service registration, configuration, and authentication aligned with standard .NET hosting patterns.
|
||||
- Use middleware, context providers, and orchestration components idiomatically within the .NET application model.
|
||||
- Check the latest .NET samples before introducing new APIs or workflow patterns.
|
||||
24
skills/microsoft-agent-framework/references/python.md
Normal file
24
skills/microsoft-agent-framework/references/python.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Microsoft Agent Framework for Python
|
||||
|
||||
Use this reference when the target project is written in Python.
|
||||
|
||||
## Authoritative sources
|
||||
|
||||
- Repository: <https://github.com/microsoft/agent-framework/tree/main/python>
|
||||
- Samples: <https://github.com/microsoft/agent-framework/tree/main/python/samples>
|
||||
|
||||
## Installation
|
||||
|
||||
For new projects, install the package with:
|
||||
|
||||
```bash
|
||||
pip install agent-framework
|
||||
```
|
||||
|
||||
## Python-specific guidance
|
||||
|
||||
- Use modern async patterns throughout agent and workflow operations.
|
||||
- Add type hints and keep APIs explicit even in dynamic code.
|
||||
- Follow standard Python packaging and environment practices for dependencies and tooling.
|
||||
- Use middleware, context providers, and orchestration patterns in ways that fit the Python application structure.
|
||||
- Check the latest Python samples before introducing new APIs or workflow patterns.
|
||||
74
skills/oo-component-documentation/SKILL.md
Normal file
74
skills/oo-component-documentation/SKILL.md
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
name: oo-component-documentation
|
||||
description: 'Create or update standardized object-oriented component documentation using a shared template plus mode-specific guidance for new and existing docs.'
|
||||
---
|
||||
|
||||
# OO Component Documentation
|
||||
|
||||
Create new documentation for an object-oriented component or update an existing component documentation file by analyzing the current implementation.
|
||||
|
||||
## Determine the mode first
|
||||
|
||||
Choose the workflow before writing anything:
|
||||
|
||||
1. Use **update mode** when the user provides an existing documentation Markdown file, points to a docs path, or explicitly asks to refresh or revise existing documentation. Follow [references/update-mode.md](references/update-mode.md).
|
||||
2. Use **create mode** when the user provides a source file or folder, points to a component path, or asks to generate documentation from code. Follow [references/create-mode.md](references/create-mode.md).
|
||||
3. If both code and an existing documentation file are provided, treat the existing documentation file as the output target and use the current source code as the source of truth.
|
||||
4. If the request is ambiguous, infer the mode from the path type whenever possible: existing Markdown documentation file means update mode; source/component path means create mode.
|
||||
|
||||
## Documentation standards
|
||||
|
||||
- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
|
||||
- DOC-002: Align with Arc42 software architecture documentation template
|
||||
- DOC-003: Comply with IEEE 1016 Software Design Description standard
|
||||
- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
|
||||
- DOC-005: Target developers and maintainers as the primary audience
|
||||
|
||||
## Shared analysis guidance
|
||||
|
||||
- ANA-001: Determine the primary component boundary and whether the input represents a folder, file, or existing documentation target
|
||||
- ANA-002: Examine source code files for class structures, inheritance, composition, and interfaces
|
||||
- ANA-003: Identify design patterns, architectural decisions, and integration points
|
||||
- ANA-004: Document or refresh public APIs, interfaces, dependencies, and usage patterns
|
||||
- ANA-005: Capture method parameters, return values, asynchronous behavior, exceptions, and lifecycle concerns
|
||||
- ANA-006: Assess performance, security, reliability, maintainability, and extensibility characteristics
|
||||
- ANA-007: Infer data flow, collaboration patterns, and relationships with surrounding components
|
||||
- ANA-008: Keep the documentation grounded in the implementation; avoid inventing behavior that is not supported by the code
|
||||
|
||||
## Shared output requirements
|
||||
|
||||
- Use [assets/documentation-template.md](assets/documentation-template.md) as the canonical section checklist and baseline structure.
|
||||
- Keep the output in Markdown with a clear heading hierarchy, tables where useful, code blocks for examples, and Mermaid diagrams when architecture relationships need to be visualized.
|
||||
- Make examples and interface descriptions match the current implementation instead of generic placeholders.
|
||||
- Include only information that can be supported by the code, project structure, configuration, or clearly stated assumptions.
|
||||
- When source coverage is incomplete, document the limitation explicitly instead of guessing.
|
||||
|
||||
## Language-specific optimizations
|
||||
|
||||
- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal, options patterns
|
||||
- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging, dependency injection
|
||||
- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm dependencies, runtime boundaries
|
||||
- LNG-004: **Python** - packages, virtual environments, type hints, testing, dependency management
|
||||
|
||||
## Error handling
|
||||
|
||||
- ERR-001: If the path does not exist, explain what path was expected and whether the skill needs a source path or an existing documentation file
|
||||
- ERR-002: If no relevant source files are found, document the gap and suggest the likely locations to inspect next
|
||||
- ERR-003: If the documentation target cannot be inferred from the request, state the ambiguity and ask for the missing path only when inference is not possible
|
||||
- ERR-004: If the code uses non-standard architectural patterns, document the custom approach rather than forcing it into a generic pattern
|
||||
- ERR-005: If source access is incomplete, continue with available evidence and clearly call out any unsupported sections
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Determine whether the task is create mode or update mode.
|
||||
2. Inspect the component implementation and any related files needed to understand its public surface area and internal structure.
|
||||
3. Use [assets/documentation-template.md](assets/documentation-template.md) as the shared documentation scaffold.
|
||||
4. Apply the mode-specific rules in [references/create-mode.md](references/create-mode.md) or [references/update-mode.md](references/update-mode.md).
|
||||
5. Produce or revise the documentation so that diagrams, examples, interfaces, dependencies, and quality attributes reflect the current implementation.
|
||||
|
||||
## Completion criteria
|
||||
|
||||
- The documentation clearly identifies the component purpose, architecture, interfaces, implementation details, usage patterns, quality attributes, and references.
|
||||
- Front matter fields are accurate for the selected mode.
|
||||
- Examples and diagrams match the implementation.
|
||||
- Any unknowns, gaps, or assumptions are explicitly called out.
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: [Component Name] - Technical Documentation
|
||||
component_path: [Source component path]
|
||||
version: [Optional version]
|
||||
date_created: [YYYY-MM-DD]
|
||||
last_updated: [Optional YYYY-MM-DD]
|
||||
owner: [Optional team or individual]
|
||||
tags: [Optional list of relevant tags]
|
||||
---
|
||||
|
||||
# [Component Name] Documentation
|
||||
|
||||
[Concise introduction describing the component purpose and role in the system.]
|
||||
|
||||
## 1. Component Overview
|
||||
|
||||
### Purpose/Responsibility
|
||||
|
||||
- OVR-001: State the component's primary responsibility
|
||||
- OVR-002: Define scope, including included and excluded responsibilities
|
||||
- OVR-003: Describe system context and major relationships
|
||||
|
||||
## 2. Architecture Section
|
||||
|
||||
- ARC-001: Document design patterns used
|
||||
- ARC-002: List internal and external dependencies with their purpose
|
||||
- ARC-003: Describe component interactions and relationships
|
||||
- ARC-004: Include visual diagrams where they clarify structure or behavior
|
||||
- ARC-005: Provide a Mermaid diagram showing structure, relationships, and dependencies
|
||||
|
||||
### Component Structure and Dependencies Diagram
|
||||
|
||||
Show the current:
|
||||
|
||||
- Component structure
|
||||
- Internal dependencies
|
||||
- External dependencies
|
||||
- Data flow
|
||||
- Inheritance and composition relationships
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Primary Component] --> B[Collaborator]
|
||||
A --> C[Dependency]
|
||||
```
|
||||
|
||||
## 3. Interface Documentation
|
||||
|
||||
- INT-001: Document public interfaces and usage patterns
|
||||
- INT-002: Provide a method or property reference table
|
||||
- INT-003: Cover events, callbacks, or notification mechanisms when applicable
|
||||
|
||||
| Method/Property | Purpose | Parameters | Return Type | Usage Notes |
|
||||
|-----------------|---------|------------|-------------|-------------|
|
||||
| [Name] | [Purpose] | [Parameters] | [Type] | [Notes] |
|
||||
|
||||
## 4. Implementation Details
|
||||
|
||||
- IMP-001: Describe main implementation classes and responsibilities
|
||||
- IMP-002: Capture configuration requirements and initialization patterns
|
||||
- IMP-003: Summarize key algorithms or business logic
|
||||
- IMP-004: Note performance characteristics and bottlenecks
|
||||
|
||||
## 5. Usage Examples
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```text
|
||||
[Basic usage example aligned with the component language and API]
|
||||
```
|
||||
|
||||
### Advanced Usage
|
||||
|
||||
```text
|
||||
[Advanced configuration or orchestration example aligned with the current implementation]
|
||||
```
|
||||
|
||||
- USE-001: Provide basic usage examples
|
||||
- USE-002: Show advanced configuration patterns
|
||||
- USE-003: Document best practices and recommended patterns
|
||||
|
||||
## 6. Quality Attributes
|
||||
|
||||
- QUA-001: Security
|
||||
- QUA-002: Performance
|
||||
- QUA-003: Reliability
|
||||
- QUA-004: Maintainability
|
||||
- QUA-005: Extensibility
|
||||
|
||||
## 7. Reference Information
|
||||
|
||||
- REF-001: List dependencies with versions and purposes where available
|
||||
- REF-002: Document configuration options
|
||||
- REF-003: Provide testing guidance and mock setup notes
|
||||
- REF-004: Capture troubleshooting notes and common issues
|
||||
- REF-005: Link related documentation
|
||||
- REF-006: Add change history or migration notes when relevant
|
||||
32
skills/oo-component-documentation/references/create-mode.md
Normal file
32
skills/oo-component-documentation/references/create-mode.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Create mode
|
||||
|
||||
Use this workflow when the input is a component source path or the user asks to generate new documentation from code.
|
||||
|
||||
## Input handling
|
||||
|
||||
- Accept a single file or a folder path representing the component.
|
||||
- If the input is a folder, analyze the relevant source files in that folder and nearby supporting files.
|
||||
- If the input is a single file, treat it as the primary component entry point and inspect adjacent files as needed to understand collaborators and interfaces.
|
||||
|
||||
## Create-specific requirements
|
||||
|
||||
- Save the new documentation in `/docs/components/`.
|
||||
- Name the file `[component-name]-documentation.md`.
|
||||
- Set `component_path` to the source path provided by the user.
|
||||
- Set `date_created` to the current date.
|
||||
- Set `last_updated` only if the repository convention for the target area expects it at creation time.
|
||||
- Populate optional metadata such as `version`, `owner`, and `tags` only when they can be inferred reliably.
|
||||
|
||||
## Create-specific analysis focus
|
||||
|
||||
- Determine the primary component name and responsibilities from the code structure.
|
||||
- Identify the initial system context, scope boundaries, dependencies, design patterns, and collaboration model.
|
||||
- Build interface tables and usage examples from the actual public surface area.
|
||||
- Create a Mermaid diagram that introduces the component structure, dependencies, and data flow for a reader seeing the documentation for the first time.
|
||||
|
||||
## Create-specific output guidance
|
||||
|
||||
- Use the full section structure from `../assets/documentation-template.md`.
|
||||
- Write the introduction as a fresh overview of what the component does and why it exists.
|
||||
- Prefer complete sections over placeholders; if information is unavailable, mark the section with a short limitation note instead of leaving template text behind.
|
||||
- Include change history or migration notes only if there is evidence of prior versions or migration concerns in the code or repository history.
|
||||
32
skills/oo-component-documentation/references/update-mode.md
Normal file
32
skills/oo-component-documentation/references/update-mode.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Update mode
|
||||
|
||||
Use this workflow when the input is an existing documentation Markdown file or the user asks to refresh existing component documentation.
|
||||
|
||||
## Input handling
|
||||
|
||||
- Read the existing documentation first to understand the current structure, terminology, and any front matter metadata.
|
||||
- Extract the component source path from the `component_path` front matter when present.
|
||||
- If `component_path` is missing, infer the component path from the documentation content and surrounding repository structure.
|
||||
- Use the current implementation as the source of truth when the documentation and code disagree.
|
||||
|
||||
## Update-specific requirements
|
||||
|
||||
- Preserve the existing documentation file as the output target.
|
||||
- Preserve `date_created`.
|
||||
- Update `last_updated` to the current date.
|
||||
- Preserve version history and ownership metadata when still accurate; refresh them only when the code or repository evidence indicates they have changed.
|
||||
- Maintain the existing organization where it is still useful, but ensure the content remains consistent with the shared template expectations.
|
||||
|
||||
## Update-specific analysis focus
|
||||
|
||||
- Compare the existing documentation with the current code to identify stale APIs, outdated diagrams, renamed dependencies, and changed usage patterns.
|
||||
- Highlight breaking changes, deprecated features, or major architectural shifts when they are evident.
|
||||
- Refresh method tables, examples, diagrams, dependency lists, and quality attribute notes to match the implementation as it exists today.
|
||||
- Add missing sections only when the component has grown or the current documentation omits information now needed for maintainers.
|
||||
|
||||
## Update-specific output guidance
|
||||
|
||||
- Keep useful editorial choices from the existing document, but remove stale or misleading content.
|
||||
- Update examples so they compile conceptually against the current API shape.
|
||||
- Refresh Mermaid diagrams rather than replacing them with generic placeholders.
|
||||
- Add migration notes or change history when the update reveals important compatibility or behavior changes.
|
||||
56
skills/semantic-kernel/SKILL.md
Normal file
56
skills/semantic-kernel/SKILL.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
name: semantic-kernel
|
||||
description: 'Create, update, refactor, explain, or review Semantic Kernel solutions using shared guidance plus language-specific references for .NET and Python.'
|
||||
---
|
||||
|
||||
# Semantic Kernel
|
||||
|
||||
Use this skill when working with applications, plugins, function-calling flows, or AI integrations built on Semantic Kernel.
|
||||
|
||||
Always ground implementation advice in the latest Semantic Kernel documentation and samples rather than memory alone.
|
||||
|
||||
## Determine the target language first
|
||||
|
||||
Choose the language workflow before making recommendations or code changes:
|
||||
|
||||
1. Use the **.NET** workflow when the repository contains `.cs`, `.csproj`, `.sln`, or other .NET project files, or when the user explicitly asks for C# or .NET guidance. Follow [references/dotnet.md](references/dotnet.md).
|
||||
2. Use the **Python** workflow when the repository contains `.py`, `pyproject.toml`, `requirements.txt`, or the user explicitly asks for Python guidance. Follow [references/python.md](references/python.md).
|
||||
3. If the repository contains both ecosystems, match the language used by the files being edited or the user's stated target.
|
||||
4. If the language is ambiguous, inspect the current workspace first and then choose the closest language-specific reference.
|
||||
|
||||
## Always consult live documentation
|
||||
|
||||
- Read the Semantic Kernel overview first: <https://learn.microsoft.com/semantic-kernel/overview/>
|
||||
- Prefer official docs and samples for the current API surface.
|
||||
- Use the Microsoft Docs MCP tooling when available to fetch up-to-date framework guidance and examples.
|
||||
|
||||
## Shared guidance
|
||||
|
||||
When working with Semantic Kernel in any language:
|
||||
|
||||
- Use async patterns for kernel operations.
|
||||
- Follow official plugin and function-calling patterns.
|
||||
- Implement explicit error handling and logging.
|
||||
- Prefer strong typing, clear abstractions, and maintainable composition patterns.
|
||||
- Use built-in connectors for Azure AI Foundry, Azure OpenAI, OpenAI, and other AI services, while preferring Azure AI Foundry services for new projects when that fits the task.
|
||||
- Use the kernel's memory and context-management capabilities when they simplify the solution.
|
||||
- Use `DefaultAzureCredential` when Azure authentication is appropriate.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Determine the target language and read the matching reference file.
|
||||
2. Fetch the latest official docs and samples before making implementation choices.
|
||||
3. Apply the shared Semantic Kernel guidance from this skill.
|
||||
4. Use the language-specific package, repository, sample paths, and coding practices from the chosen reference.
|
||||
5. When examples in the repo differ from current docs, explain the difference and follow the current supported pattern.
|
||||
|
||||
## References
|
||||
|
||||
- [.NET reference](references/dotnet.md)
|
||||
- [Python reference](references/python.md)
|
||||
|
||||
## Completion criteria
|
||||
|
||||
- Recommendations match the target language.
|
||||
- Package names, repository paths, and sample locations match the selected ecosystem.
|
||||
- Guidance reflects current Semantic Kernel documentation rather than stale assumptions.
|
||||
15
skills/semantic-kernel/references/dotnet.md
Normal file
15
skills/semantic-kernel/references/dotnet.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Semantic Kernel for .NET
|
||||
|
||||
Use this reference when the target project is written in C# or another .NET language.
|
||||
|
||||
## Authoritative sources
|
||||
|
||||
- Repository: <https://github.com/microsoft/semantic-kernel/tree/main/dotnet>
|
||||
- Samples: <https://github.com/microsoft/semantic-kernel/tree/main/dotnet/samples>
|
||||
|
||||
## .NET-specific guidance
|
||||
|
||||
- Use `async`/`await` patterns consistently for kernel operations.
|
||||
- Follow .NET best practices with strong typing and explicit interfaces.
|
||||
- Keep service registration, configuration, and authentication aligned with standard .NET hosting patterns.
|
||||
- Check the latest .NET samples before introducing new APIs, plugins, or orchestration patterns.
|
||||
15
skills/semantic-kernel/references/python.md
Normal file
15
skills/semantic-kernel/references/python.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Semantic Kernel for Python
|
||||
|
||||
Use this reference when the target project is written in Python.
|
||||
|
||||
## Authoritative sources
|
||||
|
||||
- Repository: <https://github.com/microsoft/semantic-kernel/tree/main/python>
|
||||
- Samples: <https://github.com/microsoft/semantic-kernel/tree/main/python/samples>
|
||||
|
||||
## Python-specific guidance
|
||||
|
||||
- Use modern async patterns throughout kernel operations.
|
||||
- Add type hints and keep APIs explicit even in dynamic code.
|
||||
- Follow standard Python packaging and environment practices for dependencies and tooling.
|
||||
- Check the latest Python samples before introducing new APIs, plugins, or orchestration patterns.
|
||||
@@ -1,162 +0,0 @@
|
||||
---
|
||||
name: update-oo-component-documentation
|
||||
description: 'Update existing object-oriented component documentation following industry best practices and architectural documentation standards.'
|
||||
---
|
||||
|
||||
# Update Standard OO Component Documentation
|
||||
|
||||
Update the existing documentation file at: `${file}` by analyzing the corresponding component code.
|
||||
|
||||
Extract the component path from the existing documentation's front matter (`component_path` field) or infer it from the documentation content. Analyze the current component implementation and update the documentation accordingly.
|
||||
|
||||
**Documentation Standards:**
|
||||
|
||||
- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
|
||||
- DOC-002: Align with Arc42 software architecture documentation template
|
||||
- DOC-003: Comply with IEEE 1016 Software Design Description standard
|
||||
- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
|
||||
- DOC-005: Target developers and maintainers as primary audience
|
||||
|
||||
**Analysis Instructions:**
|
||||
|
||||
- ANA-001: Read existing documentation to understand component context and structure
|
||||
- ANA-002: Identify component path from front matter or content analysis
|
||||
- ANA-003: Examine current source code files for class structures and inheritance
|
||||
- ANA-004: Compare existing documentation with current implementation
|
||||
- ANA-005: Identify design patterns and architectural changes
|
||||
- ANA-006: Update public APIs, interfaces, and dependencies
|
||||
- ANA-007: Recognize new/changed creational/structural/behavioral patterns
|
||||
- ANA-008: Update method parameters, return values, exceptions
|
||||
- ANA-009: Reassess performance, security, reliability, maintainability
|
||||
- ANA-010: Update integration patterns and data flow
|
||||
|
||||
**Language-Specific Optimizations:**
|
||||
|
||||
- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal
|
||||
- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging
|
||||
- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm
|
||||
- LNG-004: **Python** - packages, virtual environments, type hints, testing
|
||||
|
||||
**Update Strategy:**
|
||||
|
||||
- UPD-001: Preserve existing documentation structure and format
|
||||
- UPD-002: Update `last_updated` field to current date
|
||||
- UPD-003: Maintain version history in front matter if present
|
||||
- UPD-004: Add new sections if component has significantly expanded
|
||||
- UPD-005: Mark deprecated features or breaking changes
|
||||
- UPD-006: Update examples to reflect current API
|
||||
- UPD-007: Refresh dependency lists and versions
|
||||
- UPD-008: Update mermaid diagrams to reflect current architecture
|
||||
|
||||
**Error Handling:**
|
||||
|
||||
- ERR-001: Documentation file doesn't exist - provide guidance on file location
|
||||
- ERR-002: Component path not found in documentation - request clarification
|
||||
- ERR-003: Source code has moved - suggest updated paths
|
||||
- ERR-004: Major architectural changes - highlight breaking changes
|
||||
- ERR-005: Insufficient access to source - document limitations
|
||||
|
||||
**Output Format:**
|
||||
|
||||
Update the existing Markdown file maintaining its structure while refreshing content to match current implementation. Preserve formatting, heading hierarchy, and existing organizational decisions.
|
||||
|
||||
**Required Documentation Structure:**
|
||||
|
||||
Update the existing documentation following the same template structure, ensuring all sections reflect current implementation:
|
||||
|
||||
```md
|
||||
---
|
||||
title: [Component Name] - Technical Documentation
|
||||
component_path: [Current component path]
|
||||
version: [Updated version if applicable]
|
||||
date_created: [Original creation date - preserve]
|
||||
last_updated: [YYYY-MM-DD - update to current date]
|
||||
owner: [Preserve existing or update if changed]
|
||||
tags: [Update tags as needed based on current functionality]
|
||||
---
|
||||
|
||||
# [Component Name] Documentation
|
||||
|
||||
[Update introduction to reflect current component purpose and capabilities]
|
||||
|
||||
## 1. Component Overview
|
||||
|
||||
### Purpose/Responsibility
|
||||
- OVR-001: Update component's primary responsibility
|
||||
- OVR-002: Refresh scope (included/excluded functionality)
|
||||
- OVR-003: Update system context and relationships
|
||||
|
||||
## 2. Architecture Section
|
||||
|
||||
- ARC-001: Update design patterns used (Repository, Factory, Observer, etc.)
|
||||
- ARC-002: Refresh internal and external dependencies with current purposes
|
||||
- ARC-003: Update component interactions and relationships
|
||||
- ARC-004: Update visual diagrams (UML class, sequence, component)
|
||||
- ARC-005: Refresh mermaid diagram showing current component structure, relationships, and dependencies
|
||||
|
||||
### Component Structure and Dependencies Diagram
|
||||
|
||||
Update the mermaid diagram to show current:
|
||||
- **Component structure** - Current classes, interfaces, and their relationships
|
||||
- **Internal dependencies** - How components currently interact within the system
|
||||
- **External dependencies** - Current external libraries, services, databases, APIs
|
||||
- **Data flow** - Current direction of dependencies and interactions
|
||||
- **Inheritance/composition** - Current class hierarchies and composition relationships
|
||||
|
||||
```mermaid
|
||||
[Update diagram to reflect current architecture]
|
||||
```
|
||||
|
||||
## 3. Interface Documentation
|
||||
|
||||
- INT-001: Update all public interfaces and current usage patterns
|
||||
- INT-002: Refresh method/property reference table with current API
|
||||
- INT-003: Update events/callbacks/notification mechanisms
|
||||
|
||||
| Method/Property | Purpose | Parameters | Return Type | Usage Notes |
|
||||
|-----------------|---------|------------|-------------|-------------|
|
||||
| [Update table with current API] | | | | |
|
||||
|
||||
## 4. Implementation Details
|
||||
|
||||
- IMP-001: Update main implementation classes and current responsibilities
|
||||
- IMP-002: Refresh configuration requirements and initialization patterns
|
||||
- IMP-003: Update key algorithms and business logic
|
||||
- IMP-004: Update performance characteristics and bottlenecks
|
||||
|
||||
## 5. Usage Examples
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```csharp
|
||||
// Update basic usage example to current API
|
||||
```
|
||||
|
||||
### Advanced Usage
|
||||
|
||||
```csharp
|
||||
// Update advanced configuration patterns to current implementation
|
||||
```
|
||||
|
||||
- USE-001: Update basic usage examples
|
||||
- USE-002: Refresh advanced configuration patterns
|
||||
- USE-003: Update best practices and recommended patterns
|
||||
|
||||
## 6. Quality Attributes
|
||||
|
||||
- QUA-001: Update security (authentication, authorization, data protection)
|
||||
- QUA-002: Refresh performance (characteristics, scalability, resource usage)
|
||||
- QUA-003: Update reliability (error handling, fault tolerance, recovery)
|
||||
- QUA-004: Refresh maintainability (standards, testing, documentation)
|
||||
- QUA-005: Update extensibility (extension points, customization options)
|
||||
|
||||
## 7. Reference Information
|
||||
|
||||
- REF-001: Update dependencies with current versions and purposes
|
||||
- REF-002: Refresh configuration options reference
|
||||
- REF-003: Update testing guidelines and mock setup
|
||||
- REF-004: Refresh troubleshooting (common issues, error messages)
|
||||
- REF-005: Update related documentation links
|
||||
- REF-006: Add change history and migration notes for this update
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user