[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81026":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":16,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":13,"starSnapshotCount":13,"syncStatus":15,"lastSyncTime":26,"discoverSource":27},81026,"learning-workflow-designer","heyu-233\u002Flearning-workflow-designer","heyu-233","一个通过做题的方式来快速学习大型项目的学习工作流。","",null,"Python",30,0,29,2,1,40.1,"MIT License",false,"main",true,[],"2026-06-12 04:01:31","# Learning Workflow Designer\n\n## Runtime install note\n\nFor Codex runtime, do not copy the whole repository into `.codex\u002Fskills`.\nUse the pruned sync script so docs, examples, adapters, images, and GitHub\nworkflow files do not become runtime noise:\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002Fheyu-233\u002Flearning-workflow-designer.git D:\\codex_project\\tutorial\\learning-workflow-designer\ncd D:\\codex_project\\tutorial\\learning-workflow-designer\npython scripts\\sync_codex_skill.py --target $env:USERPROFILE\\.codex\\skills\\learning-workflow-designer\n```\n\nThis keeps only runtime files: `SKILL.md`, `agents\u002F`, `references\u002F`,\n`scripts\u002F`, `assets\u002F`, `templates\u002F`, and `LICENSE`.\n\n\u003Cdiv align=\"center\">\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-2563eb)\n![Codex Skill](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCodex-skill-111827)\n![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude%20Code-adapter-8b5cf6)\n![Outputs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Foutputs-Markdown%20%7C%20HTML%20%7C%20DOCX-16a34a)\n![Mode](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmode-project--lab-f59e0b)\n![Chapters](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdefault-10%20chapters-7c3aed)\n\n**把资料、代码和项目任务，变成能学、能练、能验收、能升级的项目驱动学习包。**\n\n当前是 Codex-first Skill；核心学习包规范保持平台无关，并已提供 Claude Code adapter、Prompt Pack 和 Markdown\u002FJSON 模板。\n\n\u003C\u002Fdiv>\n\n![Skill tree preview](docs\u002Fimages\u002Fskill-tree.png)\n\n## 快速开始\n\n### 安装到 Codex\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002Fheyu-233\u002Flearning-workflow-designer.git $env:USERPROFILE\\.codex\\skills\\learning-workflow-designer\n```\n\n也可以让 Codex 安装：\n\n```text\n请帮我安装这个 skill：https:\u002F\u002Fgithub.com\u002Fheyu-233\u002Flearning-workflow-designer\n```\n\n### 直接这样用\n\n```text\n我想学习这个项目，请整理成学习包。\n```\n\n```text\n进入 project-lab mode，围绕这个小项目生成 10 章学习路线和练习题。\n```\n\n```text\n通过练习一步一步完成这个项目，练习题里要有答题空间、运行记录和验收标准。\n```\n\n```text\n批改我的答案，并更新 learning-progress.json 和 skill-tree.html。\n```\n\n### Claude Code\n\n仓库提供了 Claude Code adapter：\n\n```text\nadapters\u002Fclaude-code\u002F\n```\n\n安装后可以这样触发：\n\n```text\nUse the learning-workflow-designer skill. Enter project-lab mode and generate a 10-chapter learning package in tutorial\u002F.\n```\n\n中文：\n\n```text\n使用 learning-workflow-designer skill。进入项目实验模式，先做材料审计，再生成默认 10 章学习包。\n```\n\n## 它解决什么\n\n很多学习任务的问题不是“没有资料”，而是资料、源码、实验目标和最终项目混在一起，很难知道今天该做哪一步。\n\nLearning Workflow Designer 不是通用 workflow engine。它更准确的定位是 **project-driven learning package designer**：把输入材料整理成一套可执行学习包。\n\n| 原始状态 | 生成之后 |\n|---|---|\n| 老师布置了一串任务，不知道先学哪块 | 拆成默认 10 章学习路线 |\n| 想做项目，但基础知识还没铺好 | 每章练基础，同时推进项目一小步 |\n| 练习题像问答清单，没有动手路径 | 练习包含阅读、实现、运行、观察、排查和验收 |\n| 学完没记录，进度靠感觉 | 用 XP、等级称号和技能树追踪能力节点 |\n| 答案和批改标准分散 | 生成参考答案、验收标准和常见错误 |\n\n## 重做时不会从头来过\n\n如果已经有学习包，skill 会先看已有文件，再决定最小改动范围：\n\n- 复用已有材料审计、章节结构、题目 ID、分值和技能树设置。\n- 只重写用户要求改的章节或文件。\n- 后续补充运行环境、源码、日志、截图、命令、板子信息或评分要求时，只合并进已有学习包，更新相关 `待确认` 项。\n- 只有进度 JSON、分值或节点状态变化时才重新渲染 `skill-tree.html`。\n- 只对本轮改过的中文文件跑编码检查。\n- Project-Lab 和实操题默认不给完整参考答案，只给验收标准、最低提交证据、常见失败点和排查顺序。\n\n## 平台与可迁移性\n\n这个仓库现在优先服务 Codex，因为 Codex Skill 能直接读文件、写学习包、渲染技能树并持续批改进度。但学习包本身不应该被 Codex 锁死。\n\n| 层级 | 当前状态 | 迁移方向 |\n|---|---|---|\n| 核心规范 | 已定义章节、练习、答案、进度 JSON、技能树 | 见 `docs\u002Flearning-package-spec.md` |\n| Codex Skill | 当前主实现 | 继续作为最完整体验 |\n| Claude Code | 已提供初版 adapter | 见 `adapters\u002Fclaude-code\u002F` |\n| Prompt Pack | 已提供可复制提示词 | 见 `docs\u002Fprompt-pack.md` |\n| 模板 | 已提供独立学习包骨架 | 见 `templates\u002Flearning-package\u002F` |\n| CLI | 未实现 | 后续可做材料审计、脚手架、校验和技能树渲染 |\n\n跨平台使用说明见 `docs\u002Fplatform-adapters.md`。\n\n## 输入材料审计\n\n学习包质量会受原始材料影响。材料越清楚，练习越能落到具体文件、命令、日志、硬件现象和验收标准上。\n\n生成完整学习包前，skill 会尽量从 5 个维度检查输入：\n\n| 维度 | 关注点 |\n|---|---|\n| 目标清晰度 | 最终学习目标或项目验收目标是否明确 |\n| 资料可访问性 | 源码、文档、截图、日志、课程资料是否可读 |\n| 环境清晰度 | 板子、系统、工具链、运行命令、端口或设备路径是否明确 |\n| 验收标准 | 是否知道怎样判断“完成了” |\n| 学习者约束 | 当前基础、时间、输出格式、章节数是否明确 |\n\n如果材料不足，它应该先输出“已确认 \u002F 待补充 \u002F 影响”，并把生成结果标记为临时学习包，而不是编造不存在的文件、命令或硬件现象。\n\n## 效果预览\n\n| 技能树 | 练习链路 | 答题空间 |\n|---|---|---|\n| ![Skill tree preview](docs\u002Fimages\u002Fskill-tree.png) | ![Exercise chain preview](docs\u002Fimages\u002Fexercise-chain.png) | ![Annotated exercise preview](docs\u002Fimages\u002Fexercise-annotated.png) |\n\n## Project-Lab Mode\n\n> [!IMPORTANT]\n> Project-Lab Mode 用来处理“我想边学边完成一个具体项目”的场景。它不是只讲知识点，而是从最终项目验收目标倒推学习路线和练习任务。\n\n它会：\n\n1. 提取最终项目目标和验收标准。\n2. 拆出 4 到 8 个项目里程碑。\n3. 保留默认 10 个学习章节，除非用户明确要求改变章节数。\n4. 把项目里程碑映射到 10 个章节里。\n5. 让每章练习都连接基础知识、源码阅读、实现任务、运行观察和失败排查。\n\n> [!NOTE]\n> 章节和里程碑不是一回事。章节是学习节奏；里程碑是贯穿章节的项目实现主线。\n\nProject-Lab 任务通常会包含：\n\n```md\n这一步要做什么：\n怎么做：\n1. 先看\u002F先查：\n2. 再修改\u002F新建：\n3. 然后运行\u002F观察：\n为什么这样做：\n做到什么算完成：\n如果失败，先查：\n填写区：\n- 我看了哪些文件\u002F命令：\n- 我改了什么：\n- 我运行了什么：\n- 我看到了什么现象：\n- 我判断是否完成的依据：\n- 我的具体卡点：写清楚卡在哪个概念\u002F文件\u002F现象，以及已经尝试过什么\n```\n\n## 示例：FreeRTOS 源码学习\n\n输入可以像这样：\n\n```text\n进入 project-lab mode。\n目标是深入研究 FreeRTOS 源码，阅读分析主要流程，运行跟踪调试；\n同时通过以函数为单位的临摹移植，逐步完成一个 IAP 二级启动小项目。\n请生成默认 10 章学习路线、练习题、答题空间和验收标准。\n```\n\n输出会更像一套可做的实验路线，而不是泛泛的知识总结：\n\n| 章节段 | 学习重点 | 项目推进 |\n|---|---|---|\n| 1-2 | 调度器入口、任务创建、链表和 TCB | 建立最小可运行工程和调试观察点 |\n| 3-5 | 上下文切换、tick、临界区、队列 | 以函数为单位临摹移植关键路径 |\n| 6-8 | 定时器、同步机制、内存管理 | 接入 IAP 协议、Flash 分区和校验 |\n| 9-10 | 综合调试、异常恢复、验收报告 | 完成二级启动小项目闭环 |\n\n仓库内置了一个轻量示例：\n\n- `examples\u002Ffreertos-lightweight\u002Fexercises.md`\n- `examples\u002Ffreertos-lightweight\u002Freference-answers.md`\n- `examples\u002Ffreertos-lightweight\u002Flearning-progress.json`\n- `examples\u002Ffreertos-lightweight\u002Fskill-tree.html`\n\n重新渲染示例技能树：\n\n```powershell\npython scripts\u002Frender_skill_tree.py examples\u002Ffreertos-lightweight\u002Flearning-progress.json examples\u002Ffreertos-lightweight\u002Fskill-tree.html --skin engineering\n```\n\n## 核心模式\n\n| 模式 | 适合场景 | 输出重点 |\n|---|---|---|\n| Learning Mode | 从零学习项目、论文、课程或代码库 | 先讲解，再练习，默认 10 章 |\n| Project-Lab Mode | 边学边完成一个具体项目 | 从最终项目验收目标倒推里程碑和练习 |\n| Review Mode | 已学过，想快速复习巩固 | 弱点清单、对照表、短练习 |\n| Practice Mode | 主要想刷题并获得反馈 | 练习题、答案、批改和进度更新 |\n| Exam Mode | 想做正式自测或模拟考试 | 独立试卷、评分标准、单独答案 |\n\n## 生成文件\n\n默认学习模式会生成一个 `tutorial\u002F` 文件夹：\n\n| 文件 | 用途 |\n|---|---|\n| `learning-content.md` | 章节化学习内容，包含主线、知识点和源码\u002F材料阅读路径 |\n| `exercises.md` | 带答题空间的练习题或项目实验任务 |\n| `reference-answers.md` | 参考答案、验收标准、常见错误和排查方向 |\n| `learning-progress.json` | XP、等级、星级、题目分值和能力节点状态 |\n| `skill-tree.html` | 可视化技能树页面，展示等级、称号、章节映射和下一步任务 |\n\n练习题不会只是一串问题。它会保留可填写的答题区，例如空行、记录表、命令输出区、日志路径区和结论区。\n\n平台无关规范见：\n\n- `docs\u002Flearning-package-spec.md`\n- `docs\u002Fplatform-adapters.md`\n- `docs\u002Fprompt-pack.md`\n- `templates\u002Flearning-package\u002F`\n\n## 技能树和等级\n\n技能树由 `learning-progress.json` 驱动。XP 只来自显式带分值的练习，不会凭“感觉懂了”自动加分。\n\n默认 5 级：\n\n| 等级 | 默认称号 | XP 阈值 |\n|---|---|---|\n| Lv.1 | 新手 | 0% |\n| Lv.2 | 初学者 | 25% |\n| Lv.3 | 进阶者 | 50% |\n| Lv.4 | 熟练者 | 75% |\n| Lv.5 | 掌握者 | 100% |\n\n默认大多数项目使用 classic 称号组；少数项目会稳定抽到 `sao`、`eu4`、`hoi4` 或 `civ6` 风格称号，增加一点新鲜感。你也可以在 `learning-progress.json` 里指定 `level_title_set` 或自定义 `level_titles`。\n\n## 质量约束\n\n这个 skill 会尽量遵守以下规则：\n\n- 生成完整学习包前先做材料审计；材料不足时列出待补充项。\n- 重做已有学习包时先判断改动范围，优先复用旧结构，不默认全量重做。\n- 所有题目必须说人话：说明要做什么、怎么做、为什么做、做到什么算完成。\n- 不用“建立环境基线、打通链路、构建能力闭环”这类抽象标题糊弄学生。\n- 默认学习包为 10 章，除非用户明确要求改变章节数。\n- 后面的章节可以复用前面的知识点，前面的章节不能依赖后面才讲的内容。\n- 练习题、试卷和项目实验任务必须留下答题空间。\n- 工程类任务必须包含可观察证据，例如命令输出、日志、截图路径或运行现象。\n- Project-Lab Mode 中，每个主要练习都应该推动最终项目向前完成一小步。\n- Project-Lab 和实操题的参考答案默认可以是轻量验收清单，不强制写完整答案。\n- 对未知文件、命令、接口、硬件现象或验收日志写 `待确认`，不硬编。\n- 中文输出生成后应运行编码检查，避免 PowerShell\u002FCMD 写入导致乱码。\n\n```powershell\npython scripts\u002Fvalidate_text_encoding.py tutorial\n```\n\n## 目录结构\n\n| 路径 | 说明 |\n|---|---|\n| `SKILL.md` | skill 主规则和触发说明 |\n| `references\u002F` | 模式、题型、输出格式、质量检查、技能树规则 |\n| `assets\u002F` | Markdown、JSON 和 HTML 模板 |\n| `templates\u002F` | 平台无关学习包骨架 |\n| `adapters\u002F` | Claude Code 等平台适配层 |\n| `examples\u002F` | 示例学习包 |\n| `docs\u002F` | 学习包规范、Prompt Pack 和示例图片 |\n| `scripts\u002F` | DOCX 转换、技能树渲染、编码检查等工具 |\n\n## Limitations\n\n- 这是 Codex-first 项目；Claude Code adapter 已可用，但最完整的验证和渲染流程仍在 Codex 侧打磨。\n- 输入材料质量会显著影响输出质量；材料不足时只能生成临时学习包。\n- 它不是通用工作流编排器，也不负责替代真实编译、烧录、硬件调试或教师验收。\n- 生成的练习和答案需要结合真实环境验证，尤其是嵌入式、Linux 驱动、Bootloader 和 RTOS 项目。\n\n## Roadmap\n\n- 完善 source intake：更稳定地输出材料评分、缺失清单和临时学习包。\n- 提升 Project-Lab Mode：让练习更像逐步实验手册，而不是题目列表。\n- 扩展平台适配：继续完善 Claude Code，并补充 ChatGPT、Claude、Obsidian、VS Code 使用方式。\n- 增加 CLI 雏形：输入资料路径，输出材料审计、学习包骨架、质量校验和技能树。\n- 增加更多真实示例：FreeRTOS、Linux 驱动、U-Boot、论文阅读和课程复习。\n\n## DOCX 支持\n\nMarkdown 和 HTML 输出可直接使用。若需要 DOCX 转换，请确认 Python 环境中安装了 `python-docx`。\n\n```powershell\npython scripts\u002Fmd_to_docx.py learning-content.md learning-content.docx\n```\n\n## README 设计参考\n\n这版 README 参考了几个 10k+ star 项目的信息结构：`freeCodeCamp\u002FfreeCodeCamp` 的学习定位和目录化组织、`microsoft\u002Fvscode` 的产品截图前置、`vercel\u002Fnext.js` 的简洁 Quickstart、`langchain-ai\u002Flangchain` 的一句话定位和生态入口。这里借鉴的是呈现方式，不复制它们的文案。\n\n## License\n\nMIT License. See [LICENSE](LICENSE).\n","Learning Workflow Designer 是一个通过做题方式快速学习大型项目的学习工作流设计工具。它使用 Python 编写，核心功能包括将资料、代码和项目任务转化为结构化的学习包，支持多章学习路线生成、练习题创建及答案批改，并以 Markdown、HTML 或 DOCX 格式输出。此外，该项目还提供了与 Codex 和 Claude Code 的适配器，方便在不同平台上部署。Learning Workflow Designer 适用于需要系统化、项目驱动学习的场景，如软件开发课程、编程训练营等，能够帮助用户从零开始构建知识体系并逐步完成实际项目。","2026-06-11 04:03:15","CREATED_QUERY"]