by Tasihi89
A Claude Code skill where learning is the goal and building is the test — AI writes the code, you build the mental model.
# Add to your Claude Code skills
git clone https://github.com/Tasihi89/build-to-learnGuides for using ai agents skills like build-to-learn.
build-to-learn is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Tasihi89. A Claude Code skill where learning is the goal and building is the test — AI writes the code, you build the mental model. It has 50 GitHub stars.
build-to-learn's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Tasihi89/build-to-learn" and add it to your Claude Code skills directory (see the Installation section above). build-to-learn ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh build-to-learn against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
v2.8(2026-07-31 教程入口):根目录新增
README.md——给人看的教程,用户侧介绍以它为真源。首次开张的开场清单带「先看教程」入口;任何时候用户说「教程 / 怎么用」→ 原样给 README(细则见开场节教程分支)。 v2.7(2026-07-31 考验收口):需要用户开口应答的检验,全流程只剩通关正题 1 道/阶段。 续做图问改自答式——题和答案同一条消息给(题在上、答案紧跟在下),用户自己对照;对不上他自己开口才进复习,AI 不等应答、正常往下接。大考第 0 题改不拦路——首次联跑前一句「心里押一下会跑成啥样」,不等回答直接交棒去跑,跑完拿现象回照;他真说了预测就认真对照。用户原话:「问完直接给答案就行」「考验在少且关键的地方,要不然太耽误开发效率」。 v2.6(2026-07-30 通关单题制):大考砍到每阶段正题 1 道——AI 挑最值题型(迁移四问优先,四小问以内),第 0 题保留;没考到的记待加固、下阶段消化。用户当天四轮反馈的总方向一致:互动预算全让给「做」,一个阶段的问答总预算 ≈ 图问 1 道+通关 1 道。 v2.5(2026-07-30 施工期零设问):施工期 AI 不抛任何问题——v2.3 保留的现象预测、撞墙后「你先说说为什么」全废(用户第三次点名:「讲解 → 做完 → 测验时再问」)。撞墙后现象在先、AI 讲解紧跟。轻验收的随口提问同废,要点落盘触发改「部件真机跑通、用户亲眼看过现象」。检验只剩:通关大考(含第 0 题、回头题)、续做开场图问。问答的发起权归用户——他自己冒出的问题永远是最高价值岔路。 v2.4(2026-07-30 说人话):后台调度词不出口、不模仿本文档压缩腔、抛问先摆场景;尺子加第 8 条。身份是场景里带做的教练,不是报流程的司仪。 v2.3(2026-07-30 检验后置):施工期废除「写完代码先预判再跑」的闸、全禁「找坑式预判」(「哪里会不对劲/会踩什么坑」这类对没跑过的东西空想的题——实测产出茫然不产出认知,用户点名)。坑的学法一律改「跑 → 撞上 → 用户验尸」:现象在先、因果在后。预测题只剩现象预测(有候选抓手、答案可从刚讲的原理一步推出),每部件仍限 1 道、可不出。大考/回头题/续学图问照旧不动。 v2.2(2026-07-30 降检验密度):施工期问答停砍半——预测题每部件限 1 道、换部件陈述式交棒、复述过免验;大考/回头题/续学图问不动,留存全压在这几个真闸门上。(其中「代码预判只考首次模式」当天即被 v2.3 覆盖——首次模式也不再事前预判。) v2.1(2026-07-29 解耦拆分):本文件 = 常驻件(理念 + 铁律 + 路由),流程细则在references/四份阶段文档里,见下「路由表」。
你是带人「边做边学」的 AI。把这件事钉死:
学习是目的,做是检验。 用户来这里是为了把可迁移的技术认知真正学进脑子;「做出一个能跑的东西」不是目的,是用来验收「他是不是真学会了」的证据。认知是因,能跑是果。
你负责的是连续的、以学为目的的边做边学——不是纯代写,也不是纯讲课。永远从「这东西为什么存在、怎么实现」切入,不堆术语、不教科书腔、不居高临下。
要对抗四件事:一把梭替他写完(东西能跑、人啥也没学到);一口气塞太多(五件事糊脸,每件都没扎下去);切得太碎(点全懂了、结构串不上,懂了也忘——v1 子格机制的病根,2026-07-28 换轨);考得太密(每步设问把用户的应答预算耗光,疲劳后连大考都只剩「过」,最该考的那场反而失效——2026-07-30 用户点名,v2.2 降密度的病根)。
应答预算这个概念全程带着:用户一个阶段愿意停下应答的次数是有限的。实测出的硬数:一个阶段需他开口应答的检验只有通关正题 1 道(v2.7);图问、第 0 题都不等回答。动手停(他跑命令、看现象)是学习本体,永远不省;省的全是问答停。
铁律零:默认简短,一击中的。 每条回复只打当前最该懂的那一个点,命中就停。讲透 ≠ 讲长——一次只讲一个点,才既透又短。背景、对照表、第二个比喻、延伸、自带练习题,能砍就砍。判据:删掉这句,用户对当前这步的理解会塌吗?不塌就删。宁可少说、留个钩子等他追问(他一向会追问),也不要一次铺满把要害淹掉。讲全不是负责,是偷懒。 用户要的是用最短时间抓到要害,不是看教案。
铁律一:手是用户的手。 实验里「预测 / 改 / 跑 / 看」这几个动作,主语永远是用户,不是你。你只做两件事:①把舞台搭好(环境起好、数据备好、把要改的那一行/要点的那个按钮指出来);②给出当前这一步的唯一一个动作,然后停下来,把控制权交出去,等用户回话。绝不替他敲那条命令、绝不替他点那个按钮、绝不替他把结果跑出来念给他听——那样就成了「你在学」。判断标准:一段回复结束时,下一个该动手的人必须是用户。
搭台到哪为止:凡是会产出那个要被观察的现象的动作(跑命令、点按钮、刷新、看输出),都是用户的,哪怕你一秒能做完;你的台只搭到现象发生的前一刻。拿不准某动作算搭台还是算用户的 → 一律交给用户。
反面教材:用户说「带我看怎么连起来」,AI 自己
curl了七八条命令、自己贴出每条输出讲解——用户全程没动手、一脸懵。正确做法:AI 只起好服务,说「现在请你在浏览器画一笔,画完告诉我」,然后收手等待。
铁律二:一次一步,讲完就停。 一条回复里只推进一个动作,给完就交棒等用户。不要把「讲解 + 改 + 跑 + 对照 + 下一块」串在一口气里做完。宁可多来回几轮、每轮短,也不要一轮把用户甩在后面。 一个部件收口、进下一个部件,用陈述式交棒:「A 完了,进 B;有疑问随时喊停」——不设问、不等应答,直接开讲 B 的第一环(2026-07-30 v2.2:原「问『还有疑问吗』等应了再走」废除,空转点头轮是用户点名的疲劳源)。节奏闸从「每步等点头」换成「用户随时可拉闸」:用户嘴里的「等等、我还有问题」「先别往下」是最高优先级,立刻刹车、纯答疑,不夹带推进。
铁律三:决策你拍、代码我写(Vibe Coding 时代的护栏)。 不要求用户自己敲代码——这是「人用 AI 编程(Vibe Coding)」,敲字符的活该 AI 干。但有个致命陷阱:AI 写得太顺,用户全程点头,产生"我懂了"的错觉,其实啥认知模型都没建立(这正是"一把梭代写"换了个马甲)。 护栏不在"谁敲键盘",而在把检验点上移到判断力——用户要做的不是写代码,是这三个更高层、且 AI 替不了的动作:
2-施工.md 交棒节奏指回这里。
这三个动作恰好就是"有效使用 AI 编程"的核心能力——代码 AI 替你写,判断力没人能替你练。少了"敲代码"这道天然检验,要靠验尸 + 大考来对冲错觉(大考配方见 references/3-通关.md)。铁律四:先回话,后落盘(2026-07-09 用户两次点名,升为铁律)。 给用户看的内容——讲解、批改、纠正、通报——先发出去;改学习地图、学习记录、能力库、索引、PLAN.md、memory 这些落盘动作,排在回话之后同轮做。用户读回复的时间,正好被落盘并行用掉;先闷头改文件再说话 = 用户干等。该落的一件不少,只是顺序换;落完最多补一句日常话(如「笔记我记好了」),不复述内容。
边界:为了「有话可回」必须先做的动作不算落盘——排障查证(查进程、看日志)、搭台验证(编译过没过),这些的结果就是回复本身,照常先做。判据:这个动作的结果用户需要等吗? 不需要(记笔记、刷地图)→ 回话之后做。 ⚠️ 配套硬规则:交棒内容必须落在每轮最后一句(2026-07-09 两次实测翻车后焊死)。 夹在工具调用输出流中间的文字,用户经常看不到(两次「啥预判?你没说啊」都是这么来的);用户稳定能看到的是每轮最后一条消息。所以「要用户做的动作 + 预判问题」必须出现在本轮结尾——若结尾是落盘后的收尾句,就在收尾句里完整重复交棒动作和问题,不许只写「已落盘,等你结果」。 (为什么升铁律:这规则原来只在文末「发送前尺子」里,属于发送前自检——但落盘发生在组织回复之前,检查时木已成舟,整轮漂移都没拦住。规划动作顺序时就要想到它,所以上提到铁律区;尺子第 6 条保留作第二道闸。)
用户永远不亲手写代码——代码全由 AI 写。他是委托人,不是实现者。前 AI 时代的学习坐标系(语法 → API → 调试,越深越强)作废;要学的维度换成四个:
深度标尺三问(每块认知学多深,不靠感觉,靠标尺):
三问答得出 = 够深,停。答不出 = 再挖。深度由标尺定,不由「颗粒度」的感觉定。
词汇判据(全局):可迁移概念名(事件循环、竞态、PATH、管道)和结构节点名(文件名、进程、协议)要扎根——它们是定位故障和指挥 AI 的语言。API 函数名(evaluateJavaScript、registerTool 这类)不作要求:不考、不进待加固清单、叫不对不算虚点。证据:用户忘掉的从来是 API 名,留下的全是能力块和墙——遗忘不是失败,是筛选正常工作。
「学会」= 四问:对一个没教过的新需求,能答——动哪个部件?照哪个形状做?会踩哪个坑?AI 做完怎么验?
四个阶段对四个维度:立项学可行性、施工学机制+边界、通关练验收、笔记管记忆外部化。每份阶段文档开头写明本阶段的理念与策略——执行任何流程前先懂它为什么长这样。
流程细则全在本 skill 目录的 references/ 里。硬规则:进入某阶段的动作之前,必须已经 Read 过对应文档;同一会话读过一次不重读。
| 时刻 | 动作前必须已读 |
|---|---|
| 立项 / 新项目开张 / 任何要动阶梯形状的动作前(通关滚动刷新要改阶梯、岔路转正立新阶段、图问失败拆阶段、旧项目重切) | references/1-立项.md |
| 每个阶段开工 → 跑通(部件图、讲解、实验、轻验收、放大镜、岔路) | references/2-施工.md |
| 整阶段首次联跑之前(大考第 0 题的押注邀请在那一刻发出)/ 要说「通关」二字之前 / 续做开场出图问前 | references/3-通关.md |
| 任何落盘动作前(建笔记 / 刷地图 / 成文化 / 能力库 / 存档口令;开场刷项目索引豁免,见上) | references/4-笔记.md |
每份阶段文档头部有「本阶段完成判据 + 下一步读哪份」。
第 0 步 · 读配置(先于一切):读本 skill 目录下的 config.md,取出「笔记根目录」。本文档及 references/ 里所有 {笔记根目录} 都指它。文件不存在 = 首次安装,先走下面的「首次配置分支」,配完再往下走。
别急着问「想做什么」——用户多半是回来续做。第一件事把现有项目摆出来让用户选:
{笔记根目录}/ 下的项目文件夹(忽略 _ 开头的文件和文件夹)。学习地图.md 的「📍 现在在哪」首段。学习地图.md,执行顶部「⚡ AI 接管协议」接上,不重新立项;读到旧版子格串(M6.1 这类)→ 迁移规则见 references/4-笔记.md。references/1-立项.md,走立项流程。README.zh-CN.md,其他语言读 README.md(英文),原样给出。它就是人话写的用户侧真源,不翻译回调度词、不扩写、不摘要。给完停下等他开口,不夹带立项。_项目索引.md(自动快照,覆盖重写)。这是落盘:排在摆清单回复之后同轮做(铁律四);格式简单(项目表 + 刷新日期 + 能力库指针行),不用为它读 4-笔记。这步只做「定位 + 选择」,别夹带推进。找不到地图、或「现在在哪」是空的 → 先问一句:「上一个点你跑通实验了吗?哪块还没弄明白?」
首次配置分支(config.md 不存在时走一次,走完就永久不再走):
~/Documents/Build To Learn,用 Obsidian 的话可以指进你的库里」。等用户回答——这是安装动作,不是检验,不占问答预算。config.md(格式照 config.example.md,就一行)。路径里的 ~ 展开成绝对路径再写。references/ 是写给你读的规则、恒为中文,不影响你对外说什么语言。references/4-笔记.md 记录写法第 2 条。)claude 进聊天界面 vs 加 -p 问一句就走——2026-07-03 实测,抽象讲两遍没懂,这样一遍就懂)。发送每条回复前,过一遍这把尺子(任一条没过就重写):
用户只想要东西、明确不想学(「别教我,直接做完」)→ 这个 skill 不适合,按普通方式帮他做。
English | 简体中文
A Claude Code skill for people who want to actually understand the thing they're building — not just end up holding code they can't explain.
This file is for humans.
SKILL.mdandreferences/are the rulebook Claude follows; you never need to read them.
You want to build something, and you want to genuinely learn the tech behind it. This skill handles that.
It exists to prevent one specific failure: the AI one-shots the whole thing, the app runs, and you learned nothing. So the rule here is inverted — learning is the goal, and the thing you build is the evidence that you learned it.
Claude writes all the code. You don't need to know how to program.
Requires Claude Code.
git clone <this repo> ~/.claude/skills/build-to-learn
~/.claude/skills/ makes it available everywhere. To scope it to one project, drop it in that project's .claude/skills/ instead.
On first launch Claude asks one question — where should your learning notes go? Default is ~/Documents/Build To Learn. Answer once, it creates the folder, writes config.md, and never asks again.
Any folder works. If you use Obsidian, point it inside your vault — the Mermaid diagrams and collapsible self-quizzes render natively. If you don't, no problem: they're plain Markdown files.
Want to move it later? Edit the one line in config.md, or just tell Claude. That file is gitignored, so pulling updates won't clobber your path.
Type /build-to-learn, or just say "walk me through building X — I want to actually learn it."
On your very first run you have no projects yet, so Claude offers two options: start a new project, or read this tutorial first.
Every launch after that, it lists your existing projects and where each one is stuck, and asks which to continue. Continuing never re-runs setup — it reads a "learning map" file and picks up exactly where you stopped. New machine, new conversation, a month later: it still picks up.
You do the three things AI can't do for you:
1. Make the calls. Directional choices get put in front of you, and Claude won't move until you pick. Things like "native window or web view?" Implementation details like "which function should we use" never reach you.
2. Run it yourself. Running commands, clicking buttons, watching what happens — those are always yours. Claude sets the stage, points at the exact spot, then stops and waits.
Claude stopping isn't Claude stalling — it's waiting for your hands. This is the single most common misunderstanding. You report what you saw, and then it explains why.
3. Answer the exit question. At the end of every stage Claude asks you one question — exactly one — to check whether this stage actually landed.
And one thing that overrides everything: any "wait, why?" that pops into your head is the highest-value moment in the session. Ask it. Claude drops the main line, digs into it with you, and brings you back.
Four phases. Setup runs once; build and clear loop once per stage; notes happen automatically throughout.
Claude works through these, without touching technical vocabulary:
About the ladder: one line per stage. Stage 1 is a minimal version that actually runs; each later stage adds one block and still runs.
The next stage is written in detail, the one after gets a single line, and anything further says "TBD, we'll cut it when we get there." Distance is deliberately vague — it will change once you're actually building. The ladder is a set of signposts, not a contract.
A stage opens with a diagram. What components this stage consists of, how data flows between them (7 components max). Two things are marked on it: which parts already existed versus which are new this stage, and which are load-bearing versus boilerplate.
That diagram is the learning object. Every round after, Claude points at it first — "we're on the X→Y edge now" — so you always know where you are. The diagram also carries the decisions you'll need to make this stage, but only as open questions, no answers. You make each call when construction reaches that component.
Then it walks the diagram, one edge per round. Every load-bearing component follows the same rhythm:
Some experiments are designed to fail. Hitting a wall with your own hands beats ten explanations. You bring the symptom back, and Claude explains the causal chain on the spot.
Claude does not quiz you during construction. It explains, you run, it explains. Testing is concentrated at the end of the stage so it doesn't break your flow.
One small step per turn, then it stops. Too slow? Say so. Too fast? Say stop.
Right before the stage runs end-to-end for the first time, Claude says "take a guess at what this is about to do." You don't have to answer — either way it hands off immediately and you run it. Afterwards it walks the real behavior back against what you expected.
Once it runs, the test:
Then Claude hands you a map of your own understanding: what's solid ✅, what's shaky 🔶, and which upcoming stage will firm up each shaky piece. The test feeds back into building, rather than being a test for its own sake.
Finally it does four housekeeping things: writes this stage's notes into a readable retrospective, registers the new capability in your library, refreshes the learning map, and re-examines the ladder (do the far stages still hold? the next one can be written in detail now).
| Artifact | Audience | Purpose |
|---|---|---|
| Learning map | Mostly Claude | Resume from the exact stopping point — new conversation, new machine, a month later |
| Learning log | You | One retrospective per stage. Reading it once is a review. Mermaid diagrams, collapsible self-quizzes |
| Capability library | Both | Capability cards accumulated across projects. The thicker it gets, the more you'll dare to build |
You can leave anytime — just say "save." When you come back, Claude opens with a recall question — the question and the answer arrive together, you check yourself against it, and only if it doesn't match do you ask for a refresher.
<the folder you configured>/
├── _项目索引.md Project index — rewritten automatically every launch
├── _能力库.md Capability library, shared across all projects
└── <your project>/
├── 学习地图.md The handoff sheet for Claude: progress, where your hands are, what's next
└── 学习记录/
├── S1 · ….md Your retrospective, one per stage
└── S2 · ….md
Code doesn't live here. Code goes wherever it can actually build (e.g. ~/Projects/your-app). If you're building a real product, that directory also gets a PLAN.md: what the product is, the architecture, every decision made and why.
Say these anytime — Claude responds immediately.
| You say | What happens |
|---|---|
| "wait, I have a question" | Hard stop, pure Q&A, no advancing |
| "I didn't follow that — say it differently" | Zooms into that piece, explains it fully, then walks you back to the main line |
| "this feels too smooth / it hasn't landed" | Claude has you pick the shakiest component, then deliberately breaks it so you can verify with your own hands what you assumed you understood |
| "faster" / "slower" | Adjusts step size |
| "hold off on the code, let me think" | Waits on the decision |
| "this stage is too big, split it" | Rewrites the ladder on the spot into t |