skills/geometric-algebraic-bridge/SKILL.md
Presents a math or ML concept simultaneously in geometric form (picture, transformation, region, surface) and algebraic form (formula, matrix, derivation), then writes the explicit one-sentence bridge that says "these are the same thing because…". The signature 3Blue1Brown move applied to any vector/matrix concept. Use when a learner has one view but not the other ("I understand the formula but not what it means" or "I see the picture but can't write it down"), when introducing a concept that genuinely needs both views to land (eigendecomposition, SVD, dot product, attention, gradient, covariance), or when the user mentions "geometric meaning", "intuition behind", "picture for", or "why does the formula look like that".
npx skillsauth add lyndonkl/claude geometric-algebraic-bridgeInstall 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 geometric picture without the algebra leaves the learner unable to compute. An algebraic formula without the picture leaves them unable to see. This skill produces both, side by side, with one sentence between them that says — in plain English — why they are the same thing.
The bridge sentence is the load-bearing piece. Without it, you've handed the learner two unrelated halves and made them do the joining themselves.
Quick example (Dot product):
Geometric: Two arrows in the plane. The dot product a · b measures how much one points along the other — the projection of a onto b's direction, scaled by b's length.
Algebraic: a · b = a₁b₁ + a₂b₂ + … + aₙbₙ. (Or equivalently, a · b = |a| |b| cos θ.)
Bridge: The component-wise sum is the projection-times-length. You can prove it by writing a in coordinates aligned with b — the sum collapses to |a|cos θ × |b|, which is what projection-times-length says geometrically.
Three short blocks. The bridge is the last, and the only one that's not optional.
Copy this checklist and track your progress:
Bridge Progress:
- [ ] Step 1: Identify the concept and which view the learner has
- [ ] Step 2: Construct the missing view, kept short and concrete
- [ ] Step 3: Write the bridge sentence — one sentence, plain English
- [ ] Step 4: Verify the bridge with a small example
- [ ] Step 5: Invite the learner to confirm or push back
Step 1: Identify the concept and which view the learner has
Most users come with one view, not zero. Diagnose which:
concept-rediscovery-walk skill instead — they need to invent the concept first.A diagnostic question that almost always tells you which: "Can you predict what this concept does without computing? Or do you need to compute first?" Predict-without-compute = geometric; compute-first = algebraic.
Step 2: Construct the missing view, kept short and concrete
Build the missing view in 3-5 sentences. Length is a discipline: longer = more chance the learner loses the thread before the bridge.
For per-concept layout templates, see resources/templates.md. For full worked examples, see resources/examples.md.
Step 3: Write the bridge sentence — one sentence, plain English
The bridge is the highest-leverage sentence in the response. It must:
Three bridge formulas that work for most concepts:
The bridge fails when it just restates one view in symbols and the other in words without explaining the why. "Av = λv means v is left in place up to scaling" is not a bridge; it's a translation. The bridge is "and that's why it's the special direction the transformation can't rotate".
Step 4: Verify the bridge with a small example
After the bridge, run one small example end-to-end through both views:
The verification example should fit on one line if possible. Its purpose is to make the bridge concrete — not to teach a new concept.
Step 5: Invite the learner to confirm or push back
End with one of:
This catches the case where the bridge made sense to you but not to the learner. Bridges are subjective; the learner is the only judge.
The bridge is a single sentence (or two) that explicitly identifies the geometric and algebraic descriptions as the same thing, with a because. It is the part of the explanation most often skipped, and the part most often missed by learners who say "I sort of get it but it doesn't click."
For a library of bridge sentences per concept, see resources/templates.md.
**Geometric view.** [3-5 sentence picture, with one specific example.]
**Algebraic view.** [Formula, with 1-2 sentences saying what each term does.]
**Bridge.** [One sentence: X *is* Y because Z.]
**Verify on a tiny example.** [One-line check that both views give the same answer.]
Use when both views are roughly equal weight. This is the default.
**[The view the learner has].** You already have this — [restate in one sentence].
**[The missing view].** [3-5 sentences, ending in the formula or the picture.]
**Bridge.** [One sentence.]
**Verify.** [One line.]
Use when the learner has one view confidently and you don't want to belabor it.
| Geometric | Algebraic | Bridge |
|---|---|---|
| [Sentence] | [Formula] | [Why same] |
Use only for compound concepts with multiple sub-bridges (e.g., SVD = rotate, scale, rotate; attention = ask, match, mix). The table prevents the bridge from getting lost in prose.
For full filled-in templates per concept, see resources/templates.md.
For one filled template per concept type, see resources/examples.md.
| Concept | Geometric noun | Algebraic form | Bridge sentence stub | |---|---|---|---| | Eigenvector | Direction A doesn't rotate | Av = λv | "...because λv is just a rescaling, no rotation." | | Dot product | Projection × length | a₁b₁ + … + aₙbₙ | "...because aligning coordinates with b collapses the sum to |a|cos θ × |b|." | | Determinant | Signed volume scale factor | det(A) formula | "...because the formula counts volume cell-by-cell with sign." | | Covariance matrix | Shape of data cloud (ellipsoid) | Σᵢⱼ = E[(xᵢ−μᵢ)(xⱼ−μⱼ)] | "...because it stretches the unit ball into the cloud's shape." | | Softmax | Point on the simplex | exp(xᵢ)/Σexp(xⱼ) | "...because exp ensures positivity, normalize ensures sum-to-1." | | Jacobian | Local linear map at a point | matrix of ∂fᵢ/∂xⱼ | "...because it's the linear approximation of f near a point." | | SVD | Rotate, scale, rotate | A = UΣVᵀ | "...because U is a rotation, Σ scales axis-aligned, Vᵀ is a rotation." | | Outer product | Rank-1 matrix; rows are scaled v | uvᵀ | "...because each row is uᵢ times the row vector v." |
For full worked examples per concept, see resources/examples.md. For per-concept templates with all four blocks filled in, see resources/templates.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.