> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.milliseconds.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.milliseconds.ai/_mcp/server.

# Agent skill

The milliseconds.ai skills cover `decision-machine-1`. They give your coding agent the eight capabilities, the rules for writing labels, the threshold bands and the evaluation loop. The agent reads the live docs as part of each task. Source: [github.com/CloudRaker/milliseconds-skills](https://github.com/CloudRaker/milliseconds-skills).

## Installation

#### Claude Code

Run these two commands in your terminal:

```bash
claude plugin marketplace add CloudRaker/milliseconds-skills
claude plugin install milliseconds@milliseconds-skills
```

The plugin also registers the docs MCP server, so the agent can search these pages.

#### Other agents

```bash
npx skills add CloudRaker/milliseconds-skills
```

Choose your agent when prompted. Installation is project-local by default. Add `-g` to install globally.

#### Copy to your agent

Paste this prompt into your coding agent:

**`wrap`**

```text wrap
Install the milliseconds.ai skills. If you're in Claude Code, run `claude plugin marketplace add CloudRaker/milliseconds-skills`, then `claude plugin install milliseconds@milliseconds-skills`. If you're in another agent, run `npx skills add CloudRaker/milliseconds-skills` and select your agent. Use one installation method. You can read the umbrella skill directly at https://raw.githubusercontent.com/CloudRaker/milliseconds-skills/main/skills/milliseconds/SKILL.md. Then use the milliseconds skill when working on this project.
```

Choose one installation method. Two copies of the same skill confuse the agent.

## What the skills contain

| Skill                   | Covers                                                                                                                |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `milliseconds`          | The umbrella: authentication, choosing a capability, label writing, thresholds per action, batching, errors, patterns |
| `milliseconds-yes-no`   | Statements, hints, batched flags, guardrails                                                                          |
| `milliseconds-classify` | Described labels, `probability` with `confidence`, intent routing, `classify-tree`                                    |
| `milliseconds-rate`     | Ordered scales, routing on `score`, composite scoring                                                                 |
| `milliseconds-answer`   | One span per question, offsets, `null` handling                                                                       |
| `milliseconds-extract`  | JSON Schema to a typed object, the schema support matrix                                                              |
| `milliseconds-entities` | Every span per type, redaction with offsets                                                                           |
| `milliseconds-verify`   | Checking a held value against the text, reading `found[]`                                                             |
| `milliseconds-openai`   | The OpenAI-compatible surface and when to go native                                                                   |
| `milliseconds-evaluate` | Golden sets, threshold sweeps, monitoring                                                                             |

## Updates

For the Claude Code plugin:

```bash
claude plugin marketplace update milliseconds-skills
claude plugin update milliseconds@milliseconds-skills
```

Restart Claude Code or run `/reload-plugins`. For skills.sh installations, run `npx skills update`.

## Example prompts

Name the skill in your prompt. In Claude Code you can also invoke `/milliseconds:milliseconds`.

Find where a typed decision replaces fragile code:

```text
Using the milliseconds skill, explore the project and find places where a typed
decision (classify, yes-no, rate, extract) could replace fragile parsing or an
LLM prompt-and-parse step.
```

Let the agent run cheap experiments with a key from the [console](https://console.milliseconds.ai/):

```text
Using the milliseconds skill and the key in MS_API_KEY, route inbound support
tickets to billing, shipping or account, with a review queue for uncertain cases.
Put the labels and thresholds in one file.
```

Point the agent at a [recipe](/recipes/overview):

```text
Using the milliseconds skill, apply the invoice extraction recipe
(https://docs.milliseconds.ai/recipes/invoice-extraction.md) to the PDFs parsed in
invoices/, and verify the total and invoice number before writing to the database.
```

## Working with the agent

1. Review the plan before the agent writes code. The capability choice and the label wording decide the outcome.
2. Keep the labels, statements, scales and thresholds in one file. That file is what a person reviews.
3. Agents write vague statements. Expect to edit wording together. The [writing guide](/concepts/writing-good-questions) has the rules.
4. Ask the agent to build a [golden set](/evaluate/golden-sets) before it tunes any threshold. Do not accept a threshold without a table behind it.

## Common issues

#### The agent does not use the skill

Invoke `/milliseconds:milliseconds` in Claude Code, or write "use the milliseconds skill" in another agent. If it still does not load, confirm the installer targeted the agent you use, then restart it.

#### Routing does not behave as expected

Read the label text first, then the thresholds. Labels that name a verdict rather than a case score noise. A threshold set too high causes false negatives. Too low causes false positives. The [thresholds page](/concepts/thresholds) gives the bands.

#### The agent thresholds on confidence everywhere

When you only need the best option, take the winner. Use `confidence` as a second axis on `classify` and `rate`, and `probability` on the rest. Never compare a `yes-no` probability with a `classify` probability on one scale.

#### The agent invents request or response fields

A stale skill causes this. Update it with the commands above. The agent can also read any page of these docs as Markdown by adding `.md` to the URL.