Categories
Uncategorized

Claude Code for growth: the complete masterclass with James McAulay

Check out the conversation on Apple, Spotify, and YouTube.

Cold open (0:00)

James: AI has completely unlocked what growth people can do. We no longer need to wait for engineers to build growth experiments. You can ship to production yourself, with permission from your engineers. We’re seeing these full-stack growth hires achieve incredible amounts as a single person in a startup.

I guess you could call this an agentic growth operating system. You could use this if you were a full-stack growth person or a first growth hire. If you’re going to be doing work inside of Claude, I think this operating system will help you get better growth results. It’s my take on how to work with Claude as a growth person.

Aakash: Meet James McAulay, who helped ElevenLabs double from $100 million to $200 million ARR in nine months, and helped AI startups like Jack & Jill and Wonder Studios with their growth.

James: When I was at ElevenLabs in 2025, we were definitely ahead of the curve with AI, but our launch processes were mostly custom GPTs, because skills hadn’t been formalized across the AI ecosystem.

Aakash: How did you scale this business to $100K revenue in just four months?

James: My first startup was a marketplace. It took us six years to reach £100,000 of monthly revenue. My current business hit that goal in 95 days. I haven’t hired a single full-time employee.

Aakash: You’ve taught over 400 people now. What do most people get wrong as they’re learning this stuff?

Introduction (1:50)

Aakash: We’ve been talking a lot about how you use Claude Code for product work. But what about all the important growth work: SEO, ads, product marketing? These are really important skills. If you’re on a growth team, you might have been wondering how to apply everything on this channel. If you’re a PM at a startup who has to handle growth work, you might have been wondering how to apply this to your growth work.

Today I’ve brought in an expert. Somebody who has not only grown his own business to $100,000 in monthly revenue, but has helped grow other companies. James, welcome to the show.

James: Thanks for having me. Really excited to be here.

Why this works (2:26)

Aakash: How do people know that what they’re about to see actually works?

James: In a nutshell, I ran my own company as CEO for 10 years, and I was responsible for growth there, as the CEO is. After we were acquired, I joined ElevenLabs and spent a year there. For me, that was a masterclass in growth. It’s one of the fastest-growing AI companies in history, and I learned a hell of a lot while I was there.

After I left, I spent a month going deep on Claude Code. I did some growth consulting for a few other AI companies. Now I’m running my own business teaching people how to use AI agents to grow faster. So I think my track record checks out, and I’ve seen enough companies, and seen a company like ElevenLabs from the inside, to hopefully know what I’m talking about.

What we’ll cover (3:15)

Aakash: So what are we going to learn today?

James: I’m going to show you the system I use to run my business. Twelve months ago I was still using Claude chat like a lot of people. Today I run everything inside the terminal, and I’m going to walk you through that system. I’ll show you some skills, some tools I use, and some growth experiment discipline so anyone can approach growth in a rigorous way.

I’ll also show you the system I use to make sure I’m actually working towards what really matters. With AI, it’s possible to get distracted. It’s possible to go down rabbit holes and build anything. I’ve deliberately engineered this whole harness so that I’m constantly kept on track, and Claude, or any agent that drops in here, is laser-focused on the growth goals.

I’ve been using Claude Code for this. If you go to the link below this video, there’s a way to download it. It’s a GitHub repo, and you can install it in a couple of commands. It works in Claude Code, Codex, Hermes, and OpenClaw, if anyone’s still using OpenClaw.

Twelve months ago I was in Claude chat like a lot of people. I had a project and I started putting context into it, and I realized that with the right context, as we all know by now, an AI agent can be incredibly helpful. I’d heard about Claude Code. It was pretty new at the time. Pretty much this time last year, after I left ElevenLabs, I flew to Mallorca for a week to go cycling. When I wasn’t on the bike, I was in the terminal every waking hour for two weeks, becoming obsessed with this stuff.

So I’ll show you the system I’ve spent basically a year tweaking, the one I run my business through, with goals, skills and tools. Hopefully by the end of this video you’ll know how to put it to work, and why I think it’s worth implementing my system or something very similar. Aakash, where would you like to start?

The scaffolding: the Growth Agents repo (5:21)

Aakash: How do we set it up? What’s the scaffolding that makes it all work?

James: I’ve packaged this up as a GitHub repo called Growth Agents. There are a couple of instructions in there that will get it running.

Essentially, I’ve packaged up some of the tools I think are incredibly helpful for working agentically. I only work with tools that have good APIs or good CLIs, so everything feeds back into whichever agent you’re using.

I’ve also packaged up a bunch of skills. These are genuinely skills I use every day: a morning standup skill, a monthly retro, but also a good PRD skill, an SEO audit, and so on. So it’s a collection of skills and a recommended set of tools.

I’ve also got some weekly routines, or cron jobs depending on how you want to set it up, that improve the harness every week. They look at the way you’re working and suggest new skills, or go looking for new CLIs.

I guess you could call this an agentic growth operating system. You could use it if you were a full-stack growth person or a first growth hire. If you’re more specialized, a product marketer or an SEO lead, you can onboard to this system. It will ask you about your goals and then customize all of it to you.

Maybe we start with the goals piece, because I think it’s quite interesting, unless you want to go somewhere else.

Aakash: Let’s do it.

The goal cascade: mission, OKRs, retros and standups (6:52)

James: This time last year, I wrote down my Q4 goal and edited the project instructions in Claude to say that everything we talk about has to move me towards that goal. It was really helpful. Claude told me when I was getting distracted and helped me prioritize. It really helped me with career decisions, actually. I was tempted to go back into full-time work, but I had told Claude that I wanted the freedom to run my own company again, and Claude helped me hold the line.

So this year, I’ve got a big, punchy goal for my company, and it goes into a mission file. I then run quarterly OKRs. I don’t need to explain those; I’m sure everyone working in product knows what OKRs are. Again, these are documented in the system and they tie back into the mission.

I then run a monthly retro. At the end of every month, Claude pulls data from all the tools that matter. For me that’s Stripe, PostHog, Xero and Attio. It ladders all of that up and asks: did you hit the OKRs, and are we on track for the mission this year? Then it helps me plan the following month.

Week to week, I also do a Friday retro. I’m not joking, I spend about an hour on these weekly retros, usually just with Wispr Flow, speaking into Claude about what went well this week and what didn’t. You’ll notice it takes my personal reflections on how I feel the week went, and then it takes quantitative measurements from all the tools connected to it. So instead of me saying, “I feel like sales were a bit slow this week,” it just goes and checks, and tells me whether we’re on track or not. If I say I’m not sure the main landing page is converting, Claude gets the hard, cold numbers. I do that every week.

Then I have a skill called daily standup. If you’re in a company, I think daily standups are really helpful if they’re done well, if they last about five minutes and you’re actually standing up. But when you’re working by yourself, you don’t have anyone to stand up with. So I do my daily standup with Claude, and it checks that I’m working towards the biggest goal this week, which ties into the month, which ties into the OKRs.

I find this cadence really helpful. Growth is all about prioritization. We don’t want to get distracted, and we don’t want to waste time running the wrong experiments. This system is basically what keeps me, or you if you install it, on track.

I’ve also set up a session hook, so every time you start Claude it reminds you of your goals. Everything I’m going to show you uses fictitious numbers, just as an example. When you start Claude, instead of getting distracted and using Astra to build some 3D game that doesn’t matter, it reminds you: here’s the mission, and this is what you said we’d work on this quarter. And it pushes back. When you install this, your CLAUDE.md gets customized, so if Claude sees you getting distracted, it pulls you back on track.

You could think of it as having your own growth lead who repeatedly asks: Is this a 10x bet? Is this going to move the needle? Why did you get distracted this week?

Is AI actually useful for retros? (12:01)

Aakash: I have to admit, I’ve tried this: the weekly review and the daily standup. I haven’t tried the quarterly and monthly part. What I found was that AI would miss certain context about things that changed rapidly, or I’d have to keep correcting it. With a human, I felt standups and retros were useful for alignment. With AI, I’ve stopped using these skills and just stuck to execution. But you’re not the only guest who has emphasized how important these are. So convince me: why should I use AI as a thought partner for retros and standups?

James: I have iterated on these skills. The one I use most often is the weekly retro. I’ll be honest, I sometimes forget to do a standup. The standup is maybe the least valuable one. But the weekly retro, I’m religious about. I think I’ve done 10 or 15 of them over the last 10 or 15 weeks.

For me, it notices patterns. Here’s an example. Like a lot of technical or engineering-minded people, I sometimes overbuild. I’m keen to add more features, and that’s not what’s actually going to move the needle. Claude noticed this after two or three retros, because I have it connected to my to-do list. It could see that certain outreach and marketing tasks were going stale every week. Then it would look at GitHub and say: hang on, you’ve shipped so much that we didn’t need to ship. You refactored part of your platform for no reason other than that it was fun to refactor.

So for me it’s helpful for spotting blind spots and being held to account on what you say matters. I think this is one of the biggest risks with AI now. We can build anything. It’s not an exaggeration to say that if you or I sat down tomorrow morning, we could have a working MVP or a feature by the end of the day. But if nobody wants that feature or that product, we’ve wasted our time.

So staying on track, and spotting your own patterns of avoidance or procrastination, or doing the fun stuff instead of the stuff that moves the needle: personally, I’ve found Claude very good at holding me to account on that.

Aakash: Maybe I’ll have to give it a try with these updated skills. Maybe my skills just weren’t very good. Maybe you can show us later what the output looks like.

James: Of course.

Spinning up the first agent, and why the terminal (14:44)

Aakash: So how do we spin up our first agent?

James: Let’s try a live demo. I’ve set up a folder of context for a fictitious product marketer. Let’s get into Claude.

Aakash: And you’re in iTerm2. Why iTerm2?

James: I just like some of the themes in iTerm. It feels like quite a fast, snappy terminal, but it’s basically the same as Terminal. I’m going to get people in the comments saying it’s not the same as Terminal. I think I installed it 15 years ago when I was doing computer science at uni, and every computer I’ve had since, I’ve installed iTerm and moved on.

Aakash: Have you tried VS Code or something similar? How should people think about where to run Claude Code?

James: When I was learning Claude Code last year, I was doing it inside Cursor. I had my files in the middle and the agent on the right. Maybe I’ll get hate from engineers for this, but I realized very quickly that I wasn’t reading the files. I was setting up tests and inspecting the front end. I was managing the coding agent, but trusting that with the right testing harness it couldn’t ship something that would break.

Eventually I thought: I have this full desktop screen, but I’m only using the column on the right and ignoring everything else. Why don’t I just run the terminal as my preferred way of running Claude Code? Also, with Cursor pricing, I was running Claude Code through Cursor, and very quickly they were trying to move me up the pricing tiers. Running Claude Code on the $200-a-month plan inside the terminal was the fastest way to do it.

So in this demo I’ve got one screen. I’ve got a nice plugin called Claude heads up display. It keeps an eye on my context and reminds me which branch and which worktree I’m in. When I’m at home, I have a super-wide screen and I’ll often have two windows like this, or maybe five. It’s definitely not the most aesthetically pleasing way to work with agents, but I find it the snappiest and fastest. I don’t like the Claude Code desktop app. I find it a little clunky compared to this.

Onboarding demo and the experiment rules (17:04)

James: Hopefully this is going to work. I’ve set up a demo folder with a bunch of context on what this person is trying to achieve. I’ve designed the system so that it interviews you about your goals. It asks where your goals live: are they written down in Asana, in Google Docs, or in your head? It tries to crystallize all of that for you. Then it pressure-tests your goals and sets up a folder for growth experiments.

While that’s working: I’ve set up a bunch of rules around how to run growth experiments. I don’t know if you’ve tried this, but I’ve found that Claude is a very good analyst of data. We want to make sure our A/B tests are not only statistically significant but set up correctly, and that we don’t read the result of an experiment prematurely. I’ve packaged all of that into a set of rules.

I’ve also set up a loop that makes sure all your experiments get closed. I don’t know if this has happened to you, but it’s very easy to start a growth experiment and then get distracted by shiny object syndrome and forget to close it. You try something and you never close the loop. Or you get to the end of the year and you’ve run a bunch of growth experiments, but they’re not documented. You’ve got a bunch of PostHog experiments, but you haven’t documented the learnings.

So this system is constantly looking at the data and asking: Can we conclude this? What did we learn? Let’s document it and use it to inform the next growth experiment. It holds you to account. If you start something, finish it, and make sure whatever you learn is documented so the next experiment is better.

Aakash: How often do we forget that? And that’s actually where the alpha is: figuring out that this one failed, and here’s why. Like you said, Claude is pretty good at bringing rigor to these experiments. Once I ran an experiment and it said, “Wait, there’s this confound, so we have to look at a media mix model to read it.” It’s actually pretty smart at that.

James: It’s really good. I saw this play out in my first company. We’d run a bunch of experiments and not document them very well. Then we’d hire someone new, and they’d say, “I want to experiment with this part of the funnel.” We’d say, “Sorry, we already tried that.” They’d say, “Cool, where can I see the results?” And we’d say, “We can tell you it didn’t work, but we don’t actually have it documented.” With AI now, there’s no excuse for not documenting stuff.

So we’ve run the setup, and the agent has looked through the folder it was started in. I imagine most people watching your show have their own second brain, or one folder on their computer with all the context they need. I’m not trying to get anyone to create a new folder. This runs inside your existing folder.

It’s read through and it’s saying: I can see you’ve already got some OKRs. Good. You want $6 million in net new ARR. You’ve got OKRs for Q2, but nothing for Q3, and nothing about your focus this month. You’ve written some notes about this week and maybe some Q4 planning. I can see a couple of tests you ran, some information on the business, and an export from product analytics.

So it’s done an audit and it has some sense of what you’re trying to achieve. Now it’s asking whether I want a rapid setup, where it asks quick questions, or a full setup, where it interviews me about everything to do with my role and gets full context.

For this demo we should probably do rapid. But when I teach people how to use Cowork or Claude Code properly, the first exercise I give them is an interview with Claude that takes up to two hours. It feels like a slog. It feels like you’re just answering loads of questions. But by doing that, and having Claude structure your context in a second brain, every answer from there on out is better. I’d normally do the full onboarding, switch on Wispr Flow and just talk out loud. But for the sake of the interview, let’s do rapid onboarding.

Connecting data and the skills tour (25:30)

James: It’s saying, “You’re a growth lead, but I don’t really know what your quarter’s objectives are. Do these exist already? Are they in Notion, Asana, or Linear?” It’s also noticed that I exported some data from analytics, and it’s asking whether there’s a tool it can connect to. I’m going to say “quick demo” so it doesn’t go too deep, and tell it there are no Q3 objectives actually written down, and that the data is from PostHog. It’s going to piece all of this together.

Then it will say: we’ve got these skills, do you want a daily standup? Probably not. The skills I’ve put together include content skills I use all the time, like a tone-of-voice skill that interviews you and asks for examples of your writing. I’m sure people have talked about that on your show before.

I do a lot of YouTube for growth, as you do. So I’ve got a skill that does the whole package: the title, description, keywords and research. I’ve got a skill that looks at competitors. There’s some stuff in there for anyone doing YouTube.

The SEO audit skill (26:51)

James: You mentioned SEO at the start of the call. I’ve remixed a really good skill by a guy called Corey Haines. Do you know him? He’s built an amazing set of skills called Marketing Skills. I definitely think you should get him on the show. His most popular one is SEO audit. I took that and put my own spin on it.

For example, I noticed that if you ask Claude to scrape a website, it often hits Cloudflare blocks or doesn’t read the site accurately. So one of the tools I suggest installing for anyone doing SEO is Firecrawl. It turns any website into a Markdown file. Then there’s DataForSEO, which is a dirt-cheap SEO API. I can’t believe how cheap it is. You give Claude Code the API key and it can research any term for a few cents. I’ve wired both of those into the SEO audit.

Aakash: So you don’t recommend a $100 Ahrefs subscription, when you can just do it for cents with DataForSEO?

James: No. My company used Semrush, and I think we used Semrush at ElevenLabs too. I’ve done years of SEO work, and I noticed it was basically the same tasks every time. I wanted to see my performance on certain keywords. I wanted to know our keyword gaps. I often wanted to put together a keyword universe, and I found it so clunky to do that in those tools. With Claude, I said: analyze my website, analyze competitors, use DataForSEO to create a keyword universe, and then we’ll attack the keywords that matter.

Do you have a personal website? What is it?

Aakash: news.aakashg.com.

James: I think this skill is amazing. Not only will it analyze your backlink profile and check basics like whether your H1s and links are correct, it also runs a page speed analysis.

I don’t know how much you know about SEO, but there’s a Google tool called Lighthouse that measures how quickly your website loads. You used to have to go to the PageSpeed website, run a test, export it, save it, give it to the agent, and ask the agent to make the change. This uses the Lighthouse CLI, so it tests it for you and pulls all the data. I’m doing an outsider test on your website here, but if I run this inside my own codebase, it immediately finds ways to speed up the site. That matters a lot for SEO and helps with conversion. I think there was a study showing that every second of load time you cut has a proven gain in conversion.

You can see it crunching through. Maybe we can come back to it, or I can send it to you afterwards. This is genuinely one I use all the time. I used it on my own website a few months ago, and I used it this morning. I deployed a new page and ran the SEO audit to check it was done correctly. It’s one of my favorite skills if you pair it with DataForSEO and Firecrawl.

Is this an autonomous growth agent? (30:24)

Aakash: Can we go back to the agent we spun up that was pulling your context, and close the loop on how to build an autonomous growth agent?

James: Of course. I want to manage expectations here: these are not fully autonomous growth agents. You can set these skills up to run on a schedule. You can take any of these skills and create an agent using something like Vercel’s Eve framework, OpenClaw or Hermes. But my system isn’t an agent sitting 24/7 on my Mac Mini doing work for me. I’m in the driving seat, and at any time I’m sending this agent off on a piece of work that might take an hour, and sending another one off on something that might take another hour.

For example, with the SEO audit, I have a Claude Code routine every Sunday that tests my whole site and tells me if anything’s gotten slower. If I’ve shipped something that had a negative impact, it sends me an email saying there’s been a regression. That’s an agent that woke up on Sunday, ran the test, and shut down.

So this is more of an operating system. If you’re going to be doing work inside Claude, I think this operating system will help you get better growth results. It’s my take on how to work with Claude as a growth person.

Are autonomous agents overhyped? (32:00)

Aakash: So are autonomous agents overhyped, or are they just not there on quality? Why do we just have skills on a schedule?

James: That’s a really good question. Overhyped, in that I reckon a lot of the people telling you on LinkedIn and X that they have autonomous agents doing stuff for them are either burning tokens on fairly useless stuff, or their agents are going out to scan a competitor and sending a briefing back. In my experience, people are using these autonomous agents to summarize information once a day or once a week.

I think we’ve both seen Instinct go viral on X over the last few weeks. I wouldn’t call Instinct autonomous. I don’t think it decides on its own to go and do a piece of work for you. These agents are at your beck and call. You give them a command and they can spend two or three hours, or 24 hours, on a problem. I’d say that’s relatively autonomous. But the idea that we create these agents and they go off and print money for us without us doing anything is a bit of a fantasy, and maybe some overhyping on Twitter.

What about you? Do you have any agents doing stuff without you steering them, or is it direct the agent, have it work for a few hours, and come back?

Aakash: I’m painfully bad at focusing on growth stuff. All I focus on is content, content, content. The only thing I have is a couple of schedules. I religiously look at something I call my LinkedIn Post Lab. I have a schedule that pulls from 100 creators I follow on LinkedIn every morning. So I don’t really browse LinkedIn. I browse my LinkedIn Post Lab, which I host on my website.

That’s just a schedule. Then I have a couple of loops running. The idea with these loops is that they look at the feedback I give them and become self-improving. They’re not autonomous in the sense that they do anything without my review. But I do have a loop focused on helping me figure out what to post on LinkedIn. It looks at my post performance from yesterday and automatically updates itself.

For instance, yesterday I tried posting two posts instead of one: one link post and one image. This morning it came back and said: your net impressions were actually lower than with one post a day, so that experiment didn’t work. Here’s what I propose you write about today: you just published a deep dive, so write about that.

James: You said you’re not doing much growth, but that sounds very scientific. You’re doing content-led growth. You’re iterating and running experiments. I think you’re underselling what you’ve built, and it sounds cool. We could call that a proactive agent. You could call it autonomous if you were using the term liberally. But as we both know, it’s probably a skill that runs on a schedule and does the same thing every day. That can be powerful.

But I’m not claiming that if anyone installs this, they can retire and have agents run their business for them. My day-to-day is five or six tabs sending off different pieces of work to Claude Code. Sometimes I use GLM or Kimi if Claude is down. The harness around this is what nudges me towards the goals and makes sure we document and learn from what we do. You can spin these skills up as subagents, or set them up on a schedule, but I’m not claiming this is an agentic team that runs itself. Not yet, anyway.

SEO audit results (36:12)

Aakash: Can we circle back to the SEO audit? I think we’ll find I don’t focus on SEO enough.

James: One thing I forgot to do here was ask for it as an HTML report, but we’ve got some issues. It thinks a lot of your posts are paywalled, which is probably intentional. Apparently a lot of posts don’t have SEO descriptions, and there’s a bunch about crawlability. Some of your titles are quite long. There’s some duplication going on. There’s quite a lot of good stuff here.

I remember paying SEO agencies quite a lot of money 10 years ago to come back with a report like this two or three weeks after we’d engaged them. Then I’d give a report like this to my developers and wait another two or three weeks for it to be prioritized, backlogged and built. Now, if I sent you this report and you gave it to whichever agent is inside your repo with “/go, test and refine until all of these are solved,” it would do it. In a couple of hours, you’d have tidied up your SEO presence quite a lot. Does this match what you were expecting?

Aakash: I’m literally in the process of looking at what happened to my SEO. In May I was getting about 25K visits from SEO, and it’s down to about 10K. So these are all great next steps, and I’m going to go do them after this.

James: Definitely. I don’t have your email to hand, but I’ll send this to you straight afterwards.

The PRD skill (37:45)

James: A couple of other things I think are interesting. We could talk about my PRD skill. Everyone in your audience knows what a PRD is, so I won’t go into too much detail. But like I said earlier, mine really grills you on why you want to build something.

There’s the famous Five Whys technique. I think it was Toyota that came up with it, to get to the root of a problem. Something happened, and you ask why. Then you ask why that happened. Eventually you get to a root cause. I’ve pointed that back at the user and asked: why do you want to build this?

Let’s say I want to build a new page on my marketing site. Claude will say: this might be a good idea. Tell me why. What metric is it going to move? I’ll say I think it might rank for a certain term in SEO. It will look at the data and say: the volume isn’t actually that high. Are you sure you want to build it? So sometimes it’s trying to talk you out of building something.

Once it has the PRD, it’s set up with check boxes, and the agent ticks off its work as it goes. So if you hit a context limit or need to kill the session and continue later, the agent looks at the PRD, sees it’s halfway through, and keeps going. I think this is a good PRD skill, but we don’t need to dwell on it.

Multi-agent refine (39:14)

James: This is something I use all the time: multi-agent refine. When I’ve written a PRD, created anything, or built something I think is critical, like payments infrastructure, I run this skill. It spawns subagents, maybe three or four, sometimes up to 10, and each takes a slightly different lens. One looks for technical correctness. One asks if we missed anything. One looks for simplicity.

If I’m building something, these are subagents in an engineering sense. If I’m planning a piece of growth work, multi-agent refine takes a few different approaches to growth strategy and comes back with: your plan is strong in this area, but the panel of critics found these weaknesses. Since I created this skill and started using it, I don’t think I’ve stopped using it on a daily basis, because even Fable, even Astra, can miss quite big things.

The subagent I find particularly helpful is the “what’s missing” one. Often we have an idea, go to an agent, and say: let’s build this. Maybe interview me first, write the PRD. But we don’t know what we don’t know. If you ask an agent what’s missing from the plan, it very often surfaces things that neither you nor your primary agent had thought of. I love this skill.

The one thing I’d say: make sure you’re using Sonnet subagents. I accidentally spun up 20 Fable subagents yesterday and immediately hit my limits. So use Sonnet or Opus subagents for this one.

Aakash: Can you show us that in action?

James: Let’s see what we’ve got. We’ve got this person’s Q2 growth OKRs. I’m going to say “multi-agent refine OKRs.” I use this a lot for strategy and planning documents. Let me switch this to Sonnet so our demos happen faster.

It’s going to spin up, I think, five subagents to critique our OKRs. As I’ve mentioned in the GitHub repo, there are some stock subagents I use all the time: What’s missing? Is this feasible?

I’ve also seen people set up a panel of advisors: Paul Graham, Hormozi, whoever you look up to. You can train an agent on their writing, and when you run multi-agent refine, it approaches the work the way they would.

It’s asking whether I want autonomous improvements, where it runs a first pass, the master agent reviews the results and fixes things for you, or whether I want to be involved, see the critics’ results and decide what to change. I use both, but for this one we’ll check in. It’s noticed that we’re critiquing Q2 goals in Q3, but this is just a demo.

It’s checking whether these OKRs are measurable and rigorous, whether they’re feasible and we have capacity to do them, whether they’re aligned with the mission, and whether we’ve missed anything. Those are the four running here. You can see these are subagents: “You are a skeptical critic reviewing this company’s growth OKRs.”

It’s back already. Sonnet is fast. It’s found a lot of problems. The document is stale, which is an obvious one. There’s a note in the retro that undermines these numbers. There’s a bunch of technical stuff about qualitative judgment instead of quantitative judgment. I’ve seen all of this happen before. When teams write OKRs, they’re not set up to be measured correctly, or the numbers are hedged because the wording of the OKR was wrong. I forgot how fast Sonnet 5 is.

Now our main agent is synthesizing what they all found. It will come back and say: these are P0s or P1s you need to fix, these are P2s, and these P3s you can leave out. This is called adversarial review, and in my experience it always surfaces far more than getting one agent to review its own work.

It’s come back and said the numbers are stale, and it’s not linked to the company OKRs, so we don’t know whether this person’s OKRs help the company OKRs. Then it asks which of these you want to change, and you go through them. You have to try this skill to experience the magic, but trust me, it’s a very good skill.

From audit to PRD to refine (44:52)

Aakash: So should you be running multi-agent review on the SEO audit? When should you run it?

James: Let’s go through this example. The audit found these issues. If this were my repo, I’d turn it into a PRD. The agent would research the codebase and the audit and put together a phased PRD. Then I’d run multi-agent refine on the PRD. So: audit, then PRD, then five subagents attacking the PRD. Usually they find improvements and things the first agent missed. I mostly use multi-agent refine in the planning phase, just before I hand the plan over to the build agent or agents.

Building experiment discipline (45:38)

Aakash: Once you have multi-agent review, how do you get it to run a disciplined experiment process?

James: That’s all built in. We’ve got a template here: the hypothesis, whether it’s tied to a key result, the baseline, the primary metrics, any confounders, and what might make us stop the experiment. I wish I’d had this many years ago when I was running growth at a small startup. This alone will force you to be rigorous in your experiments. We’ve also got a playbook on A/B testing, which can include specifics for your own site.

So in this demo, I’ll say: help me set up an experiment for top-of-funnel landing page conversion. I want to test an exit popup.

With all these rules and templates, it makes sure the experiment is documented correctly. Then all the skills I showed you, the weekly retro and even the daily standup, look at the list of running experiments. They’ll say: this one’s finished, shall we review it? Or: this one’s gone stale. It was supposed to finish two weeks ago and you haven’t documented it. The whole system makes sure these experiments get wrapped up.

In this example, it’s asking me for the baseline conversion rate, traffic and so on. Nobody should be answering these questions manually. This is data that should come from PostHog, Mixpanel or Amplitude.

PostHog plus Claude Code (47:27)

James: In this demo folder I haven’t got PostHog set up, but it’s in the recommended set of tools. PostHog is the first tool I recommend everyone set up. Have you used PostHog yourself, in product?

Aakash: I use it. It’s so good. In particular, there’s so much on the free plan, which is so nice.

James: You’re literally the second person to tell me that in 24 hours. They’re very generous with their free plan. I think I only upgraded last week because I wanted retention past 12 months.

They’ve built a stunning MCP, API and CLI. They’ve got a PostHog wizard now: one line into Claude Code and PostHog will run your experiments for you. To show you mine: I created this PostHog account at the same time I was discovering Claude Code, so I haven’t created any of these dashboards myself. Claude Code did all of it through the API. Same with my experiments. I didn’t create them in the UI. Claude’s API key has permission to do it. It’s set up the measurement, and we’re waiting on our test. So far it isn’t quite working as we wanted, but it still has plenty of time left. PostHog plus Claude Code is a growth person’s dream.

Also, if you’re a growth person, try to get at least read-only access to your company’s Git repo. Your team might not let you ship stuff, but if your agent can see all the event definitions in PostHog, it can help you measure absolutely anything. If your PostHog setup is a black box, if you only have the UI and can’t see the code, you’ll often be pinging engineers on Slack asking when an event fires, when it was last updated, and why there are two of it. If your team gives you a read-only key for Git, you can answer all of those questions yourself.

PostHog tips for growth people (49:23)

Aakash: What are some tips and tricks for getting the most out of PostHog as a growth person?

James: Definitely what I just mentioned: get access to your codebase if you can. Even if you’re not going to write code or ship PRs, get access to Git so you understand how events are firing.

If you are shipping PRs, whether you’re a product person or a growth engineer: I’ve set up a bunch of tests in my CI. When I push a PR and the tests run, one of them checks that everything has a PostHog event. I cannot merge code into production unless all the PostHog tracking is set up. I know I’m going to forget. I’ll be excited about a feature or a new landing page and forget about PostHog. So on day one of setting up this repo, I asked: what’s the system that means I never forget PostHog events again? The answer was a test when we submit a PR. I’d highly recommend doing that so you never have to think about adding new events.

Something else I did, and I’m trying to remember where it is in the UI, because I don’t use the UI that often. I mainly use it through Claude Code.

Aakash: You’re showing the UI because we’re on screen and it’s more interesting.

James: Exactly. One thing I did last week that was really helpful: I wrote very good definitions for every event. I was good at creating the events, and every event existed. But I’d hired an agency running A/B tests across my funnel, and they were using PostHog’s AI chat. I noticed one or two things were getting misinterpreted, because we had event names but no event definitions.

So I wrote a PRD that said: we’re going to define every single event. Scan all of them and make the plan. Then I ran multi-agent refine on the PRD to check we were taking the right approach. Now every event says when it fires, where it fires, and what kinds of things to use it for measuring. Every single event in my list of 350 is documented.

Pre-AI, you’d only have that if you were working with a god-tier product manager. I don’t think anyone’s data would be this well annotated. But this was a task I did in about two hours last week, alongside five other things. So I highly recommend it. It’s a bit boring, but make sure your data is well labeled and well annotated.

Aakash: What’s the right prompt for Claude Code here? Something like: audit all of my telemetry and event definitions, find gaps where we should create new events, find places where our definitions are wrong, and help me update them?

James: That’s perfect. If you like, I can go back into Claude Code, find the exact prompt and we can show it on screen, but what you just described would absolutely work. Just make sure the API key has permission to read and write your event definitions.

Mistakes and lessons (52:44)

Aakash: You’ve set up this agentic growth OS. A lot of people are just getting access to the tools to set it up. You’ve made the mistakes along the way. What are the big mistakes and learnings people can use to speed up their own process?

James: When I started working with Claude Code, I think like everyone, I felt like a caveman who’d discovered fire. I fell under its spell and thought it could do anything and solve any problem. Then I realized, as we’ve all experienced, that Claude will confidently give you information that’s just wrong, and it will introduce bugs even when you’re supposed to have tests.

So if you’re doing this in any technical capacity, I now use Cubic as an AI code reviewer, which makes sure I’m not shipping bugs. I had one or two bugs that didn’t cost me money but were quite annoying. I also use Sentry for error reporting. If you’re going to write code, don’t trust Claude on its own.

You can use any agent here. I’m primarily in Claude Code, but this is all set up to be agent-agnostic. I do open Codex sometimes and keep working in the same folder.

My biggest piece of advice is to get everything connected as fast as possible. Here’s another diagram of my setup. I’ve got Sentry and Cubic, which I just mentioned. Playwright is great for testing. But a lot of your audience aren’t writing code, so I’ve also got all my content tools: ElevenLabs, EP, Epidemic Sound and Mistral. On analytics, I’ve got vidIQ and DataForSEO. I’d recommend plugging everything into Claude Code. Giving it full context across every ecosystem you work in is what helps it move at incredible speed.

Here’s an example from yesterday. I use Kit for my mailing list, and I thought: wouldn’t it be cool to get a daily Slack alert showing me the people who engaged with an email? I send an email to a thousand people; show me who engaged. Then I thought, actually, I don’t want everyone. I want people who haven’t bought from me before, and I want them enriched. I want to use something like Apollo to see their LinkedIn and their profile, and Attio, my CRM, to check who has paid and who hasn’t.

If I hadn’t connected all those tools, that would require an engineer and be a painful exercise. Instead, it was one prompt yesterday: I want a daily Slack alert that sends me non-booked leads, enriched with Apollo, with a link to Attio. I could show you in Slack, but it has emails in it, so I won’t. That flow is so helpful for me and for someone who’s helping me with sales at the moment. It’s only possible because everything is plugged into Claude Code, whether through an official MCP, an official CLI, or just an API key. If you give Claude Code an API key, it will usually work wonders for you.

How this has changed since ElevenLabs (56:06)

Aakash: We touched on this at the beginning, but I want to circle back. How has this evolved since you were at ElevenLabs?

James: I was at ElevenLabs in 2025, and we were definitely ahead of the curve on AI. In 2025, being ahead of the curve meant using custom GPTs. If I’m correct, and you can fact-check me on this, I’m pretty sure skills as a concept were really formalized around autumn last year. So for most of last year, people weren’t using agent skills.

We had a few custom GPTs. We had one to make sure copy was on brand, for example. ElevenLabs has a fairly well-defined tone of voice, so you could run anything through that custom GPT and it would sound on brand.

Then we started to extend that. We had a big spreadsheet, a launch checklist. For every launch you’d duplicate the sheet, adjust it depending on whether it was a tier one or tier two product launch, and work through it. We started building custom GPTs that took on parts of that process. I left ElevenLabs last year, but I’m 100% sure there’s a launch skill now. It’s come a long way.

I’d also bet the majority of the growth team at ElevenLabs is working the way I just showed: inside Claude Code, plugged into all the tools. Twelve months ago, even the developers were just discovering Claude Code. I don’t think growth and product people were inside Claude Code this time last year. As a growth industry and a product industry, we’ve been given superpowers in the last 12 months that unlock so many abilities for non-technical people.

The next frontier (58:05)

Aakash: It’s actually wild. What do you see as the next frontier? You mentioned Instinct. Is that part of it? What’s coming in the next couple of months that everybody in growth is going to adopt?

James: I’ve heard people talk about the idea of the autonomous company: a company of agents that grows itself. I’ve seen a few people on X claim to have built something like this, and I’ve had attempts at building it myself. I want to close my laptop at 6 p.m. and have agents, as we discussed earlier, autonomously pick the right task, work on it, check their own work, and then in the morning I wake up and review it. Maybe I don’t even review it.

So to me, it’s this notion of a self-improving, 24/7 company of agents. Right now my system works really well, but it still waits for my prompt. I’ve got some scheduled tasks like you have, but I’d love to reach the point where an agent comes back and says: I’ve wrapped up this experiment, it was a success, and I’ve kicked off the next one. You didn’t have to do anything.

I think the idea of an agent running 24/7 isn’t quite ironed out yet. Vercel have built a great framework called Eve. I highly recommend trying it. People bought Mac Minis and set up OpenClaw on them. Instinct is the latest personal agent, and there’s Meta’s Muse assistant this week as well. It’s this idea of an agent not bound to your computer, running in the cloud somewhere, getting things done for you, maybe even preempting what you want or need. Whoever figures that out for companies is going to make a lot of money.

Then growth people will be tasked with pointing these agents at the right experiments. You’ve got to understand your customers to run good experiments. There’s no point running A/B tests on a page no one cares about. That would be my prediction.

Building a $100K business in four months (1:00:18)

Aakash: I want to talk about you for a second. How did you scale this business to $100K revenue in just four months?

James: I was doing growth consulting, and I got asked to run a workshop teaching execs about AI. Twelve years ago, I was actually teaching execs coding through coding bootcamps. So I ran this one-day workshop and got really good feedback. People said I was a good presenter, and that they felt I’d transformed how they used Claude in two days. So I thought maybe I was on to something.

I’d been plugging all my MCPs into Claude. I had a pretty good system using Apollo, Granola and Todoist. So I ran an online workshop and said: I’m going to show you how I’m running this business. At this point it was still consulting. About 150 people attended, mostly from my own network. So again I thought: there’s appetite here. I’ve got product-market fit. People want to know how to actually use AI to grow faster.

I was consulting four or five days a week, so I pulled that back to three and gave myself two days a week to run some sort of cohort. Could I teach a bunch of companies, maybe 20 people, over four weeks, how to get all of this set up? I got 60 people signed up. That was the busiest month of my life: three days a week of consulting and two to four days a week running the course.

I put my heart and soul into it. I really made sure everyone got good results, and the word of mouth has been crazy. I incentivized it with a referral program. If you enjoyed it and know someone you want trained, here’s your link: it gets them a discount and gets you some money. Again, Claude Code set that up for me. I use something called Rewardful, which has an API that was very easy to use. Then I got people referring companies that wanted to train 20 people at once, and with my pricing model, 20 people at once is pretty good.

So I’ve been building my own learning platform, running cohorts like this every couple of months, and doing private workshops as well. I’ve just got back from Vegas, and I went to Greece in the summer, to run intensive hackathons and exec training sessions. I think I’ve found a format people want. I’ve used Claude as fully as I can. I’ve maxed out the $200-a-month Claude subscription. And I feel like I’ve applied everything I learned running a company, being at ElevenLabs, and doing growth consulting. So I think it’s good timing, and the right stage of my life to apply all those lessons.

What people get wrong (1:03:14)

Aakash: You’ve taken everything you’ve done in the past and built a business around that skill set, which is genius. You’ve taught over 400 people now. What do most people get wrong as they learn this stuff?

James: I think people don’t realize you can ask an agent to improve itself. I saw this at Jack & Jill. They’re an agent company. I don’t know if you’ve heard of them. Jack speaks to candidates and Jill speaks to recruiters, and together they try to match people. It’s an AI-native, agentic-first company. I’d overhear conversations in the office where someone would say: I asked Jack how he would improve his own system prompt, he came back with a 10-step list, I did it, and now he’s better. And I was like, what?

I’m not talking about recursive self-improvement in the AGI sense. I mean you can point an LLM at its own system prompt or its own skill, run evals, or just ask how to improve it. A lot of people haven’t realized that’s possible.

Quite often someone comes to me asking how to improve their CLAUDE.md. I can give them my take and some best practices. But what I usually say is: have you asked Claude? Have you said, “Based on all of our recent interactions and everything you know about me, and after reading the Anthropic docs, how could we improve my CLAUDE.md?” People just haven’t figured out that these agents can improve themselves.

I think the reason is that Claude chat isn’t very good at editing itself. It’s in the cloud, it can’t really set up a second brain, and it can’t edit its own system instructions. Once you get into Claude Code and Cowork, they can reflect on their own work and edit any file on your computer. When people make the jump from cloud-based chat to a file-based agent, they realize Claude can fix anything about itself. Maybe that’s the biggest breakthrough for a lot of people.

Where to find James (1:05:40)

Aakash: I’ve got your LinkedIn here. People have the GitHub link below. You’re on YouTube, you have a website, and you have the Agent Accelerator. Is there anything else people should know if they want to work with you or learn more?

James: I think you’ve covered it. I post daily tips on LinkedIn, and I post a good video every week on YouTube. If you want to book a call with me, there’s a link on the Agent Accelerator website to find out if we’d be a good fit. You were more prepared than I was with all the links, so I think that covers it.

Aakash: We’ll put those in the description, or in the email where you found this. See you in the next episode.

Leave your thoughts