Not in the top 1,000 by GitHub stars
smashburger-dev/socratic-workshop
AI tutor / learning skill for Claude Code & Codex. Learn any topic by explaining it: Socratic hints, source-grounded study of books, papers and codebases, interactive HTML visuals.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 414b4eadb08f
No earlier version was observed for comparison.
Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
socratic-workshop
When your agent uses it
Learn by explaining a concept to the agent, receiving one Socratic question or requested hint at a time, and revising the explanation. Use for interactive tutoring, learning from an existing project, or a requested Workbench HTML learning visualization.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
2,084 tokensWhen the skill is activated
Reference documents
13,390 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Establish the learning target
- Run the explanation loop
- Visualize when it helps the current gap
- Establish completion
Scripts executed separately
assets/exploded-view-kit.js
Files
.github/FUNDING.ymlasset815 bytes.gitignoreasset62 bytesLICENSEasset1,072 bytesREADME.mddoc5,656 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesSKILL.mdcore11,052 bytesagents/openai.yamlasset260 bytesassets/exploded-view-kit.jsruns93,784 bytesassets/visualization-shell.htmlasset30,263 bytesexamples/README.mddoc3,340 bytesexamples/bottleneck.htmlasset40,504 bytesexamples/flashlight.htmlasset108,322 bytesexamples/gradient-descent.htmlasset42,334 bytesexamples/keyboard-switch.htmlasset109,328 bytesexamples/limo-door.htmlasset111,230 bytesexamples/macbook-pro.htmlasset112,597 bytesexamples/spanish-word-order.htmlasset32,254 bytesexamples/studio-display-xdr.htmlasset110,858 bytesmedia/bottleneck.gifasset1,278,738 bytesmedia/gradient-descent.gifasset337,670 bytesmedia/keyboard-switch.gifasset1,123,947 bytesmedia/learning-loop.gifasset164,401 bytesmedia/learning-loop.jpgasset98,178 bytesmedia/macbook-pro.gifasset5,176,749 bytesmedia/spanish-word-order.gifasset110,983 bytesreferences/codebase-learning.mddoc2,604 bytesreferences/exploded-view.mddoc15,461 bytesreferences/sources.mddoc5,127 bytesreferences/workbench.mddoc27,762 bytes
Read SKILL.md
# Socratic Workshop
The learner does the explaining. Help them find and repair the next gap in their own reasoning. Work in their language and at their pace. Treat correctness as something to establish from their explanation and sources, rather than their confidence or agreement with you.
## Establish the learning target
Use what the learner has already said. Ask only the next question needed to start.
- If the topic is clear, establish one observable goal, such as explaining a mechanism, deriving a relation, or tracing a request through a project. Reuse an existing explanation as the starting point.
- If the topic is unclear, ask what they want to understand. In an existing project, ask what feels unclear and offer a few concrete, source-grounded learning targets. Read [codebase-learning.md](references/codebase-learning.md) for this branch.
- Ask what material they already have when this is unknown. Their book, notes, paper, lecture, or project can be the reference. Ask for only the relevant section or locator when access is needed.
- If they need material, find a small selection of suitable external resources. Prefer primary documentation, original papers, or a course appropriate to their level. Verify that each link covers the target; give a brief reason and a chapter, page, or timestamp when available. If browsing is unavailable, label recommendations as unverified.
Keep studying outside the tutoring conversation. Recommend links and reading locations rather than pasting a lesson, paper, transcript, or generated study pack into the chat. Let the learner return when ready. For a familiar topic or a learner ready to explain, begin immediately. Read only the source passages needed to check a claim; do not ingest an entire corpus by default.View the complete source on GitHubSkills included
- socratic-workshop
Repository facts
- License
- MIT
- Created
- Oct 17, 2026
- Last pushed
- Oct 28, 2026
- Forks
- 2
- Open issues
- 0
- Project activity
- Active
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 7 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 14 dangerous shell commandsin 7 files: assets/exploded-view-kit.js:1117 examples/flashlight.html:1319 examples/gradient-descent.html:523 and 4 more
- 102 network referencesin 14 files: references/sources.md:5 examples/flashlight.html:27 examples/keyboard-switch.html:27 and 11 more
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: assets/exploded-view-kit.js:1
- 1 reference to secretsin 1 file: .gitignore:2
- No requests to vote in Hot
Show all 118 signals by file
.gitignore
- Access to secretsline 2
[Credential-related source omitted]
README.md
- Network accessline 3
By [Noa Katana](https://noakatana.com/work/socratic-workshop/), creative technologist in Munich. - Network accessline 11
Directly inspired by **Miles Cranmer's [How to Avoid AI Brain Rot](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1438)**, especially 23:58–34:33. The visual approach uses my Workbench adapter, inspired by **[Anatomy](https://github.com/wher - Network accessline 15
Install with the [skills CLI](https://github.com/vercel-labs/skills), then choose your agent: - Network accessline 23
| Agent | Start learning | | --- | --- | | [Claude Code](https://code.claude.com/docs/en/skills) | `/socratic-workshop Help me understand L2 regularization. Let me explain first.` | - Network accessline 24
| --- | --- | | [Claude Code](https://code.claude.com/docs/en/skills) | `/socratic-workshop Help me understand L2 regularization. Let me explain first.` | | [Codex](https://developers.openai.com/codex/skills/) | `$socratic-workshop Help me - Network accessline 25
| [Claude Code](https://code.claude.com/docs/en/skills) | `/socratic-workshop Help me understand L2 regularization. Let me explain first.` | - Network accessline 26
| [Codex](https://developers.openai.com/codex/skills/) | `$socratic-workshop Help me understand L2 regularization. Let me explain first.` | - Network accessline 88
- [Miles Cranmer's talk](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1438), shared by MPhil in Data Intensive Science Cambridge, inspired the learning workflow. - Network accessline 89
- [Anatomy](https://github.com/wheresryan22/anatomy) inspired the visual approach and the exploded views, adapted from my Werkbankfiguren work in [Argmin](https://github.com/smashburger-dev/argmin). The exploded views and their PNG/SVG expo - Network accessline 90
- The frosted-glass visual language comes from my chiasma design system, with material and legibility guidance from Apple's [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/materials).
SKILL.md
- Network accessline 50
When requested, use the bundled [Workbench adapter](references/workbench.md). It adapts visualization principles from [Argmin](https://github.com/smashburger-dev/argmin), with visual inspiration from [Anatomy](https://github.com/wheresryan2
assets/exploded-view-kit.js
- Executable scriptline 1
Executable file - Network accessline 381
canvas.setAttribute('role', 'img'); canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 382
canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); leader.setAttribute('class', 'td-leader'); - Network accessline 383
const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 384
leader.setAttribute('class', 'td-leader'); const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); leaderLine.setAttribute('visibility', 'hidden'); - Network accessline 385
const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); - Dangerous shell operationline 1117
const rm = reducedMotion.matches; - Dangerous shell operationline 1146
state[prop] = mix(an.from, an.to, rm ? 1 : easeOutCubic(p)); - Network accessline 1785
let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`;
assets/visualization-shell.html
- Network accessline 40
--ground-bottom:oklch(0.905 0.035 68); /* Fine noise dither (~4%) over gradients wider than ~120 px so 8-bit bands never show. */ --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfi - Network accessline 41
/* Fine noise dither (~4%) over gradients wider than ~120 px so 8-bit bands never show. */ --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fract - Network accessline 42
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa
examples/bottleneck.html
- Network accessline 37
--slider-fill:linear-gradient(90deg in oklab,rgba(var(--text-rgb),.16),rgba(var(--text-rgb),.05)); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' - Network accessline 38
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 39
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa
examples/flashlight.html
- Network accessline 27
--select-edge:oklch(var(--amber-lch) / .30); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoi - Network accessline 28
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 29
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa - Network accessline 583
canvas.setAttribute('role', 'img'); canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 584
canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); leader.setAttribute('class', 'td-leader'); - Network accessline 585
const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 586
leader.setAttribute('class', 'td-leader'); const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); leaderLine.setAttribute('visibility', 'hidden'); - Network accessline 587
const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); - Dangerous shell operationline 1319
const rm = reducedMotion.matches; - Dangerous shell operationline 1348
state[prop] = mix(an.from, an.to, rm ? 1 : easeOutCubic(p)); - Network accessline 1985
const totalAfter = ordered.length; /* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; - Network accessline 1986
/* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; svg += `<rect x="${crop.x.toFixed(1)}" - Network accessline 1987
let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`;
examples/gradient-descent.html
- Network accessline 37
--slider-fill:linear-gradient(90deg in oklab,rgba(var(--text-rgb),.16),rgba(var(--text-rgb),.05)); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' - Network accessline 38
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 39
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa - Network accessline 454
} function axisText(text,x,y,anchor='middle'){ const label = document.createElementNS('http://www.w3.org/2000/svg','text'); - Network accessline 455
function axisText(text,x,y,anchor='middle'){ const label = document.createElementNS('http://www.w3.org/2000/svg','text'); label.textContent = text; - Network accessline 456
const label = document.createElementNS('http://www.w3.org/2000/svg','text'); - Dangerous shell operationline 523
const rm = reducedMotion.matches; - Dangerous shell operationline 528
const p = rm ? 1 : Math.min(1,(now-travel.t0)/320);
examples/keyboard-switch.html
- Network accessline 27
--select-edge:oklch(var(--amber-lch) / .30); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoi - Network accessline 28
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 29
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa - Network accessline 583
canvas.setAttribute('role', 'img'); canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 584
canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); leader.setAttribute('class', 'td-leader'); - Network accessline 585
const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 586
leader.setAttribute('class', 'td-leader'); const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); leaderLine.setAttribute('visibility', 'hidden'); - Network accessline 587
const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); - Dangerous shell operationline 1319
const rm = reducedMotion.matches; - Dangerous shell operationline 1348
state[prop] = mix(an.from, an.to, rm ? 1 : easeOutCubic(p)); - Network accessline 1985
const totalAfter = ordered.length; /* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; - Network accessline 1986
/* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; svg += `<rect x="${crop.x.toFixed(1)}" - Network accessline 1987
let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`;
examples/limo-door.html
- Network accessline 27
--select-edge:oklch(var(--amber-lch) / .30); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoi - Network accessline 28
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 29
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa - Network accessline 583
canvas.setAttribute('role', 'img'); canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 584
canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); leader.setAttribute('class', 'td-leader'); - Network accessline 585
const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 586
leader.setAttribute('class', 'td-leader'); const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); leaderLine.setAttribute('visibility', 'hidden'); - Network accessline 587
const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); - Dangerous shell operationline 1319
const rm = reducedMotion.matches; - Dangerous shell operationline 1348
state[prop] = mix(an.from, an.to, rm ? 1 : easeOutCubic(p)); - Network accessline 1985
const totalAfter = ordered.length; /* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; - Network accessline 1986
/* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; svg += `<rect x="${crop.x.toFixed(1)}" - Network accessline 1987
let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`;
examples/macbook-pro.html
- Network accessline 27
--select-edge:oklch(var(--amber-lch) / .30); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoi - Network accessline 28
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 29
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa - Network accessline 583
canvas.setAttribute('role', 'img'); canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 584
canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); leader.setAttribute('class', 'td-leader'); - Network accessline 585
const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 586
leader.setAttribute('class', 'td-leader'); const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); leaderLine.setAttribute('visibility', 'hidden'); - Network accessline 587
const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); - Dangerous shell operationline 1319
const rm = reducedMotion.matches; - Dangerous shell operationline 1348
state[prop] = mix(an.from, an.to, rm ? 1 : easeOutCubic(p)); - Network accessline 1985
const totalAfter = ordered.length; /* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; - Network accessline 1986
/* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; svg += `<rect x="${crop.x.toFixed(1)}" - Network accessline 1987
let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`;
examples/spanish-word-order.html
- Network accessline 37
--slider-fill:linear-gradient(90deg in oklab,rgba(var(--text-rgb),.16),rgba(var(--text-rgb),.05)); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' - Network accessline 38
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 39
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa
examples/studio-display-xdr.html
- Network accessline 27
--select-edge:oklch(var(--amber-lch) / .30); --ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoi - Network accessline 28
--ground-bottom:oklch(0.905 0.035 68); --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTi - Network accessline 29
--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sa - Network accessline 583
canvas.setAttribute('role', 'img'); canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 584
canvas.setAttribute('aria-label', `Exploded 3D view, ${parts.length} parts. The part list follows.`); const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); leader.setAttribute('class', 'td-leader'); - Network accessline 585
const leader = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 586
leader.setAttribute('class', 'td-leader'); const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); leaderLine.setAttribute('visibility', 'hidden'); - Network accessline 587
const leaderLine = document.createElementNS('http://www.w3.org/2000/svg', 'line'); - Dangerous shell operationline 1319
const rm = reducedMotion.matches; - Dangerous shell operationline 1348
state[prop] = mix(an.from, an.to, rm ? 1 : easeOutCubic(p)); - Network accessline 1985
const totalAfter = ordered.length; /* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; - Network accessline 1986
/* 4. emit */ let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`; svg += `<rect x="${crop.x.toFixed(1)}" - Network accessline 1987
let svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${crop.x.toFixed(1)} ${crop.y.toFixed(1)} ${crop.w.toFixed(1)} ${crop.h.toFixed(1)}" font-family="Inter, system-ui">`;
references/sources.md
- Network accessline 5
Miles Cranmer, [How to Avoid AI Brain Rot](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1438), uploaded by [MPhil in Data Intensive Science Cambridge](https://www.youtube.com/@MPhilDISCambridge), 16 October 2026. Requested segment: **23:58 - Network accessline 9
| Interval | Source-grounded design input | | --- | --- | | [24:00–24:59](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1440) | The learner explains; the AI asks questions; gaps lead to hints, reading, and another attempt. | - Network accessline 10
| --- | --- | | [24:00–24:59](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1440) | The learner explains; the AI asks questions; gaps lead to hints, reading, and another attempt. | | [25:00–29:10](https://www.youtube.com/watch?v=uXC7OuCas2Q - Network accessline 11
| [24:00–24:59](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1440) | The learner explains; the AI asks questions; gaps lead to hints, reading, and another attempt. | - Network accessline 12
| [25:00–29:10](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1500) | Ground tutoring in books and papers; recognize limitations around niche subjects and new research. | - Network accessline 13
| [29:11–31:11](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1751) | A worked discussion of L2 regularization and Gaussian priors uses one question at a time, withheld answers, and requested hints. | - Network accessline 14
| [31:12–32:34](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1872) | Interactive concept demonstrations, including the learning rate in gradient descent; generated demos can be wrong. | - Network accessline 15
| [32:35–34:33](https://www.youtube.com/watch?v=uXC7OuCas2Q&t=1955) | Visual inspection can expose implausible agent results. A fitted trajectory crosses a floor despite apparently fitting motion measurements. | - Network accessline 31
The owner also identified [Anatomy by wheresryan22](https://github.com/wheresryan22/anatomy) as visual inspiration. Its upstream repository and MIT license were checked on 17 October 2026. This version credits the approach without bundling - Network accessline 33
The exploded-view mode was inspired by Jakub Krehel's [/teardown skill](https://github.com/jakubkrehel/skills/tree/main/skills/teardown) ([announcement](https://x.com/jakubkrehel/status/2114379959263502712), 25 October 2026; repository MIT- - Network accessline 37
The folder layout and frontmatter follow the [Agent Skills specification](https://agentskills.io/specification), consulted on 17 October 2026. Product-specific UI metadata is kept in `agents/openai.yaml`; the learning workflow does not depe - Network accessline 39
Installation commands follow the [skills CLI](https://github.com/vercel-labs/skills). Invocation syntax follows the official [Codex skills documentation](https://developers.openai.com/codex/skills/) and [Claude Code skills documentation](ht - Network accessline 43
The theme implementation follows the system preference described by [MDN's prefers-color-scheme reference](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme), with a user override. This implementation reference wa
references/workbench.md
- Network accessline 7
Adapted from the Werkbankfiguren work in [Argmin](https://github.com/smashburger-dev/argmin). Retained principles are a visible mechanism, model-derived geometry and numbers, meaningful motion, accessible controls, and explicit limits where - Network accessline 9
The visual approach is also inspired by [Anatomy](https://github.com/wheresryan22/anatomy), an open-source skill for interactive explanations. This adapter is standalone; Anatomy is an inspiration rather than a runtime dependency.
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 1 fact
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionassets/exploded-view-kit.js:383High confidence
Signal confidence: 35 facts
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:15Low confidence
- Network access in prose of documentationREADME.md:23Low confidence
- Network access in prose of documentationREADME.md:24Low confidence
- Network access in prose of documentationREADME.md:25Low confidence
- Network access in prose of documentationREADME.md:26Low confidence
- Network access in prose of documentationREADME.md:88Low confidence
- Network access in prose of documentationREADME.md:89Low confidence
- Network access in prose of documentationREADME.md:90Low confidence
- Network access in prose of the SKILL.mdSKILL.md:50Low confidence
- Executable script in a comment of a file that runsassets/exploded-view-kit.js:1Low confidence
- Network access in code of a file that runsassets/exploded-view-kit.js:381High confidence
- Network access in code of a file that runsassets/exploded-view-kit.js:382High confidence
- Network access in code of a file that runsassets/exploded-view-kit.js:383High confidence
- Network access in code of a file that runsassets/exploded-view-kit.js:384High confidence
- Network access in code of a file that runsassets/exploded-view-kit.js:385High confidence
- Dangerous shell operation in code of a file that runsassets/exploded-view-kit.js:1117High confidence
- Dangerous shell operation in code of a file that runsassets/exploded-view-kit.js:1146High confidence
- Network access in code of a file that runsassets/exploded-view-kit.js:1785High confidence
- Network access in prose of documentationreferences/sources.md:5Low confidence
- Network access in prose of documentationreferences/sources.md:9Low confidence
- Network access in prose of documentationreferences/sources.md:10Low confidence
- Network access in prose of documentationreferences/sources.md:11Low confidence
- Network access in prose of documentationreferences/sources.md:12Low confidence
- Network access in prose of documentationreferences/sources.md:13Low confidence
- Network access in prose of documentationreferences/sources.md:14Low confidence
- Network access in prose of documentationreferences/sources.md:15Low confidence
- Network access in prose of documentationreferences/sources.md:31Low confidence
- Network access in prose of documentationreferences/sources.md:33Low confidence
- Network access in prose of documentationreferences/sources.md:37Low confidence
- Network access in prose of documentationreferences/sources.md:39Low confidence
- Network access in prose of documentationreferences/sources.md:43Low confidence
- Network access in prose of documentationreferences/workbench.md:7Low confidence
- Network access in prose of documentationreferences/workbench.md:9Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.