mcpField
K
knot-theory-educator

knot-theory-educator

github.com/curiositechCreative & media257172 installsUpdated 2d ago
Repository

About knot-theory-educator

Knot Theory Educator is a skill for turning braid theory and topology into visual, interactive learning materials. It is intended for educators and content creators, with a physical-first approach that introduces movement before formal notation.

Key features

  1. 01Explain braid generators visually
  2. 02Create step-by-step animations
  3. 03Design mathematical explainer cards
  4. 04Compare two- and three-strand braids
  5. 05Illustrate the Yang-Baxter relation
  6. 06Translate algebra into physical intuition

Use cases

  1. 01Teach braid generator operations
  2. 02Show equivalent paths in the braid relation
  3. 03Explain why strand count changes complexity
  4. 04Build interactive lessons about braids

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/curiositech/some_claude_skills --skill knot-theory-educator

After installing, type/knot-theory-educatorin Claude Code to confirm it loaded.

Bundled files.claude-plugin/plugin.jsonreferences/knot-garden-education.md

Details

From the project README

Knot Theory Educator

Transform abstract braid theory and topological concepts into intuitive, visual, interactive learning experiences. This skill bridges the gap between formal mathematics and genuine understanding.

When to Use

✅ Use for:

  • Creating visual explanations of braid generators (σ₁, σ₂, etc.)
  • Building step-wise animations showing crossing sequences
  • Designing explainer cards for mathematical terms
  • Translating group theory concepts into physical intuition
  • Creating interactive demonstrations of 2-strand vs 3-strand differences
  • Illustrating why certain operations commute (or don't)

❌ NOT for:

  • Pure computation of knot invariants (Jones polynomial, etc.)
  • Academic research-level proofs
  • General mathematics tutoring unrelated to braids/knots
  • Software architecture decisions for visualization frameworks

Core Principle: The Physical-First Approach

Shibboleth: Experts explain braids through physical manipulation first, notation second.

Novice approach: "σ₁ is a generator of B₃ satisfying..."
Expert approach: "Imagine holding three strings. σ₁ means 'cross the
                  left string OVER the middle one.' Now they've swapped
                  positions. σ₁⁻¹? Cross it back UNDER."

Visual Vocabulary

The Core Crossing Diagrams

σ₁ (Left-over-middle):

  1   2   3          2   1   3
  │   │   │          │   │   │
  │ ╲ │   │    →     │   │   │
  │   ╳   │          │   │   │
  │ ╱ │   │          │   │   │
  │   │   │          │   │   │

σ₂ (Middle-over-right):

  1   2   3          1   3   2
  │   │   │          │   │   │
  │   │ ╲ │    →     │   │   │
  │   ╳   │          │   │   │
  │   │ ╱ │          │   │   │
  │   │   │          │   │   │
The Yang-Baxter Relation Visualized

σ₁σ₂σ₁ = σ₂σ₁σ₂ (The "braid relation")

This isn't just algebra - it's a physical fact about moving strings:

  • Left path: Cross left-over-middle, then middle-over-right, then left-over-middle again
  • Right path: Cross middle-over-right, then left-over-middle, then middle-over-right again
  • BOTH end up with strings in the same final configuration!

Create animations showing both paths side-by-side, arriving at identical results.

Explainer Card Patterns

Pattern: Term Definition Card

For bolded terms like "word problem", "Garside normal form", etc.:

<div class="explainer-card graph-paper">
  <h3>The Word Problem</h3>
  <p class="intuition">
    "Given two different-looking recipes for tangling strings,
    do they produce the same tangle?"
  </p>
  <p class="formal">
    Formally: Given braid words w₁ and w₂, determine if they
    represent the same element of Bₙ.
  </p>
  <p class="example">
    Example: Is σ₁σ₂σ₁ the same as σ₂σ₁σ₂? (Yes! Yang-Baxter)
  </p>
  <p class="complexity">
    Solved by Artin (1947) - polynomial time in word length
  </p>
</div>
Pattern: Step-wise Animation Card

For processes like "how crossings accumulate":

// Animation sequence for σ₁σ₂σ₁⁻¹
const steps = [
  { state: 'initial', label: 'Three untangled strands: ε (identity)' },
  { state: 'after_s1', label: 'σ₁: Left crosses over middle', highlight: [0,1] },
  { state: 'after_s2', label: 'σ₂: Middle crosses over right', highlight: [1,2] },
  { state: 'after_s1_inv', label: 'σ₁⁻¹: Left crosses UNDER middle', highlight: [0,1] },
  { state: 'final', label: 'Result: Strands repositioned, complexity = 3' }
];
Pattern: Comparison Card

For "why 3 dogs is fundamentally different from 2":

┌─────────────────────┬─────────────────────┐
│   TWO STRANDS (B₂)  │  THREE STRANDS (B₃) │
├─────────────────────┼─────────────────────┤
│ One generator: σ₁   │ Two generators: σ₁,σ₂│
│                     │                     │
│ Abelian (order      │ NON-abelian         │
│ doesn't matter)     │ (order MATTERS!)    │
│                     │                     │
│ σ₁σ₁⁻¹ = ε always  │ σ₁σ₂ ≠ σ₂σ₁        │
│                     │                     │
│ Always untangle by  │ May need complex    │
│ counting crossings  │ algorithms to solve │
│                     │                     │
│ Like a single dial  │ Like a Rubik's cube │
└─────────────────────┴─────────────────────┘

Common Anti-Patterns

Anti-Pattern: Notation Before Intuition

Symptom: Starting with "B₃ = ⟨σ₁, σ₂ | σ₁σ₂σ₁ = σ₂σ₁σ₂⟩"

Problem: Readers without group theory background are immediately lost. The notation is correct but pedagogically backwards.

Solution:

  1. Start with physical demonstration (hold three strings)
  2. Name the basic moves (left-over-middle = σ₁)
  3. Show why certain moves can be reordered
  4. THEN introduce formal notation as shorthand
Anti-Pattern: Static Diagrams for Dynamic Processes

Symptom: A single image showing "before and after" a braid operation

Problem: Braiding is inherently a continuous process. Students need to see the motion, not just endpoints.

Solution:

  • Use step-wise animations
  • Show intermediate states
  • Allow scrubbing forward/backward
  • Highlight which strands are moving at each moment
Anti-Pattern: Complexity Without Consequence

Symptom: "The complexity is 7" without explaining what that means practically

Problem: Numbers are meaningless without grounding in physical reality

Solution:

  • "Complexity 7 means you need at least 7 crossing moves to untangle"
  • "Complexity 3 vs 7: First takes 5 seconds, second takes 30+ seconds"
  • "High complexity = more friction when pulling (Capstan effect)"

Visualization Techniques

Technique 1: Color-Coded Strands

Each strand gets a consistent color throughout all diagrams:

  • Strand 1 (leftmost initially): Red/Ruby
  • Strand 2 (middle initially): Green/Emerald
  • Strand 3 (rightmost initially): Blue/Sapphire

This makes tracking permutations intuitive.

Technique 2: Over/Under Emphasis
  • Over-crossing: Solid line, strand appears "in front"
  • Under-crossing: Broken/dashed line where it passes behind
  • Use shadows or depth cues in 2.5D representations
Technique 3: Time-Slice Representation

Show the braid as horizontal slices:

t=0:  R───G───B  (initial positions)
t=1:  G───R───B  (after σ₁: R crossed over G)
t=2:  G───B───R  (after σ₂: R crossed over B)
Technique 4: Physical Analogy Gallery

Create mappings to everyday objects:

  • "Like braiding hair, but tracking which strand is which"
  • "Like a maypole dance - dancers are strands"
  • "Like tangled headphone cords - same math!"

Interactive Demo Specifications

Demo: The 2 vs 3 Dog Revelation

Purpose: Show why walking 2 dogs is trivially manageable but 3 dogs creates genuine complexity.

Implementation:

// Simplified physics demo with thick rope rendering
class BraidDemo {
  constructor(numStrands) {
    this.strands = numStrands;
    this.crossings = [];
    this.mode = 'interactive'; // or 'playback'
  }

  // Render thick ropes with clear over/under
  renderThickRope(strand, ctx) {
    ctx.lineWidth = 20;
    ctx.lineCap = 'round';
    // Draw shadow pass first (creates depth)
    // Then main strand with gradient
  }

  // Highlight the key insight
  showComplexityDifference() {
    if (this.strands === 2) {
      return "Count crossings. Apply that many σ₁⁻¹. Done.";
    } else {
      return "Must track which strand crossed which. Order matters!";
    }
  }
}
Demo: Yang-Baxter Playground

Purpose: Let users discover that σ₁σ₂σ₁ = σ₂σ₁σ₂ through experimentation.

Features:

  • Two side-by-side braid visualizations
  • Apply operations to each independently
  • Highlight when they reach equivalent states
  • "Aha!" moment when both paths lead to same result

Content Structure for Theory Page

High-Level Page (The Hook)
  • Visual hero: Animated tangled dogs → untangled
  • One-sentence problem statement
  • "Why 3 is magic" comparison card
  • Navigation to detailed topics
Subpage: Braid Basics
  • Interactive strand manipulation
  • Generator introduction with animations
  • "Build your own braid word" playground
Subpage: The Algebra
  • Yang-Baxter with side-by-side proof
  • Word problem explanation
  • Complexity metrics with physical meaning
Subpage: Solutions & Algorithms
  • Rename to "Untangling Strategies"
  • Greedy vs optimal approaches
  • Physical device design concepts
  • ML heuristics exploration
Subpage: Applications
  • Robotics with illustrations
  • Quantum computing connection
  • Surgical robots, cable drones

Decision Tree: What Visualization to Use

Is the concept about static structure or dynamic process?
├── Static (e.g., "what is a braid group?")
│   └── Use: Comparison cards, diagrams with annotations
└── Dynamic (e.g., "how does σ₁ work?")
    ├── Is it a single operation?
    │   └── Use: Before/after with animation between
    └── Is it a sequence?
        └── Use: Step-wise timeline with scrubbing

Integration with Physics Renderer

When using the simulation's physics engine for demonstrations:

  1. Zoom to close-up view: Focus on just the leashes, not full scene
  2. Thick rope rendering: Increase rope thickness for clarity
  3. Slow motion: 0.25x speed for crossing moments
  4. Pause on events: Auto-pause when crossing detected
  5. Annotation overlay: Label which σ just occurred

This skill encodes: Visual pedagogy for braid theory | Explainer card patterns | Animation specifications | Anti-patterns in math education | Physical-first teaching approach

Comments

Markdown supported