skills/worked-example-walkthrough/SKILL.md
Produces step-by-step computational walkthroughs of vector and matrix operations as a sequence of numbered "frames", showing the explicit state at each step. The text-equivalent of a 3Blue1Brown animation — each frame shows what changed and why, so the learner can re-trace the operation by hand. Use when the learner needs to *see* a computation unfold (eigenvalue computation, attention with 3 tokens, gradient descent step, SVD on a 2×2, layer norm on a 3-vector, softmax of a small input), when an explanation has been given but the learner needs to ground it in a worked example, or when introducing an operation that's intimidating in symbol form but trivial in pencil-and-paper form.
npx skillsauth add lyndonkl/claude worked-example-walkthroughInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A walkthrough is a sequence of numbered frames showing the state of a computation at each step. Each frame answers three questions: what's the current state?, what operation produced it?, and what should the learner notice?
This is the closest pure text gets to a 3Blue1Brown animation. The learner can re-trace the operation by hand, and the explicit intermediate states catch confusions that a final-result-only treatment hides.
Quick example (Eigenvalues of a 2×2 matrix):
Compute the eigenvalues of A = [[4, 1], [2, 3]].
Frame 1. State: A = [[4, 1], [2, 3]]. We want λ such that det(A − λI) = 0.
Frame 2. Form A − λI:
A - λI = [[4-λ, 1 ], [ 2, 3-λ]]Frame 3. Compute the determinant: det = (4 − λ)(3 − λ) − 1·2 = (12 − 7λ + λ²) − 2 = λ² − 7λ + 10
Frame 4. Solve λ² − 7λ + 10 = 0: Factor: (λ − 5)(λ − 2) = 0. So λ = 5 or λ = 2.
Frame 5. Eigenvalues: 5 and 2. Quick sanity check: trace(A) = 4 + 3 = 7 = sum of eigenvalues ✓; det(A) = 12 − 2 = 10 = product of eigenvalues ✓.
What to notice: The characteristic polynomial is just det(A − λI) expanded; finding eigenvalues is just root-finding. No magic.
Five frames, ~80 words. The learner can redo this on paper in under a minute.
Copy this checklist and track your progress:
Walkthrough Progress:
- [ ] Step 1: Pick the smallest possible example that exercises the concept
- [ ] Step 2: Write the goal — what we'll compute and why
- [ ] Step 3: Plan the frames (3-7 typically)
- [ ] Step 4: Write each frame: state, operation, notice
- [ ] Step 5: End with a sanity check or invitation to verify
- [ ] Step 6: Optional — invite the learner to redo with a variant
Step 1: Pick the smallest possible example that exercises the concept
The example must be small. 2×2 matrices, 3-vector inputs, 3-token sequences. Bigger examples obscure the structure with arithmetic.
The example must also exercise the concept — not just trivially demonstrate it. A diagonal matrix has trivial eigenvectors; pick a 2×2 that's not diagonal. A scalar attention is trivial; pick at least 3 tokens.
For a catalog of recommended example sizes per concept, see resources/examples.md.
Step 2: Write the goal — what we'll compute and why
Single sentence. "Compute the eigenvalues of A = [[4, 1], [2, 3]]." or "Apply attention to a 3-token sequence with random Q, K, V vectors." The goal frames everything that follows.
Step 3: Plan the frames (3-7 typically)
Each frame is one operation. Sketch the frames before writing them out — this catches the "skipped step" problem before it hits the page.
A frame budget that works for most operations:
If you find yourself wanting >7 frames, either the example is too big (shrink) or the operation has multiple sub-operations that each deserve their own walkthrough.
Step 4: Write each frame: state, operation, notice
Each frame has three parts (see Frame Anatomy):
The "notice" is what distinguishes a walkthrough from a worked solution. A worked solution shows the steps; a walkthrough also says what to look at.
Step 5: End with a sanity check or invitation to verify
Every walkthrough ends with one of:
The sanity check is what tells the learner the result is right. It also doubles as a reusable verification trick they can apply to similar problems.
Step 6 (optional): Invite the learner to redo with a variant
If the learner has time and the example is short, invite them to redo with a small change:
Variants check whether the picture transferred, not just the arithmetic.
Each frame has three parts. Keep them visually distinct.
**Frame N.** [Operation: short verb phrase, what we're doing.]
[State: explicit values, in a code block if needed.]
[Notice: one sentence — what to look at.]
Use a code block for matrices, vectors, and equations. Show actual numbers; resist the urge to leave things symbolic. The point is concreteness.
v = (3, 4)
|v| = √(3² + 4²) = √25 = 5
Short verb phrase: "Compute…", "Apply…", "Substitute…", "Solve…". One line.
One sentence pointing at the most important feature of this frame.
If a frame doesn't earn a notice sentence, it might not need to be its own frame. Consider merging.
The example you choose makes or breaks the walkthrough. Heuristics for choosing:
A walkthrough with a, b, c, d is a derivation, not a walkthrough. Pick numbers like 2, 3, 1, −1 — small enough to compute by eye, varied enough to expose pattern.
Identity matrix, zero vector, all-equal scores — these are too trivial; they don't exercise the operation. The walkthrough learner needs to see what happens when the operation is non-trivially active.
Symmetric matrices have real eigenvalues — easy to spot a bug. Stochastic matrices have a stationary distribution — easy to verify. Pick examples with these checkable properties so Step 5's sanity check is meaningful.
For a recommended example per concept, see resources/examples.md.
Used for one-shot operations: eigenvalue compute, single SGD step, single attention forward pass, softmax of a vector. Length: 3-5 frames. Closing: sanity check.
Used for processes that loop: gradient descent over multiple steps, power iteration finding eigenvectors, diffusion sampling. Length: 5-7 frames showing 2-3 iterations explicitly, then "and so on…". Closing: convergence comment + invitation to predict the limit.
Used to show the contrast between two operations: matrix-vector mul as row-dot vs as column-combination; layer norm vs batch norm; SGD vs Adam on the same gradient. Length: parallel frames in two columns or two passes. Closing: bridge sentence on what makes them equivalent or different.
For one filled walkthrough per pattern, see resources/examples.md.
Av is a derivation; a walkthrough with [5, 11] is a walkthrough. The learner needs to see the values.| Operation | Recommended example | Frame count | |---|---|---| | Matrix-vector mul | A = [[1, 2], [3, 4]], v = (5, 6) | 3 | | Eigenvalues | A = [[4, 1], [2, 3]] | 5 | | Eigenvector for known λ | Same A, λ = 5 | 4 | | SVD | A = [[3, 1], [1, 3]] (symmetric for clean SVD) | 6 | | Softmax | x = (2, 1, -1) | 4 | | Cross-entropy | p = (1, 0, 0), q = (0.7, 0.2, 0.1) | 3 | | Single SGD step | Loss x², start at x = 4, η = 0.5 | 4 | | Attention forward | 3 tokens, d = 2 | 7 | | LayerNorm | x = (1, 5, 9) | 5 | | Backprop on tiny net | y = w₂σ(w₁x), one input/output | 6 | | PCA on tiny dataset | 4 points in 2D | 6 |
For full filled-in walkthroughs of each, see resources/examples.md.
development
--- name: zettel-note description: The note-writing discipline for this vault's evergreen knowledge graph, modeled on a Zettelkasten reading companion and governed by the vault conventions. Enforces declarative-claim titles, one claim per note (atomicity), own-words prose with no block quotes, the piped [[slug|Title]] link form, the labeled link-relationship vocabulary (Confirms/Contradicts/Extends/Context/Prerequisite/Builds-on/Applies/Example-of/Contrasts-with), 3-6 links per note, and search-
development
Plans between-round FIFA World Cup Fantasy transfers — budgets the round's free transfer(s), forces out players whose nation has been eliminated, chases fixture-swing drops, upgrades on value, and decides when a rebuild is large enough to fire the Wildcard instead of spending free transfers one at a time. Ranks candidate in/out pairs by EV gain over each player's remaining survival horizon (delta xEV weighted by progression_carry) MINUS transfer cost (a free transfer is cheap, a points hit is real, churning the squad for marginal swings is a critic flag), and tags forced/fixture/upgrade priority. Emits a `transfer-plan` signal. Use when called by wc-squad-architect (whose transfer work this skill is the engine for) and by the strategists in the populate stage when their candidate is transfer-adjacent rather than a full rebuild.
testing
Reads and updates the FIFA World Cup Fantasy tournament state machine (footballfantasy/context/tournament-state.md) — the temporal backbone tracking phase (pre-tournament → group MD1-3 → R32 → R16 → QF → SF → final), budget ($100m group / $105m knockouts), nation cap (3 group, loosening in knockouts), chips remaining, surviving nations, each owned player's elimination-risk horizon, and deadlines. Validates state on load (count/feasibility checks), applies phase transitions, and appends to the append-only state log (never silent overwrite). Use to load state at the start of a run and to commit state changes after the manager makes a move.
development
Validates and persists FIFA World Cup Fantasy signal files to signals/YYYY-MM-DD-<type>.md. Checks the required frontmatter (type, round, date, emitted_by, confidence, source_urls), range-checks declared numeric signals, confirms every factual claim carries a source URL or "manager-provided", rejects unknown signal types, and refuses to persist a signal that fails validation (logging the failure instead). Keeps the inter-agent signal layer auditable so downstream agents can trust what they read and never re-derive it. Use whenever an agent or skill writes a signal.