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

# Skills

> Skills are reusable capability packages that DinoAI auto-discovers from your repository and loads on demand, available in both Copilot and the agents.

export const ToolMeta = ({copilot = false, agent = false, backedBy, name, href}) => {
  const pill = on => ({
    display: 'inline-flex',
    alignItems: 'center',
    gap: '5px',
    padding: '2px 10px',
    borderRadius: '9999px',
    fontSize: '13px',
    fontWeight: 500,
    border: '1px solid',
    borderColor: on ? 'rgba(114,106,227,0.35)' : 'rgba(128,128,140,0.22)',
    background: on ? 'rgba(114,106,227,0.12)' : 'transparent',
    color: on ? '#5943D6' : '#9AA0AA'
  });
  return <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    alignItems: 'center',
    gap: '8px',
    margin: '0 0 1.5rem'
  }}>
      <span style={{
    fontSize: '13px',
    fontWeight: 600,
    color: '#6B7280'
  }}>Available in</span>
      <span style={pill(copilot)}>{copilot ? '✓' : '—'} Copilot</span>
      <span style={pill(agent)}>{agent ? '✓' : '—'} Agent</span>
      {backedBy === 'native' && <span style={{
    fontSize: '13px',
    color: '#9AA0AA'
  }}>· Built-in</span>}
      {(backedBy === 'integration' || backedBy === 'connection') && name && <span style={{
    fontSize: '13px',
    color: '#6B7280'
  }}>
          · Backed by {href ? <a href={href}>{name}</a> : name} {backedBy}
        </span>}
    </div>;
};

<ToolMeta copilot agent />

Skills are reusable, self-contained packages of instructions that extend what DinoAI knows how to do. DinoAI **auto-discovers** the skills in your repository and **loads them on demand** — only pulling a skill's full instructions into context when it's relevant to the task, so your context stays lean.

DinoAI is compatible with the standard agent skills format, so skills you already maintain (alongside `CLAUDE.md` / `AGENT.md`) work without changes.

### How skills are structured

A skill is a folder containing a `SKILL.md` file. DinoAI discovers skills from any of these locations in your repository (checked in this order):

* `.claude/skills/<name>/SKILL.md`
* `.dino/skills/<name>/SKILL.md`
* `skills/<name>/SKILL.md`
* `SKILL.md` (repository root)

```
your-repository
├── .claude/
│   └── skills/
│       ├── incident-healer/
│       │   ├── SKILL.md
│       │   └── runbook.md        # optional supporting files
│       └── dbt-style-guide/
│           └── SKILL.md
├── dbt_project/
└── README.md
```

Each `SKILL.md` has YAML frontmatter with a required **`name`** and **`description`**, followed by the instructions the skill provides:

```markdown title=".claude/skills/incident-healer/SKILL.md" theme={"system"}
---
name: incident-healer
description: Heal failed dbt™ runs by diagnosing the error and opening a fix PR
---

When a Bolt run fails:

1. Read the run logs to identify the failing model and the underlying error.
2. Reproduce locally, apply the minimal fix, and run the affected models.
3. Open a pull request describing the root cause and the fix.
```

<Info>
  The **`description`** is how DinoAI decides when a skill is relevant, so keep it specific. Skill **names must be unique** — if two skills share a name, the first one discovered wins. Any additional files in the skill folder (runbooks, templates, scripts) become available to DinoAI once the skill is loaded.
</Info>

### How skills load per surface

<CardGroup cols={2}>
  <Card title="In Copilot" icon="wand-magic-sparkles">
    Skills are discovered and loaded automatically. There's nothing to configure — relevant skills are surfaced as you work.
  </Card>

  <Card title="In the agents" icon="robot">
    Skills are discovered automatically, but a Programmable / Slack / Bolt agent can only load them if its allowlist includes the `load_skill_instructions` tool.
  </Card>
</CardGroup>

<Info>
  **Enabling skills for a Programmable Agent.** Add `load_skill_instructions` to the agent's `tools.list`. See the [Tools Reference](/products/dino-ai/programmable-agents/tools-reference) for the id and [YAML Configuration](/products/dino-ai/programmable-agents/yaml-configuration) for allowlist syntax.

  ```yaml theme={"system"}
  tools:
    mode: allowlist
    list:
      - load_skill_instructions
      # ... your other tools
  ```
</Info>


## Related topics

- [Context & Customization](/products/dino-ai/customization/index.md)
- [Tools Reference](/products/dino-ai/programmable-agents/tools-reference.md)
- [Managing workspace configurations](/guides/paradime-101/getting-started-with-your-paradime-workspace/managing-workspace-configurations.md)
- [Setting Up Data Warehouse Connections](/guides/paradime-101/getting-started-with-your-paradime-workspace/setting-up-data-warehouse-connections.md)
- [Managing Users in the Workspace](/guides/paradime-101/getting-started-with-your-paradime-workspace/managing-users-in-the-workspace.md)
