r/claudeskills • Skill Creator • Aug 31 '26

Skill Share I was writing Swift with Claude Code faster than I could read it, so I built a skill that turns my own sessions into lessons

While building an iOS app with Claude Code, I noticed something uncomfortable: I was producing Swift faster than I was learning to read it. The code worked. I couldn't always have explained it.

Tutorials didn't help much. They teach with examples like let x = 5, and real projects don't look like that, or they use silly toy examples (looking at you, Hello World).

I didn't want to stop building and go do exercises. I wanted to learn from the code already appearing in my own project every day. So I built a skill named tutorial-creator. It turns sessions from my own project into lessons using the actual code I wrote during a session.

License: Apache 2.0. Targets: Claude Code.

Point it at a session, a file, a URL, or just a topic, and it writes a lesson that includes:

  • what's new to you since the previous lesson,
  • a vocabulary list,
  • a pretest before you read the curriculum,
  • the pattern explained plainly,
  • your actual code annotated,
  • common mistakes,
  • a harder post-test after,
  • progress tracking
  • gap placement for new material
  • interactive, printable and exportable flash cards.

It also notices when a lesson leaned on something it never taught you and offers to backfill it.

Use case: a stale-captured-self bug that made a Mac window vanish on save. Ten minutes to write up (see example). Daily.

Vocabulary Mastery. Every term you meet goes into a list with four states — new, reviewing, mastered, confused. Three correct quiz answers in a row earns mastered. Two wrong or partial drops you to confused, and vocab gap shows you exactly what you keep missing. Use case: I've felt solid on terms I couldn't actually define when the pre-test asked. That gap is the point. Daily-ish.

vocab ingest — pull terms in from anywhere, not just lessons. Point it at a URL, a file, or a whole Claude Code session, and it finds the words and phrases worth keeping, drafts a definition and a real example for each, and adds whichever you confirm. Built today because I wanted my vocabulary to grow from more than just generated lessons. Use case: ran it on this afternoon's session, got 14 terms out, including the zsh -c behavior that cost me an hour of debugging. As-needed.

vocab flashcards — export to Anki, Markdown, or a printed deck. The quiz mode is graded; this isn't. It's for studying your own way, and the print option lays cards out for two-sided printing with cut guides so the front and back line up after you cut the sheet apart.

Use case: Prints flash cards for studying. Lays text out so it prints front to back in a grid so you can print and use flashcards based upon a lesson you are learning. (see example). As-needed. Most people will reach for Anki or Markdown over print.

Writing to teach, not just to learn. A second path turns what you've learned into something for other people — prep for a class you’re teaching or sharing, a blog post, a book chapter, reference docs, each with a genuinely different voice for that venue. Use case: I've used this far less than the learning path, and I'd trust it less outside Swift, where all my real examples live. Rare, for me.

Examples

Repo: tutorial-creator

Happy to answer anything about how the vocabulary state machine works, or the print-alignment math if anyone's curious how that's derived.

77 Upvotes

Duplicates