❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️
❄️

Plugins - Functions in Semantic Kernel

Plugins - Functions in Semantic Kernel

🧩 Plugins

Plugins are named collections of functions (native, prompt, OpenAPI, MCP) plus metadata. They are the unit of organization, discovery, and permissioning.

Why plugins

  • Compose related capabilities under a clear boundary.
  • Enable/disable whole feature areas.
  • Assign fine‑grained permissions and scopes per plugin.

Typical structure

/Plugins
 └── CalendarPlugin
     β”œβ”€β”€ GetEvents.skprompt.txt
     β”œβ”€β”€ CreateEvent.skprompt.txt
     └── manifest.json

Registering a plugin directory:

kernel.Plugins.AddFromPromptDirectory("Plugins/CalendarPlugin");

Manifests & metadata

  • Name, description, function signatures, input/output schemas.
  • Security notes: required permissions, data categories, PII handling.
  • Owner and version; changelog for governance.

Packaging & distribution

  • Keep functions cohesive; split large plugins.
  • Version with semantic versioning; document breaking changes.
  • Provide sample prompts/tests; CI to validate schemas.

Governance best practices

  • Review boundaries regularly; minimize permissions.
  • Log plugin/function usage; monitor hot paths and failures.
  • Document data flows and retention; ensure compliance.

Next steps

  • Revisit the overview for the decision checklist.
  • Mix plugins of different function types; prefer native for critical paths.