> ## 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.

# SkillScore

> How DecimalAI scores a skill's real, proven effectiveness — and what's public vs. private to your team.

Every skill carries a **SkillScore (0–100)** that answers one question: **how well has this skill been *proven* to work?** It's built from real evidence — not stars, not download counts.

## The four signals

A SkillScore blends up to four independent kinds of proof:

<CardGroup cols={2}>
  <Card title="Benchmark" icon="flask">
    The skill is run on example tasks **with it vs. without it**. Did it produce lift (the with-vs-without improvement)?
  </Card>

  <Card title="Live eval" icon="chart-line">
    On real production runs that were evaluated, did the skill **pass**?
  </Card>

  <Card title="AI rating" icon="robot">
    An AI judge scores the **quality** of real production outputs.
  </Card>

  <Card title="Adoption" icon="users">
    Is the skill actually being **used** — across more than one org?
  </Card>
</CardGroup>

A skill can have any subset of the four. **More signals → a more trustworthy score** — but even a single signal earns a visible score. The skill detail page shows how many signals back the score and how to earn the rest.

```mermaid theme={null}
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#f5f5f4','primaryBorderColor':'#a8a29e','primaryTextColor':'#44403c','lineColor':'#a8a29e'}}}%%
flowchart LR
  A["Benchmark lift<br/>(with vs. without)"] --> E["SkillScore<br/>(0–100)"]
  B["Live eval pass rate<br/>(evaluated production runs)"] --> E
  C["AI-judge quality<br/>(rated production outputs)"] --> E
  D["Adoption<br/>(cross-org usage, 30d)"] --> E
```

<Note>
  A skill with no evidence yet shows **New** rather than a number — not a failure, just nothing measured.
</Note>

## How the four signals combine

Each signal gets a fixed weight, and the weights of whichever signals are **present** are scaled back up to 100% — a missing signal never counts as a zero:

| Signal        | Weight | Counts only when…                                                                                                                                         |
| ------------- | :----: | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Benchmark** |   32%  | A verified benchmark run shows positive lift — or holds correctness while saving agent turns. A benchmark that doesn't beat no-skill contributes nothing. |
| **Live eval** |   32%  | ≥ 20 real evaluated production traces in the last 30 days                                                                                                 |
| **AI rating** |   16%  | ≥ 10 AI-rated traces                                                                                                                                      |
| **Adoption**  |   20%  | ≥ 10 served requests in the last 30 days, from ≥ 2 different orgs                                                                                         |

Example: a skill with only benchmark + live eval evidence scores 50/50 from those two (0.32 and 0.32 rescaled). A skill with exactly one signal shows its score marked **provisional** (zero signals shows “New”, no score).

Two design choices worth knowing:

* **Adoption can't run away.** The adoption signal grows logarithmically (going from 5 to 50 uses matters; 5,000 to 5,050 barely does) and is capped by org diversity — heavy usage concentrated in a single org is pinned down. Breadth is what counts, not raw volume. When the quality signals are present, adoption is the smallest major weight — but note the rescaling above: a skill with few signals leans harder on whichever it has, which is exactly why such scores are marked provisional.
* **Efficiency is a separate axis, not part of the score.** Turn/token savings at equal correctness are tracked and shown, but deliberately not blended in — a "fast but wrong" skill can't buy headline score with cheapness.

## Where the evidence comes from

The score is always computed from the evidence attached to **that specific skill**. What differs is *whose* runs count and *who can see* the result:

| The skill is…            | Scored from                                                 | Inherits a score?                      | Visible to |
| ------------------------ | ----------------------------------------------------------- | -------------------------------------- | ---------- |
| **Public**               | Everyone who uses it, anonymized — its cross-org reputation | n/a — it *is* the public reputation    | Everyone   |
| **Private to your team** | Your team's own runs                                        | No — scored from your team's data only | Your team  |
| **A copy you forked**    | Its own runs — starts at **New**, earns its own             | No — starts fresh, builds its own      | Your team  |

<Card title="Forking starts a fresh score" icon="code-branch">
  When you fork a skill you get an independent, editable copy. Because you can change it, it does **not** inherit the original's score — it builds its own from your runs. The original keeps its public score.
</Card>

## Public reputation vs. your results

For a **public skill your team uses**, you'll see two complementary numbers. They answer different questions, so we keep them separate:

<CardGroup cols={2}>
  <Card title="SkillScore (public)" icon="globe">
    *"Is this proven to work, across everyone?"* The cross-org reputation — use it to decide whether to adopt a skill.
  </Card>

  <Card title="Your results" icon="users">
    *"Is it working for **us**?"* Your team's own pass rate, usage, and ratings on the skill — use it to catch a version that regressed for your workload, then pin a version or fork your own.
  </Card>
</CardGroup>

There is only ever **one SkillScore** per skill (the public reputation). "Your results" is your own raw production data shown alongside it — not a second, competing score.

## How it's calculated

A background job regularly reads each skill's benchmark runs, evaluated traces, AI ratings, and usage, computes the 0–100, and stores it with a per-signal breakdown. Public skills are scored from anonymized **cross-org** evidence; private and forked skills are scored from your team's data only and kept private to your org. Only **verified** benchmark runs feed the benchmark signal — runs the platform executed itself, or publisher-executed runs the platform re-graded and spot-checked. Self-reported numbers that never pass verification never do.

## On the leaderboard

The [registry leaderboard](https://app.decimal.ai/skills/leaderboard) ranks skills by SkillScore. A skill needs **at least one signal** to appear — and the more corroborating signals it has, the more its score can be trusted.

<Tip>
  Want to raise a skill's score? Run a verified benchmark that shows real lift, route real traffic through it so live evals accrue, and let the AI rater sample your production traces. Each added signal both raises confidence and unlocks leaderboard ranking.
</Tip>

## Related

<CardGroup cols={3}>
  <Card title="Public Registry" icon="store" href="/guides/registry">
    Browse and install skills ranked by SkillScore.
  </Card>

  <Card title="skillevaluation" icon="flask" href="/guides/skillevaluation">
    The A/B benchmark that produces the strongest SkillScore signal.
  </Card>

  <Card title="Authoring Skills" icon="pen-ruler" href="/guides/authoring-skills">
    Write a skill that earns real lift — and prove it honestly.
  </Card>
</CardGroup>
