Skip to content
Back to skills

Bake Off

ASecurity

The methodology ran four times in one arc (GH-160, GH-166, GH-168, GH-170) and re-pinned two pipeline defaults, but it lived as a match-voice script plus discipline carried in issue prose — a fifth run meant re-deriving the discipline again. This skill owns both: the harness and the contract.

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentspythonbash

Security analysis

A100/100

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

Scanned September 3, 2026

npx -y skills add petar-djukic/writing-skills --skill bake-off --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bake Off?

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

Security grade badge for Bake Off
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/petar-djukic-bake-off/badge)](https://www.skillsdirectory.com/skills/petar-djukic-bake-off)

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
<!-- Copyright (c) 2026 Petar Djukic. All rights reserved. SPDX-License-Identifier: MIT -->
---
name: bake-off
description: >-
  Multi-payload model comparison as a first-class skill: arms through the
  real pipeline over real published material, >= 2 payloads before any
  verdict, seed-pinned replays, one Pangram framing per table, scores
  read together with per-model error forensics, dated results re-run on
  pipeline change. Owns the harness (sweep / replicate / bakeoff arms,
  any model the shared transport routes) and the report template.
  Triggers: bake-off, bakeoff, model comparison, A/B the models, which
  model should the stage use, re-pin the default, sweep the arms.
argument-hint: 'bakeoff <draft.md> --out-dir <dir> (see scripts/bakeoff.py)'
---

# Bake-off (multi-payload model comparison)

The methodology ran four times in one arc (GH-160, GH-166, GH-168,
GH-170) and re-pinned two pipeline defaults, but it lived as a
match-voice script plus discipline carried in issue prose — a fifth run
meant re-deriving the discipline again. This skill owns both: the
harness and the contract.

## The method contract

Every rule below has a run that broke without it.

1. **>= 2 payloads, real published material, never toy prompts.**
   Single-draft verdicts reversed twice (GH-160 vs GH-166/168). A
   verdict from one payload is a note, not a result.
2. **Arms run through the REAL pipeline, not bare prompts.** The prompt
   scaffold, the gate, and the retry loop are part of what is being
   measured; a bare-prompt arm measures a pipeline nobody runs.
3. **Read scores and per-model error forensics together.** Obedient
   models expose YOUR prompt bugs — GH-171's discovery path took
   citation survival from 46% to 88% by reading the error log of the
   model that followed instructions too well.
4. **Seed-pin every arm** (`COHERE_SEED`, verified bit-identical at
   temp 0.9) so any arm replays exactly. Do NOT best-of-N over seeds:
   the null measured 5 seeds within 0.003 Pangram — the detector reads
   register, not phrasing.
5. **One Pangram framing per table.** Slice / whole / prose-only scores
   of the same article measured 0.225 / 0.913 / 1.000 — a table mixing
   framings compares nothing. Uploads run under the consent rule
   (per-document, or the operator's standing grant, GH-210).
6. **Date every verdict and re-run on pipeline change.** Rankings are
   model x pipeline; the GH-194 re-pin overturned a July ranking without
   any model changing.

## The harness

`scripts/bakeoff.py` (promoted from `match-voice/scripts/cohere_ab.py`,
GH-205 — the name stopped saying cohere because it drives any model the
shared transport routes):

```bash
# 2 Cohere models x 2 prompt-shape arms over citation/number paragraphs
python3 <skill>/scripts/bakeoff.py sweep <draft.md> [--out results.json]

# the GH-153 disputed passage, repeated
python3 <skill>/scripts/bakeoff.py replicate [--trials 6]

# Cohere models AND the Ollama incumbents over one draft; assembles one
# rewritten draft per model for whole-document register measurement
python3 <skill>/scripts/bakeoff.py bakeoff <draft.md> --out-dir <dir>
```

Scoring is mechanical (`score()`): citation and number multisets,
meta-commentary hits, word counts. Detector and register measurements
run on the assembled per-model drafts with the usual tools.

## Report template

Per payload, then pooled:

| arm | clean | citations kept | numbers kept | detector (one framing) |
|---|---|---|---|---|

followed by a **replicated / reversed** section (which prior verdicts
this run confirms or overturns, by issue number) and a **limits** line
(payload count, arm isolation, sampling depth). Verdicts carry a date.

## Worked example (recorded): the GH-194 re-pin

Two published payloads (loop-engineering, prompts), seed and iterator
isolated on raw articles, prose-only framing throughout:

| arm (seed -> iterator) | loop (base 1.000) | prompts (base 0.913) | mean |
|---|--:|--:|--:|
| pinned: gemma-anchored -> gpt-oss | 1.000 | 0.734 (3 passes) | 0.867 |
| cohere-anchored -> gpt-oss | 0.896 | 0.913 | 0.904 |
| gemma-anchored -> cohere | 1.000 | 0.909 | 0.955 |
| **cohere -> cohere** | **0.802** | **0.735** | **0.768** |

Replicated/reversed: overturned the July gemma->gpt-oss pin (humanize
now carries the Cohere recipe); confirmed the GH-160/166 lesson that the
single-payload verdict would have picked differently. Limits: n=2,
stop-on-upturn sampled once per pass. Dated 2026-08-31. The full run
record and the earlier prompt-shape arms are in
[references/cohere-bakeoff.md](./references/cohere-bakeoff.md).

## Position

A data tool, not a chain stage (GH-208 taxonomy): it measures models so
the chain's defaults can be pinned; it never touches an article anyone
ships. Offline tests: `scripts/test_bakeoff.py`.

Files in this skill

  • SKILL.md4.7 KB
  • references/cohere-bakeoff.md27.1 KB
  • scripts/bakeoff.py13.8 KB
  • scripts/test_bakeoff.py1.7 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.