mcpbeat

Source Tutorial Writer

willoscar/source-tutorial-writer

| Use when approved tutorial context packs exist and the run needs the final article-first tutorial deliverable.

859 tokens
context cost
the whole folder, loaded on every use
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
496
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill source-tutorial-writer

What comes with it

1 774 bytes besides the instruction
scripts/run.py

The instruction itself

7 sections, as written by the author

Source Tutorial Writer

Writes the final tutorial markdown from approved module packs and the locked C2 structure.

Inputs

  • outline/tutorial_context_packs.jsonl
  • outline/module_plan.yml
  • DECISIONS.md

Output

  • output/TUTORIAL.md

Contract

The tutorial must:

  • start with reader orientation
  • follow the approved module order
  • keep per-module teaching sections explicit
  • keep source notes visible but lightweight

Per module, the writer should emit:

  • ### Why it matters
  • ### Key idea
  • ### Worked example
  • ### Check yourself
  • ### Source notes

Script boundary

scripts/run.py should:

  • block on missing Approve C2
  • load module packs in approved order
  • render the deterministic tutorial scaffold/content into output/TUTORIAL.md

Keep rendering and pack interpretation in shared tutorial tooling, not in the wrapper.

Acceptance

  • output/TUTORIAL.md exists
  • the required reader-orientation sections exist
  • every module includes the required teaching subsections

Non-goals

  • self-loop QA reporting
  • article/slides compilation

How to use it

Copy the folder

Take willoscar/source-tutorial-writer from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.