Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Plans, drafts, and refines technical tutorials for developers. Use when writing step-by-step guides or getting-started walkthroughs backed by working code.
.claude/skills/athola-tech-tutorial/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 20% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 158% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 31% | 0% |
A good technical tutorial has one goal: move a reader from not knowing how to do something to being able to do it. That requires working code, concrete steps, and honest acknowledgment of where things go wrong. This skill guides you through outlining, drafting, and verifying a tutorial that meets that standard.
scribe:doc-generator)scribe:slop-detector)Before writing a single line, answer these questions:
(the thesis, not the topic)
Write these answers down as a header block in the draft. If you cannot answer the "what will they accomplish" question in one sentence, the scope is too broad. If you cannot state the thesis in one sentence, the tutorial is not ready to draft.
The audience size and read frequency feed the reader-time budget (see scribe:slop-detector module document-economy.md). A tutorial that 500 developers will read once is a 40-hour reader-budget asset. Spend the writing time accordingly.
Load: @modules/outline-structure.md
Produce a section-by-section outline before drafting prose. Each section entry must include a one-line description of what the reader does or learns in that section. See the outline module for the standard section order and length targets per section type.
Load: @modules/code-examples.md
Write the code before the prose. Each snippet must run against a real environment before it appears in the tutorial. Annotate only the non-obvious lines. See the code examples module for formatting and error-handling rules.
Prose exists to explain what the code does and why. Follow these rules:
Load: @modules/progressive-complexity.md
Start with the minimal working example. Introduce variations and edge cases only after the baseline works. See the progressive complexity module for the layering rules and pacing guidance.
After drafting, run:
Skill(scribe:slop-detector)Fix all tier-1 findings before proceeding. Pay particular attention to:
scribe:slop-detector word lists)Verify the completed tutorial against this checklist:
Content:
Sentence-level:
Document-level (document-economy module):
tech-tutorial:scope-defined - Audience, goal, and out-of-scope notedtech-tutorial:outline-approved - Section outline confirmedtech-tutorial:code-tested - All snippets verified against a real envtech-tutorial:prose-drafted - Walkthrough text writtentech-tutorial:slop-scanned - Slop detector passedtech-tutorial:quality-verified - Quality gate checklist clearedtech-tutorial:user-approved - Final approval receivedmodules/outline-structure.md for section order and length targetsmodules/code-examples.md for snippet formatting and annotation rulesmodules/progressive-complexity.md for pacing and layering guidance| Skill | When to Use | |-------|-------------| | scribe:slop-detector | After drafting, before approval | | scribe:doc-generator | For companion API reference sections | | scribe:style-learner | To match an existing tutorial voice |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 16,180 | 14,295 | -12% | 1 | 1 | 0% | 3,385 | 4,057 | +20% | 0 | 0 | — |
case-01 | fail→fail | 24,680 | 20,527 | -17% | 1 | 1 | 0% | 4,832 | 5,065 | +5% | 0 | 0 | — |
case-02 | fail→fail | 68,511 | 19,655 | -71% | 1 | 1 | 0% | 4,924 | 5,127 | +4% | 0 | 0 | — |
case-03 | fail→pass | 59,149 | 18,914 | -68% | 1 | 1 | 0% | 4,486 | 4,964 | +11% | 0 | 0 | — |
case-05 | pass→pass | 5,288 | 5,280 | -0% | 1 | 1 | 0% | 904 | 2,331 | +158% | 0 | 0 | — |
case-06 | pass→pass | 19,594 | 18,900 | -4% | 1 | 1 | 0% | 3,280 | 4,309 | +31% | 0 | 0 | — |
case-07 | pass→pass | 15,676 | 25,806 | +65% | 1 | 1 | 0% | 3,056 | 6,294 | +106% | 0 | 0 | — |
case-08 | pass→pass | 5,280 | 6,032 | +14% | 1 | 1 | 0% | 813 | 2,278 | +180% | 0 | 0 | — |
case-14 | pass→pass | 16,156 | 19,410 | +20% | 1 | 1 | 0% | 2,916 | 5,168 | +77% | 0 | 0 | — |
case-09 | pass→pass | 10,499 | 6,875 | -35% | 1 | 1 | 0% | 1,499 | 2,353 | +57% | 0 | 0 | — |
case-10 | pass→pass | 7,556 | 10,939 | +45% | 1 | 1 | 0% | 1,409 | 3,152 | +124% | 0 | 0 | — |
case-11 | pass→pass | 7,434 | 7,245 | -3% | 1 | 1 | 0% | 1,394 | 2,640 | +89% | 0 | 0 | — |
case-12 | fail→fail | 4,524 | 4,912 | +9% | 1 | 1 | 0% | 769 | 2,158 | +181% | 0 | 0 | — |
case-13 | pass→pass | 6,099 | 8,037 | +32% | 1 | 1 | 0% | 1,025 | 2,551 | +149% | 0 | 0 | — |
case-15 | pass→pass | 9,236 | 6,519 | -29% | 1 | 1 | 0% | 1,708 | 2,305 | +35% | 0 | 0 | — |
case-16 | pass→pass | 9,419 | 8,383 | -11% | 1 | 1 | 0% | 1,648 | 2,773 | +68% | 0 | 0 | — |
case-17 | pass→pass | 10,068 | 12,936 | +28% | 1 | 1 | 0% | 2,077 | 3,613 | +74% | 0 | 0 | — |
case-18 | pass→pass | 14,777 | 12,174 | -18% | 1 | 1 | 0% | 3,028 | 3,479 | +15% | 0 | 0 | — |
case-19 | pass→pass | 13,732 | 14,191 | +3% | 1 | 1 | 0% | 2,751 | 3,855 | +40% | 0 | 0 | — |
case-20 | pass→pass | 7,393 | 8,116 | +10% | 1 | 1 | 0% | 1,085 | 2,389 | +120% | 0 | 0 | — |
case-21 | pass→pass | 8,156 | 8,895 | +9% | 1 | 1 | 0% | 1,302 | 2,973 | +128% | 0 | 0 | — |
case-22 | fail→pass | 8,405 | 5,628 | -33% | 1 | 1 | 0% | 1,384 | 2,128 | +54% | 0 | 0 | — |
case-23 | pass→pass | 15,356 | 14,656 | -5% | 1 | 1 | 0% | 2,644 | 3,927 | +49% | 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. The headline lift of +9 percentage points is the difference between those two pass rates over the 23 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.