Factories > Factory configuration
Factory skills
# Factory skills :::note Warp Factories is in **Early Access** and available to a limited set of teams. [Request access](https://www.warp.dev/factories/request-access) to use it with your team. ::: A skill tells an agent what to check, how to classify results, what to produce, and when to escalate. In a factory, skills are how you extend or override [default agents](/factories/factory-agents/), without editing their prompts directly. ## Skill sources in a factory A factory run can use skills from three sources: * **Factory role and integration skills** - Baseline procedures that come from the default agent roles and integrations you configure, such as GitHub, Slack, Linear, or Jira. * **Warp-provided platform-bundled skills** - Product capabilities that Warp provides, such as `oz-platform`, `factory-files`, and `factory-mcp`. * **Custom file-based factory skills** - Team-owned `SKILL.md` files in the factory definition, available to every agent or scoped to one agent. ## Custom file-based factory skills A custom skill is a directory containing a `SKILL.md`. It's part of the factory's [definition](/factories/factory-as-code/), not an agent's settings. Where you place the directory decides who can use it: ```text skills/ repository-conventions/ SKILL.md agents/ foreman/ skills/ incident-triage/ SKILL.md ``` * **`skills/<name>/SKILL.md`** - Available to every agent in the factory. Use this for procedures that apply regardless of role, such as your repository's coding conventions or a shared escalation policy. * **`agents/<name>/skills/<name>/SKILL.md`** - Available only to that agent. Use this for procedures specific to one role, such as how the review agent should apply your security checklist. Both forms use the same `SKILL.md` format as skills anywhere else in Warp. See [Skills](/agents/capabilities/skills/) for the file format, front matter, and argument syntax. ## Factory role and integration skills Every default agent starts with a baseline of role and integration skills so the factory works immediately after setup, before you write anything custom: * **GitHub** - Every default agent gets a GitHub skill, covering how to read issues, open pull requests, and follow your repository's conventions. * **Slack** - The foreman also gets a Slack skill, since it's the agent that replies in threads and DMs. * **Issue tracker** - The tracker you choose during setup, Linear or Jira, adds that tracker's skill and instructions to the agents that use it. If you don't connect a tracker, agents keep only the GitHub and Slack skills. These baseline skills aren't files in your definition; they come from the agent roles and integrations you choose. Anything you add under `skills/` or `agents/<name>/skills/` extends this baseline rather than replacing it. ## Warp-provided platform-bundled skills Platform-bundled skills are separate from factory role and integration skills. They provide Warp capabilities such as operating cloud agents with `oz-platform`, editing factory definitions with `factory-files`, and sending work through Factory MCP with `factory-mcp`. Warp provides these stable bundled-skill IDs: | Bundled skill ID | Purpose | | --- | --- | | `add-mcp-server` | Add an MCP server to Warp configuration. | | `change-keybinding` | Change or remove Warp keyboard shortcuts. | | `claude-api` | Build and maintain applications that use the Anthropic SDK. | | `create-skill` | Create, improve, and evaluate skills. | | `create-tab-config` | Create a Warp tab configuration. | | `factory-files` | Create and validate file-based Warp factory definitions. | | `factory-mcp` | Send work to a factory and collaborate through Factory MCP. | | `modify-settings` | View or change Warp settings using the bundled settings schema. | | `oz-platform` | Run, configure, and inspect cloud agents through the API and CLI. | | `pr-comments` | Fetch GitHub pull request review comments for the current branch. | | `tab-configs` | Look up the tab configuration schema and validation rules. | | `tui-migrate-setup` | Migrate supported settings into the Warp Agent CLI. | | `update-tab-config` | Update an existing Warp tab configuration. | | `warpctrl` | Control and inspect a running Warp app with Warp Control. | See [skill actions in conversation data](/reference/api-and-sdk/#skill-actions-in-conversation-data) for the API reference. ## Attribute team-owned skill usage The [Conversation API](/api) returns skill loads as `read_skill` actions. Use the action's `input` to classify the skill: * **`input.bundled_skill_id` is present** - The action loaded a Warp-provided bundled reference. Exclude it when measuring usage of skills your team owns. * **Only `input.skill_path` is present** - A path alone doesn't identify the skill's owner. Count it as team-owned only when the path is under a skill root your team manages, such as `skills/` or `agents/<name>/skills/` in the factory definition. ## When to add a custom skill Add a custom skill when a default agent needs to do something the built-in baseline doesn't cover, such as: * Enforcing a specific test, lint, or validation command before a change is considered complete. * Following a runbook for a category of incident or request your triage agent sees repeatedly. * Applying a security or compliance checklist during review that goes beyond general code quality. * Teaching a custom agent its job. Custom agents have no built-in skills. A skill changes what an agent knows how to do, not what it can reach. To scope access, configure the agent's [secrets](/platform/secrets/) and [MCP servers](/platform/mcp/) — see [factory agents](/factories/factory-agents/#configure-agent-behavior) and [infrastructure and security](/factories/infrastructure-and-security/#credential-boundaries). ## Add or edit a skill Where you edit a skill depends on [where the factory's definition lives](/factories/factory-as-code/#where-the-definition-lives): * **Warp-managed** - Add or edit `SKILL.md` files directly in the **Factory definition** tab of the [factory dashboard](/factories/factory-dashboard/). Saving validates and commits the change in one step. * **GitHub** - Add or edit the files in the connected definition repository and open a pull request. The same [pull request checks](/factories/factory-as-code/#pull-request-checks) that validate the rest of the definition apply to skill files. For worked examples, including a factory-wide skill and a per-agent skill together, see [`02-sdlc-issue-to-pr`](https://github.com/warpdotdev/warp-factory-examples/tree/main/examples/02-sdlc-issue-to-pr) in the [warp-factory-examples](https://github.com/warpdotdev/warp-factory-examples) repository. ## Skills and self-improvement A factory can propose changes to a skill. When [Self-improvement](/factories/measure-and-improve/self-improvement/) is on for a Scorer and it flags a recurring failure, it can edit the responsible skill in a follow-up run, the same way it can edit application code. The change still arrives as a pull request for your team to review, whether that's through the factory dashboard or your Git host. ## Related pages * [Factory agents](/factories/factory-agents/) - The agents that use a factory's skills, and how to configure each one. * [Definitions as code](/factories/factory-as-code/) - The full schema for `factory.yaml`, agents, automations, and runners alongside skills. * [Skills](/agents/capabilities/skills/) - The general skill file format, shared across Warp, cloud agents, and factories. * [Measure and improve a factory](/factories/measure-and-improve/) - How Self-improvement turns repeated failures into skill and code changes.Tell me about this feature: https://docs.warp.dev/factories/factory-skills/Skills give a factory's agents repeatable, version-controlled procedures that can be shared across every agent or scoped to just one.
A skill tells an agent what to check, how to classify results, what to produce, and when to escalate. In a factory, skills are how you extend or override default agents, without editing their prompts directly.
Skill sources in a factory
Section titled “Skill sources in a factory”A factory run can use skills from three sources:
- Factory role and integration skills - Baseline procedures that come from the default agent roles and integrations you configure, such as GitHub, Slack, Linear, or Jira.
- Warp-provided platform-bundled skills - Product capabilities that Warp provides, such as
oz-platform,factory-files, andfactory-mcp. - Custom file-based factory skills - Team-owned
SKILL.mdfiles in the factory definition, available to every agent or scoped to one agent.
Custom file-based factory skills
Section titled “Custom file-based factory skills”A custom skill is a directory containing a SKILL.md. It’s part of the factory’s definition, not an agent’s settings. Where you place the directory decides who can use it:
skills/ repository-conventions/ SKILL.mdagents/ foreman/ skills/ incident-triage/ SKILL.mdskills/<name>/SKILL.md- Available to every agent in the factory. Use this for procedures that apply regardless of role, such as your repository’s coding conventions or a shared escalation policy.agents/<name>/skills/<name>/SKILL.md- Available only to that agent. Use this for procedures specific to one role, such as how the review agent should apply your security checklist.
Both forms use the same SKILL.md format as skills anywhere else in Warp. See Skills for the file format, front matter, and argument syntax.
Factory role and integration skills
Section titled “Factory role and integration skills”Every default agent starts with a baseline of role and integration skills so the factory works immediately after setup, before you write anything custom:
- GitHub - Every default agent gets a GitHub skill, covering how to read issues, open pull requests, and follow your repository’s conventions.
- Slack - The foreman also gets a Slack skill, since it’s the agent that replies in threads and DMs.
- Issue tracker - The tracker you choose during setup, Linear or Jira, adds that tracker’s skill and instructions to the agents that use it. If you don’t connect a tracker, agents keep only the GitHub and Slack skills.
These baseline skills aren’t files in your definition; they come from the agent roles and integrations you choose. Anything you add under skills/ or agents/<name>/skills/ extends this baseline rather than replacing it.
Warp-provided platform-bundled skills
Section titled “Warp-provided platform-bundled skills”Platform-bundled skills are separate from factory role and integration skills. They provide Warp capabilities such as operating cloud agents with oz-platform, editing factory definitions with factory-files, and sending work through Factory MCP with factory-mcp.
Warp provides these stable bundled-skill IDs:
| Bundled skill ID | Purpose |
|---|---|
add-mcp-server | Add an MCP server to Warp configuration. |
change-keybinding | Change or remove Warp keyboard shortcuts. |
claude-api | Build and maintain applications that use the Anthropic SDK. |
create-skill | Create, improve, and evaluate skills. |
create-tab-config | Create a Warp tab configuration. |
factory-files | Create and validate file-based Warp factory definitions. |
factory-mcp | Send work to a factory and collaborate through Factory MCP. |
modify-settings | View or change Warp settings using the bundled settings schema. |
oz-platform | Run, configure, and inspect cloud agents through the API and CLI. |
pr-comments | Fetch GitHub pull request review comments for the current branch. |
tab-configs | Look up the tab configuration schema and validation rules. |
tui-migrate-setup | Migrate supported settings into the Warp Agent CLI. |
update-tab-config | Update an existing Warp tab configuration. |
warpctrl | Control and inspect a running Warp app with Warp Control. |
See skill actions in conversation data for the API reference.
Attribute team-owned skill usage
Section titled “Attribute team-owned skill usage”The Conversation API returns skill loads as read_skill actions. Use the action’s input to classify the skill:
input.bundled_skill_idis present - The action loaded a Warp-provided bundled reference. Exclude it when measuring usage of skills your team owns.- Only
input.skill_pathis present - A path alone doesn’t identify the skill’s owner. Count it as team-owned only when the path is under a skill root your team manages, such asskills/oragents/<name>/skills/in the factory definition.
When to add a custom skill
Section titled “When to add a custom skill”Add a custom skill when a default agent needs to do something the built-in baseline doesn’t cover, such as:
- Enforcing a specific test, lint, or validation command before a change is considered complete.
- Following a runbook for a category of incident or request your triage agent sees repeatedly.
- Applying a security or compliance checklist during review that goes beyond general code quality.
- Teaching a custom agent its job. Custom agents have no built-in skills.
A skill changes what an agent knows how to do, not what it can reach. To scope access, configure the agent’s secrets and MCP servers — see factory agents and infrastructure and security.
Add or edit a skill
Section titled “Add or edit a skill”Where you edit a skill depends on where the factory’s definition lives:
- Warp-managed - Add or edit
SKILL.mdfiles directly in the Factory definition tab of the factory dashboard. Saving validates and commits the change in one step. - GitHub - Add or edit the files in the connected definition repository and open a pull request. The same pull request checks that validate the rest of the definition apply to skill files.
For worked examples, including a factory-wide skill and a per-agent skill together, see 02-sdlc-issue-to-pr in the warp-factory-examples repository.
Skills and self-improvement
Section titled “Skills and self-improvement”A factory can propose changes to a skill. When Self-improvement is on for a Scorer and it flags a recurring failure, it can edit the responsible skill in a follow-up run, the same way it can edit application code. The change still arrives as a pull request for your team to review, whether that’s through the factory dashboard or your Git host.
Related pages
Section titled “Related pages”- Factory agents - The agents that use a factory’s skills, and how to configure each one.
- Definitions as code - The full schema for
factory.yaml, agents, automations, and runners alongside skills. - Skills - The general skill file format, shared across Warp, cloud agents, and factories.
- Measure and improve a factory - How Self-improvement turns repeated failures into skill and code changes.