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

# Skills

> Fetch Allium's own guidance on writing efficient SQL, building dashboards, and picking a product.

Skills are Allium's internal instructions, exposed to your agent on demand. Instead of guessing how to structure a Snowflake query against a multi-billion-row chain table, your agent fetches the rules Allium's own Assistant follows.

<Warning>
  Call `get_skill(name="sql-optimization")` **before writing or running any SQL**. Allium's tables are large enough that a query missing its partition filter can scan a full chain — the skill covers the pruning rules that prevent it.
</Warning>

## Available tools

| Tool          | Description                                                      |
| :------------ | :--------------------------------------------------------------- |
| `list_skills` | List the skills your organization can access, with descriptions  |
| `get_skill`   | Fetch a skill's full instructions, or one of its reference files |

## Available skills

| Skill              | What it covers                                                                                                                                                                                                                                                      |
| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sql-optimization` | Partition pruning, default time ranges, CTE filtering, `QUALIFY` for dedup, `UNION ALL` over `UNION`, `APPROX_COUNT_DISTINCT`, pre-aggregated `*.metrics.*` tables, EVM address lowercasing, per-chain versus `crosschain.*` tables, Solana voting/non-voting views |
| `dashboard-design` | The `set_dashboard` build order, the element catalog, 12-column layout, and the design and SQL rules that make a dashboard read well                                                                                                                                |
| `explorer-visuals` | Per-type `spec` JSON schemas for every Explorer visual type                                                                                                                                                                                                         |
| `product-guide`    | Explorer, Realtime APIs, Datastreams, and Datashares — what each is for, and the canonical dated list of supported chains                                                                                                                                           |

<Tip>
  For "what chains does Allium support?" questions, fetch `product-guide` and cite its list rather than answering from the model's memory. The list is dated and maintained.
</Tip>

## Fetching a skill

```json theme={null}
{
  "name": "get_skill",
  "arguments": { "name": "sql-optimization" }
}
```

Returns the full instructions as text. If the skill has reference files, they're listed by title at the end of the body.

### Reference files

Fetch one by passing its title exactly as listed:

```json theme={null}
{
  "name": "get_skill",
  "arguments": {
    "name": "explorer-visuals",
    "reference_title": "chart"
  }
}
```

This two-step shape keeps the main skill small. `dashboard-design` and `explorer-visuals` both use it: the skill body explains the approach, and each reference returns the exact JSON schema for one element or visual type.

<Steps>
  <Step title="Read the skill">
    `get_skill(name="explorer-visuals")` — general advice and the list of available types.
  </Step>

  <Step title="Read the type's reference">
    `get_skill(name="explorer-visuals", reference_title="sankey")` — the exact `spec` schema.
  </Step>

  <Step title="Build the spec">
    Construct `spec` against that schema and pass it to `create_explorer_visual`.
  </Step>
</Steps>

## Discovering skills

```json theme={null}
{ "name": "list_skills", "arguments": {} }
```

Returns each accessible skill's `name` and `description`. Individual skills can be gated, so this returns only what your organization can use — if a skill you expect is missing, contact [support@allium.so](mailto:support@allium.so).

## Cache them locally

Skill content is stable per release. If your client supports persistent instructions, save a skill once instead of refetching it every session:

| Client        | Where                                                                                  |
| :------------ | :------------------------------------------------------------------------------------- |
| Claude Code   | `.claude/skills/<name>/SKILL.md`, references under `.claude/skills/<name>/references/` |
| Other clients | Your client's equivalent instruction or rules directory                                |

Fetched skill bodies include this reminder, so an agent that reads one knows it can keep it.

## Related resources

<CardGroup cols={2}>
  <Card title="SQL & queries" icon="database" href="/ai/mcp/tools-reference/sql-and-queries">
    Where `sql-optimization` gets applied
  </Card>

  <Card title="Dashboards & sharing" icon="chart-mixed" href="/ai/mcp/tools-reference/dashboards">
    Where `dashboard-design` and `explorer-visuals` get applied
  </Card>

  <Card title="Product comparison" icon="table-columns" href="/product-comparison">
    The human-readable version of `product-guide`
  </Card>

  <Card title="Knowledge & discovery" icon="magnifying-glass" href="/ai/mcp/tools-reference/knowledge">
    Find the tables before you apply the rules
  </Card>
</CardGroup>
