# Artifact Eval

> The output gate for this repo. Runs on any deliverable before it is handed over, and also when the user says "review this deliverable", "is this ready", "check this before I send it", "quality check". Verifies the artifact is complete, honest about its assumptions, and free of the specific failures each artifact type is prone to. Returns a receipt. Gates deliverables this repo produced. To score your own AI system output against a rubric, with a separate judge and a logged cycle, use `eval-loop`.

- Skill: `guerrilla2799/artifact-eval` (Agent Skill)
- Install (CLI): `npx skillmds@latest add guerrilla2799/artifact-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/guerrilla2799/artifact-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: guerrilla2799 (https://skillmd.com/u/guerrilla2799)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/guerrilla2799/artifact-eval

---


# Artifact Eval

The last thing that runs. Checks the deliverable against the failures its type is prone to, and refuses to hand over work that is quietly incomplete.

## When to use
- Before handing over any audit, model, spec, or plan produced by this repo
- Before any number reaches a slide
- When somebody asks whether a deliverable is ready

## Inputs
- Reads: the artifact, plus its source skill's rules section
- Needs from user: who the audience is, and whether any number in it is going to a board

## Workflow

### 1. Run the universal gates

Any trip is a fail, regardless of how good the rest is.

```
GATE 1  An unsourced number. Every figure has a provenance or is marked [unverified]
GATE 2  A borrowed benchmark presented as this company's own data
GATE 3  A recommendation with no stated cost, owner, or date
GATE 4  A customer-specific metric or logo with no clearance marker
GATE 5  A conclusion the stated evidence does not support
GATE 6  Prose that has not passed writing-quality
```

**Gate 2 is the one that slips most.** A benchmark table copied into a client deliverable becomes their number by the second reading, and nobody can find where it came from by the third.

### 2. Run the type-specific check

| Artifact | The failure it is prone to |
|---|---|
| Systems audit | Eight problems and no single constraint. Interviews with no diagnostics run |
| Object model | No named decision maker on the four definitions |
| Scoring model | Thresholds set before the distribution was seen. No discrimination test |
| Waterfall spec | Paid columns not structurally downstream of the free gate |
| Signal taxonomy | A signal with no decay window, or a play that says "notify" |
| Agent brief | Blank kill criterion. No named accountable user |
| Guardrails | Every guardrail is advisory. Nothing placed where persuasion cannot reach |
| Eval spec | Anchors missing. No frozen calibration set |
| Stack audit | Savings claimed with no capability lost named |
| Attribution model | Sourced and influenced summed. Window chosen after results |
| Lifecycle | Stages defined as entries. No max time in stage |
| Metrics dictionary | Missing object counted, date field, filters, or exclusions |
| Cost forecast | No actual-against-forecast comparison after the run |

### 3. Check completeness against the source skill

Open the source skill's Output section. Every file it says it writes must exist, and every item it says it prints must be present.

A deliverable missing a section its own skill promised is the most common quiet failure, and it is trivially checkable.

### 4. Check the assumptions are surfaced

Every borrowed rate, estimate, and benchmark is labeled as such, inline, where it is used rather than in a footnote. A reader must be able to tell at the point of reading which numbers are theirs and which are borrowed.

### 5. Check that the unwelcome part is present

Most skills in this repo require something the audience will not enjoy: a do-not-do list, a named capability loss, a refusal, a kill criterion, a stated constraint. If the deliverable has none, it was probably softened during writing.

An audit with no bad news is not an audit.

### 6. Return the receipt

```
artifact-eval: <type>, gates <pass | GATE n tripped>,
  completeness <n/n sections>, assumptions labeled <yes | no>
writing-quality: <receipt from that skill>
```

## Output
- Returns the artifact, or a list of what must be fixed before it can be handed over
- Prints the receipt

## Rules & quality bar
- **A gate trip blocks handover.** No score absorbs a gate
- **Every number is sourced or marked [unverified]**
- **Borrowed benchmarks are labeled at the point of use,** not in a footnote
- **Completeness is checked against the source skill's own Output section**
- **The unwelcome part must be present.** No do-not-do list means it was softened
- **Both receipts appear,** or the gates did not run
- **Never pass work with a promised section missing.** Name it and send it back

## Related skills
- Runs: `writing-quality` as its first gate
- Applies to: every deliverable in this repo

