> ## Documentation Index
> Fetch the complete documentation index at: https://modem.dev/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.

## 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 discussions 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. These are always available to the agent and cannot be edited. 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>
