---
name: score-anything
description: Score any recurring object against a written rubric and return a decision you can defend, with the evidence that earned it. On first use the rubric is empty - it asks five questions, fills it in, and scores one real thing in the same session. Use whenever someone wants to rate, grade, rank, qualify or triage something repeatedly - inbound leads, accounts, proposals, emails, partners, candidates, support tickets. Trigger on "set up score-anything", "build me a rubric", "score this", "rate these", "which of these is worth my time", "qualify this lead", "is this account at risk", or when a batch of similar objects arrives and a decision has to be made about each one.
version: 3.0.0
---

# Score Anything

Version 3.0.0. Short on purpose. If you are reading a copy longer than about 200 lines, or
one that does not print a version stamp on every answer, it is out of date - replace it from
https://gist.github.com/ValYaromenko/8fb4c441a2e5d0b582a889dea98f0c3f

## The four rules

1. **If section 2 has a `[` in it, the rubric is empty. Do not score. Run setup (section 0)
   first** - even when an object was handed to you, even with a URL attached, even when the
   person is in a hurry. An object in hand is not a rubric.
2. **Do not borrow a rubric.** Not from another skill, not from a CRM, not from a framework
   you know. If one exists elsewhere, say so and ask before copying it in.
3. **Always return a call.** A rubric that says "not enough evidence" to a question someone
   has to settle today has not helped them. There are exactly two refusals, in section 3.
4. **Answer in prose and tables. Never open with JSON, never make JSON the whole answer.**
   Someone asked whether to act on this thing. Answer that. JSON only if they ask for it.

**If anyone asks what version you are, answer `3.0.0` and nothing else.** They are checking
whether a stale copy is installed, which is the most common reason this skill misbehaves.

## 0. Setup: five questions, fifteen minutes

Ask one at a time. Wait for each answer. A conversation, not a form.

1. What are you scoring, and where does it reach you from?
2. What decision does it drive? What happens to a good one that would not happen to a bad one?
3. When you judge one by hand, what do you actually look at? **Three things.**
4. For each: what does a strong one look like, and a weak one?
5. Is any of them a gate - where a weak result kills it regardless of the rest?

Then fill in sections 1 and 2, show the rubric back, ask what is wrong with it, and **score
one real object immediately in the same session.**

**Out of scope during setup. Do not do these, and do not offer to:**

- No CRM, task manager or log wiring. None of it. That is the appendix, and it is for later.
- No extra files, profiles, reference docs or directories. Everything fits here.
- No review pass, audit or critique of this file.
- No second rubric, even for someone with several businesses. Build the one they decide on
  most often.
- No more than three criteria. Five is the hard maximum and you do not need five on day one.

A rubric that scores one object today beats an architecture that scores nothing this week.

**Then print the filled sections 1 and 2 as a code block** and tell them to paste it into
their own copy of `SKILL.md`. On some platforms the folder you just wrote to is a per-session
copy that gets discarded, and the printed block is the only thing that survives.

## 1. What this scores

**Object:** `[WHAT YOU ARE SCORING]`
**Comes from:** `[SOURCES]`
**Decides:** `[THE DECISION IT DRIVES]`
**Not this rubric:** `[THE LOOKALIKES, AND WHERE THEY GO INSTEAD]`

## 2. The rubric

Levels are 0, 1, 2. Anchors are observable facts, not impressions: "Gong or recorded Zoom is
standard" is an anchor, "modern stack" is not. If you cannot write the anchor, cut the
criterion.

| # | Criterion | 2 - strong | 1 - middling | 0 - weak |
|---|-----------|-----------|--------------|----------|
| 1 | `[NAME]` | `[ANCHOR]` | `[ANCHOR]` | `[ANCHOR]` |
| 2 | `[NAME]` | `[ANCHOR]` | `[ANCHOR]` | `[ANCHOR]` |
| 3 | `[NAME]` | `[ANCHOR]` | `[ANCHOR]` | `[ANCHOR]` |

**Gates:** `[GATE, OR "NONE"]`. A gate decides before any total does. Write it as: *when
`[observable condition]`, tier is `[GATED_X]`, whatever the score.*

**Inference rules:** `[NONE YET]`. Added over time, one line each: *criterion `[#]`, when the
source says `[proxy fact]`, score `[level]`.* Section 3 explains when to add one. Do not
invent them up front.

## 3. Scoring one object

In this order. Each step can end it.

**Type.** Is this the object section 1 describes? If it is a lookalike, stop. Say what it is
and where it goes. **Do not score its criteria** - a finished table under "it was never the
right type anyway" costs a full pass and leaves a number someone will quote later.

**Gates.** Each gate is `pass`, `fired`, or `unknown`. Fired needs evidence and sets the
tier. Unknown blocks only the action that gate protects; it does not void the score.

**Criteria.** Every score names how it was earned:

- **observed** - a verbatim quote states the fact. The default.
- **inferred** - a verbatim quote of a *proxy* fact, plus the rule from section 2 that
  connects them. Only rules written in section 2. Example: no headcount is published, but the
  source says "97,000 employees" and section 2 says *revenue or headcount at that scale means
  more than 60 reps, score 0*. Scores 0, fully auditable.
- **absence** - the weak anchor *is* an absence and you checked. Say where you looked:
  "checked profile, site and careers page, no tooling named."
- **unscorable** - none of the above. **This should be rare. If it happens twice, the rubric
  is missing an inference rule, not the source missing data.** Ask one question: *you can't
  see X here - what visible fact do you read it off instead?* Add the answer to section 2 and
  re-score. This is the most valuable thing this skill does; nobody publishes the facts that
  disqualify them, so a rubric with no inference rules can never disqualify anything.

**Never invent a quote.** A fabricated citation is worse than a missing score, because it
looks identical to a real one.

**The number.** `M` = number of criteria. `S` = sum of the levels you scored.

```
score = 10 * S / (2 * M)      unscorable criteria count as 0
```

**Never rescale to the criteria you managed to score.** The denominator is always `2 × M`.
Dropping a gap and re-averaging inflates every object that has a gap, by a different amount
each time, so scores stop being comparable.

If counting the gaps as 0 is what pushed it into a lower tier, name **one** fact that would
change the answer, and who gets it by when. One fact, not a list.

**The only two refusals in this skill:** the object is the wrong type, or no criterion could
be scored by any of the four bases above. "Insufficient evidence" is not a tier.

## 4. The answer

In this order:

1. **The call.** One line: tier, score, what you would do today, and the one fact that decided it.
2. **The table.** `# · Criterion · Score · Basis · Evidence · Source`. Unscorable rows stay in,
   marked `n/a` with the reason.
3. **Gates** - only if one fired or is unknown.
4. **Next action** - what, who, by when. Never empty. "Pass, no further work, owner: whoever
   runs the queue" is a next action. Silence is not.
5. **What this exposed about the rubric** - only when something did: a missing gate, a missing
   inference rule, a band with a gap, an anchor two people would read differently. On day one
   this is often worth more than the score. Propose the fix, do not apply it mid-score.
6. **The stamp.** `score-anything 3.0.0 · rubric [version]`

**Nothing writes to a CRM, task list or file until the person says go.**

## 5. Routing

| Score | Tier | What happens |
|-------|------|--------------|
| 8-10 | PURSUE | `[ACTION, OWNER]` |
| 5-7 | NURTURE | `[ACTION, OWNER]` |
| 0-4 | PASS | `[ACTION, OWNER]` |
| gated | `GATED_[...]` | `[ACTION, OWNER]` |

Change the bands once you have scored twenty things and seen where they actually land.

---

# Appendix: month three, not now

**Do not build any of this during setup, and do not offer to.** Come back once the rubric has
scored twenty real objects and someone has disagreed with it at least once. Building it early
is how a fifteen-minute setup becomes a lost afternoon.

**Write-back.** When you are ready: update the record, create one task with an owner and a
due date, append the full JSON to an append-only log. You cannot measure drift without the
log. A task with no owner and no date is a note, not an action.

**Checks that run every time.** Every criterion either scored or unscorable, never both ·
every quote a verbatim substring of its named source · the arithmetic recomputed and matching
· every gate resolved. Models divide worse than they judge, and the arithmetic is the one part
of this file with a right answer.

**The blind gold set.** Twenty objects. Two or three people who actually make this decision,
scoring independently, blind to the AI and to each other. **Measure how well they agree with
each other first** - that number tells you whether the task is scoreable at all. If your
people do not agree, no prompt will save you. Then measure the model against their consensus.
Use mean absolute error and quadratic weighted kappa; these scores are ordinal, so never
accuracy or F1 - being off by one is not the same as being off by three. The bar is not "the
AI is right," it is "the AI is as close to consensus as a human is." Record both numbers next
to each other. Name your worst criterion out loud; usually it is the one you cannot observe
from the source you feed this thing most often.

**Then lock it.** Bump the rubric version on any change to sections 2 or 3, and re-run the
gold set. The gold set is the asset. The prompt is not.

**Appeals.** Whoever is being scored can dispute a score. Route the dispute with the original
evidence attached, have a second pass look at it, let a human decide, and log the override -
overrides are the highest-signal data you will ever get about your own rubric. A reviewer who
only ever agrees with the AI is not a reviewer. When an appeal succeeds, ask which part
failed: a wrong level is a scoring miss, a wrong level everyone agrees with is a broken
anchor, a right level that routed wrong is a missing gate, and an unscorable criterion is a
missing inference rule. Only the first is the model's fault, and it is the rarest of the four.

---

## Changelog

**3.0.0** - Rewritten to less than half the length. Four independent first-run sessions all
skipped the interview, built CRM wiring and profile files, invented their own gates and bands,
and pasted JSON at a human. Same cause every time: the file read like a specification for a
scoring system, so every agent that opened it built one. Adding rules to block each failure
made it 470 lines, which made it worse - nobody, human or model, follows the letter of a file
that long while also doing the task. Changes: CRM, task manager and log placeholders removed
from setup entirely (they caused the most wasted time, and a first-time user does not need
them); gold sets, metrics and appeals moved to an appendix explicitly marked for later; three
criteria, five questions, fifteen minutes; inference rules are now added reactively when a
criterion first comes back unscorable, which is when the concept actually makes sense, rather
than declared up front; floor/ceiling/resolve collapsed into one sentence. The two bugs that
mattered are still fixed: no rescaling around gaps, and inference rules so a rubric can
disqualify. Version is in the frontmatter now, and every answer carries a stamp, because a
stale copy cost two full sessions.

**2.x** - Blocking setup gate, no rescaling, three evidence bases, gates, type check first,
approval before writes, table by default.

**1.0.0** - Initial release.

## Who made this

**Val Yaromenko** - CEO of Big Sister AI in Austin, Texas. Seventeen years in sales, now
building scoring systems for revenue teams. The rubric discipline in this file came out of
finding out the hard way that our own scores moved when nothing else did.

linkedin.com/in/yaromenko · big-sister.ai

Shared at Claude Community Austin, 11 August 2026 - *Score It Twice, Get Two Answers*.

Take it, gut it, make it yours. If you build one, tell me what you pointed it at.
