> ## Documentation Index
> Fetch the complete documentation index at: https://modem.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Skills

> Teach the agent how your team works with reusable instructions

export const Prompt = ({text, variant = 'accent'}) => {
  const [copied, setCopied] = useState(false);
  const handleCopy = async () => {
    try {
      await navigator.clipboard.writeText(text);
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    } catch {}
  };
  const clipboardIcon = <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <title>Copy</title>
            <rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
            <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
        </svg>;
  const checkIcon = <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <title>Copied</title>
            <polyline points="20 6 9 17 4 12" />
        </svg>;
  const promptIcon = <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style={{
    flexShrink: 0,
    opacity: 0.4
  }}>
            <title>Prompt</title>
            <path d="M20 2H2v20h2V4h16v12H6v2H4v2h2v-2h16V2zM6 7h12v2H6zm8 4H6v2h8z" />
        </svg>;
  return <div className={`prompt prompt-${variant}`} style={{
    marginTop: '12px',
    marginBottom: '12px'
  }}>
            {promptIcon}
            <span className="prompt-text">{text}</span>
            <button className="prompt-copy" onClick={handleCopy} title="Copy to clipboard" type="button">
                {copied ? checkIcon : clipboardIcon}
            </button>
        </div>;
};

**Skills** are reusable instructions you write once and the [Modem Agent](/docs/features/agent) can pull in whenever a relevant task comes up. Each skill is a markdown document that captures how your team handles a specific workflow: an escalation playbook, a release notes format, a bug triage checklist, the steps you take when a topic mentions a security report.

Skills are private to your organization. Other Modem customers cannot see them, and the agent only loads them inside your organization's chats and automations.

<Info>
  This page covers the skills you write for the Modem Agent in **Settings → Skills**. To connect a coding agent or another MCP client to
  Modem, see [Modem MCP Server](/docs/api/modem-mcp-server). For the skills that server gives your MCP client, see [Skills for MCP
  Clients](/docs/api/mcp-skills).
</Info>

## How It Works

Each skill has three parts:

| Field | Purpose |
| - | - |
| **Slug** | A short, unique name for the skill (e.g. `bug-triage-checklist`). Lowercase letters, numbers, and hyphens. |
| **Description** | A one-line summary of when to use the skill. The agent reads this to decide whether the skill is relevant. |
| **Body** | The full instructions in Markdown. Headings, lists, examples, links to internal docs, whatever helps the agent follow your process. |

When you chat with the agent, it sees the slug and description of every skill in your organization. If a skill looks relevant to what you're asking, the agent reads the full body and follows the instructions. You can also reference a skill by name in your prompt to make sure it gets used.

<Note>
  Skills are guidance, not overrides. The agent still follows Modem's built-in security and privacy rules, and tools that require approval
  still require approval, even if a skill says otherwise.
</Note>

## What Skills Are Good For

Skills work best for workflows your team repeats. A few examples:

* **Triage playbooks.** "When a topic mentions a billing issue, look up the customer's plan, check for related Linear tickets, and post a summary in #support-leads."
* **Output formats.** "Release notes should always include a 'For Customers' section with non-technical language and a 'For Internal' section with implementation details."
* **House style.** "When summarizing user feedback, never use the word 'users': say 'customers' or 'developers' depending on context."
* **Source-of-truth links.** "Our PR review checklist lives at \[internal URL]. Always reference it when asked about code review."
* **Multi-step processes.** "When asked to draft a customer email, write a first draft, check it against our tone guide, and ask me to confirm before sending."

If you find yourself pasting the same context into the agent every time you ask a similar question, that context belongs in a skill.

## Creating a Skill

Skills live in **Settings → Skills**. Only organization admins can create, edit, or delete skills. Members can see the list and trigger skills through the agent.

There are two ways to create one.

### With the agent

The fastest way is to describe what you want and let the agent draft it.

<Prompt text="Create a skill for triaging incoming bug reports. It should check for duplicates in Linear, gather any related topics from Modem, and post a summary in #bug-triage." />

The agent will write a draft skill and confirm before saving. You can edit it afterwards from the Skills page.

### Manually

<Steps>
  <Step title="Open Skills">Go to **Settings → Skills** in your dashboard and click **Add Skill → Create manually**.</Step>

  <Step title="Pick a slug">
    Use a short, descriptive name like `release-notes-format` or `customer-escalation`. Up to 60 characters.
  </Step>

  <Step title="Write the description">
    One sentence that tells the agent when this skill applies. Up to 240 characters. The agent uses this to decide whether to load the
    full body, so be specific.
  </Step>

  <Step title="Write the body">
    Plain Markdown. Headings, lists, code blocks, and links all work. Up to 20,000 characters. Treat it like a runbook a new teammate
    would follow.
  </Step>

  <Step title="Save">Click **Create Skill**. The skill is immediately available to the agent for everyone in your organization.</Step>
</Steps>

## Writing Effective Skills

A few patterns that work well:

* **Lead with when to use it.** Start the body with a sentence or two on the trigger conditions, even though the description already covers it. The agent benefits from the reminder once it has the full text.
* **Reference exact tool and field names.** If you want the agent to update a Linear issue's priority, say "set the `priority` field" rather than "update the urgency."
* **Show the desired output shape.** If the skill produces a summary, message, or document, include a short example of what it should look like.
* **Note approval and safety rules.** If certain steps need human confirmation ("ask me before posting in #announcements"), say so explicitly.
* **Keep it focused.** One skill per workflow. If a skill grows past a few thousand characters, consider splitting it into related skills the agent can compose.

## Managing Skills

The Skills page shows every skill in your organization with its description, the last person who edited it, and when it was last updated. From there you can:

* **Edit** a skill to update the slug, description, or body.
* **Delete** a skill you no longer need. The agent stops using it immediately.

Updates take effect on the next agent message. There is no separate publish step.

## Built-in Skills

Modem also ships with a set of built-in skills covering common product-team workflows: topics like weekly activity digests, GitHub interaction patterns, and user health analysis. You can't edit them. Some only appear in the agent's skill list when the feature they cover is enabled for your organization. Skills you create in **Settings → Skills** sit alongside the built-in set and never override Modem's safety rules.

## Related

<CardGroup cols={2}>
  <Card title="The Modem Agent" icon="https://mintcdn.com/modem-844d7a4a/Wr2r4IRr97lNQiQb/icons/bot.svg?fit=max&auto=format&n=Wr2r4IRr97lNQiQb&q=85&s=2496f9106cb54fa9f4e27ad1f8f3a171" href="/docs/features/agent" width="22" height="22" data-path="icons/bot.svg">
    How the agent uses your data and tools to answer questions and take action.
  </Card>

  <Card title="Automations" icon="https://mintcdn.com/modem-844d7a4a/Wr2r4IRr97lNQiQb/icons/clock.svg?fit=max&auto=format&n=Wr2r4IRr97lNQiQb&q=85&s=d7394854697ad82de384924fc1a3a555" href="/docs/features/automations" width="24" height="24" data-path="icons/clock.svg">
    Run agent prompts on a schedule or in response to events. Automations can use skills too.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.