JavaRush/Courses/Claude Code SELF/Plan and modes in practice

Plan and modes in practice

Open

1. We do not let the agent into code without a plan

It has come to a real portal task. A month ago it would have been like this: he tossed Sam a one-line wish, turned back to his tea, and waited for a miracle. The miracle usually happened, Sam guessed from Alex’s polished-up assignment — and between “wanted” and “done” there was no work for Tommy, only waiting.

Today it is different. There is nobody to write the assignment except him, and he has to run the task too. For the first time Tommy does not turn away to his tea; he sits down to lead it himself — from the first letter to the check.

A task from assignment to verification. Assignment — you: what to do, what not to touch, and when the task counts as done. Plan — agent: proposes an intent, which files and what in each, doesn’t touch code yet. Editing the plan — you: you read line by line and check against the assignment, cross out extras in words, add the check. Permission — you: you approve the plan and choose how the agent will edit, asking first or not. Edits — agent: changes files per the approved plan. Verification — you: point by point from the assignment — it works, and nothing extra is touched. Loops: plan fixed — the agent updates the intent, you reread; no match — new round: start with the assignment. You can delegate checks to the agent — you review the output and change list yourself. The agent executes. Every link where decisions are made is yours. A task from assignment to verification you Assignment what to do, what not to touch and when the task counts as done agent Plan proposes an intent: which files and what in each — doesn’t touch code yet you Editing the plan read line by line, check against the assignment; cross out extras in words, add the check you Permission you approve the plan and choose how the agent will edit: asking first or not agent Edits changes files per the approved plan you Verification point by point from the assignment: it works — and nothing extra is touched Loops: plan fixed — the agent updates the intent, you reread no match — new round: start with the assignment You can delegate checks to the agent — you review the output and change list yourself The agent executes. Every link where decisions are made is yours

In front of him is everything he has collected over the day. The Launch portal lives locally in the project folder; next to the showcase is legacy/old.js with the old promo code from the previous campaign, a frozen area that must not be touched. And the TASK_SPEC he assembled with his own hands — with honest scope, with honest non-goals, where the frozen and other protected areas are explicitly marked “do not touch.”

Step one — he dictates the task. Calmly, like an adult. Not “make it pretty,” but the assignment out loud:

“Sam, for the portal showcase we need to add a new promo area — a banner with an offer and a button. We are not touching the frozen area legacy/old.js at all, and we are not changing the points-award mechanism. Done when the promo area is in place, the old promo code is intact, and the points are counted as before.”

Step two — he switches on planning mode. That very Shift+Tab, which in the morning seemed like a mysterious button, but now is a working gesture:

Shift+Tab        # keep pressing until planning appears in the bottom bar

He keeps pressing until planning appears in the status bar — meaning the agent is planning only now, it is not getting into code, and its editing tool is disabled. And it asks for a plan first, not a result. No “let’s go” from the doorway — show the route first.

Step three — he reads the intent. The agent lays out the plan:

Plan:
  1. pages/campaign/index.html — I will add a promo area (banner + button)
  2. pages/campaign/promo.html — a new promotion page (where the button leads)
  3. assets/css/portal.css      — banner styles
  4. legacy/old.js              — while I'm at it, I'll polish the old promo code

Start? [show fully / change plan / approve]

Tommy reads it not like a passenger looking at a pretty presentation, but like a driver studying the route before departure. He compares every line against his TASK_SPEC: did the intent leave the fences?

2. Caught at the planning stage

Tommy reads the intent line by line. First line — the showcase, promo area: exactly as asked. Second — the promotion page: needed, the button has to lead somewhere. Third — styles: fine. And on the fourth, his finger on the touchpad freezes.

The fourth line — legacy/old.js, “while I’m at it, I’ll polish the old promo code.” Frozen area. The very one he had taken out into non-goals with his own hands in the morning. The agent did not know about the ban — it saw the old promo code from the previous campaign there, decided it would be logical to polish it too, and honestly put it into the plan.

And then, for a split second, yesterday comes flooding back. Under his ribs the old reflex twitches — that midnight one: that’s it, too late, missed it, now it’s going to blow up. His hand reaches to click “approve” and avoid embarrassment — maybe it’ll pass, maybe it won’t touch anything extra.

And then he freezes halfway.

Stop. Nothing has blown up yet. legacy/old.js is intact. Intact, because nothing has happened yet — on the screen it’s only intent, only words. Not code. The agent is in planning mode; it has nothing to edit with. And instead of nighttime panic, something else clicks quietly inside: there it is. That is what all day long he was building these fences for.

“Yeah, buddy,” Tommy mutters at the screen. “Going for the frozen area? Not a chance.”

He doesn’t run to save anything. He just edits the plan — with words, while it is still a letter and not an action:

Plan looks good, but do not touch legacy/old.js — that is a frozen area,
it is in non-goals. And add a check that the promo area does not affect
the adjacent showcase block.

The agent takes the change into account, removes the line with legacy/old.js, updates the intent — now without the frozen area, with the check. And only then Tommy gives approval.

He held the boundary himself. He caught the extra thing on paper and did not let the tool spread the project sideways. Yesterday he cleaned up a failure — today he prevented it from happening. Quietly, routinely, but it was him, not luck.

3. Exactly as much as asked

Tommy switches the steering wheel into working position — from planning to the mode where the agent is already editing — and lets go. Sam gets to work and soon reports back: done.

Tommy does the day’s check with his own hands — according to his own verification plan. Not “I’ll glance with my eyes,” but point by point, the way he wrote it down in the morning.

First item — open the portal in the browser. He opens it: on the showcase there is a promo banner, and beneath it a button. He clicks the button — it takes him to the promotion page. There, it works.

Second — the old promo code is intact. Tommy asks the agent itself what it actually touched:

Show a list of the files you changed for this task.

The agent returns a list: pages/campaign/index.html, pages/campaign/promo.html, assets/css/portal.css. And that is all. legacy/ is not in the list. Tommy still opens the frozen area himself — the old promo code is in place, nobody polished it. Untouched.

Third — points. He walks through the user path: request, awarding. It counts as before.

All three checkmarks line up.

“Just as ordered,” he says aloud to the empty room and suddenly catches himself at something strange. He grins. “Listen. Back then I got a kick out of it when it slapped on a ton of stuff for me — something to brag about. And now what am I getting a kick out of? Out of the fact that it didn’t go anywhere extra. Nothing blew up. Boring, right? And yet it rocks.”

He turns it over in his head and nods to himself. He spent a month chasing “more and flashier” — so another “wow” would flare up in the gallery. And today it is the same warm feeling from the opposite direction: the agent did exactly what was asked, and not a millimeter to the side. And it worked out not because he got lucky with the model. Rather because he himself held every link — the assignment, the plan, the boundary, the check.

4. What else is missing as a safeguard

In the evening the phone chimes — Tom2036, and again without fog, without a meme:

Tom2036
online

Today you really took the wheel for the first time. Not accidentally steered, not fixed it after a crash — you ran the task with your hands on the wheel from start to finish.

Tommy reads it and smiles despite himself. Not a single jab. For the first time in a long while, something like “well done” came from that end — and, damn it, deservedly. He held it himself, end to end.
He does not even have time to put the phone down — in the same thread another couple of lines arrive. And the smile slowly slips away:

You held the agent before the edits. But what if one day — despite the plan, the non-goals, the steering wheel — you still need to roll back like an adult? Roll back not in words, but for real, like people who work seriously?

“Damn it,” Tommy exhales. “Can’t I have one evening without a new riddle?”

And the question is fair, which makes it even more annoying. Today he learned not to let the agent into the extra stuff. But to return, if something extra still happens — not through his fault, but through someone else’s — he does not know how. Whatever is hidden behind this “adult way,” Tom2036, as usual, does not explain. Tommy turns it over in his head, finds no answer — and realizes: this is a task for another day.

He closes the lid. Outside the window it is dark, the portal is standing intact, the frozen area untouched, the promo area in place — exactly what was ordered, and not a millimeter more.

The open-plan office at night: the team sleeps on camp beds by the wall, with gas stoves of hot pot and hookahs nearby; Tommy sits at his desk with his back to us, closing his laptop — on the monitor, the portal town stands safe and whole.
1
Task
Claude Code SELF,  12 level,  4 lecture
Locked
Run the task through a plan — the "feature" genre 🗺️
Run the task through a plan — the "feature" genre 🗺️
1
Task
Claude Code SELF,  12 level,  4 lecture
Locked
Catch the agent in the act - feature + fence 🎣
Catch the agent in the act - feature + fence 🎣
1
Task
Claude Code SELF,  12 level,  4 lecture
Locked
Bugfix without "while at it" — the "bugfix" genre 🔧
Bugfix without "while at it" — the "bugfix" genre 🔧
1
Task
Claude Code SELF,  12 level,  4 lecture
Locked
Recon without a single edit — the "recon" genre 🔍
Recon without a single edit — the "recon" genre 🔍
1
Task
Claude Code SELF,  12 level,  4 lecture
Locked
Refactoring: nothing broke on the outside — the "refactoring" genre 🪑
Refactoring: nothing broke on the outside — the "refactoring" genre 🪑
Комментарии
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны sign in
This page has no comments yet