Plugins

A plugin is the packaging format that ties every other customization together. It bundles slash commands, skills, subagents, hooks, and MCP server connections into a single installable unit you can version, publish, and share. Where the other layers customize one agent in one place, plugins let you distribute a coherent set of capabilities across projects and teams.

What goes in a plugin

A plugin declares its contents in a manifest and carries the definitions alongside it. Any combination of the following can live in one plugin:

  • Slash commands for repeatable, named prompts.
  • Skills encoding domain workflows the agent loads on demand.
  • Subagents that the primary agent can delegate specialized work to.
  • Hooks that run at defined points in the agent loop to enforce policy or add side effects.
  • MCP servers that expose external tools and data sources.

This means a single plugin can, for example, teach Amara everything it needs to work with your company’s deployment system: the commands to trigger a deploy, the skill describing the rollout procedure, a hook that blocks deploys outside a change window, and an MCP connection to your infrastructure API.

Installing a plugin

Register plugins when configuring a query. The SDK loads each plugin’s contributions and makes them available to the agent for the session.

import { query } from "@syntic/agent-sdk";
 
const response = query({
  prompt: "Deploy the staging environment.",
  options: {
    plugins: [
      { path: "./plugins/deploy-toolkit" },
      { name: "@acme/syntic-observability" },
    ],
  },
});
from syntic_agent_sdk import query
 
response = query(
    prompt="Deploy the staging environment.",
    options={
        "plugins": [
            {"path": "./plugins/deploy-toolkit"},
            {"name": "acme-syntic-observability"},
        ]
    },
)

Distribution and reuse

Because a plugin is self-contained, it’s the right unit for reuse. Teams publish internal plugins to standardize how their agents work, and open-source authors ship plugins that extend Amara with support for specific frameworks or services. Version your plugins so consumers can pin to a known-good release, and document the commands, skills, and hooks they contribute so users understand exactly what installing the plugin changes about the agent’s behavior.