# Product Skills


Your AI assistant can already do things on your site: the tools in the Agent Surface
chapter let it create courses, pages, offers and email. What the tools don't carry is
*method* — the order to do things in, the questions to ask you first, the mistakes to
avoid. That is what a skill is for. A skill is a written workflow your assistant loads and
follows, so that "help me build a course" turns into an interview, an angle, a structure
and a built course rather than a pile of generated text.

This chapter is short on purpose. Skills are Omumu's own, you don't write them yet, and
there are a handful of them. What it covers is what they are, which ones you have, and
the two ways to use them: live over the connection, where your assistant loads a skill
when it needs it, and installed in your AI client, where the skill lives permanently. A
path such as *Products → Skills* names a group in the admin's navigation and the page
under it.

## Concepts

**A skill is a folder with a manifest.** The manifest is a file named `SKILL.md`: a short
header naming the skill and describing when to use it, followed by the instructions
themselves. The description is the part that matters most to the assistant — it is how
the assistant decides, from what you said, that this skill applies. Alongside the
manifest a skill can ship supporting files: the steps of a longer workflow, reference
notes, templates. Omumu's `create-course` skill, for example, is its manifest plus four
step files (extract, angle, structure, build). The whole folder is the skill; the
manifest alone is a summary of it.

**Skills and tools are not the same thing.** A tool does one concrete thing against live
data — create a lesson, list your offers — and your assistant calls it with exact
arguments. A skill is procedure: which tools to call, in what order, after asking you
what. A skill made only of words can change how your assistant works but cannot touch
your site; it needs the tools for that. Some skills also lean on what your AI client can
do on its own, such as reading web pages: `validate-idea` and `competitor-scan` do their
research that way, so they need a client that can browse.

**Skills are published by Omumu and come with your plan.** Every skill on your site is
a platform skill, written and published by Omumu. If your plan lets you connect an AI
assistant, you are entitled to every published skill, with nothing to buy and nothing to
grant. Your assistant sees the whole published list, and each entry says whether you
are entitled to it. Today three are published: `create-course`, `validate-idea` and
`competitor-scan`.

**A skill is loaded, not remembered.** Over the connection, your assistant fetches the
skill's text at the moment it needs it, so you always get the current version. An
installed copy is a snapshot: it stays as it was the day you downloaded it until you
download it again.

## Hands-on

Say Mira has a webinar's worth of notes on automating invoice reminders and wants them
to become her second course.

### Let your assistant build a course with a skill

Mira says: *"I have notes from my invoice-automation webinar. Turn them into a course on
my site."*

The assistant lists the skills the site offers, sees that `create-course` is the one for
this, loads it and follows it: it asks Mira what she actually knows and who it is for,
proposes an angle, lays out modules and lessons for her to approve, and only then builds
the course with the course tools. Mira never pastes the notes into a page herself; the
skill's job is to keep the assistant from skipping the thinking.

Underneath, two tools do the work. `omumu_skills_list` returns every published skill
visible to the site, with its slug, name, description and whether the caller is entitled
to it; `omumu_skill_get` returns the full manifest of one skill the caller is entitled to.
Your site's onboarding page for assistants tells any AI that reads it to do exactly this:
list the skills, load the one that fits, and follow it in the conversation rather than
working from memory. A skill the caller is not entitled to is refused with a plain error,
and the assistant is told not to recommend it.

There is no admin-UI path for this: using a skill is something your assistant does.

### See which skills you have

Open *Products → Skills*. The page lists every published skill you are entitled to, with
its description and a download button. The same list, with the entitlement flag, is what
`omumu_skills_list` returns to your assistant. On a plan without an AI connection the
page is not offered; if Omumu has published nothing yet, the page says so and notes
that your assistant can still use Omumu through the connection.

### Install a skill in Claude.ai

Loading a skill over the connection is enough for most work. Install it when you want
it present in every conversation without the assistant first looking it up — for
example, if Mira builds courses often and wants Claude to reach for the course workflow
on its own.

On *Products → Skills*, choose *Download .skill* on the skill you want. The file is a ZIP
holding the skill's folder — its manifest and every supporting file — in the shape
Claude's uploader expects. In Claude.ai, upload the file under *Customize → Skills* in
your settings. The skill then
activates by itself whenever your prompt matches its description. The AI setup page
(*Integrations → Set up your AI assistant*) links to the Skills page at the bottom for
the same reason.

For Claude Code, unzip the file and put the folder under `~/.claude/skills/` for
yourself, or under `.claude/skills/` in a project you share.

The downloaded manifest carries a note of who downloaded it. Skills are Omumu's
product; the file is for your own clients.

### What you cannot do yet

Stated plainly: you cannot write a skill of your own on your site, upload one, or sell
one. The platform's skill model has room for site-owned skills and a creator-to-creator
marketplace, but neither is built, and your offers cannot include a skill. Publishing
skills is Omumu's job today. If a workflow you need is missing, that is feedback for
Omumu, not something the Skills page can take.

## Reference

### `omumu_skill_get`

Returns the complete SKILL.md instructions for a skill the user is entitled to. Use after omumu_skills_list to load the workflow and follow its steps. Returns an error if the user is not entitled or the skill is not published.

- **Write category:** read-only
- **Access:** requires the `SKILL_READ` permission

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | yes | The skill slug, e.g. 'create-course' |

### `omumu_skills_list`

Lists every published Omumu skill (workflow for AI assistants) visible to the caller's site, marking which the user is entitled to read. Use to discover what workflows are available — course creation, validation, sales pages, etc. Set entitledOnly=true to hide skills the user is not entitled to.

- **Write category:** read-only
- **Access:** requires the `SKILL_READ` permission

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entitledOnly` | boolean | no | If true, only return skills the user is entitled to. Default false. |
