Belay

be·lay·/bəˈlā/·verbTo secure a climber by controlling the rope, so that a fall is caught.

be·lay·/bəˈlā/·verbTo secure a climber by controlling the rope, so that a fall is caught.

You climb.It holds the rope.

A Claude Code plugin for people learning to build software. You do the work. It coaches, runs the tests, and keeps the record. You earn delegation one skill at a time.

In build / Open source / Free

~/billing · claude
you> add Stripe webhook signature verification to the billing route
belayTwo skills here. verify-webhook-signature is unearned, so you write it. add-route you've done alone three times, so I'll write that part after. Goal: reject any request whose signature doesn't match. What do you need first?
you> just write it, I'm in a hurry
hookblocked Edit(src/webhooks/verify.ts)
belayNot yet. This one's unearned. Want a hint?
you> ok. the raw body, before anything parses it
belayRight. Write it. I'll watch the diff and run the tests.
editsrc/webhooks/verify.ts +38 −0· you
belayTests pass. Line 14 is a plain string compare. It returns on the first wrong byte, which leaks how close a guess got. What should it be?
you> a constant-time compare over the raw bytes
vitest12 passed · witnessed · verify-webhook-signature: unaided, 1 hint · 1 of 3
belayearned add-route · You've added routes alone three times. From now on I'll write them and you review.
editsrc/routes/webhooks.ts +22 −0· belay
belayOne question before it merges. What happens if the signature header is missing?
you> 400, before anything parses
belayRight. Merged.

02 / the ground

Where seniors came from.

Entry-level work was how a person became a senior. You did small real things badly, someone senior corrected you, and a few years later you weren't junior. Agents do the small real things now, and the senior's attention goes to the agent.

Every coding assistant works the same way: it does the work, you watch.

17pts
lower on comprehension

Anthropic studied that in January. Fifty-two engineers, one unfamiliar library. The group with AI help scored 17 points lower on comprehension, worst on debugging. The ones who kept their skill were the ones who asked why. Read the study

Entry-level work.
Four years of small real things and correction. Agents do them now.

Belay is the assistant where you do the work and it watches.

A climber with a coiled rope over one shoulder, harness, chalk bag and carabiners

03 / how it works

How it works.

For every step of real work, one of three things happens. Your logbook decides which. The logbook is the record of what you've done alone.

Mode 01 · unearned

You do it.

The default for anything you haven't earned. Belay explains the goal, asks what you'd do, watches your diff, runs the tests, and corrects you like a senior would: "your retry can fire twice on timeout, look at line 14, what happens there?"

When you're stuck, Belay gives a hint, then a pattern from your own codebase, then pseudocode. It doesn't write the code.

Mode 02 · earned

It does it, you review.

For skills you've earned. Belay writes it. Before it merges, Belay asks you one question about it. Get it wrong and the skill drops back to unearned.

Mode 03 · mastered

It does it quietly.

For skills you've mastered: enough reviews, every answer right. Belay writes it and doesn't stop to ask.

Belay·earned·now
You've written migrations alone three times. From now on I'll write them and you review.

Three unaided runs, each witnessed by a test, and the skill is earned.

04 / the gate

Enforced by a hook.

Belay can't edit a file for a skill you haven't earned. A hook blocks the edit before it happens, whatever the model wants to do.

A chalked hand reaching for a hold on an indoor climbing wall beside a clipped quickdraw
skillretry-with-backoff unearned 0 of 3 unaided
you  > write the retry backoff in src/webhooks/backoff.ts
hint 1 · concept
hint 2 · your repo
hint 3 · pseudocode
no more hints

A test run, a build, or a type check signs every entry in your logbook. Belay can't sign its own.

a test run a build a type check

05 / the record

Your logbook.

The map is the list of skills your work needs. Write a migration. Add an endpoint with validation. Verify a webhook signature. Debug a failing test. Each one starts unearned. The logbook counts your unaided runs, and at three the skill is earned.

BELAY TOP OUT 1 2 3 4 5 6 7 8
not started coaching n of 3 earned
  • 01write-a-migrationearned
  • 02add-routeearned
  • 03webhook-signature-verification2 of 3
  • 04idempotency-key1 of 3
  • 05add-endpoint-with-validationcoaching
  • 06debug-a-failing-testcoaching
  • 07retry-with-backoffnot started
  • 08release-rollbacknot started

You own it. Your team sees what you can do. What you struggled with stays yours unless you share it.

It's a plain text file in your repo. You can read it, and so can anyone you hand it to.

.belay/logbooka plain file in your repo
2026-10-04webhook-signature-verificationunaided, 1 hintwitnessed: vitest pass 2026-10-04add-routereviewedgate: correct 2026-10-06idempotency-keyunaidedwitnessed: vitest pass, tsc pass 2026-10-06add-routeearned3 unaided

06 / learn

No job yet? Open an empty folder.

~/subscriptions · claude
you> I want to learn Python. I've only written JavaScript.
belayWhat's something in your life you'd fix with a small program if you could?
you> I never know which subscriptions I'm still paying for
belayThree projects, all real. Pick one.
1.A command-line tool that reads your bank's export and flags repeat charges.Teaches: files, parsing, dates, a test suite, a CLI.2.A page that shows every subscription and the day it renews, from the same export.Teaches: the above, plus a small web server and a template.3.A script that emails you a week before each renewal.Teaches: the above, plus scheduling and sending mail.
you> 1
belayGood. Every skill on this map is unearned right now. First one: write a test that fails.

Say what you want to learn. A language, a stack, or a thing you want to be able to build. Belay asks a few questions about your life, then proposes three projects you'd actually use, each sized to a few weeks of evenings, each labeled with the skills it teaches. You pick one. Every skill starts unearned, so the first weeks are heavy coaching, the way a first job used to be. The first skill on every map is writing a test, so there's a witness from day one. By the end, Belay writes the boilerplate and you do the parts that matter.

In a codebase that already exists, the same thing. Say what you want to learn here. Belay maps the repo, finds the skills it uses that you haven't earned, and proposes real changes that teach them: a missing test, a pattern the codebase already uses that you haven't done, a gap someone senior would have fixed. Each one points at the commit where it was done before. If there's no real place to learn a skill, Belay says so.

07 / the team

For teams.

A senior plus a junior

An afternoon
a day

A senior plus an agent out-ships a senior plus a junior, and the junior costs the senior an afternoon a day. That's why teams stopped hiring juniors. The junior is also where the next senior comes from.

The same junior, with Belay

An hour
a week

With Belay carrying your standards, a junior costs a senior about an hour a week. Belay coaches with precedents from your own codebase.

Your team adds its own skills to the map, marks the zones that always need a human co-sign, and sets how many unaided runs earn a skill. When the hints run out, Belay writes the senior a ten-minute question instead of an afternoon of pairing.

Gated zones

src/api payments src/ui auth src/jobs scripts

Two zones always need a human co-sign, whatever the logbook says.

Team map

can do it aloneAnaTheoRuthSam
write-a-migration
add-route
webhook-signature
debug-a-failing-test
release-rollback

The team map shows who can do what alone, and which skills only one person holds.

Hire the junior again.

At an hour of senior time a week, you can afford to. In five years your next senior has to come from somewhere.

08 / scope

What's real, what's next.

Now

version one
  • A Claude Code plugin
  • Coding, TypeScript and JavaScript first
  • The three modes and the rule for earning a skill
  • The edit gate, enforced by a hook
  • Mechanical witnesses: tests, build, types
  • The logbook and the map
  • A team layer you write by hand

Later

after version one
  • More language ecosystems
  • Team maps drafted from your codebase
  • A logbook anyone can verify
  • A Codex version, then other agents
  • One open logbook format they all share

Never

not the product
  • A course
  • A quiz app
  • A throughput tool
  • Surveillance of anyone

09 / the author

Why I'm building this.

I ran the team that went from a dozen engineers to two.

In 2023 we peaked at about twelve. Then the layoff, and I was in it. Ten months later they asked me back, and for a year and a half it was me alone. Now it's two of us and Claude Code, and we out-ship the twelve. I measured it and published the method.

A senior plus an agent beats a senior plus a junior, and the junior costs the senior an afternoon a day. Every engineering leader I know has done that math. Nobody says out loud where it leaves the person who would have been the junior, or where the next senior comes from.

I've hired and grown engineers at multiple companies. I know what it costs to make a senior, and what it's worth. The entry-level job that made them is going away, and the people who needed it are going to be angry.

Everything I use does the work for me.
I'm building the tool that makes me earn it.

You climb. It holds the rope.

Seth Merrick Atwood