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

# Creating a skill

> Use /create-skill to teach Digcrate a new reusable command

The `/create-skill` command turns a plain-language description into a saved slash command. Digcrate does a real dry run first — using live tools, returning real results — so you can see exactly what the command will do before saving it.

## Workflow

<Steps>
  <Step title="Run /create-skill with a description">
    Type `/create-skill` followed by a description of what you want the command to do.

    ```
    /create-skill Pull upcoming events from The Rave Milwaukee website
    ```

    Be specific. The more detail you give, the better the dry run results — and the more accurate the saved command will be.
  </Step>

  <Step title="Digcrate runs a dry run immediately">
    Digcrate executes the task right now using its available tools. No questions, no clarifications — it uses your description and its best judgment.

    For a website task, it navigates to the page and scrapes results. For a search task, it queries the relevant data sources. For research, it runs the same multi-step agent loop as any other query.
  </Step>

  <Step title="Results appear as interactive components">
    Results are displayed using OpenUI components — the same components used everywhere in Digcrate:

    * Event listings → `ConcertList` with venue, date, and ticket links
    * Records and releases → `TrackList` with links to source pages
    * Artist research → `ArtistCard`
    * Playlists → `SpotifyPlaylist`

    If the data doesn't fit a structured component, results are formatted as a markdown list with clickable links.
  </Step>

  <Step title="Digcrate suggests a command name">
    After the dry run, Digcrate suggests a command name based on your description — for example, `/rave-events`. Command names are lowercase with hyphens.

    You can accept the suggestion or ask for a different name before saving.
  </Step>

  <Step title="Confirm to save">
    Confirm that you want to save the skill. Digcrate calls `save_user_skill` and stores the command to your account immediately.

    The skill is available right away — type `/rave-events` in any session to run it.
  </Step>
</Steps>

## Worked example

Here's what the full flow looks like for a real skill:

**Input:**

```
/create-skill Pull upcoming events from The Rave Milwaukee website
```

**Dry run:** Digcrate navigates to therave.com, scrapes the upcoming shows listing, and renders a `ConcertList` with artist names, dates, venues, and ticket links.

**Suggested command name:** `/rave-events`

**After confirming:** The skill is saved. From now on, typing `/rave-events` in any session runs the same scrape and returns fresh results every time.

## What gets saved

When you confirm a skill, Digcrate stores:

| Field               | What it contains                                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Command name**    | The slash command, e.g. `rave-events`                                                                              |
| **Name**            | Human-readable label, e.g. "The Rave Events"                                                                       |
| **Description**     | One sentence describing what the skill does                                                                        |
| **Prompt template** | The full prompt that produced the dry run results, including instructions for OpenUI rendering and clickable links |
| **Tool hints**      | The names of the tools that worked during the dry run                                                              |
| **Source URL**      | The URL of any website that was involved                                                                           |

The prompt template is what runs each time you invoke the skill. It includes instructions to present results using OpenUI components and to include full URLs on every item so you can click through to the source.

## Editing and deleting skills

Use `/skills` to manage your saved commands:

* To edit a skill's name or description, select it from the list
* To delete a skill, select it and choose **Delete**
* To temporarily stop a skill from appearing in autocomplete, disable it without deleting

<Note>
  Skills run the same agent loop as every other Digcrate command. They have access to all 20+ data sources — Discogs, MusicBrainz, Last.fm, Ticketmaster, Bandcamp, WhoSampled, Wikipedia, Genius, and more. If you can describe it, you can skill it.
</Note>
