> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.moveworks.com/harness/agentic-orchestrator/skills/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.moveworks.com/_mcp/server. # Skills > **Controlled Availability** > > The Agentic Orchestrator is in Controlled Availability and comes to your Enterprise Assistant in Q1 2027. Capabilities, limits, and interface labels described here may change before general availability. To request access, contact your Moveworks account team. A Skill is an uploaded bundle that teaches an assistant a task: a `SKILL.md` with the procedure, plus any templates, data, or scripts it needs. A Skill tells the model how to work; a Tool Studio plugin gives it a tool to call. ```mermaid flowchart TD I["Instructions (always)"] --> C["Skill catalog: name + description (always)"] C -->|"Request matches a description"| B["SKILL.md body loaded"] B --> R["Templates, data, scripts staged to code execution"] ``` ## How Skills Load * **Always in context:** your Instructions, plus each attached Skill's `name` and `description`. Nothing else in a Skill uses context until it's needed. * **On a match:** before starting work, the model checks the catalog and loads the body of the Skill whose description fits. The description is the only trigger. There is no search or prefilter. * **Resources by path:** the model asks for each file by its relative path. `.md`, `.txt`, and `.html` files up to 200,000 bytes come back as text. Everything else, and larger text, is staged as an input for [code execution](/harness/agentic-orchestrator/code-execution), which requires artifact creation to be enabled for your organization. * **Same context:** a loaded Skill runs in the model's current context, not in a separate agent. A Skill can tell the model to load another Skill and then continue. ## Bundle Format ```text ticket-summary.zip └── ticket-summary/ (optional wrapper; must equal name) ├── SKILL.md ├── references/severity-matrix.md └── assets/handoff-template.docx ``` **`SKILL.md`** ```md SKILL.md --- name: ticket-summary description: > Summarize a support ticket into status, blockers, and next actions. Use when the user asks for a ticket summary or a handoff note. Does not create or update tickets. --- 1. Classify severity with `references/severity-matrix.md`. 2. Fill in `assets/handoff-template.docx` and return it as a file. ``` | Item | Rule | | ------------------------- | ----------------------------------------------------------------------------------------------------------- | | Archive | `.zip` or `.skill`, one Skill per file, `SKILL.md` at the root or inside one folder named exactly as `name` | | Bundle size | 100 MiB unpacked, up to 1,000 files | | `name` | Required. 1-64 characters: lowercase letters, digits, and single hyphens (`^[a-z0-9]+(-[a-z0-9]+)*$`) | | `description` | Required. Up to 1,024 characters | | `compatibility` | Optional. The Orchestrator doesn't read it. Other frontmatter keys are ignored too. | | Text resource read inline | Up to 200,000 bytes per file; larger files are staged instead | ## Configure #### Route requests in Instructions In Assistant Builder, select **Add instructions**. Instructions are the always-on system prompt, applied verbatim after the Orchestrator's base prompt, up to 30,000 characters. Say there which Skill handles which request. #### Upload a Skill Under **Add Skills**, select **Upload a skill** and choose one `.zip` or `.skill` file. #### Attach and save The Skill is added to this assistant's list. Save the assistant. The bundle is validated and attached when you save, so upload errors show up then. #### Update a Skill Upload a replacement with the same `name` as an update to the existing Skill. Every assistant that uses the Skill gets the change. Uploading a bundle with an existing name through **Upload a skill** attaches the existing Skill instead of replacing it. #### Delete a Skill A Skill can't be deleted while any assistant uses it. Remove the Skill from each of those assistants first. Deletion can't be undone. ## Write a Good Skill * **The description is the trigger.** Say what the Skill does, when to use it in the words users actually say, and what it doesn't do. * **Describe capabilities, not tool IDs.** Write "look up the account in the CRM connection", not a tool name, because tool names differ between deployments. A Skill installs no tools, so say which connection the assistant needs. * **Keep Instructions short and put procedures in Skills.** Instructions are in context on every turn. A Skill body costs nothing until it loads. ## Related * [Convert an Existing Skill](/harness/agentic-orchestrator/skills/convert-a-skill): adapt a bundle written for another agent host. ## Docs - [Convert an Existing Skill to the Agentic Orchestrator](https://docs.moveworks.com/harness/agentic-orchestrator/skills/convert-a-skill.md): Adapt a skill bundle written for another agent host so it runs on the Agentic Orchestrator.