Modern Creator
Stephen G. Pope · YouTube

Why Claude Code Sucks (And How I Fixed It)

A walkthrough of Phantom Looper, a custom coding-agent CLI built to fix five things Claude Code gets wrong: babysitting, voice control, multi-device sync, crash resilience, and inconsistent judgment calls.

Posted
2 days ago
Duration
Format
Demo
educational
Views
4.1K
31 likes
Big Idea

The argument in one line.

A second agent that plans, pushes, and verifies a coding agent's work until it's truly finished, paired with server-side sessions and a shared rule set, removes most of the manual babysitting a single coding-agent workflow demands.

Who This Is For

Read if. Skip if.

READ IF YOU ARE…
  • A developer already using a coding agent who's hit friction with babysitting long tasks, re-prompting after every response, or losing context between devices.
  • Someone building their own AI dev tooling and wants a real working example of a supervisor/looper agent pattern with voice control.
  • A solo builder curious about voice-driving a coding agent's kanban board and sessions instead of typing every prompt.
SKIP IF…
  • You want a step-by-step setup tutorial for a specific coding agent itself — this is a demo of a separate, custom-built wrapper tool.
  • You're looking for a finished, polished product to buy today — this is presented as the creator's own in-progress build, including a live crash.
TL;DR

The full version, fast.

The creator built Phantom Looper, a custom coding-agent CLI, to fix five frustrations with typical single-agent coding workflows: manual re-prompting, no voice control, no seamless multi-device syncing, fragile local sessions, and no consistent decision-making rules across agents. A "looper" agent supervises the coding agent, re-prompting it until a task is genuinely complete, while a voice assistant lets him manage a kanban board and sessions without typing. Because sessions and files live on a server inside a Docker sandbox, work survives a crash and follows him between machines. Every task ties to a Git branch and auto-merges on completion, and all agents share six explicit values, from "simplicity is the wall" to "respect the customer experience," that keep the system's decisions consistent.

Free for members

Chat with this breakdown — free.

Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.

Create a free account →
Chapters

Where the time goes.

00:00 – 00:36

01 · Introducing the Phantom Looper

Cold open positions Phantom Looper, a custom coding agent, as a contrarian "blue ocean" move against an industry full of over-promises.

00:36 – 01:23

02 · How the Looper Agent Works

Explains the looper: a separate agent that keeps prompting and evaluating the coding agent's output until it truly finishes a defined task, then reports back.

01:23 – 04:40

03 · Integrating Voice Control

Demos the voice assistant pulling up a kanban board, creating and detailing a new card by voice, and explains auto-plan / auto-build toggles that move cards through plan → in progress → done automatically.

04:40 – 10:31

04 · Seamless Multi-Device Syncing

Sessions and files live on a server inside a Docker sandbox so any device (desktop, laptop, Telegram) sees the same sessions with the same tools; every task gets its own Git branch and auto-merges back on archive.

10:31 – 17:57

05 · Defining a Shared Value System

Introduces six values both agents share (understand before you act, it's been done before, simplicity is the wall, proof over belief, do exactly what was asked, respect the customer experience), demos crash resilience when the CLI dies mid-session, the Git auto-push/pull workflow, and session search.

Atomic Insights

Lines worth screenshotting.

  • Wrapping a coding agent in a separate supervisor agent that keeps re-prompting it removes the human step of manually reviewing output and prompting again.
  • Storing session files and state on a server instead of a local drive means a device crash doesn't kill the work in progress.
  • A Docker sandbox gives every session the same installed tools, so switching between a desktop and a laptop doesn't quietly change what the agent can do.
  • Tying every coding task to its own Git branch, then auto-merging on archive, lets several tasks run against the same codebase in parallel without collisions.
  • A shared value system applied identically to both the planning agent and the coding agent does more for consistency than a list of coding-style preferences.
  • The rule "it's been done before" pushes an agent to search documentation and existing solutions before writing new code from scratch.
  • The rule "simplicity is the wall" forces any added complexity to justify itself before it's allowed into the codebase.
  • Auto plan and auto build settings let a task move from planning to review to implementation with no manual handoff between stages.
  • A voice assistant that understands the whole system, not just dictation, can pull up a kanban board, create a card, and toggle settings without touching a keyboard.
  • Building a highly opinionated, narrow workflow trades configurability for seamlessness — a more open combination of tools is more flexible but requires assembling it yourself.
  • Deriving an agent's value system from reviewing what you already correct for across past sessions surfaces the rules you're actually enforcing, rather than the ones you think you want.
  • When two agents share a mission and value set but different jobs, tension between competing values, like simplicity versus customer experience, surfaces decisions that need a human call.
Takeaway

A Supervisor Agent Beats Manual Reprompting

AGENT DESIGN

Wrapping a coding agent in a second agent that plans, pushes, and verifies the work end to end removes most of the manual back-and-forth a single agent needs to finish a task.

  • A separate supervisor agent that keeps re-prompting and checking a coding agent's work until a task is truly done removes the loop of manually reviewing and re-prompting yourself.
  • Splitting sessions into a planning stage and a building stage lets a reviewer catch a bad plan before any code gets written, instead of only catching mistakes after the fact.
  • Storing session state and file edits on a server instead of the local machine means a crash on one device doesn't lose the work in progress, and any other device picks up exactly where it left off.
  • A shared, explicit value system, applied the same way by both the planning agent and the coding agent, does more to keep output consistent than any list of coding-style rules.
  • A rule like "it's been done before" pushes an agent to search documentation and existing solutions before writing new code, cutting down on reinvented wheels.
  • A rule like "simplicity is the wall" forces every added complexity to justify itself, which is a cheap way to keep a codebase from drifting into over-engineering.
  • Tying every task to its own Git branch, then auto-merging and rebasing on archive, lets multiple tasks run in parallel without their changes colliding with each other.
  • A consistent sandboxed environment for every session prevents "works on my machine" gaps caused by one device having more local tools installed than another.
Glossary

Terms worth knowing.

Looper agent
A separate agent that repeatedly prompts and evaluates a coding agent's output until a task is fully complete, then reports back to the user.
Supervisor agent
An agent role that reviews a coding agent's plan or finished work, either approving it or sending it back for revision.
Auto plan / auto build
Settings that let a task move automatically from planning to review to implementation without a person manually kicking off each stage.
Server-side session
A coding session whose files, transcript, and state live on a remote server instead of a local hard drive, so any connected device can resume it.
Docker sandbox
An isolated, consistent container environment each coding session runs in, so the agent has the same installed tools no matter which device connects to it.
Resources

Things they pointed at.

07:26toolVercel Sandbox
07:26toolDaytona
09:05toolGitHub MCP
Quotables

Lines you could clip.

00:25
“the industry is filled with over promises and so in any environment when that's happening you have an opportunity you just basically say the opposite and all of a sudden you're like you are now in a blue ocean”
contrarian positioning line, works as a cold open for any pitch→ TikTok hook↗ Tweet quote
11:29
“So I have a bug in my system. CLI crashed. If that had been cloud code, it would have stopped. But this didn't stop. It kept going because it's being done on the server”
live, unscripted proof point during an actual crash→ IG reel cold open↗ Tweet quote
12:24
“Simplicity is the wall. Keep things dead simple. If you try to make it more complex, you're going to have to justify why that addition is important.”
tight, quotable design principle→ newsletter pull-quote↗ Tweet quote
02:49
“Normally, if I did that in Cloud Code, it probably would have done an okay job. It's just going to transcribe all of that with the mistakes and all that stuff.”
direct before/after comparison→ newsletter pull-quote↗ Tweet quote
The Script

Word for word.

Read-along

Don't just watch it. Burn it in.

See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.

metaphor
Today on this video, I'm going to go over the Phantom Looper. This is a coding agent that I have been building. I have some really interesting things to go over in this video that not only will show you why I think this is a cool coding agent that you might try, but also some of the challenges that these coding agents have and my attempt to solve those, which will give you a better, deeper understanding of AI and the tools so that you can build more nuanced and cool solutions and stand out from everybody else.
and that's important right now because the industry is filled with over promises and so in any environment when that's happening you have an opportunity you just basically say the opposite and all of a sudden you're like you are now in a blue ocean so the first thing i'm going to talk about is the looper in phantom looper there is a looper and all that basically means is when you're prompting something like cloud code right you prompt cloud code and then cloud code gives you the message and then you think about it and then you prompt cloud again until you get your result.
You can do that in the Phantom Looper, but it also has the ability to where you can create a task. You create the task with the definitions, and then the system is going to give it to a Looper agent. This is a totally separate agent that is gonna prompt the coding agent for you.
It's gonna listen to the response. Once it's evaluated the coding agent and it truly thinks it's done, it's gonna keep pushing it and pushing it and pushing it until it reaches the end. Then it's gonna report it back.
to the user just allowing you to push forward faster with more tasks and getting them further along without you having to be involved and then i'm going to also at the same time introduce you to this voice assistant which is really cool so here i'm going to turn on this mic here can you pull up the kanban board with all of our issues i'll pull up the kanban board for you board is up on screen now you can now see that i've enabled voice control of the phantom looper to help me just get things done where this is a major change is that in most coding agents like if i go over to cloud code you can use voice to text to help you just like dictate but that's different than having a voice agent helping you think things through and helping you just navigate the system in itself so i can literally code without having to use my keyboard when i'm working in cloud code i have multiple sessions open in different tabs and in phantom looper i didn't want that all of the sessions can run in one screen and i can tab between them go between them you can see this right here this is basically just different coding sessions and there's another feature that i'll talk about in a minute too which it's all integrated with git so let's go ahead and build that out real quick so then we can actually run it through the looper and build the feature i want to put a new card into the kanban board for a feature or really just like an upgrade to an existing feature
If I go to slash resume, it shows me the work done. It shows me whether a Git repository has been pushed or not pushed at all or merged. There's really three states.
It's not pushed, not merged, and merged. And I'd like each of those to have a dot to the left of it that just indicates the severity of the situation. Not pushed should be red, not merged should be yellow, and merged should be green.
go ahead and create that card and then open it up so I can review it. I'll create that card for you now. Now opening card 26 for you to review.
Boom. Take a look at that. Normally, if I did that in Cloud Code, it probably would have done an okay job.
It's just going to transcribe all of that with the mistakes and all that stuff. Then it would have dropped it here and then I could have hit enter. But this is working a little bit different.
This is allowing me to just openly talk and then it's fleshing it out and then updating it and actually creating various to -dos. that must be completed and get done. And so then you could review this, details of the task, and then it came up with four bullet points.
And so now we can also talk about the looper. So there's these two features right here, which is auto plan and auto build. By default, in this particular workspace, they're off.
You can turn these on so it always happens no matter what. But basically what this means is that if I go back to the Kanban board, this was 26. If auto plan and auto build are on, that means that when I move this into the plan mode, an agent will come and pick it up and it will tell the coding agent to create a plan and then once the agent is done a supervisor will come in review the plan and either tell the agent to fix something or it will move it to in progress and then once it's in progress the coding agent will come and actually do the task and then it will move it to done then i can review it then archive it then it will actually take all of those changes package them up and push them back into git for me and then if there's any issues it will drop it into the block column where I can resolve any issues from the human point of view.
Can you open up card 26 again? Card 26 is open now. Can you go ahead and turn on auto plan and auto build and then go ahead and move the card into the plan column?
Auto plan is now on. The card is in plan status with both auto plan and auto build enabled. All right.
So then if I go back to the plan mode and I go into this task, it's got a session that's now created and it's planning. So I can actually go and look at the session now and just watch it get planned for me according to all of the information that I gave it. So that really kind of demonstrates, number one, the looper.
We're going to just let this run. And now you can see the voice assistant. Another thing that I didn't really like about Cloud Code is just the ability to work from anywhere.
Like I want to be able to work on my desktop where I'm at now. I want to then be able to move to my laptop. I want to be able to talk in Telegram.
Cloud Code has built some tools around this. I feel like they're super clunky. you have to do things to make it happen, and I want it to be seamless.
The way I built this is that when you install the Phantom CLI, it also installs a server. Really, any of the sessions that you are working on here are also basically stored here. Any other session on another computer, here's my laptop, we can all see the same stuff.
If I've got Telegram, same thing. I wanted that experience to be 100 percent seamless. Basically, when I come here and I do a resume, I can see all of the sessions across any computer that's being built.
I can see if it's connected to a card, what the session name is. If it's just running right now, you won't see a session name. What the last message is, again, like where the status is on Git, who started it, how old it is, right?
Basically, any of the sessions here that have a little dot, that means they're in memory and I can kind of flip to it. So if I'm here, I can just hit tab and tab between my different sessions. So if I type hello, right?
So I can just tab between them, go through them. That just makes it very easy to just move around, not feel like any work is tied to a specific thing. And this is even the files as well.
Really, this is partly supported by this feature as well. We install Cloud Code, we're on my computer. What it's doing when it's working is it's working locally in your own hard drive, your own file system, which isn't necessarily a bad thing, but it does make it hard to switch.
between different machines. When you think about a session for a coding agent, it's not just the messages that have gone back and forth, right? It's you're actually working on files.
So here's how Cloud Code works, right? You're working, it's got the local file system, it's keeping track of your session, the message is back and forth. That's on your local hard drive as well.
All of the tools that your agent uses are actually working on a remote file system. So when I set up this example here where we have the CLI and the server, When the CLI does things on the file system, like it's, you know, list files, right?
List files, edit a file. Cloud Code will look at your local file system and will do that. So when the CLI is trying to edit files, it's actually editing them on the server.
So what the server does is that every time you create a new session on the CLI, it knows what project you're talking about. And what I mean by that is over here, if I type workspace, you basically can load up your projects, your Git repositories.
Here's the Phantom Looper, it's one of my projects. When I create a session, it's tied to a project, in this case, the Phantom Looper. When you start to run a session here, it will actually go to Git, it'll check it out, it'll set up the working directory.
When you're doing edits on your files, it's actually happening here on the server. which is a little bit weird to think about. There are other tools that allow you to do this.
There's the Vercel Sandbox. There's Daytona. I decided to build my own implementation because I wanted everything integrated.
The thing that this also gives me is that I can have a unified workspace. So when you're using Cloud Code, this is probably not something that most people are dealing with because Cloud Code is smart enough to kind of get around this. But when I'm on my desktop, you know, what's installed and all that different stuff, all the stuff that the agent has access to, like command line tools or...
FFmpeg, if you're not familiar with FFmpeg, it's like a tool that lets you edit videos and stuff. The more I have installed on my local machine, the more the agent can use. And then if I flip to my laptop, well, then the agent only has that, right?
So what this Docker sandbox allows me to do is it's a consistent environment for the agent. So when I switch around, everything's the same. That's all the files, the transcript, they're all held together no matter where you are.
And it just, it keeps it that way. That kind of just kind of touches on Git as well. So basically in the CLI, Anytime I create a new session on a card or a new topic or a new bug or whatever, it also knows the Git repository.
When I create that session, it will automatically create a branch where we can work, whatever that issue is, card 10. It'll do all the work. And then when it's done and you've approved it, And it's gone through planning.
It's gone through coding. Then when you archive it, another agent will come in here. It will go back to Git to see if a bunch of other features haven't been created in the meantime, right?
Because you could have had your coding agent work on 10 other bugs while this one was being worked on. And then it will take those changes. It'll bring them back in to make sure that everything works together.
And then it'll finally push it back again. What I designed this for is convenience. I want to just have the smoothest, easiest workflow that I actually enjoy working in.
I basically went to Cloud Code. There's all these different things that I don't like about it. And then I fixed it and built these more tightly integrated features into it.
So for instance, what this ends up doing to the Phantom Looper is that it makes it more specific. So it brings like a specific workflow into it. If you're like a super hardcore person that likes to design their own very specific workflow, other tools might actually be better for you that may be more configurable.
For instance, what I showed you today could be done with several different integrations, right? You can have cloud code, you could have the GitHub's MCP, you know, you could go through all that complexity and build it yourself. I promise you it won't be as seamless.
You won't have the voice assistant. You won't have a bunch of other things. Like all I'm doing is really taking a very simplified approach to things.
If you load up software like Jira or something like that, or even monday .com, they're very, very, very configurable. I really almost took a different approach to that. I simplified everything down to the core elements that most people really need.
Because a lot of the times what I've noticed with people is that they spend a lot more time creating different statuses. and optimizing and trying to automate things so i just built in the core things that you really need to get things done and then implemented that and then stop there right you can see right here that it was in the planning mode so if i go back to the kanban board remember it was here so now it's here and what's kind of cool about it is it's tracking the session right here and we can go back and just watch the whole thing so here's the top plan this card right here's what the supervisor asked and then the coding agent went into plan mode It built this whole plan.
And just so you understand, the supervisor will send that plan back if it doesn't meet the requirements. And this is one final thing that we can talk about because I think this is also an interesting perspective that I enforced on the Phantom CLI, which is a shared value system. I basically went back to all my Cloud code sessions and I was like, Cloud, go look and see what are the things that I keep bringing up that are super important to me in the way I do things and the way that I make sure that these coding agents do what I want.
And it basically came back with the top three and I was like, man, that's exactly what I do. And then I had to create three more. And basically it comes down to these value systems.
I'm not going to go through. I did another video earlier in the week, so you can catch that. Actually, I can just ask the coding agent.
I'm going to go to new. Oh, bam. Epic fail.
Maximum update depth exceeded.
One thing that's badass is that this is running on the server. So it's still there. Boom.
Another advantage. That is cool. What just happened?
So I have a bug in my system. CLI crashed. If that had been cloud code, it would have stopped.
But this didn't stop. It kept going because it's being done on the server from the, right? The CLI is here.
The server is doing the work here. So when this crashed, this kept going. I just booted it back up.
Now I'm going to fix that bug. I'm not saying I want that bug there, but I'm just saying that's pretty dope. So I'm going to create a new session.
And I'm just going to say, hey, what are your values? Six values. and there's detail in these and it's it's in the code so you can go read it understand before you act you know like read the real code end to end you know find the root mechanisms explain it before changing anything it has been done before so this is where i tell agents it's like dude do not go try to build this it's been built before go look on the documentation go download the module read the code look at the forums where these people hang out and just what are they saying about how they solve these issues like you don't need to rebuild it Simplicity is the wall.
Keep things dead simple. If you try to make it more complex, you're going to have to justify why that addition is important. Proof over belief.
You know, settle questions by actually running code, testing code. When I go through my planning stage, I'll say, hey, actually, I want you to go write some tests. I want you to confirm your beliefs.
Do exactly what was asked. I mean, you can pretty much gather what I'm trying to do there. If you found other things, leave those for later.
And then respect the customer experience. So this is something that I've kind of built actually since doing more vibe coding. I always felt this way, but I didn't put it into words.
And this final value here is basically set up to respect the customer experience. The values are set up to kind of conflict with each other. We've got the customer experience and we've got simple code.
And anytime I create a feature, it has to satisfy both. And it probably leans more towards customer experience than the simple. But at any time when these two things are at odds, it kind of surfaces things.
It surfaces decisions you need to make, things you need to think about so that you can make sure that the customer experience, the flow, everything about it is insanely cool. At the same time, the code base isn't getting destroyed. And so what ends up happening is that even though the coding agent and the supervisor have different jobs, right?
This one's telling the coding agent to make plans and it's telling it to do the work and it's ensuring these two things are done well. The coding agent makes plans and it does the work. but they share the same value system.
And this is something that most coding agents and harnesses do. But here's the system prompt for the coding agent. You can see we're inserting different templates into its system prompt.
And the values is one thing that they both get. They both have the same value system that they're working with. It's not coding advice.
Because if you think about it, like my own head, I was like, I'm not going to be able to create a prompt that has all of the potential coding advice that I could ever want, nor do I even know it. Like the same goes for coding agents that goes for people, right? If you give people a mission, a vision, this is our mission.
This is our vision in the world. My mission is to help builders create software that helps them make an impact, helps them reach their maximum impact. That's my mission.
My vision is a world where everyone has the ability to create the tools they need to reach their maximum impact. And then I've got six values that basically help align everything that's done towards that. And they're more like ways of thinking and making decisions more than they are like...
hard rules on how things should be coded, right? Because if you tell an agent, hey, this has been done before, go look at the community best practice, it's going to come back with a really good answer, usually. And then if you push these six things together, where the agent now has to keep all of these things in line and kind of negotiate back and forth, and then when it can't do it on its own, it surfaces it to you, that's an awesome thing.
And then it can solve a lot of things on its own, and it can just ignore a bunch of other things. So let's check in on our... Boom, it's done.
So we can look at it. So if you want, you can go like literally just watch the whole thing. You can pick up this chat if you want.
Status dots. So it looks like it's done. So right now, like if I come to the Kanban board and if I move this to archive, it's going to automatically push this back to Git.
But if we wanted to watch it, we could do it this way. We can do auto push. And what this is going to do, it's going to go to GitHub first and foremost.
It's going to say, hey, like. While I was working on this task, did like a bunch of other things get done? If so, let's pull those down into where I did my work, which is here.
And let's see if any of these changes screwed with my code. Now, if your agents are moving quickly and getting a lot done all at the same time, the chances of this are less, but you can never promise that there's not going to be conflict. That's what Git is there for.
People think that it's there to prevent it, but it's there to like facilitate when two lines of the same piece of code were changed by two different people or two different agents, right? It's going to resolve any problems. And then it's going to just check it back.
And so then when the next session is created, it will start from where all these features actually belong. So I'm just going to do it manually so you can watch it actually do the process. And here's the task.
Add colored severity marks to slash resume work column. You can see all the changes here. All pushed back into main.
And now check this out. If I come and I do new session, what was the last feature or commit? There it is.
So a brand new session has the work done, completed. It's going to pull all those changes down myself. Boom.
Look at that. Now we've got the status. The thing is, is like.
having all the sessions here is cool as you start to use it what you realize is like oh there's like a lot of little nuances to kind of keep track of so that i don't get overwhelmed and you might start a million different sessions right and so like you can see here that some of them are connected to cards this was an actual card in the kanban board some of them are not that's why they have a dot if you come here you can really kind of see quickly like hey which ones are finalized like these are all merged so this one is not merged and just to kind of like touch back on um the voice assistant hey there was a session where i was trying to create an icon for the phantom looper i was looking for an ascii character that would be a nice thing to put with the phantom looper logo can you see if there's any open sessions that have that in there i can't i couldn't find it myself I'll search through the open sessions to find the one about the Phantom Looper icon.
Found it. There's a session called Phantom Icon for Terminal CLI from 16 hours ago. Let me pull that up to see what you were working on.
Now let me read through the session to find what you were exploring about the ASCII character. There it is. And that's pretty cool.
Like there's a lot of times like where I spend in Cloud Code, I'm like trying to find an old session. But you see there, it's just like, hey, go find me that session. And not only did it find the session, but it loaded it.
It popped it right up. There you guys go. the Fandom Looper, the best coding agent in the world.
Can you believe it? I did it. I created it.
It does anything and everything 24 -7. You just think, and your whole world is just built for you in front of your eyes, right?
The Hook

The bait, then the rug-pull.

Stephen Pope walks through Phantom Looper, the coding-agent CLI he built after running into the same friction points every coding-agent user eventually hits: babysitting a single agent, no voice control, and sessions that don't survive a device switch or a crash.

Frameworks

Named ideas worth stealing.

11:58list

The Six Values

  1. Understand before you act
  2. It's been done before
  3. Simplicity is the wall
  4. Proof over belief
  5. Do exactly what was asked
  6. Respect the customer experience

A shared rule set applied identically to both the planning agent and the coding agent, derived by reviewing what he kept having to correct for across past sessions.

Steal forAny custom agent harness that needs a stable, explicit decision-making constitution instead of ad hoc coding preferences.
CTA Breakdown

How they asked for the click.

FROM THE DESCRIPTION
PRIMARY CTAWhere the creator wants you to go next.
OTHER LINKSAlso linked in the description.
Storyboard

Visual structure at a glance.

cold open
hookcold open00:00
blue ocean pitch
promiseblue ocean pitch00:33
why phantom-looper
valuewhy phantom-looper04:40
auto plan/build
valueauto plan/build10:12
six values
valuesix values12:54
auto-merged commit
valueauto-merged commit16:25
close
ctaclose17:50
Frame Gallery

Visual moments.

One-click upgrade to your Google

Get more breakdowns in your search results

Add Modern Creator as a preferred source and Google shows you more of our breakdowns in Search, Top Stories, and AI Overviews. It only changes what you see, and you can undo it in your Google settings anytime.

Add to Preferred SourcesOpens your Google source preferences with us pre-loaded. Tick the box and you're done.
Watch next

More from this channel + related breakdowns.