
Semantic Kernel
Implement, refactor, or review Semantic Kernel plugins and function-calling flows in .NET or Python with language-specific references and live Microsoft docs.
Overview
Semantic Kernel is an agent skill most often used in Build (also Ship review, Operate iterate) that creates, updates, and reviews Semantic Kernel .NET and Python solutions using official docs.
Install
npx skills add https://github.com/github/awesome-copilot --skill semantic-kernelWhat is this skill?
- Language gate: .NET vs Python workflow chosen from repo files or explicit user ask
- Follow references/dotnet.md or references/python.md after workspace inspection
- Mandates grounding in live Semantic Kernel docs and samples—not memory alone
- Covers create, update, refactor, explain, and review for SK solutions
- Points to Microsoft Docs MCP tooling for current API surface
Adoption & trust: 1.4k installs on skills.sh; 34.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are editing a Semantic Kernel app but agent advice drifts from the current .NET or Python API and you are unsure which language workflow applies.
Who is it for?
Indie developers building agent backends with Semantic Kernel who want repo-aware .NET or Python guidance and doc-first answers.
Skip if: Pure prompt-engineering without SK, greenfield LangChain-only projects, or teams forbidding external doc fetch during agent sessions.
When should I use this skill?
Create, update, refactor, explain, or review Semantic Kernel solutions, plugins, or function-calling flows in .NET or Python.
What do I get? / Deliverables
You get language-matched SK implementation or review steps grounded in official documentation references and the correct dotnet or python skill appendix.
- Updated SK code or review notes aligned to language-specific reference and official docs
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Semantic Kernel work is shelved under Build agent-tooling because that is where plugins, planners, and AI integrations are authored for solo agent products. Agent-tooling is the primary home for SK kernel setup, plugins, and orchestration—not generic frontend or raw DevOps.
Where it fits
Scaffold a new SK plugin and wire kernel services in a solo founder’s .NET API.
Connect an external API as a Python semantic function with correct invocation settings.
Run an agent-led review of function-calling paths before first production deploy.
Refactor deprecated SK APIs after a framework upgrade without breaking planners.
How it compares
Framework-specific agent coding guide—not a generic ChatGPT plugin tutorial or non-Microsoft agent runtime.
Common Questions / FAQ
Who is semantic-kernel for?
Solo and small-team devs shipping Semantic Kernel integrations in C#/.NET or Python who need structured create/refactor/review assistance.
When should I use semantic-kernel?
Use it while building agent plugins and orchestration in Build; also during Ship code review of SK changes and Operate fixes when production function-calling flows break.
Is semantic-kernel safe to install?
Review the Security Audits panel on this page; the skill encourages consulting live Microsoft documentation and MCP doc tools—understand what repo and network access your agent has.
SKILL.md
READMESKILL.md - Semantic Kernel
# 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. # 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. # 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-spe