build-interactive-tutorial
将纯 Markdown 课程源编译为本地交互式学习网页(A Tour of Go 风格与 Docked Studio): 解析 lessons/*.md 中的 :::snippet / :::callout / :::quiz / :::dissection / :::challenge / :::spotbug…
Skill by Windy-Dance
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/windy-dance-build-interactive-tutorial
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/build-interactive-tutorial
Tools it pre-approves 6
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
readwriteeditbashglobgrep
What's inside
- Skill name
build-interactive-tutorial- Description
- 将纯 Markdown 课程源编译为本地交互式学习网页(A Tour of Go 风格与 Docked Studio): 解析 lessons/*.md 中的 :::snippet / :::callout / :::quiz / :::dissection / :::challenge / :::spotbug / :::reflect / :::compare 语义块与多 Tab 工作台(visualizer/plot/playground), 静态质检后构建 Studio 站点,并提供本地沙箱代码执行与自动化断言验证服务(/api/check)。 当用户要创建/编辑编程、算法或数学的交互式教程,编写或修改课程 Markdown, 编译课程源,启动本地教程服务,设计课程轨道结构时使用。 不适用于:普通文档站点、非教程性质的网页开发、不需要代码演练的纯阅读材料。
- License
- Apache-2.0
- Allowed tools
- read, write, edit, bash, glob, grep
- Instructions
- 66 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (39)
- SKILL.md
- .gitkeep · assets/compiler/
- builder.py · assets/compiler/
- linter.py · assets/compiler/
- parser.py · assets/compiler/
- server.py · assets/
- .gitkeep · assets/static/
- app.js · assets/static/
- index.html · assets/static/
- style.css · assets/static/
- chart.umd.min.js · assets/static/vendor/chart/
- codemirror.min.css · assets/static/vendor/codemirror/
- codemirror.min.js · assets/static/vendor/codemirror/
- go.min.js · assets/static/vendor/codemirror/mode/go/
- python.min.js · assets/static/vendor/codemirror/mode/python/
- cytoscape.min.js · assets/static/vendor/cytoscape/
- KaTeX_AMS-Regular.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Caligraphic-Regular.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Main-Bold.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Main-Italic.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Main-Regular.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Math-BoldItalic.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Math-Italic.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Size1-Regular.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Size2-Regular.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Size3-Regular.woff2 · assets/static/vendor/katex/fonts/
- KaTeX_Size4-Regular.woff2 · assets/static/vendor/katex/fonts/
- katex.min.css · assets/static/vendor/katex/
- katex.min.js · assets/static/vendor/katex/
- curriculum-design-matrix.md · references/
- dsl-spec.md · references/
- pedagogy-scaffolds.md · references/
- security-and-sandboxing.md · references/
- visual-and-pedagogy-design-spec.md · references/
- .gitkeep · scripts/
- compile.py · scripts/
- new_topic.py · scripts/
- serve.py · scripts/
- .gitkeep · tutorials/
SKILL.md (first lines)
# Build Interactive Tutorial
将 `tutorials/<topic>/{manifest.md, lessons/*.md}` 编译为交互式学习站点的引擎技能。
## 流水线总览
```text
lessons/*.md ──parser.py──▶ AST ──linter.py──▶ 绿 ──builder.py──▶ dist/
│
server.py ◀─────┘ (静态托管 + 沙箱执行 + /api/check)
```
浏览器端永不解析 Markdown:高亮 Token 在构建期预计算,运行时只做交互编排。
## 工作流
### P0 环境探测
探测宿主工具链(go/rustc/gcc/python/node…),能力清单写入教程 manifest;
缺失的语言标记为只读模式,不阻塞其他语言。
### P1 课程解构
用 7-Track 框架拆解目标主题 → [curriculum-design-matrix.md](references/curriculum-design-matrix.md)。
每课一个原子概念,核心叙述 150~250 字,30 秒内可触发首次运行与旋钮交互。
项目暗线贯穿全局,配置实战任务里程碑。
`scripts/new_topic.py` 生成 tutorials/<topic>/ 骨架。
### P2 苏格拉底与费曼式创作
按 DSL 规范写课:[dsl-spec.md](references/dsl-spec.md)。
遵循四大铁律(一课一旋钮、预测-验证闭环、对比出真知、物理锚定与类比失效边界)。
结合 Wave 1 语义块:
- `:::challenge`:实战挑战与 `/api/check` 自动化断言判定;
- `:::spotbug`:费曼老师找茬题;
- `:::reflect`:直觉自述与模型对齐;
- `:::compare`:双栏并排概念对比;
- `panel: tabs[...]` / `panel: visualizer[...]`:右侧多态工作台过程动画。
### P3 编译闭环
`python skills/build-interactive-tutorial/scripts/compile.py <topic>`
四重质检不绿不许过:缩进严谨性 / 可编译探测 / 交互块完备性 / 高亮预编译。
linter 报告是唯一验收依据,禁止肉眼放行。
### P4 交付验证
server.py 拉起本地服务,按 Pre-flight 清单逐项核对(死循环超时、CJK 渲染、
光标对齐、目录树交互)。交付物默认 `dist/{index.html, data.js}`,`--single` 出单文件。
## 物理红线(不可协商)
1. 双层编辑器必须 `font-variant-ligatures: none !important;`
2. 行号容器必须 `white-space: pre !important;`
3. 自动补全严禁劫持 Enter 换行
4. subprocess 一律列表传参,禁 `shell=True`;服务只绑 127.0.0.1
5. 等宽字体栈显式绑定 CJK 回退;注释禁伪斜体;依赖变动必须回写根 requirements.txt
## 目录职责
| 路径 | 内容 |
|---|---|
| assets/compiler/ | parser / linter / builder / highlight(冻结引擎,改前先评审) |
| assets/static/ | Docked Studio 壳 + aquascope SVG 渲染器 |
| assets/server.py | http.server 沙箱服务,127.0.0.1 only |
| references/ | 课程矩阵 / 教学法 / DSL 规范 / 沙箱安全 |
| scripts/ | new_topic.py、compile.py 薄封装 |
里程碑状态与待办见仓库 README 技能表备注列。From Windy-Dance/PearSkills, Apache-2.0.
More from Windy-Dance/PearSkills
- 0.549score
build-prompt
Windy-Dance
提示词结构化构建与优化引擎:通过多维探针式追问识别模糊需求、隐性假设与缺失的验证标准, 按照工业级规范(Anthropic XML 标签规范 / LangGPT 模块化 Markdown 规范 / 契约式规范) 重构提示词,并生成验收标准与边缘评测用例。 当用户需要编写高质量…
SkillBFreshness: B★ 1Claude Code +9 - 0.538score
<skill-name>
Windy-Dance
<一句话说明本技能做什么、何时触发、何时不适用。这是全局常驻检索索引,必须包含触发词与应用边界,写得越具体越容易被正确激活。>
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 23, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/Windy-Dance/PearSkills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Windy-Dance
- 0.549score
build-prompt
Windy-Dance
提示词结构化构建与优化引擎:通过多维探针式追问识别模糊需求、隐性假设与缺失的验证标准, 按照工业级规范(Anthropic XML 标签规范 / LangGPT 模块化 Markdown 规范 / 契约式规范) 重构提示词,并生成验收标准与边缘评测用例。 当用户需要编写高质量…
SkillBFreshness: B★ 1Claude Code +9 - 0.538score
<skill-name>
Windy-Dance
<一句话说明本技能做什么、何时触发、何时不适用。这是全局常驻检索索引,必须包含触发词与应用边界,写得越具体越容易被正确激活。>
SkillBFreshness: B★ 1Claude Code +9
Cite this page
build-interactive-tutorial skill. Agent Mart. https://agentmart.dev/skills/windy-dance-build-interactive-tutorial (last updated 2026-10-24)