Expert in visualizing and explaining braid theory, knot mathematics, and topological concepts for educational purposes. Use for creating interactive visualizations, explainer cards, step-wise for general math tutoring, pure knot invariant computation, or non-educational knot theory research.'
npx skills add https://github.com/curiositech/some_claude_skills --skill 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.
✅ Use for:
❌ NOT for:
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."
σ₁ (Left-over-middle):
1 2 3 2 1 3
│ │ │ │ │ │
│ ╲ │ │ → │ │ │
│ ╳ │ │ │ │
│ ╱ │ │ │ │ │
│ │ │ │ │ │
σ₂ (Middle-over-right):
1 2 3 1 3 2
│ │ │ │ │ │
│ │ ╲ │ → │ │ │
│ ╳ │ │ │ │
│ │ ╱ │ │ │ │
│ │ │ │ │ │
σ₁σ₂σ₁ = σ₂σ₁σ₂ (The "braid relation")
This isn't just algebra - it's a physical fact about moving strings:
Create animations showing both paths side-by-side, arriving at identical results.
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>
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' }
];
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 │
└─────────────────────┴─────────────────────┘
Symptom: Starting with "B₃ = ⟨σ₁, σ₂ | σ₁σ₂σ₁ = σ₂σ₁σ₂⟩"
Problem: Readers without group theory background are immediately lost. The notation is correct but pedagogically backwards.
Solution:
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:
Symptom: "The complexity is 7" without explaining what that means practically
Problem: Numbers are meaningless without grounding in physical reality
Solution:
Each strand gets a consistent color throughout all diagrams:
This makes tracking permutations intuitive.
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)
Create mappings to everyday objects:
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!";
}
}
}
Purpose: Let users discover that σ₁σ₂σ₁ = σ₂σ₁σ₂ through experimentation.
Features:
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
When using the simulation's physics engine for demonstrations:
This skill encodes: Visual pedagogy for braid theory | Explainer card patterns | Animation specifications | Anti-patterns in math education | Physical-first teaching approach
Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.
Build evidence-traceable market research reports and assumption-driven market sizing or forecast scenarios. Use for market definition, industry and customer evidence, competitive landscapes, TAM/SAM/SOM reconciliation, forecast sensitivity, and auditable report scaffolds.
Advanced content and topic research skill that analyzes trends across Google Analytics, Google Trends, Substack, Medium, Reddit, LinkedIn, X, blogs, podcasts, and YouTube to generate data-driven article outlines based on user intent analysis
Shopify store command center. Orders, inventory, fulfillment, analytics, and store health. Works with any Shopify store via Admin API.
Production incidents dashboard. Reads ECS health, Sentry errors, CI failures. Offers to dispatch fix agents for active fires.
YOLO mode. Spawns 4 parallel C-suite agents (CEO, CTO, CFO, COO). Each analyzes the business from their perspective using ALL available data. Produces unfiltered Hard Truths report. After user types YOLO, autonomously runs the business for a day using /loop.
Research computing toolkit for optoelectronic information science and engineering, MATLAB/Octave, Python scientific analysis, signal processing, image processing, statistics, simulation, optimization, publication figures, sensor/time-series data, citation lookup, and common scientific libraries. Use when the user asks for MATLAB code, scientific Python, data analysis, plots, simulations, formulas, statistics, machine learning, optical/physical/materials computation, or reproducible research workflows.
> Verify statistics and claims in blog posts by fetching cited source URLs and checking if the claimed data actually appears on the page. Extracts all load-bearing claims (statistics, product or policy claims, ranking and comparative claims, named sources), validates cited URLs before fetching, and scores match confidence (exact match 1.0, paraphrase 0.7-0.9, not found 0.0). Flags uncited claims as UNVERIFIED. Use when user says "fact check", "verify statistics", "check sources", "validate claims", "factcheck", "source verification".
Take curiositech/knot-theory-educator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.