package-composition

Packages a measured prompt composition into a portable pure-prose SKILL.md with frozen prompts and evals.

Updated Jun 20, 2026
One-click install
npx skills add https://github.com/ensj/skill-eval-framework --skill package-composition-ensj
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: package-composition
Source: https://github.com/ensj/skill-eval-framework/tree/main/.claude/skills/package-composition
Command: npx skills add https://github.com/ensj/skill-eval-framework --skill package-composition-ensj

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires tsx.

What problem does it solve? Turning a measured, multi-step prompt composition into a shippable skill is error-prone: internal skill ids, variant labels, and wiring code leak into prose, per-step model assignments get lost, and quality evidence is not stamped into the artifact. This Skill automates that packaging so the shipped SKILL.md equals the measured one. ## Core Features & Use Cases - Portable SKILL.md generation: Runs the packager CLI (npx tsx src/packager/cli.ts <name>) to emit packaged/<name>/SKILL.md containing the topology, frozen winning prompts, embedded evals, and a stamped quality bar. - Provisional and contract modes: Supports --allow-provisional for uncalibrated steps, --contract <id> to embed a rubric and enable the LLM judge, and --margin <n> for the quality-bar threshold. - Clean output contract: Hides internal ids in HTML comments, renders dependency lines from wiring, stamps per-step models from winner.json, and adds an Execution section explaining dispatch vs inline execution. - Use Case: After sweeping variants of a research composition, run the packager with the research contract to produce a shippable skill whose self-test bar records the measured quality. ## Quick Start Package the composition named research into a portable skill by running the packager with the research contract and show me the stamped quality bar.

Frequently Asked Questions about package-composition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I package a composition into a portable SKILL.md?▼

Run npx tsx src/packager/cli.ts <name> from the skill-eval-framework root, where <name> is a directory under src/compositions. The packager writes packaged/<name>/SKILL.md with frozen prompts, embedded evals, and a stamped quality bar.

What does the --allow-provisional flag do when packaging?▼

It packages the composition even when a step is uncalibrated, using each step's winner.json variant and stamping provisional: true. If a variant's prompt file is missing, the packager hard-fails instead of substituting another prompt.

When should I use the --contract flag?▼

Use --contract <id> when the composition has a rubric defined in another composition's contract.ts, such as research. It embeds the rubric and enables llm_judge in the quality bar; omit it for assertion-only compositions.

Why does the packager refuse to package my composition?▼

On strict refusal it lists the uncalibrated steps, meaning their winner.json lacks an acceptable grade. Either run eval-sweep on those steps first to calibrate them, or re-run with --allow-provisional.

Does the packaged SKILL.md expose internal skill ids or wiring code?▼

No. Internal skill ids and variant labels go into invisible HTML comments, and raw mapper JavaScript is never emitted. Dependencies are rendered as prose lines derived from the wiring, and per-step models appear only when winner.json records a reference model.