---
title: MCP skill library
description: The library the MCP server serves to agents on demand — kinds, taxonomy, composition rules, audiences, and how a skill is discovered. Nothing here is installed or managed by hand.
updated: 2026-06-22
prev: mcp-tools
next: keyboard-shortcuts
---

Two different things are called "skills" around Quilium, and only one of them is your problem.

| | What it is | Who handles it |
|---|---|---|
| **The skills you install** | Two packages, `quilium-builder` and `quilium-webmaster`, that teach an agent the process around the CMS — build order, the CLI loop, the Liquid layer. | **You**, once per project: `npx skills add quiliumio/quilium-skills`. See [Prompting well for Quilium](/en/docs/prompting), section 2. |
| **The MCP skill library** — this page | Around fifty knowledge modules served live by the MCP server, each encoding one canonical CMS pattern. | **The agent**, by itself, through `get-skills` and `get-skill`. |

The second kind is meant to be invisible. You do not install it, choose from it, update it or keep it in sync: it is served from the server, so it is always current, and the agent pulls what the task needs. If you are simply using Quilium with an agent, you can stop reading here — the practical page is [Prompting well for Quilium](/en/docs/prompting).

<div class="q-callout q-callout-note"><i class="fa-solid fa-circle-info lead"></i>
  <div><b>What follows is internal structure.</b> It is documented for people building <em>on top of</em> the library — writing skills, auditing what a given profile can reach, debugging why an agent loaded one guide and not another. None of it is a step to perform. For the rationale, see <a href="/en/docs/ai-mcp-skills">AI, MCP and skills</a>.</div></div>

## The five skill kinds

The kind is the L1 type. It is encoded both as a CMS category and as the first slug segment.

| Kind | Purpose |
|---|---|
| `meta` | How the library itself works. |
| `reference` | Syntax and catalogues. |
| `practices` | How to do a thing well. |
| `tasks` | An atomic capability. |
| `processes` | Multi-step orchestration. |

## Three-level taxonomy

`get-skills` returns a three-level tree. The slug encodes the path: `<type>-<domain>-<skill>`.

| Level | What it is | Slug segment | Example |
|---|---|---|---|
| L1 | type | segment 1 | `reference` |
| L2 | domain (sub-category) | segment 2 | `reference-fields-catalog` |
| L3 | skill (the leaf) | segment 3 | the markdown guide |

The L2 domain is omitted when a type carries fewer than three skills — for example `meta-getting-started` has no domain segment.

## Composition

Skills reference one another through `related:`. The dependency graph is **acyclic** and flows in one direction only:

| A skill of kind | may reference |
|---|---|
| `processes` | `tasks`, `practices`, `reference` |
| `tasks` | `practices`, `reference` |
| `practices` | `reference` |
| `reference` | nothing |

Cycles are forbidden.

## Audience model

Each skill is scoped to an audience. There are two:

| Audience | CMS role | Sees |
|---|---|---|
| `webmaster` | `editor` | `meta`, `reference`, `practices`, and webmaster `tasks`. Never `tasks-types-*`, `tasks-config-*`, `tasks-templates-*`, or architecture processes. |
| `webdesigner` | `owner`, `admin`, `webdesigner` | The full library. |

The scope is enforced by a **triple lock**: the CMS profile field, MCP `?mode=webmaster` URL routing, and the skill's own audience field.

## Discovery

The agent calls `get-skills` once to retrieve the taxonomy, then loads each relevant skill with `get-skill <slug>`. Both are ordinary [MCP tools](/en/docs/mcp-tools); nothing else triggers a load.

<div class="q-callout q-callout-warn"><i class="fa-solid fa-triangle-exclamation lead"></i>
  <div><b>Walk both branches.</b> Skills hang off the tree in two places. The META group carries skills directly under <code>groups[*].skills[*]</code>; most groups attach them through sub-categories under <code>groups[*].categories[*].skills[*]</code>. Read BOTH or you miss skills.</div></div>

The live taxonomy returns five groups: META (1 skill), BEST PRACTICES (5 categories), PROCESSES (3 categories), REFERENCE (9 categories), and TASKS (11 categories) — roughly 50 skills. Skills marked `status: experimental` are skipped unless asked for; `deprecated` skills are treated as nonexistent.

<div class="q-callout q-callout-note"><i class="fa-solid fa-circle-info lead"></i>
  <div><b>HTTP fallback.</b> The library is also served at <code>/&lt;locale&gt;/md</code>, <code>/&lt;locale&gt;/md/&lt;slug&gt;</code>, <code>/&lt;locale&gt;/skills-manifest</code>, and <code>/&lt;locale&gt;/skills-feed</code>. Prefer <code>get-skill</code> over raw HTTP.</div></div>

## The golden rule

**Never duplicate.** When tempted to copy a YAML block, a snippet, or a checklist into a second skill, add a `related:` reference to the source instead. An agent follows `related:` transitively, so the content stays reachable. Duplication causes drift.

## Related

<div class="q-cards">
  <a class="q-card reco" href="/en/docs/mcp-tools"><span class="k">Recommended</span><span class="t">MCP tools</span><span class="d">The `get-skills` and `get-skill` tools that read this library.</span></a>
  <a class="q-card" href="/en/docs/ai-mcp-skills"><span class="t">AI, MCP and skills</span><span class="d">Why Quilium exposes a skills library.</span></a>
  <a class="q-card" href="/en/docs/cli"><span class="t">CLI reference</span><span class="d">The manual path the agent path mirrors.</span></a>
</div>
