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

# Install a Skill in 5 Minutes

> Tutorial: pick a skill with a verified benchmark from the public registry, install it into Claude Code or Cursor, and watch it fire — no signup, no SDK, no API key.

You use Claude Code or Cursor. This tutorial installs one skill from the public registry — a skill with a *measured, verified* benchmark, not just stars — and shows it firing in your next session. No account, no SDK, no API key, under 5 minutes.

A **skill** is a `SKILL.md` file: instructions your agent reads when a matching task comes up (a triage policy, an extraction schema, a commit-message convention). It's an open format your runtime already understands — DecimalAI's registry adds the part no file format can: **evidence that the skill actually works**.

<Steps>
  <Step title="Read the scorecard (1 minute)">
    Open the skill's public page — no login:

    **[app.decimal.ai/skills/playwright-cli](https://app.decimal.ai/skills/playwright-cli)**

    Before installing anything, read the two surfaces that make this registry different:

    * **Verified lift** — at the time of writing: **+79 points**. With the skill loaded the benchmark agent passed **24 of 24** cases; without it, about **21%** (5 of 24). That's a with-vs-without A/B run (an *ablation*) executed by the hosted runner, not self-reported by the author — and the live scorecard, not this page, is the canonical copy of today's numbers. `never_hurt` means no case got *worse* with the skill loaded — here, zero regressions.
    * **The fine print that keeps the number honest** — the model it was measured on (`gemini-3.6-flash`), the benchmark date, the grading method (LLM-judged against per-case expectations), and the **cost**: at the time of writing this skill spends about **126% more tokens** for that lift, because it puts a command reference in the prompt. Lift is model-relative and never free; the registry shows you the evidence instead of asking you to trust a score.
    * **Two different axes, one page** — you may see a SkillScore marked *provisional* right next to a *verified* benchmark. Not a contradiction: *provisional* describes the composite [SkillScore](/guides/skillscore) (it rests on a single signal so far), while *verified* describes how the benchmark itself was produced (executed by the hosted runner rather than self-reported).

    Also check the **safety band**: this skill is **Passed** — a static scan (secrets, remote-code execution, hidden unicode), an AI intent review, and a content review all came back clean. [How skills are vetted](/guides/trust-safety/how-skills-are-vetted) covers what that does and doesn't guarantee.

    <Note>
      Why this skill for the demo: `playwright-cli` documents one specific tool's exact flags — and a model that has never seen that tool mostly cannot guess them. That is why the no-skill arm passes only about one case in five, and it is why you can *tell* the skill fired: the answer either contains the right flag or it doesn't. It's a worked example of the general pattern — skills earn lift by supplying knowledge the model can't have.
    </Note>

    <Tip>
      **Prefer to stay in your editor?** Once, in any MCP client:

      ```bash theme={null}
      claude mcp add decimalai -- uvx decimalai-mcp
      ```

      Then read the same scorecard by asking — *"show me the benchmark evidence and safety scan for playwright-cli"* — instead of opening the page. It's read-only, so you still install with the commands in the next step. See [Use skills without the SDK](/guides/use-skills-without-the-sdk#mcp-server).
    </Tip>
  </Step>

  <Step title="Install it (pick one of two)">
    Both routes are anonymous and end in the same place: a `SKILL.md` on disk where your runtime auto-discovers it.

    <Tabs>
      <Tab title="CLI pull (recommended)">
        The DecimalAI CLI pulls skills anonymously — no API key:

        ```bash theme={null}
        pip install decimalai
        decimalai skills pull playwright-cli --out .claude/skills/
        ```

        Writes `.claude/skills/playwright-cli/SKILL.md` — plus the skill's `eval.yaml` test suite, so you can [re-run the benchmark yourself](/guides/skillevaluation). Read-only: no fork is created, nothing is tracked.
      </Tab>

      <Tab title="Web copy-paste">
        On the [skill's page](https://app.decimal.ai/skills/playwright-cli), use the **Copy SKILL.md** button and paste into a new file at `.claude/skills/playwright-cli/SKILL.md`. The copy arrives with `name` + provenance frontmatter already stamped — add a `description:` line (your runtime discovers skills by `name` + `description`) so the final block reads:

        ```yaml theme={null}
        ---
        name: playwright-cli
        description: Automate browser interactions, test web pages and work with Playwright tests.
        source: https://app.decimal.ai/s/playwright-cli@<version>/SKILL.md
        source_sha256: <hash>
        ---
        ```

        `<version>` and `<hash>` are placeholders — your copy arrives stamped with real values that track whatever version is current when you copy. The `source` / `source_sha256` lines are the provenance stamp — the Copy button and the raw-URL route add it automatically (`decimalai skills pull` does not); it records where the file came from and a fingerprint of the exact body you copied. The fingerprint recipe: the first 12 hex characters of the SHA-256 of the skill body — whitespace-stripped, frontmatter excluded, hashed *before* the stamp itself is added. Optional but worth keeping: see [Use skills without the SDK](/guides/use-skills-without-the-sdk#provenance-the-source-stamp).
      </Tab>
    </Tabs>
  </Step>

  <Step title="Watch it fire">
    Start a **new** Claude Code (or Cursor) session in the project — skills are discovered at session start. Then paste a task the skill was built for:

    ```text theme={null}
    I'm on Windows using cmd.exe. Give me the exact playwright-cli command to
    open https://example.com/search?q=shoes&sort=price&page=2
    ```

    `cmd.exe` treats `&` as a command separator, so an unescaped URL gets truncated at the first `&` and the command silently does the wrong thing. The skill documents the fix: escape it as `^&` in `cmd.exe` (or use `--%` in PowerShell). Nothing about that is guessable — it's one tool's documented quirk.

    <Check>
      **What you should see:**

      * The transcript shows the agent reading the skill (Claude Code surfaces the skill it loaded, or you'll see it open `.claude/skills/playwright-cli/SKILL.md`).
      * The URL in the answer escapes each `&` as **`^&`** — `...?q=shoes^&sort=price^&page=2`.
      * If you get the raw unescaped URL instead, the skill didn't load: check the file path and frontmatter, start a fresh session, or name it explicitly — "use the `playwright-cli` skill."
    </Check>
  </Step>
</Steps>

## What just happened

You installed a plain-markdown skill your runtime already knows how to read, and you picked it off a scorecard instead of a download count. You also saw the shape of the trade: at the time of writing, the skill bought +79 points of correctness by spending a bit over twice the tokens. Both halves are on the scorecard — that's the point of measuring rather than starring.

## Next steps

<CardGroup cols={2}>
  <Card title="All the no-SDK routes" icon="route" href="/guides/use-skills-without-the-sdk">
    Web copy-paste, CLI pull, raw URLs, and the MCP server — every route from the registry to your agent, one page.
  </Card>

  <Card title="Build a whole agent from skills" icon="robot" href="/tutorials/support-agent-from-skills">
    Assemble a customer-operations agent from measured registry skills — and wire it so usage counts.
  </Card>

  <Card title="Browse the registry" icon="store" href="https://app.decimal.ai/skills">
    Every published skill, ranked by measured effectiveness. No login to browse.
  </Card>

  <Card title="How the numbers are made" icon="scale-balanced" href="/guides/skillevaluation">
    skillevaluation is the open spec + runner behind every verified lift number. Re-run any benchmark yourself.
  </Card>
</CardGroup>
