Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when module planning and source coverage are done and the run needs writer-ready per-module packs. **Trigger**: tutorial context pack, module pack, writer pack, 教程上下文包, 模块写作包. **Use when**: `source-tutorial` 的 C2,已有 module plan + source coverage,需要组织成稳定写作输入。 **Skip if**: module/source coverage 还没完成。 **Network**: none. **Guardrail**: 只整理上下文,不直接写教程正文。
.claude/skills/willoscar-tutorial-context-pack/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -62% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -71% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -69% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -59% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -4% | 0% |
Combines module structure, source coverage, and source snippets into one deterministic JSONL pack per module.
outline/module_plan.ymloutline/source_coverage.jsonlsources/provenance.jsonloutline/tutorial_context_packs.jsonlEach pack must include:
module_idtitleobjectivecore_conceptsexercise_seedsource_snippetsscripts/run.py should:
Keep snippet ranking and pack synthesis in shared tutorial tooling rather than in the thin wrapper script.
module_id and objective| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-16 | fail→fail | 7,557 | 2,478 | -67% | 1 | 1 | 0% | 1,032 | 557 | -46% | 0 | 0 | — |
case-01 | fail→fail | 27,722 | 3,089 | -89% | 1 | 1 | 0% | 5,651 | 571 | -90% | 0 | 0 | — |
case-02 | fail→fail | 15,199 | 8,721 | -43% | 1 | 1 | 0% | 2,709 | 445 | -84% | 0 | 0 | — |
case-03 | fail→fail | 10,702 | 3,603 | -66% | 1 | 1 | 0% | 2,063 | 382 | -81% | 0 | 0 | — |
case-04 | fail→fail | 42,312 | 27,213 | -36% | 1 | 1 | 0% | 6,183 | 4,910 | -21% | 0 | 0 | — |
case-05 | fail→pass | 22,021 | 7,188 | -67% | 1 | 1 | 0% | 3,800 | 1,429 | -62% | 0 | 0 | — |
case-06 | fail→fail | 32,699 | 30,984 | -5% | 1 | 1 | 0% | 6,172 | 6,406 | +4% | 0 | 0 | — |
case-07 | fail→pass | 13,271 | 2,733 | -79% | 1 | 1 | 0% | 2,077 | 612 | -71% | 0 | 0 | — |
case-08 | fail→pass | 10,505 | 1,998 | -81% | 1 | 1 | 0% | 1,587 | 499 | -69% | 0 | 0 | — |
case-09 | fail→pass | 8,344 | 1,790 | -79% | 1 | 1 | 0% | 1,219 | 496 | -59% | 0 | 0 | — |
case-10 | fail→pass | 4,097 | 2,178 | -47% | 1 | 1 | 0% | 539 | 517 | -4% | 0 | 0 | — |
case-11 | fail→pass | 11,754 | 1,479 | -87% | 1 | 1 | 0% | 1,691 | 379 | -78% | 0 | 0 | — |
case-12 | fail→pass | 7,057 | 1,771 | -75% | 1 | 1 | 0% | 1,004 | 476 | -53% | 0 | 0 | — |
case-13 | fail→pass | 9,539 | 1,527 | -84% | 1 | 1 | 0% | 1,370 | 447 | -67% | 0 | 0 | — |
case-14 | fail→pass | 8,497 | 1,675 | -80% | 1 | 1 | 0% | 1,208 | 472 | -61% | 0 | 0 | — |
case-15 | pass→pass | 11,756 | 3,400 | -71% | 1 | 1 | 0% | 1,860 | 819 | -56% | 0 | 0 | — |
case-17 | fail→pass | 11,587 | 3,862 | -67% | 1 | 1 | 0% | 1,612 | 829 | -49% | 0 | 0 | — |
case-18 | fail→fail | 6,144 | 2,423 | -61% | 1 | 1 | 0% | 949 | 603 | -36% | 0 | 0 | — |
case-19 | pass→pass | 6,308 | 1,797 | -72% | 1 | 1 | 0% | 958 | 480 | -50% | 0 | 0 | — |
case-20 | pass→fail | 3,133 | 2,206 | -30% | 1 | 1 | 0% | 504 | 569 | +13% | 0 | 0 | — |
case-21 | fail→pass | 15,083 | 3,945 | -74% | 1 | 1 | 0% | 2,484 | 933 | -62% | 0 | 0 | — |
case-22 | fail→pass | 9,845 | 2,226 | -77% | 1 | 1 | 0% | 1,416 | 524 | -63% | 0 | 0 | — |
case-23 | fail→pass | 13,985 | 2,600 | -81% | 1 | 1 | 0% | 2,039 | 588 | -71% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +52 percentage points is the difference between those two pass rates over the 21 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.