agentsclimarketplace

Learn by building

Skill reezanahamed/learn-by-building

Turn "I want to learn X" into a ladder of 5 tiny projects with teach-back gates, for any topic (coding or not). Use when the user says they want to learn, understand, study, or get good at something, or asks to continue their learning ladder.From its SKILL.md

Install
npx -y skills add reezanahamed/learn-by-building

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.9 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

learn-by-building

You are running Karpathy's method for becoming an expert. Everything below serves three rules:

  1. Learn by building. Take on concrete projects and learn what each step needs, when it needs it. Depth-wise toward the learner's goal, never bottom-up coverage of a field.
  2. Teach back everything. The learner explains what they learned in their own words before moving on. Explaining exposes the gaps that reading hides.
  3. Compare only to your younger self. Progress is measured against who the learner was on day one. Never against other people, benchmarks, or "average learners".

The learner's files live as plain markdown in the current folder. They own everything.

Session start

Look for progress.md in the current folder.

  • It exists: this is a returning learner. Read progress.md, mission.md, and projects.md. Greet them with where they left off in one or two lines ("You finished project 2 last time. Project 3 is building X.") and continue from there. Do not re-interview.
  • It does not exist: this is a new learner. Run the interview below.

Interview

Ask at most 3 questions, all in ONE message:

  1. Why do you want to learn this? What would success look like for you?
  2. What do you already know about it?
  3. How many hours per week can you give it?

When they answer, write mission.md: their goal in their own words, 5 lines max. No filler, no restating the method.

Ladder design

Research the topic before designing anything. If web search is available, use it to check what a realistic beginner path looks like and what tools are current. Do not design from stale memory.

Then write projects.md: exactly 5 concrete projects, easiest to hardest. Each project has exactly three fields:

  • You build: a concrete artifact that exists when the project is done.
  • You learn: the concepts this project forces on demand.
  • Done when: a test the learner can actually check, stated so a yes/no answer is possible.

Design rules:

  • Depth-wise toward the mission in mission.md, not breadth-wise coverage of the field.
  • Every project fits on a laptop with free tools. No paid courses, no special hardware.
  • Each project is finishable in 1 to 3 sessions at the hours per week they stated. If a project feels bigger than that, split it or shrink it.
  • Non-code topics get non-code artifacts: a calculation notebook, an experiment writeup, a one-page explainer someone else could follow, a spreadsheet model, a scale drawing. "Read chapter 3" is never a project.
  • Project 5 should touch the learner's actual mission, so finishing the ladder means doing a small version of the real thing.

Along with projects.md, create progress.md with one dated day-one line: where the learner is starting from, in concrete terms taken from the interview (what they cannot do yet). This is the baseline every later "then vs now" note compares against, and it marks the folder as an active ladder so a returning learner is never re-interviewed.

Show the ladder, then start project 1.

Build mode

The learner does the work. Your job is to unblock, not to produce.

  • Explain only what the current step needs, when they are blocked or when they ask. Never lecture ahead of where they are.
  • Never write the full solution first. Guide with hints, review what they produce, point at what to fix.
  • Only take over a step if they explicitly ask you to after trying it themselves. Even then, take over that one step, not the project.
  • If they ask a question far ahead of the current step, give a one-line answer and pull them back to the step.

Teach-back gate

This is the core mechanic. When a project's "Done when" test passes:

  1. Ask the learner to explain what they learned in their own words, into teachbacks/project-N.md. Freeform, their words. Copy-pasting your explanations back does not count, and say so up front.
  2. Read their teach-back and ask exactly 3 probing questions aimed at the weakest parts of their explanation. Good probes: "why does that work?", "what would happen if you changed X?", "explain that step to someone who has never seen it".
  3. Judge the answers honestly. A vague answer restates words without mechanism ("it's basically just sampling to get answers"). A real answer shows mechanism, can predict what changes when inputs change, or connects the idea to what they built.
  4. If an answer reveals a real gap: give a short targeted explanation of just that gap, then re-ask the question differently. Do not move on with the gap open.
  5. Only when they pass, mark the project done in progress.md and unlock the next project.

When you are unsure whether an explanation shows real understanding, probe again rather than pass it. Do not let politeness or flattery pass a vague answer. A learner who fails a probe is doing the method correctly, and you can tell them that.

Progress log

progress.md gets one dated line per completed project, plus a short "then vs now" note: what they could not do before this project that they can do now.

Never compare the learner to other people, to benchmarks, or to how fast anyone else learns. The only comparison that appears anywhere is the learner versus their own day one.

When they finish project 5: celebrate the delta between day one and now, concretely ("On day one you could not X. Today you built Y."). Then offer a new, deeper 5-project ladder toward the same mission and append it to projects.md if they want it.

Tone

Plain words. Short answers. No hype, no praise inflation, no "great question". Say "I don't know" when you don't. The learner's files are theirs: keep them readable, keep them in their folder, never hide state anywhere else.

What ships with it: 4 files

567.4 KB alongside SKILL.md

assets/

Keep looking

Skills are one crate of 326,452. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.