# Solution Package Builder

Assemble a submission-ready writer package from final method, result, robustness...

- Repository: https://github.com/zhnnky329/MathModeling-skills (1073 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-09-24
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add zhnnky329/MathModeling-skills --skill solution-package-builder -g -a claude-code -y`
Codex: `npx skills add zhnnky329/MathModeling-skills --skill solution-package-builder -g -a codex -y`
Cursor: `npx skills add zhnnky329/MathModeling-skills --skill solution-package-builder -g -a cursor -y`
Gemini CLI: `npx skills add zhnnky329/MathModeling-skills --skill solution-package-builder -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add zhnnky329/MathModeling-skills`

## Description

Assemble a submission-ready writer package from final method, result, robustness, figure, and human-decision artifacts, then freeze approved numerical claims with provenance.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Purpose

Create the writer's single source package and immutable numerical snapshot. Do not manufacture missing judgments or freeze unapproved claims.

# Preconditions

- `rigor_profile` is `submission`.
- Final method explanation, final result analysis, robustness report, and figure plan exist.
- Human method, result, stability, and claim-scope decisions exist in `qx_decisions.jsonl`.
- Canonical sources are current.

# Workflow

1. Collect final method structure, result claims, limitations, figures, tables, and decision provenance.
2. Draft `results/Qx/reports/qx_solution_package_for_writer.md`.
3. Flag every proposed top-line claim with:
   - value and unit;
   - canonical source path and location;
   - robustness support;
   - decision ID for claim scope or rationale;
   - confidence/limitation.
4. Invoke one final choice card when package sign-off is missing:
   - keep;
   - downgrade;
   - drop.
5. Route the human answer to `modeler-decision-logger` as `package_signoff`.
6. Only after sign-off, generate `results/Qx/reports/frozen_numbers.json`.
7. Verify every numerical package claim resolves to the freeze and every judgment claim resolves to a human decision ID.

# Frozen Number Contract

Each entry contains:

```json
{
  "claim_id": "q1_main_rmse",
  "value": 2.4,
  "unit": "units",
  "source_file": "results/Q1/experiments/final/metrics/main.json",
  "source_locator": "$.rmse",
  "frozen_at": "ISO-8601",
  "frozen_by_skill": "solution-package-builder",
  "decision_id": "q1_package_signoff"
}
```

Use a source line only for stable text files; use a JSON path, table key, or row/column identifier for structured data.

# Rules

The rest: https://github.com/zhnnky329/MathModeling-skills/blob/HEAD/.claude/skills/solution-package-builder/SKILL.md
