Skip to content
Back to skills

Deck Design Judge

ASecurity

Scorecard a slide deck: gates, 10-dimension rubric, ranked fixes. Use after generation, for bake --judge, or when presentation-generator needs a quality gate before ship.

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
ai-agentspythongobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add isatimur/presentation-md --skill deck-design-judge --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Deck Design Judge?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Deck Design Judge
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/isatimur-deck-design-judge/badge)](https://www.skillsdirectory.com/skills/isatimur-deck-design-judge)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: deck-design-judge
version: 0.2.0
description: >-
  Scorecard a slide deck: gates, 10-dimension rubric, ranked fixes. Use after
  generation, for bake --judge, or when presentation-generator needs a quality
  gate before ship.
license: MIT
metadata:
  author: isatimur
---

# Deck design judge

**Scorecard** process: tier → locate → metrics → (shots) → rubric → merge.
Leading words: **scorecard**, **gate**, **evidence**, **self-critique**.

## Steps

### 1. Pick the tier

| Tier | Runs | When |
|---|---|---|
| **T0** | `deck_metrics.py` only | Fast sanity / CI |
| **T1** *(default)* | Metrics + one LLM rubric judge | Almost always |
| **T2** | T1 + screenshots the judge opens | Final visual QA |
| **T3** | T2 + multi-model panel (median), via `scripts/judge_panel.py` | Highest stakes — [judge-panel.md](references/judge-panel.md) |

**Done when:** tier is stated (default T1 if unsure).

### 2. Locate deck + brand tokens

Find the `.html` (or shots dir). Read nearby `colors_and_type.css` / token files /
logo SVGs. Note typeface, accent, radii, **flat** vs elevated.

Swiirl / Untitled-UI lineage is **flat** — elevation shadows are a **gate**.

Workspace: `<deck-dir>/.design-eval/<timestamp>/`.

**Done when:** deck path and flat/elevated rule are recorded.

### 3. Metrics (every tier)

```bash
python3 <skill>/scripts/deck_metrics.py <deck.html> \
  [--tokens <colors_and_type.css>] -o <workspace>/metrics.json
```

Swiirl HTML (optional — `swiirl-design` is internal brand-token tooling; skip this step if you
don't have it):

```bash
python3 <swiirl-design>/scripts/check_brand_html.py <deck.html> \
  -o <workspace>/brand_check.json
```

Interpret flags with [metrics.md](references/metrics.md).

**Done when:** `metrics.json` exists and every gate id is listed.

### 4. Screenshots (T2 / T3 only)

```bash
bash <skill>/scripts/render_slides.sh <deck.html> <workspace>/shots/
```

Open each PNG — overflow, clipping, accent area, **3-second rule**. No Chrome →
fall back to T1 and note it.

**Done when:** every shot reviewed, or T1 fallback noted.

### 5. Rubric judge

Read [rubric.md](references/rubric.md). Score all 10 dimensions **0–5** with
**evidence** (slide #, metric, quoted headline). Prefer the lower anchor when
merely “fine.” **T3:** run the real panel — `scripts/judge_panel.py <deck.html>
--metrics <workspace>/metrics.json --out <workspace>/judge.json` (median per
model; errored models excluded, not zeroed) — see [judge-panel.md](references/judge-panel.md).

Emit `<workspace>/judge.json`.

**Done when:** every dimension has score + evidence.

### 6. Scorecard

```bash
python3 <skill>/scripts/scorecard.py <workspace>/metrics.json <workspace>/judge.json \
  -o <workspace>/scorecard.md --json <workspace>/scorecard.json --deck <deck.html>
```

Any **gate** → grade capped at **C**, label **Not ready**. Show `scorecard.md`
in order: Verdict → Gates → Dimensions → Top fixes → Metrics appendix.

**Share your scorecard:** `--json` emits a portable `scorecard.json`
(`schema_version` 1.0 — deck sha256, tier, panel models, per-model votes, gates,
dimensions, grade, top fixes). It's the shareable artifact for the public benchmark;
provenance and the wider ecosystem are in [ATTRIBUTION.md](ATTRIBUTION.md).

**Done when:** user has the scorecard path.

## Self-critique loop

After generating a deck (before handoff):

```
score → if gates clear AND overall ≥ TARGET → ship
      → else apply top 1–3 fixes (gates first), re-measure, re-score
      → ≤3 rounds; report before/after delta
```

Default **TARGET = 85**, **zero gates**. Re-run metrics (and shots in T2) every
round — never assume a fix worked.

**Done when:** target met, rounds exhausted, or progress stalled — ship best + delta.

## In-skill reference

- **Gates** = objective walls (text density, shadows in flat systems, contrast, craft, frameworks).
- **Rubric** = weighted subjective half; the number is a compass, the **fixes** are the point.
- Prefer the brand bundle’s fonts/accent/radii/flat rule over generic defaults when present.
- Anchors: [calibration.md](references/calibration.md).

## Scripts

| Script | Role |
|---|---|
| `scripts/deck_metrics.py` | Deterministic metrics + G1–G5 |
| `scripts/scorecard.py` | Merge → scorecard |
| `scripts/render_slides.sh` | T2/T3 screenshots |
| `scripts/brand_tokens.py` | Token projection helper |

Files in this skill

  • .gitignore62 B
  • ATTRIBUTION.md1.4 KB
  • SKILL.md4.3 KB
  • assets/scorecard-template.md1.3 KB
  • references/calibration.md569 B
  • references/judge-models.json1.4 KB
  • references/judge-panel.md8.9 KB
  • references/metrics.md5.8 KB
  • references/rubric.md9.4 KB
  • scripts/_isolate_slides.py3 KB
  • scripts/brand_tokens.py2.1 KB
  • scripts/deck_metrics.py21.8 KB
  • scripts/judge_panel.py22 KB
  • scripts/render_slides.sh2.3 KB
  • scripts/scorecard.py18.9 KB
  • scripts/tests/fixtures/brand.tokens.json297 B
  • scripts/tests/fixtures/sample.deck.json889 B
  • scripts/tests/test_brand_tokens.py1.6 KB
  • scripts/tests/test_deck_json.py3.3 KB
  • scripts/tests/test_deck_metrics.py13.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.