Customization

The Syntic Agent SDK ships with sensible defaults, but real applications need Amara to behave in ways that fit their domain, their codebase, and their team’s conventions. This section covers the four layers of customization the SDK exposes, from the broadest steering knob down to fully packaged, redistributable extensions.

The customization layers

Each layer changes a different part of how the agent works:

  • System prompts shape Amara’s baseline behavior, tone, and priorities across an entire session. This is the first place to reach for when you want the agent to consistently follow a policy or adopt a role.
  • Slash commands package repeatable instructions into named shortcuts your users (or your code) can invoke on demand, keeping complex prompts consistent and discoverable.
  • Skills bundle domain knowledge and multi-step workflows that Amara loads only when a task calls for them, keeping the base context lean while making deep expertise available on demand.
  • Plugins compose everything above — commands, skills, subagents, hooks, and MCP servers — into a single installable unit you can version, share, and reuse across projects.

Choosing the right layer

Start narrow and widen only as needed. If you want the agent to always speak a certain way, use a system prompt. If you have a task users repeat, make it a slash command. If you have specialized procedures that shouldn’t clutter every conversation, author a skill. When you want to distribute a coherent set of these to other teams or projects, wrap them in a plugin.

These mechanisms mirror the Syntic Code CLI, so anything you build for the SDK works in the terminal experience and vice versa. Read on for concrete recipes in TypeScript and Python.