AI agent skill · by @zhnnky329
Solution Package Builder
Assemble a submission-ready writer package from final method, result, robustness, figure, and human-decision artifacts, then freeze approved numerical claims with provenance.
Archived 2026-10-23 · Source updated 2026-09-24 · License: MIT. Check the original repository for the latest version.
SKILL.md instructions
# 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
- Do not create `solution-package-builder_modeler_decision.md`.
- Do not emit `frozen_numbers.json` before human package sign-off.
- Never edit an existing freeze by hand.
- Transcribe human rationales; do not re-compose them as stronger claims.
- The package may cite the compact method-card history but must not depend on a separate iteration log.
- Do not copy raw exploratory outputs into the package without final validation.
# Change and Re-freeze
When a canonical source changes after freeze:
1. append the reason to `freeze_change_log.md`;
2. update and rerun the canonical source;
3. obtain renewed human judgment when the evidence changed materially;
4. regenerate the freeze;
5. run scoped consistency for Qx.
# Verification
- All prerequisites are final and current.
- Package sign-off exists in the JSONL ledger.
- Every frozen value has a real canonical source and stable locator.
- Every package number matches the freeze.
- Every modeling judgment traces to a human decision.
- Writer can use the package without searching scattered results.