Templates and Skills
Concept

Use Agent overrides

Create private Agent-specific template drafts, publish immutable versions, and apply or roll back changes safely.

For
Agent operators, Agent editors, Template authors, and Organization administrators
On this page
  1. Before you begin
  2. Choose the boundary
  3. How Agent Overrides work
  4. Understand the isolation boundary
  5. What an Override contains
  6. 1. Create an Override
  7. 2. Work with a draft
  8. 3. Publish a version
  9. Publishing does not activate
  10. 4. Apply an Override
  11. 5. Create another version
  12. 6. Roll back an Override
  13. Switch back to a shared Template
  14. Understand source updates
  15. Apply a source update
  16. Rebase private changes
  17. Source updates preserve drafts
  18. Source availability
  19. Required Skills
  20. Permissions and lifecycle
  21. API reference
  22. Optimistic concurrency
  23. History and retention
  24. Troubleshooting
  25. Recommended practices
  26. Next steps
  • Templates and Skills
  • 12–15 minutes

An Agent Override is a private template configuration owned by one Agent.

Use an Override when an Agent needs instructions, identity, required Skills, or other template content that should not be published to a shared Organization Template.

Before you begin

You need:

  • Access to the Agent
  • Permission to view its configuration
  • agent.update permission to create, edit, publish, or select an Override
  • Lifecycle permission to apply an Override to a running Agent
  • Any Skills required by the Override assigned to the Agent
  • Required provider credentials configured for those Skills

You can safely create, edit, and publish an Override while the Agent is running. Applying a published version to a running Agent requires Apply & Restart.

Choose the correct customization boundary

Use the narrowest boundary that matches the intended audience.

Requirement Use
Make behavior available globallyPlatform Template
Share behavior across an organizationOrganization Template
Customize a built-in for an organizationOrganization fork
Customize only one AgentAgent Override
Test a private change before promoting itAgent Override
Give several Agents the same changeOrganization Template, not multiple Overrides

Agent Overrides are useful for:

  • Agent-specific tone or identity
  • Instructions tied to one business function
  • Temporary behavior experiments
  • Private escalation rules
  • Testing changes before updating a shared template
  • Required Skills that apply only to one Agent

Avoid duplicating the same Override across several Agents. Publish common behavior to an Organization Template instead.

How Agent Overrides work

An Override has its own Agent-scoped lifecycle.

  1. Shared Template
  2. Agent-owned draft
  3. Published Override Version
  4. Apply
  5. Restart

Publishing and selecting are separate operations. Publishing creates an immutable Override Version, but the Agent remains on its currently selected configuration until you explicitly apply the published version.

Understand the isolation boundary

Suppose three Agents use the same Organization Template. Creating and applying an Override for Agent B affects only Agent B.

Shared Template, before

Shared Template
Organization Template v4
├── Agent A
├── Agent B
└── Agent C

Agent-owned Override, after

Agent Override
Organization Template v4
├── Agent A
└── Agent C

Agent B
└── Agent Override v1
    Source: Organization Template v4

Agent A and Agent C remain unchanged. The Override:

  • Belongs to Agent B
  • Has an independent version sequence
  • Preserves its shared source metadata
  • Is not added to the Organization Templates catalog
  • Cannot be applied to Agent A or Agent C
  • Remains available if Agent B later switches back to a shared version

What an Override contains

Included in the snapshot

  • Template name
  • Description
  • SOUL.md
  • IDENTITY.md
  • USER.md
  • TOOLS.md
  • AGENTS.md
  • BOOT.md
  • BOOTSTRAP.md
  • HEARTBEAT.md
  • Required standalone Skills
  • Required Skill groups
  • Source Template type, key, and version
  • Author information
  • Creation and update timestamps

Not copied or versioned

  • Secrets
  • Provider credentials
  • Channel configuration
  • Runtime selection
  • Deployment settings
  • Agent access assignments
  • Logs or activity history

Runtime configuration outside the Template boundary is not included. Rolling back an Override changes template behavior only.

Create an Override

To create an Agent-specific Override:

  1. Open the Agent.
  2. Go to Configuration.
  3. Select Agent-owned override.
  4. Select Create override.
  5. Edit the template name or description if needed.
  6. Edit the required Markdown artifacts.
  7. Review the required Skills.
  8. Select Save draft.
  9. Review the saved draft.
  10. Select Publish when it is ready.

The initial draft is seeded from the Agent’s currently active configuration. If the Agent uses a shared Template, the draft copies that exact Platform or Organization version. If the Agent already uses an Override, Create new draft copies the active Override Version.

Work with an Override Draft

Each Agent can have one Override Draft at a time. The draft is private to the Agent and remains editable until it is published. Saving the draft does not change the Agent’s active configuration.

The draft editor supports the template name, the description, all eight Markdown artifacts, standalone required Skills, and “at least one of” required Skill groups.

To continue an existing draft:

  1. Open the Agent’s configuration.
  2. Select Agent-owned override.
  3. Find Override draft.
  4. Select Edit.
  5. Make the required changes.
  6. Select Save draft.

Selecting Cancel exits the current editing session and leaves the previously saved draft intact.

Publish an Override Version

Publishing freezes the current draft as the next immutable Override Version.

  1. Open the saved Override Draft.
  2. Review every artifact.
  3. Confirm its required Skills.
  4. Select Publish.
  5. Review the confirmation.
  6. Select Publish override.

Publishing:

  • Creates the next Agent-owned Override Version
  • Records the author
  • Copies the complete draft snapshot
  • Clears the published draft slot
  • Preserves previous Override Versions
  • Leaves the Agent’s active configuration unchanged

If the Agent has no published Override Versions, the first publish creates Override v1.

Publishing does not activate the Override

After publication, the Agent keeps its current pin until you select the new version.

After publishing

Not yet active
Active configuration: Organization Template v4

Published Override history:
└── Override v1

The Agent continues using Organization Template v4.

After applying

Active
Active configuration: Agent Override v1

Published Override history:
└── Override v1 · Active

Select Override v1 in Template selection and apply it.

This separation lets you publish safely without restarting or changing a production Agent.

Apply a published Override

  1. Open the Agent.
  2. Go to Configuration.
  3. Select Template selection.
  4. Open the Template version selector.
  5. Find the entry labeled Agent override.
  6. Select the exact Override Version.
  7. Preview its artifacts and required Skills.
  8. Select Apply or Apply & Restart.
  9. Confirm the change.

For a stopped Agent, Apply changes the pin and leaves the Agent stopped. For a running Agent, Apply & Restart stops the Agent, selects the Override Version, and starts the Agent again.

The restart is required because Agent Barn generates runtime configuration when the Agent starts.

Create another Override Version

After applying an Override, you can create another revision:

  1. Open Agent-owned override.
  2. Select Create new draft.
  3. Edit the new draft.
  4. Save it.
  5. Publish it.
  6. Open Template selection.
  7. Apply the new published version.

The new draft is copied from the Agent’s active Override.

Version sequence
Active Override v1

        ├── Create new draft

        ├── Edit and publish

Published Override v2

Active remains Override v1
until Override v2 is applied.

Roll back an Override

Rollback means selecting a previous immutable Override Version. It does not create another version, and it does not alter an existing draft.

  1. Open the Agent’s configuration.
  2. Select Template selection.
  3. Find the previous Agent override version.
  4. Preview the complete snapshot.
  5. Verify its required Skills.
  6. Select Apply or Apply & Restart.
  7. Verify the Agent after activation.

Published Override history after rolling back to v1:

  • Override v3

    Published from the third draft

  • Override v2

    Published from the second draft

  • Override v1 Active

    Published from the first draft

There is no separate rollback endpoint. Historical selection is the rollback operation.

Switch back to a shared Template

An Agent can leave its Override history and return to a Platform or Organization Template.

  1. Open Template selection.
  2. Find the required shared Template.
  3. Check whether it is labeled Built-in platform, Organization-owned, or Organization fork.
  4. Select the exact version.
  5. Preview its content and required Skills.
  6. Select Apply or Apply & Restart.

The published Override history is preserved. You can return to an Override later by selecting it again.

Switching between sources
Override v2 ── switch ── Organization Template v5

     └──────── select Override v2 later

Switching to a shared Template does not publish, merge, or delete an Override.

Understand source updates

Every Override records the exact shared version from which its lineage was created. The direct source can be a Platform Template Version or an Organization Template Version.

If that direct source lineage publishes a newer version, Agent Barn can show a source update in Template selection.

Platform source

Platform update
Override source: Platform v2
Latest source:   Platform v4
Label:           Platform update

Organization source

Organization update
Override source: Organization v3
Latest source:   Organization v5
Label:           Organization update

Only the direct source lineage is checked. An Override based on an Organization Template does not independently follow that Organization Template’s underlying Platform source.

Apply a source update

A source update changes the Agent’s pin from the Override to the newer shared source version. It does not update the Override itself.

Before

Current state
Active: Override v2
Source: Organization Template v3
Draft:  Local unpublished work

After

Resulting state
Active:  Organization Template v5
Draft:   Local unpublished work remains unchanged
History: Override v1 and v2 remain unchanged

To apply a source update:

  1. Open Template selection.
  2. Find the entry marked Platform update or Organization update.
  3. Preview the complete shared snapshot.
  4. Review its required Skills.
  5. Select Apply or Apply & Restart.
  6. Confirm the change.

Rebase private changes on a newer source

Agent Barn does not perform a three-way merge between an Override and its source.

To build a new Override from a newer shared version:

  1. Record the private changes that must be retained.
  2. Resolve any existing Override Draft.
  3. Apply the newer Platform or Organization source version.
  4. Confirm that the shared version is active.
  5. Open Agent-owned override.
  6. Select Create override.
  7. Reapply the required private changes.
  8. Save the new draft.
  9. Publish it.
  10. Apply the new Override Version.
  11. Test the Agent.

This produces an explicit history:

Rebased history
Override v2
Source: Organization v3

        ├── Select Organization v5

Active shared source: Organization v5

        ├── Create and publish new Override

Override v3
Source: Organization v5

Source updates preserve draft work

A source update never overwrites an existing Override Draft. This matters when one user is editing private Agent instructions while another user applies a newer shared source.

Draft preservation
Saved Override Draft
├── Custom SOUL.md
└── Custom required Skills

Apply source update

        ├── Active Agent pin changes
        └── Saved Override Draft remains unchanged

The draft can be reviewed and published separately. Because its original source metadata remains unchanged, review it carefully before publishing after a source update.

Source availability

Published Overrides are self-contained snapshots. They remain valid even if their original source row is no longer available.

If Agent Barn cannot resolve the exact recorded source:

  • The Override remains usable
  • Its published history remains available
  • The Agent can stay pinned to it
  • No source-update candidate is shown

An unavailable source does not invalidate an existing Override.

Required Skills

Required Skill rules are copied into the Override Draft and can be changed for that Agent. The rules can contain standalone Skills that must all be assigned, and groups where at least one member must be assigned.

Agent Barn validates the requirements when the draft is saved or published, and when a version is selected. Validation checks that:

  • Each required Skill is available to the organization
  • Required standalone Skills are assigned to the Agent
  • At least one Skill from each group is assigned
  • Required Skill providers are configured for the Agent

Example errors include:

Validation errors
Required template skills must be assigned to the Agent: Jira

At least one of these template skills must be assigned to the Agent: Jira, Linear

Required Skill 'Jira' needs configured providers: jira

Assign the missing Skills or configure the required credentials, then retry.

Permissions and lifecycle behavior

Action Required authority
View Agent configurationAccess to the Agent
Create or edit an Override Draftagent.update
Publish an Overrideagent.update
Apply to a stopped Agentagent.update
Apply to a running Agentagent.update and lifecycle permission
Change a shared Template definitionSeparate Template management permission

API reference

Read configuration and Override history

HTTP
GET /api/v1/organizations/{organization_id}/agents/{agent_id}/configuration

The response includes active, draft, source_update, shared_versions, and override_versions.

Response
{
  "agent_id": "928ae950-586f-4b5d-8f01-096116e60c7b",
  "active": {
    "pin_type": "override",
    "version": 1,
    "state": "active"
  },
  "draft": null,
  "source_update": null,
  "shared_versions": [],
  "override_versions": [
    {
      "version": 1,
      "state": "published",
      "pin_type": "override",
      "source_type": "organization",
      "source_template_key": "tpl-4f6a71b29c83",
      "source_template_version": 4
    }
  ]
}

Start an Override Draft

HTTP
POST /api/v1/organizations/{organization_id}/agents/{agent_id}/configuration/draft

No request body is required. If a draft already exists, the existing draft is returned.

Save an Override Draft

HTTP
PATCH /api/v1/organizations/{organization_id}/agents/{agent_id}/configuration/draft
Content-Type: application/json
Request body
{
  "expected_updated_at": "2026-08-29T10:20:30Z",
  "template_name": "Customer Support — Priority Queue",
  "description": "Private behavior for the priority support Agent.",
  "soul_md": "# SOUL.md\n\nRespond calmly and prioritize urgent cases.",
  "required_skill_ids": [
    "3f117494-cac1-43f2-b5bb-456760fbc82e"
  ]
}

At least one draft field must be provided in addition to expected_updated_at. Omitted fields retain their saved draft values.

Publish the draft

HTTP
POST /api/v1/organizations/{organization_id}/agents/{agent_id}/configuration/draft/publish
Content-Type: application/json
Request body
{
  "expected_updated_at": "2026-08-29T10:24:05Z"
}

A successful request returns 201 Created with the immutable published Override Version. Publishing does not select it.

Select an Override Version

The Agent must be stopped before calling the selection endpoint directly.

HTTP
POST /api/v1/organizations/{organization_id}/agents/{agent_id}/configuration/select
Content-Type: application/json
Request body
{
  "selection_type": "override",
  "override_version": 2,
  "expected_agent_updated_at": "2026-08-29T10:31:44Z"
}

Do not include template_key or template_version when selection_type is override.

Select a shared source version

Request body
{
  "selection_type": "organization",
  "template_key": "tpl-4f6a71b29c83",
  "template_version": 5,
  "expected_agent_updated_at": "2026-08-29T10:31:44Z"
}

Use selection_type: "platform" for a Built-in Platform Template.

Optimistic concurrency

Draft updates, publication, and template selection use timestamps to prevent one user from silently overwriting another user’s work.

Draft operations use expected_updated_at. Agent selection uses expected_agent_updated_at.

If the resource changed after you loaded it, Agent Barn returns a conflict. Refresh the configuration, review the latest state, and retry with the current timestamp.

Published history and retention

Published Override Versions are immutable and remain available for review, audit history, exact selection, rollback, and comparing private revisions.

Published versions do not have an individual deletion workflow.

Switching to a shared Template does not remove Override history. Soft-deleting an Agent retains its Override history for audit purposes, although the deleted Agent and its history are hidden from normal views.

Troubleshooting

I published an Override, but the Agent still uses the shared Template

Publishing never activates

Publishing does not activate an Override. Open Template selection, select the published Agent Override Version, and apply it.

The Override changed after restart but not before it

Configuration is generated at start

Template configuration is generated when the Agent starts. A running Agent must restart to load a newly selected version.

I cannot publish the draft

Permissions, Skills, or a conflict

Check that:

  • The draft still exists
  • You have agent.update permission
  • Its required Skills are assigned
  • Required Skill providers are configured
  • The draft has not changed since you loaded it

Refresh the page if the server reports a concurrency conflict.

Create override opened an existing draft

One draft per Agent

Each Agent has only one saved Override Draft. If one already exists, Agent Barn returns it instead of replacing it.

Review and publish that draft before creating another one from the active configuration.

Applying a source update did not change my draft

Expected: drafts are preserved

This is expected. Source updates change the Agent’s active shared pin and deliberately leave private draft work unchanged.

My Override does not show a source update

Only the direct source is checked

A source update appears only when the active configuration is an Override, its exact direct source can still be resolved, and that direct Platform or Organization lineage has a newer version.

An Override based on an Organization source does not independently follow the Organization Template’s Platform origin.

Another Agent cannot see this Override

Overrides are Agent-owned

Overrides are Agent-owned and intentionally private. Publish the content as an Organization Template if it must be shared.

I cannot apply an Override to a running Agent

Lifecycle permission required

Applying a running change requires both Agent update and lifecycle permissions. Use Apply & Restart.

The raw selection API requires the Agent to be stopped first.

Applying an old Override fails because a Skill is missing

The exact version is revalidated

Agent Barn revalidates the exact version’s Skill requirements during selection. Restore access to the Skill, assign it to the Agent, and configure its required provider credentials.

Rolling back did not restore Secrets or channel settings

Rollback covers the Template only

Override rollback covers only the Template snapshot. Secrets, deployment configuration, channel access, runtime selection, and other Agent settings are separate.

  • Use Overrides only for genuinely Agent-specific behavior
  • Keep shared behavior in Organization Templates
  • Describe why each private version exists
  • Review all eight artifacts before publishing
  • Treat publication and activation as separate approvals
  • Test a new Override before applying it to a running Agent
  • Confirm required Skills and providers before publication
  • Use exact historical selection for rollback
  • Preserve existing drafts during source updates
  • Recreate private changes deliberately on top of a newer source
  • Record both the Override Version and its shared source version
  • Review Agent health and logs after activation

Next steps

Continue to Work with Skills to learn how Skills package reusable instructions, and how Template requirements interact with an Agent’s assigned capabilities.

Documentation