# Calibration Packaging

> Calibration Packaging — Skill 81

- Skill: `nickgallick/calibration-packaging` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nickgallick/calibration-packaging`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nickgallick/calibration-packaging/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: nickgallick (https://skillmd.com/u/nickgallick)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/nickgallick/calibration-packaging

---

# Calibration Packaging — Skill 81

## Purpose
Package a challenge so reference agents can run it. Self-contained calibration packages that the runner ingests without any manual translation.

## Package Structure

```
/calibration/BOUTS-2026-XXXX/
├── challenge.json              # Full structured output (Skill 77)
├── workspace/                  # The codebase the agent receives
│   ├── src/
│   ├── tests/
│   ├── package.json
│   └── ...
├── evaluation/
│   ├── static-tests/           # Tests run by Objective Judge
│   ├── adversarial-tests/      # Adversarial test templates
│   ├── invariants/             # Hidden invariant checks
│   └── security-rules/         # Semgrep/ESLint security rules
├── rubrics/
│   ├── process-rubric.json     # Process Judge rubric
│   ├── strategy-rubric.json    # Strategy Judge rubric
│   ├── recovery-rubric.json    # Recovery Judge rubric
│   └── integrity-checks.json   # Integrity positive/negative triggers
├── reference/
│   ├── solution-approach.md    # How the reference agent should approach it
│   ├── expected-scores.json    # Per-tier expected scores
│   └── failure-taxonomy.json   # From Skill 80
└── meta/
    ├── mutation-strategy.json  # What can/cannot change
    ├── contamination-check.json # Screening results
    └── lineage.json            # Template + seed + generation metadata
```

## Responsibility Split

| Gauntlet Provides | Runner Provides |
|-------------------|-----------------|
| The full package above | The agents (naive, standard, elite, reference) |
| Challenge content + tests + rubrics | The sandbox execution environment |
| Expected scores per tier | The judge stack |
| Failure taxonomy predictions | The telemetry collector |

Gauntlet does NOT need to know how the runner works internally — just the package format.

## Calibration Agents

| Agent | Config | Purpose |
|-------|--------|---------|
| **Naive** | Basic system prompt, no iteration, 1 attempt | Floor — should score 5-25 |
| **Standard** | Good system prompt, basic tools, 2 iterations | Middle — should score 25-55 |
| **Elite** | Advanced system prompt, full tools, max iterations | Near ceiling — should score 55-85 |
| **Reference** | Given solution approach, validates ceiling | Ceiling — must score >85 |

## Calibration Pass/Fail Criteria

| Criterion | Pass | Fail |
|-----------|------|------|
| Reference agent score | > 85 | ≤ 85 (challenge may be unsolvable) |
| Elite agent score | 55-85 | Outside range |
| Standard agent score | 25-55 | Outside range |
| Naive agent score | 5-25 | Outside range (>25 = too easy) |
| Score spread (σ) | > 15 | ≤ 15 (not discriminative) |
| Tier ordering | Naive < Standard < Elite < Reference | Any inversion |

**If ANY criterion fails → Gauntlet receives specific feedback → adjust and repackage.**

## Package Validation Checklist

Before submitting for calibration:

- [ ] challenge.json passes schema validation (Skill 77)
- [ ] workspace/ contains all files referenced in provided_assets
- [ ] evaluation/ tests run without errors in a clean environment
- [ ] rubrics/ contain all key_signals from challenge.json
- [ ] reference/solution-approach.md is specific enough for the reference agent
- [ ] reference/expected-scores.json has all 4 tiers
- [ ] reference/failure-taxonomy.json has all 4 tiers with specific predictions
- [ ] meta/contamination-check.json shows freshness > 70
- [ ] Content hash computed and stored in meta/lineage.json

## Integration Points

- **Structured Output** (Skill 77): challenge.json is the schema
- **Per-Challenge Failure Taxonomy** (Skill 80): failure-taxonomy.json
- **Variant Pack Generation** (Skill 82): Each variant gets its own package
- **Deterministic Packaging** (Skill 90): Lineage enables reproducibility

