Skip to content
Development
Skill

/skill-distiller

Converts Opus-quality skills into deterministic Haiku-executable workflows via trace-driven distillation and cross-model validation. Triggers on: "distill this skill", "make this skill work on Haiku", "cross-model optimization", "optimize skill for cost". NOT for code

From plugin
armory
33998 skills2 agents1 command

Claude Code

$ npx -y skills add Mathews-Tom/armory --skill skill-distiller --agent claude-code

SKILL.md

skill-distiller.SKILL.md
name: skill-distiller
description: 'Converts Opus-quality skills into deterministic Haiku-executable workflows via trace-driven distillation and cross-model validation. Triggers on: "distill this skill", "make this skill work on Haiku", "cross-model optimization", "optimize skill for cost". NOT for code simplification, use code-refiner.'
metadata:
  version: 1.0.2
  category: development
  tags: [distillation, cross-model, optimization, haiku, deterministic]
  difficulty: advanced
  phase: build

Skill Distiller

Transform skills authored for high-capability models (Opus) into deterministic workflows that execute reliably on lower-cost models (Sonnet, Haiku). The core insight from EvoSkills: skills encode reusable task structure, not model-specific artifacts. A skill evolved on Opus transfers with +35-45pp gains to other models — but only when the instructions are sufficiently deterministic that lower-capability models can follow them without improvising.

Reference Files

| File | Contents | Load When | | -------------------------------------- | -------------------------------------------------- | ------------------------------------ | | `references/distillation-patterns.md` | Pattern catalog for converting reasoning to rules | Always |

Prerequisites

  • The source skill must exist and satisfy the current `package-evaluator` 2.0.0 contract: actual report-v2 `static_conformance.status: PASS` AND no unresolved CRITICAL or HIGH authored findings. Keep machine evidence and authored findings separate; `live_effectiveness.status` remains NOT_MEASURED.
  • Access to both the source model (Opus) and target model (Haiku/Sonnet) for validation
  • The `surrogate-verifier` skill for cross-model assertion checking
  • If the evaluator or required authored review is unavailable, report the missing prerequisite and stop before trace collection; do not fabricate a score or skip this gate. This prerequisite does not establish cross-model behavioral performance.

Workflow

Phase 1: Complexity Analysis

Score each section of the source SKILL.md for reasoning difficulty:

| Complexity Signal | Score | Distillation Action | | ------------------------------------- | ----- | -------------------------------------------- | | Decision tree with 3+ branches | HIGH | Convert to explicit if/then lookup table | | "Use judgment" or "consider context" | HIGH | Replace with concrete heuristic rules | | Multi-step inference chain | HIGH | Break into numbered atomic steps | | Reference to domain expertise | MED | Add explicit reference file with knowledge | | Clear enumerated steps | LOW | Keep as-is | | Concrete examples with expected output| LOW | Keep as-is |

Produce a complexity map: section name -> complexity score -> planned action.

Phase 2: Trace Collection

Execute the source skill with Opus on 5 representative tasks:

1. Select tasks from `evals/cases.yaml` (positive cases) or generate new ones 2. For each task, capture the full execution trace:

  • Tool calls made (which tools, in what order)
  • Intermediate reasoning visible in output
  • Final output structure and content
  • Time taken and token usage

3. Store traces as structured data for pattern extraction

Phase 3: Pattern Extraction

From the collected traces, extract deterministic patterns:

1. **Decision paths** — For each HIGH-complexity section, find the actual decisions Opus made across the 5 tasks. If Opus chose the same path in 4/5 cases, that path becomes the default rule 2. **Lookup tables** — Where Opus applied domain knowledge, build explicit lookup tables (e.g., "if input contains SQL, use these patterns; if input contains Python, use those") 3. **Concrete examples** — Extract representative input/output pairs from traces to serve as few-shot examples in the distilled skill 4. **Tool sequences** — Identify the common tool invocation pattern and make it explicit ("Step 1: Read the file. Step 2: Grep for pattern X. Step 3: Write output.")

Phase 4: Distilled Rewrite

Rewrite the SKILL.md applying all distillation actions from Phase 1:

| Source Pattern | Distilled Replacement | | -------------------------------------- | ------------------------------------------------------------ | | "Analyze the code and determine..." | "Check for these 5 specific patterns: [list]" | | "Use appropriate formatting" | "Output as a markdown table with columns: [A, B, C]" | | "Consider the context to decide..." | "If [condition A]: do X. If [condition B]: do Y. Default: Z" | | "Apply best practices for..." | Reference file with explicit best practices enumerated | | Multi-paragraph reasoning instruction | Numbered step list with single-sentence steps |

Rules for the rewrite:

  • Every instruction must be actionable by a model with no domain expertise
  • No step should require inference — each step's input and output must be explicit
  • Replace all "consider", "analyze", "determine" verbs with "check", "count", "list", "output"
  • Add concrete examples for any step that could be ambiguous
  • Keep the SKILL.md under 500 lines (distillation should reduce, not expand)

Phase 5: Target Model Validation

Run the distilled skill on the target model (Haiku or Sonnet):

1. Execute the same 5 tasks from Phase 2 with the distilled skill loaded 2. Use the `surrogate-verifier` to generate assertions for each task output 3. Compare pass rates:

| Metric | Source (Opus + original) | Target (Haiku + distilled) | Delta | | ------------------------------- | -----

Read more
@mathews-tom
Ships witharmory

Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.

33998 skills2 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
339
Star history of Mathews-Tom/armory on GitHub, a chart by star-history.com

Other skills on armory.

doc-condenser

doc-condenser

**DEPRECATED** — Modern Claude models condense and summarize technical documentation natively with comparable quality. The output…

@mathews-tom@mathews-tomInstall Skill
opus-4-7-migration

opus-4-7-migration

DEPRECATED: The Opus 4.7 migration scanner is retired from the active skill catalog. Retained for archival reference only; not…

@mathews-tom@mathews-tomInstall Skill
regex-builder

regex-builder

**DEPRECATED** — Modern Claude models produce accurate, well-explained regex patterns with edge-case test suites natively,…

@mathews-tom@mathews-tomInstall Skill
sequential-thinking

sequential-thinking

**DEPRECATED** — Opus 4.7 uses adaptive thinking (optional at each step) and Sonnet 4.6 handles structured chain-of-thought…

@mathews-tom@mathews-tomInstall Skill
adr-writer

adr-writer

Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked…

@mathews-tom@mathews-tomInstall Skill
agent-builder

agent-builder

Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK,…

@mathews-tom@mathews-tomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about skill-distiller.

Which coding agents can use skill-distiller?
skill-distiller installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.