
Interactive Learning
- 71 installs
- 52 repo stars
- Updated April 10, 2026
- geekjourneyx/interactive-learning
Turn explain-it requests into a real learning loop that judges what and how deeply to learn, forces minimal verification of understanding, and can generate checkpoint HTML pages.
About
A judgment-and-verification tutor that decides what is worth learning, drives comprehension through questioning and recall, and exports learning state as checkpoint cards. A developer uses it when they want to genuinely understand a text, article, or document rather than just get a summary.
- Combines what to learn, how to learn, and how to prove understanding
- Dynamically generates checkpoint HTML for review and sharing
Interactive Learning by the numbers
- 71 all-time installs (skills.sh)
- Ranked #1,491 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/geekjourneyx/interactive-learning --skill interactive-learningAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 71 |
|---|---|
| repo stars | ★ 52 |
| Last updated | April 10, 2026 |
| Repository | geekjourneyx/interactive-learning ↗ |
What it does
Turn explain-it requests into a real learning loop that judges what and how deeply to learn, forces minimal verification of understanding, and can generate checkpoint HTML pages.
Files
Interactive Epistemic Learning
这是一个 judgment-and-verification tutor。
它的任务不是总结内容,不是默认陪聊,不是默认名人聊天室,也不是知识卡片生成器。 它要把三件事合并起来:
- 学什么
- 怎么学
- 怎么证明自己学会了
何时触发
当用户的目标明显是“学懂而不是总结”时,使用这个 skill,尤其是:
- 想让系统带着学习一段文本、文章、链接或文档
- 想从陌生内容中快速抓核心,再逐步弄懂
- 想通过提问、复述、迁移来验证自己是否真的理解
- 想把当前学习状态导出为 checkpoint card,便于复盘或分享
- 虽然嘴上在说“解释一下”,但真实需求更像“带我弄懂”
不要用于:
- 纯摘要
- 纯改写
- 纯信息卡生成
- 纯闲聊式解释
如果边界模糊,优先判断用户是不是在追求 understanding over summary。是,就触发。
简短示例:
- 应触发:
别总结,带我真正学懂这段话 - 应触发:
你解释一下,但顺便测测我是不是真懂 - 不应触发:
给我三点摘要 - 不应触发:
做个好看的学习卡片发社媒
默认流程
唯一标准流程如下:
1. 接收输入 2. 自动分诊:skim / study / park 3. 产出初步概念边界与依赖 4. 仅在必要时问最多 3 个短问题 5. 锁定一个最小 concept cluster 6. 执行最小诊断,再进入验证闭环:讲一点 -> 让用户说 -> 测一下 -> 修一下 -> 换场景再测 7. 给一个碎片时间可完成的 next step 8. 如有需要,动态生成 checkpoint HTML
两条硬约束:
- 问题不固定前置,必须在初步 triage 和初步概念结构之后,按是否影响路径再决定是否提问
- 验证不是高压开场,先做最小诊断,再逐渐加严
把这个流程当成主干,不要为了“更自然”随意改造成长陪聊或长摘要。
输入
支持:
- 原始文本
- 链接
- 文档内容
- 文章摘录
- 用户自己的问题或主题
可选约束:
- 学习目标
- 当前基础
- 时间预算
- 是否导出 checkpoint HTML
如果用户没有给够约束,先做初步 triage 和初步概念结构,再决定是否追问。
提问策略
- 最多 3 个问题
- 每个问题必须短
- 只问会改变路径的问题
- 优先顺序:
1. 学习目标 2. 当前基础 3. 时间预算
- 用户已给出则不重复问
- 能推断就不问
- 在支持问答工具的环境里,优先使用工具,而不是正文长串追问
- 如果不需要追问,直接进入学习闭环
不要把“先问清楚再开始”当成默认礼仪。这个 skill 默认先推进,再按需要补问题。
学习推进原则
在 Concept Structuring 阶段,提炼:
- 3-7 个核心概念
- 依赖顺序
- 概念边界
- 相邻概念
- 常见误区
- 当前最值得先学的一个
concept cluster
保留两个保险丝:
- 不把所有内容都切成碎概念
- 当主题依赖完整论证、长链结构、原著节奏时,允许保留较长连续上下文
concept cluster 是学习入口,不是唯一合法知识形态。
推进原则:
- 不因清晰而推进
- 不因熟悉而推进
- 不因认同而推进
- 只因用户能重建、能应用、能迁移而推进
第二个保险丝:
- 不一上来高压测试
- 第一步是最小诊断
- 根据失败类型逐步加严
- 若用户明显脆弱或完全陌生,先搭最小脚手架再测
默认高价值动作:
- 核心压缩
- 费曼复述
- 第一性原理拆解
- 边界测试
- 对比辨析
- 迁移应用
- 错误类型修正
默认避免:
- 长摘要优先
- 默认名人对话
- 默认多视角扩写
- 只靠熟悉感推进
- 用流畅表达替代验证
设计诊断问题时,优先打在该主题最容易被“假懂”的区别上。 不要为了完成流程而提一个泛泛的问题;问题应该能暴露边界混淆、因果误解或应用失败。
如果用户明显只是想快速浏览,不要硬拉进高摩擦验证;先用 skim 或 park 判断保护体验。
Expert Lens 与回源
可以使用 expert lens,但只能作为 contrastive lens:
- 不能作为默认老师
- 不能作为真实性背书
- 不能替代 source grounding
- 一旦使用,必须回到用户自己的重建与测试
出现以下任一情况时,建议回源:
- 核心概念
- 争议概念
- 易被 AI 扭曲
- 原文结构本身重要
- 长链论证不可压缩
回源的目的不是“更学术”,而是防止把 AI 压缩后的清晰感误当成原始理解。
Checkpoint HTML 导出契约
仓库内不保留固定 HTML 页面。 checkpoint card 必须在运行时根据当前学习状态动态生成。
只有在以下条件之一满足时才导出:
- 用户明确要求分享或复盘
- 学习状态已形成稳定 checkpoint
稳定 checkpoint 的最小条件:
- 已有明确主题
- 已有稳定概念骨架
- 已识别一个当前 frontier
- 已生成一个下一步动作
默认输出建议:
/tmp/interactive-learning-checkpoint-[slug].html仅当开始生成 checkpoint card 时,读取:
references/design-spec.md
该 reference 是 checkpoint card 的唯一细节规范来源,包含:
- 页面信息架构
- 字段契约
- 视觉与交互约束
- 禁止项与验收标准
如果用户只是要学习,不要主动生成页面。页面是 checkpoint,不是默认终点。
.codex
.DS_Store
*.swp
*.tmp
{
"skill_name": "interactive-learning",
"evals": [
{
"id": 1,
"prompt": "我把一篇关于印刷机和 AI 内容泛滥的逐字稿贴给你了。不要只总结,带我真正学懂这段话到底在主张什么、隐含了什么前提、哪些地方容易让我产生‘我好像懂了’的错觉。最后给我一个 2 分钟内能完成的下一步复习动作。",
"expected_output": "Skill 应触发 interactive epistemic learning 流程,而不是退化成摘要。输出应包含 triage、概念边界、一个最小 concept cluster、最小诊断式互动,以及一个可执行的 next step。",
"files": [],
"expectations": [
"The response does not open with a plain summary.",
"The response contains a triage judgment such as skim, study, or park.",
"The response identifies a smallest useful concept cluster or equivalent focused learning unit.",
"The response includes at least one explicit understanding check directed at the user.",
"The response ends with one concrete short next step."
]
},
{
"id": 2,
"prompt": "你解释一下 opportunity cost 吧。我不是要考试定义,我是真的总觉得自己懂这个词,但一到实际决策就不会用。你别长篇讲概念,带我确认我到底懂没懂。",
"expected_output": "Skill 应识别这是‘解释一下’外表下的理解验证需求。应优先做最小诊断,再通过重建、比较或应用来验证理解,避免直接长篇定义。",
"files": [],
"expectations": [
"The response treats the request as understanding validation, not just explanation.",
"The response starts with a minimal diagnostic before extended teaching.",
"The response uses application, comparison, or reconstruction to test understanding.",
"The response avoids a long dictionary-style definition as the main move.",
"The response tests the concept's key distinction, not just generic recall."
]
},
{
"id": 3,
"prompt": "我刚学了一轮‘反脆弱’和‘鲁棒性’的区别。现在请把我的当前学习状态整理成一个 checkpoint 页面,方便我晚点继续学,也方便发给朋友看我卡在哪。不要做成课程页,也不要做成长摘要。",
"expected_output": "Skill 应在满足 checkpoint 条件时进入导出路径,读取 design spec,并生成以 resume / retrieve / share state 为目标的 checkpoint card 结构,而不是 summary page 或 mini app。",
"files": [],
"expectations": [
"The response switches into checkpoint export mode rather than continuing a full teaching loop.",
"The response includes topic frame, concept spine, frontier, active prompt, next step, and source anchor or explicit equivalents.",
"The response keeps exactly one main active prompt.",
"The response does not become a long summary, dashboard, or course outline.",
"The active prompt clearly targets the frontier rather than asking a generic review question."
]
}
]
}
[
{
"query": "带我学懂这篇文章,不要给我摘要。我总觉得自己看懂了,但隔天就说不出来。",
"should_trigger": true
},
{
"query": "下面这段关于边际效用的文字你帮我一点点带着学,我想确认自己到底会不会用,不只是记住定义。",
"should_trigger": true
},
{
"query": "interactive learning 一下这段材料,我想最后导出一个 checkpoint 页面给自己复盘。",
"should_trigger": true
},
{
"query": "解释一下二阶效应,但别停在解释,我想被你测一下我是不是真的懂。",
"should_trigger": true
},
{
"query": "我在看《穷查理宝典》一段关于激励机制的内容,能不能别总结,直接带我学明白它的核心概念和边界?",
"should_trigger": true
},
{
"query": "帮我把这个陌生领域快速拆成几个关键概念,然后带我验证我理解到了哪,不要一股脑讲完。",
"should_trigger": true
},
{
"query": "我想把刚刚学到一半的内容导出成学习状态页,重点是我卡在哪和下一步该干嘛。",
"should_trigger": true
},
{
"query": "这段论文摘要我不是想翻译,我是想真正吃透。你先判断我该精读还是先略读,再带我走。",
"should_trigger": true
},
{
"query": "把这段文字总结成三点,我要发群里。",
"should_trigger": false
},
{
"query": "帮我润色一下这段关于 AI 学习方法的文案,口语化一点。",
"should_trigger": false
},
{
"query": "直接给我做一张信息卡,视觉好看一点,我要发到小红书。",
"should_trigger": false
},
{
"query": "这篇文章太长了,给我一个一分钟能看完的摘要就行。",
"should_trigger": false
},
{
"query": "把这个链接内容提炼成 bullet points,我不需要互动。",
"should_trigger": false
},
{
"query": "我想和亚里士多德、费曼、哈耶克一起聊聊这个问题,做个名人聊天室。",
"should_trigger": false
},
{
"query": "生成一个炫一点的 HTML 页面,总结我最近的学习内容,偏展示感,适合分享。",
"should_trigger": false
},
{
"query": "翻译这段英文,然后顺手帮我改写成更通顺的中文。",
"should_trigger": false
},
{
"query": "帮我解释一下沉没成本,我赶时间,直接说人话结论,不用测我懂没懂。",
"should_trigger": false
},
{
"query": "做个学习 dashboard,把每个概念都打分,最好显示完成度百分比。",
"should_trigger": false
},
{
"query": "我想要一个复盘页,但本质上只是想把内容排版得更好看,并不需要继续学习。",
"should_trigger": false
},
{
"query": "根据这本书给我列个书单和延伸阅读,不用带我学。",
"should_trigger": false
}
]
MIT License
Copyright (c) 2026 geekjourneyx
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
interactive-learning
把任意文本、链接、文档或问题,转成一条可验证的学习路径;在合适的时候,再导出一张可复盘、可分享的 HTML checkpoint card。
interactive-learning 是一个面向 interactive learning、learning path、knowledge checkpoint、study with AI 的 skill 仓库。适合想真正学懂、验证理解、继续推进的人。
安装
npx skills add https://github.com/geekjourneyx/interactive-learning安装后,下面这类请求会优先触发这个 skill:
带我学懂这段话,不要只总结你解释一下 opportunity cost,但顺便测测我是不是真懂把我当前学到哪了整理成一个 checkpoint 页面先判断这段材料值得精读还是先略读,再带我学
背景
多数人缺的不是内容,缺的是学习判断:
- 不知道现在这段内容值不值得认真学
- 不知道应该先学哪一块
- 误把“看起来懂了”当成“真的会了”
总结器解决压缩,解决不了误解。 聊天解释解决流畅,解决不了掌握。 这个仓库补的是这块。
这个仓库解决什么问题
核心作用有三件:
- 帮你判断
学什么 - 帮你设计
怎么学 - 帮你验证
你是不是真的学会了
一次“解释一下”,在这里会被升级成一个学习闭环:
- 先分诊:这段内容该
skim、study还是park - 再压缩出最小概念骨架
- 再用短问题或短测试验证理解
- 最后给你一个可继续推进的 next step
学习状态足够稳定时,还会生成一张 checkpoint card,方便下次继续,而不用从头来。
学习方法论
分层阅读 / selective reading概念驱动学习苏格拉底式交互学习费曼式理解检验反馈驱动的自适应学习AI 生成的个性化课程编排
对应到项目里,是几条简单判断:
信息过载是常态
新工具让内容更便宜后,低质量内容一定增加。学习者的筛选和消化能力更重要。
学习单位更接近一组概念
难点通常不止在一本书,而在书背后的概念、边界和依赖。
不同材料需要不同深度
有的略读,有的精读,有的先停放。先判断 skim / study / park 更有效。
AI 更适合做学习路径调度
AI 可以识别知识边界、按理解进度推进、根据反馈调整下一步。
最大的风险是误以为自己懂了
所以系统必须设计理解验证。
默认学习路径是:
判断 -> 拆概念 -> 小步验证 -> 反馈推进 -> 状态保存
它怎么解决
重点是减少“假懂”。
它默认遵循这条路径:
输入材料
|
v
[Triage]
skim / study / park
|
v
[Concept Structure]
核心概念 + 依赖关系 + 当前 frontier
|
v
[Minimal Diagnostic]
先测一下你卡在哪
|
v
[Verification Loop]
讲一点 -> 让你说 -> 测一下 -> 修一下 -> 换场景再测
|
v
[Next Step]
给一个 2 分钟能完成的动作
|
v
[Checkpoint Export]
只有状态稳定时才生成 HTML checkpoint card它刻意避免几种常见坏路径:
- 把所有请求都做成长摘要
- 一上来就高压测试
- 把熟悉感误当掌握
- 把 checkpoint 做成 dashboard、课程页或营销页
当前项目里的实现
当前仓库实现的是这套学习方法的 skill 规则层。
目前仓库里主要有三层:
- `SKILL.md`
定义 skill 何时触发、默认学习流程、提问策略、验证原则、何时导出 checkpoint
- `references/design-spec.md`
定义 checkpoint HTML 页面该如何生成,避免漂移成 summary page、dashboard 或 mini app
- `evals/`
定义这个 skill 的行为测试和触发测试,用来验证它是否真的在做“判断式学习”,避免退化成普通解释器
运行时主要做 4 件事:
1. 判断 先决定该 skim、study 还是 park 2. 拆解 把材料转成概念骨架、依赖关系和当前 frontier 3. 验证 通过最小诊断、复述、比较、应用来检查理解,不停留在顺滑解释 4. 保存 当学习状态足够稳定时,导出 checkpoint card,方便之后继续学习
这是什么
这是一个 interactive epistemic learning skill,也是一个 judgment-and-verification tutor。
普通人怎么用
适合这些场景:
- 你在看一段陌生材料,想真正搞懂
- 你总觉得自己“好像懂了”,但转头说不出来
- 你想把当前学习状态保存下来,方便下次继续
- 你想分享的是“我学到哪、卡在哪”
安全与公开仓库注意事项
这是公开仓库,文档需要避免暴露本地环境细节。
- 不在仓库文档里暴露本机绝对路径
- 不提交运行时生成的 HTML 成品
- 不提交
/tmp下的中间产物 - 不把本地辅助文件、缓存或工作区内容纳入版本控制
仓库结构
- `SKILL.md`
运行时主规则:何时触发、默认流程、提问策略、导出条件
- `references/design-spec.md`
checkpoint card 的唯一细节规范来源
- `evals/evals.json`
skill 行为测试
- `evals/trigger-evals.json`
skill 触发测试
阅读顺序
1. 先看这份 README.md 2. 再看 `SKILL.md` 3. 最后看 `references/design-spec.md`
Interactive Learning Checkpoint Card Design Spec
这是 checkpoint card 的唯一细节规范来源。 它定义:
- 页面定位
- 信息架构
- 数据契约
- 视觉系统
- 交互系统
- 禁止项与验收标准
它不是静态页面源码,不承担仓库内展示功能。
页面定位
页面名称固定为:
Learning Checkpoint Card
页面的真正任务是回答四件事:
1. 你现在在学什么 2. 哪几个概念最关键 3. 你卡在哪 4. 你下一步该干嘛
页面只承担三个任务:
resumeretrieveshare state
设计生成原则
这个页面不是营销页,不是 dashboard,也不是情绪化作品集。 生成时要参考大厂设计系统的 秩序感、可信度、克制,而不是表面风格词。
优先借鉴的三类设计语言:
Claude:温暖、纸感、安静、可信,适合学习与思考场景Notion:阅读友好、边界极轻、结构清楚,适合知识工作流Vercel:秩序精确、边框与层级干净、UI 决策克制,适合结构化信息表达
用于当前项目时,遵循这个组合:
- 默认基底:
Claude式温暖中性色 - 结构纪律:
Notion/Vercel式轻边界与秩序感 - 禁止把三者平均混合成“风格拼贴”
生成页面时,先选一个主导气质,再允许一个次级影响:
1. Warm Editorial 适合概念型、阅读型、需要信任感的学习主题 2. Quiet Workspace 适合结构型、工具型、信息骨架清晰的主题 3. Precise Infra 只在内容明显偏工程、系统、协议时使用
默认优先 Warm Editorial。不要默认黑底,不要默认渐变,不要默认高饱和科技感。
设计参数
为了避免生成结果漂移,页面默认使用这组参数:
Warmth:7/10Visual Density:4/10Motion Intensity:2/10
解释:
- 要有温度,但不能像品牌海报
- 要有信息密度,但不能像控制台
- 要有极轻动效,但不能像产品宣传页
信息架构
动态生成页面必须按以下顺序组织,不能扩成多面板应用:
1. Header
- Topic title
- 一句话
topic_frame - 分享按钮
2. Concept Spine
- 3-7 个节点
- 使用
dependency ladder或极简node chain - 不使用大图谱
3. Current Frontier
- 当前 unresolved confusion
- 页面需要保留一种“尚未完成”的感觉
4. Active Prompt
- 页面唯一主交互区
- 默认一个
reconstructprompt - 先尝试,再 reveal
5. Next Step
- 只给一个 2 分钟动作
- 只能有一个
6. Source Anchor
- 一个回源入口
- 视觉弱化,不抢主任务
数据契约
运行时动态页面至少需要以下字段:
topic_frameconcept_spinefrontieractive_promptnext_stepsource_anchorshare_meta
建议结构:
{
"topic_frame": {
"title": "string",
"summary": "string"
},
"concept_spine": [
{
"label": "string",
"status": "clear|shaky|untested",
"hint": "string",
"note": "string"
}
],
"frontier": {
"question": "string",
"why_it_matters": "string"
},
"active_prompt": {
"type": "reconstruct",
"question": "string",
"reveal_hint": "string",
"secondary_transfer_hint": "string"
},
"next_step": {
"duration": "2 minutes",
"action": "string"
},
"source_anchor": {
"label": "string",
"href": "string"
},
"share_meta": {
"slug": "string",
"generated_at": "ISO-8601 string"
}
}说明:
status是概念节点上的粗粒度状态,不需要单独再建status_markersfrontier必填,因为页面必须明确当前卡点share_meta只服务分享和运行时管理,不参与主内容表达active_prompt应优先测试frontier指向的真实区别,不能只是泛泛复述题
排版与层级
排版要服务“快速恢复学习状态”,不是服务视觉炫技。
- 标题层级必须一眼可扫
- 可以用更有性格的标题字,但正文必须稳定、可读、长时间不累
- 标题与正文要形成明显角色差异,不要所有字都像 UI 文案
- 概念节点标签要短,避免句子化
Current Frontier和Active Prompt的视觉优先级应高于装饰元素
推荐组合:
- 标题:有一点 editorial 气质的 serif 或高质量 neo-grotesk
- 正文 / UI:中性、现代、长读友好的 sans
- 代码或术语:必要时再用 mono
不要:
- 只有一种字体跑完整页
- 标题像营销海报,正文却像后台系统
- 为了“高级感”把正文做得太小或太淡
视觉系统
- 安静
- 克制
- 可信
- 非营销页
- 非产品发布页
色彩角色
颜色不要只写“好看”,要按角色生成:
Canvas
默认用暖白、纸白、浅米色一类低饱和底色
Text Primary
使用接近黑色但不刺眼的深色,不用纯黑
Text Secondary
使用带一点暖度的中灰,不用冷蓝灰
Border / Ring
优先极轻边界、ring-border、shadow-as-border,而不是重描边
Accent
只保留一个主强调色,用于当前最重要的交互或状态
推荐方向:
- 暖纸白 / 象牙白 / 米灰
- 炭黑 / 近黑 / 暖深灰
- 低饱和陶土 / 深蓝 / 柔和墨蓝
不要:
- 同时出现多种高饱和强调色
- 默认紫色科技感
- 蓝紫荧光边框
- 大面积纯黑 + 高亮色点缀的“AI 官网”套路
参考逻辑:
- 内容边界和秩序感像 Vercel / Notion
- 阅读节奏和温度感像 Claude
- 反模板化要求对齐 taste-skill
默认走低饱和、纸感、轻对比路线。
不允许:
- 过亮主色
- UI 仪表盘式蓝紫荧光
- 社交产品式高刺激色
- 黑底霓虹感
排版约束:
- 单栏优先
- 标题强调信息,不强调英雄感
- 正文必须短
- 标签必须克制
- 大部分页面高度应适配手机一屏半到两屏,不追求长滚动
允许:
- 小型依赖链 / 梯子
- 状态 pill
- 一个主 prompt 区
- 一个 next-step box
不允许:
- chart-heavy layout
- 多 panel
- tab system
- chat shell
- persona cards
- carousel
交互系统
允许的交互:
- 点击节点查看极简说明
Try first / Reveal- 标记状态:
clear / shaky / untested - 一键分享
禁止的交互:
- 多题切换
- 多轮问答
- 聊天输入框
- 节点拖拽
- 大图谱漫游
- 复杂筛选
- 模式切换器
页面永远只有一个主测试动作。
transfer 可以保留为次级提示或 next step,但不能和 reconstruct 并列成为第二主 CTA。
状态只允许粗粒度表达:
clearshakyuntested
不允许:
- 每节点百分比分数
- 精细 mastery score
- 自动生成“完成度 xx%”
- 任何暗示“系统已经精确评估你掌握程度”的表达
动效原则
动效只用于帮助理解层级和状态变化。
允许:
- 页面初次进入时的轻微渐入
- 节点展开时的短时过渡
Try first / Reveal的轻反馈
不要:
- 夸张位移动画
- 视差滚动
- 连续发光
- 抢主任务的悬浮效果
- 为了“高级”而加的长延迟
禁止项
以下任一出现,都说明设计偏了:
- 长摘要
- 大段正文
- 进度条
- gamification
- persona 可视化
- 大知识图谱
- 多个并列测试入口
- dashboard 感
- 小型课程页
- “完成度 xx%”
- 页面看起来像作品集切片
运行时输出约束
仓库内不提交固定 HTML 成品。 所有页面必须由 agent 在运行时根据内容动态生成。
建议输出路径:
/tmp/interactive-learning-checkpoint-[slug].html如果没有形成稳定 checkpoint,不生成页面。
验收标准
- 5 秒内看懂“在学什么 / 卡在哪 / 下一步干嘛”
- 主要促进回忆,而不是阅读
- 能帮助用户在中断后重新进入学习
- 对外分享时,能传达学习状态,而不是只传达审美
失败信号
- 用户主要滚动阅读,不主动作答
- 用户把拥有页面当成完成学习
- 页面逐步长成 mini app
- 页面被当成营销物料而不是 checkpoint