# Overview

What agent resources are and how to attach capabilities to an agent.



**Agent resources** are the bindings between an agent and the artifacts that shape its behavior — rules, MCP configs, skills, vaults, model selection, and integrations. Resources are how an agent gets its personality, its tools, and its secrets.

Each attachment is a small record (`ccr_…`) that links one agent (`cci_…`) to one entity (`aar_…`, `amc_…`, `ask_…`, `vlt_…`, or an integration). You can think of it as a many-to-many join: the same rule can be attached to multiple agents, and a single agent can have many rules.

## How it works [#how-it-works]

1. Create the artifact via its own API ([Rules](/api/rules/overview), [MCP configs](/api/mcp-configs/overview), [Skills](/api/skills/overview), [Vaults](/api/vaults/overview)).
2. Attach it to an agent with `POST /agents/{agent_id}/resources`, passing the `entity_type` and `entity_id`.
3. Redeploy the agent (or call `/deploy` with `update_config_only: true`) for the change to take effect.
4. Detach with `DELETE /agents/{agent_id}/resources/{resource_id}` when no longer needed.

## Supported entity types [#supported-entity-types]

| Type                            | What it does                                                          |
| ------------------------------- | --------------------------------------------------------------------- |
| `agent_artifact_rule`           | Adds a system-prompt rule (text instructions).                        |
| `agent_artifact_mcp_cfg`        | Adds an MCP server config (external tool).                            |
| `agent_artifact_skill`          | Adds a packaged skill (`.skill` / `.zip`).                            |
| `vault`                         | Injects vault secrets into the agent's environment.                   |
| `github_repository_integration` | Grants access to a GitHub repo.                                       |
| `anthropic_integration`         | Selects an Anthropic API account.                                     |
| `llm_model`                     | Pins which LLM the agent uses (for example `opus-4.5`, `sonnet-4.6`). |

## When to use it [#when-to-use-it]

* **Compose an agent's behavior from existing artifacts.** Attach rules, skills, MCP configs, vaults, GitHub repos, and a model — instead of redefining capabilities per agent, mix-and-match what you've already built.
* **Swap an agent's capabilities without recreating it.** Detach an outdated skill, attach a new MCP config, switch the model — then `/deploy` with `update_config_only: true` to roll the change.
