AI GTM System
Tools: Claude Code · GA4 · Google Search Console
A marketing system in Claude Code that knows our company, customers, competitors, and business context.
01Why I built it
Working in enablement, I'm often faced with problems around scale. How do I scale an onboarding program to handle the increasing headcount? How do I scale sales best practices across multiple teams? How do I scale the creation of strategic content?
As I get more immersed in using AI, a new opportunity for scale has started to emerge.
How do I scale my impact in a way that previously wasn't possible?
The answer, like many of my enablement solutions, is to create a system. What's interesting about using AI to do this is that I'm now able to have an impact on parts of the business that I would otherwise have no ability to influence. This is especially true working on a lean revenue team where we don't have a dedicated product marketer, content strategist, or marketing ops.
The idea and framework for this project were sparked by Matteo Tittarelli's article "How to build your AI GTM system". In it, he breaks down how to create an AI GTM workspace into four layers: context, skills, orchestration, and integrations.
I decided to try Matteo's framework because I had already built many of the pieces from the Marketing work I've been tackling.
The goal was to create a system that would:
- Reduce the context I needed to provide in my prompts
- Standardize the approach to repeatable tasks with skills
- Orchestrate the execution with specialized agents
- Pull in relevant data/insights from integrated tools
Ultimately, this would enable me to create more specific outputs faster, with higher quality, and without having to start from scratch every time.
02What I built
An AI GTM operating system with four layers.
Context is the foundational layer. I've built markdown files that cover the company, our ideal customer, our services, messaging by persona, and brand voice. These files are automatically loaded, so every session starts from the same foundation.
Skills are the standard operating procedures that combine the context from the foundational layer with the prompt. They include marketing skills that write copy, create positioning, audit paid ads, or do SEO keyword research. The skills are tools that the agents can use to solve different problems.
Agents can reason, use tools, and take feedback to improve their reasoning. The system currently has four of them, one per marketing lane (product marketing, content, paid ads, SEO).
Integrations connect the agents to data sources. This shapes where they go to pull information and ensures that they are working with live data. I won't outline our entire stack, but they have access to a handful of analytics and data enrichment tools, including GA4 and Google Search Console.
03How it works
The best way to explain the finished system is to follow a prompt through it.
The right agent is matched by description. Each agent is a file that describes the lane it owns. When a prompt comes in, Claude compares the request against those descriptions and hands the work to the best fit. Ask how a campaign is performing and the paid ads agent picks it up. If I want to control the route, I can name the agent directly in the prompt.
Anything outside the lanes falls back to plain Claude Code. The agents are designed to be specialists. When I'm connecting a new API or working on something none of them cover, the main session handles it like any other task. The system adds knowledge when it's relevant and stays out of the way when it isn't.
Once an agent picks up the task, context loads in tiers. Every session automatically loads one file: a top-level orientation document that covers the four layers, the rules that always apply, and where everything lives. The detailed context files (positioning, messaging, ideal customer, brand voice) only load when they're needed, and the agent's instructions tell it exactly which ones to read first.
Then the skills and integrations do the work. When a marketing skill runs, it reads a condensed context file that mirrors the full folder. Keeping that condensed file in sync is a written rule of the system, because two sources of truth can drift apart. The tradeoff is worth it because sessions use fewer tokens and nothing starts without the right background. The integrations pull in live data, so the output is built on current numbers.
04What broke & what I learned
I haven't run into any major issues yet, but I'm still early in my experimentation with the outputs.
One of the things I did overlook was that this system applies to anything I do in Claude that isn't related to work (such as writing this post). Funny enough, I realized this when I started working on this post. The WBM voice doesn't exactly match my own lol.
The fix was a rule that provides swim lanes based on the prompt: the company voice for company work, my voice for my own work, and a guideline to ask when it's ambiguous.
The second issue was that I realized the need for a clearance gate. Some of the content I used to create the context files has information that isn't approved to be shared externally. When I saw some of it showing up in the outputs, I added a clearance gate that flags potentially sensitive data as approved for external sharing, needing review, or not approved.
Overall, I'm very happy with this project. It's my first attempt at creating a proper harness for Claude, and I can notice a substantial difference in the quality of the outputs. There will be lots of tinkering to do with the context files and skills, but the foundation is in place.