Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Fetch and normalize supported source-tutorial inputs into local, traceable text artifacts. **Trigger**: source ingest, ingest sources, normalize tutorial sources, 网页抽取, 资料归一化. **Use when**: `source-tutorial` 的 C1,需要把 `sources/manifest.yml` 中的网页/PDF/repo/docs 变成可追溯文本。 **Skip if**: source manifest 还没定,或来源尚未确认。 **Network**: required for remote URLs. **Guardrail**: 只把成功抽取的内容当作有效 source;失败来源必须落盘记录,不能默默忽略。
.claude/skills/willoscar-source-ingest/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -56% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -58% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -43% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -43% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -64% | 0% |
Goal: normalize mixed source inputs into local tutorial-ready text while preserving provenance.
sources/manifest.ymlsources/index.jsonlsources/provenance.jsonlwebpagepdfmarkdownrepodocs_sitevideosources/manifest.yml.video, use transcript-first ingestion:transcript_locatorkind: webpage.required: true cannot be ingested.uv run python .codex/skills/source-ingest/scripts/run.py --workspace <workspace>--workspace <dir> (required)--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>uv run python .codex/skills/source-ingest/scripts/run.py --workspace <workspace>Fix:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | 13,341 | 3,846 | -71% | 1 | 1 | 0% | 2,115 | 925 | -56% | 0 | 0 | — |
case-01 | fail→fail | 9,644 | 3,095 | -68% | 1 | 1 | 0% | 1,808 | 733 | -59% | 0 | 0 | — |
case-02 | fail→pass | 8,973 | 1,757 | -80% | 1 | 1 | 0% | 1,439 | 600 | -58% | 0 | 0 | — |
case-03 | fail→fail | 4,972 | 2,536 | -49% | 1 | 1 | 0% | 694 | 619 | -11% | 0 | 0 | — |
case-04 | fail→pass | 15,933 | 6,342 | -60% | 1 | 1 | 0% | 2,630 | 1,498 | -43% | 0 | 0 | — |
case-05 | fail→pass | 10,609 | 3,586 | -66% | 1 | 1 | 0% | 1,595 | 911 | -43% | 0 | 0 | — |
case-07 | pass→pass | 11,601 | 4,256 | -63% | 1 | 1 | 0% | 1,976 | 1,048 | -47% | 0 | 0 | — |
case-08 | pass→pass | 9,083 | 2,868 | -68% | 1 | 1 | 0% | 1,344 | 749 | -44% | 0 | 0 | — |
case-09 | pass→pass | 10,528 | 2,335 | -78% | 1 | 1 | 0% | 1,529 | 686 | -55% | 0 | 0 | — |
case-10 | fail→pass | 8,918 | 1,326 | -85% | 1 | 1 | 0% | 1,453 | 519 | -64% | 0 | 0 | — |
case-11 | fail→pass | 12,449 | 3,253 | -74% | 1 | 1 | 0% | 1,724 | 887 | -49% | 0 | 0 | — |
case-12 | fail→pass | 7,138 | 2,866 | -60% | 1 | 1 | 0% | 1,027 | 776 | -24% | 0 | 0 | — |
case-13 | fail→pass | 11,228 | 2,021 | -82% | 1 | 1 | 0% | 1,657 | 650 | -61% | 0 | 0 | — |
case-14 | pass→pass | 6,893 | 2,068 | -70% | 1 | 1 | 0% | 1,172 | 648 | -45% | 0 | 0 | — |
case-15 | pass→pass | 5,991 | 1,819 | -70% | 1 | 1 | 0% | 759 | 638 | -16% | 0 | 0 | — |
case-16 | fail→pass | 7,822 | 4,332 | -45% | 1 | 1 | 0% | 1,327 | 1,114 | -16% | 0 | 0 | — |
case-17 | fail→pass | 15,565 | 2,352 | -85% | 1 | 1 | 0% | 2,310 | 679 | -71% | 0 | 0 | — |
case-18 | pass→pass | 12,264 | 1,923 | -84% | 1 | 1 | 0% | 1,875 | 623 | -67% | 0 | 0 | — |
case-19 | fail→pass | 12,196 | 3,588 | -71% | 1 | 1 | 0% | 2,186 | 866 | -60% | 0 | 0 | — |
case-20 | pass→pass | 15,658 | 15,567 | -1% | 1 | 1 | 0% | 2,357 | 2,681 | +14% | 0 | 0 | — |
case-21 | pass→pass | 16,508 | 14,699 | -11% | 1 | 1 | 0% | 3,174 | 3,220 | +1% | 0 | 0 | — |
case-22 | pass→pass | 11,118 | 7,303 | -34% | 1 | 1 | 0% | 1,693 | 1,449 | -14% | 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. 22 cases were attempted. The headline lift of +50 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.