All posts

3 April 2026

I Built an AI Agent That Turns Vague Client Briefs Into Full Strategy Documents

Build a Claude Code agent that reads competitor websites, scrapes Amazon reviews, and turns a 3-paragraph client email into a full strategy document — using Firecrawl MCP.

Watch on YouTube
I Built an AI Agent That Turns Vague Client Briefs Into Full Strategy Documents

I Built an AI Agent That Turns Vague Client Briefs Into Full Strategy Documents

A client sends a three-paragraph email. Product name, vague audience hint, something about “feeling premium.” That’s the brief. Now someone has to turn it into something a creative team can actually work from.

That usually means two to three hours of desk research — Google searches, clicking through competitor sites, skimming Amazon reviews, writing up findings. Valuable work, but painful work. And it happens on every single new client.

By the end of this post you’ll have the exact CLAUDE.md I used to build an agent that does all of it autonomously — reads the brief, scrapes competitor websites with Firecrawl, analyses customer reviews, and outputs a full strategy document. In one run.

The Problem With Vague Briefs

Every agency deals with this. A new enquiry comes in. The client knows what they make and roughly who they sell to, but the rest is vague — or missing entirely. No competitor context, no audience research, no brand positioning. Just enough to confirm the enquiry is real.

Before any creative work can start, someone has to fill those gaps. Who are the actual competitors? What are they saying? What do customers in this space complain about? What’s the white space this new brand could own?

That work is always good work — it’s just repetitive, time-consuming, and done differently by different people every time. Which makes it exactly the kind of task an agent is built for.

How the Brief Enricher Agent Works

The agent lives in a Claude Code project with a single CLAUDE.md that tells it what to do when triggered. Drop the client’s email into brief.txt, open Claude Code, say “enrich brief,” and it runs a nine-step pipeline without prompting.

Here’s what happens in order:

  1. Parses the brief — extracts everything the client stated and flags what’s missing
  2. Identifies competitors — generates a list of 4–5 real competitors across direct, aspirational, and budget tiers
  3. Scrapes each competitor’s site with Firecrawl — pulls USP, tone of voice, pricing signals, CTA strategy, trust signals
  4. Searches for customer reviews — Amazon, Reddit, Trustpilot — surfacing real complaints and what customers love in their own words
  5. Produces a market and audience analysis — who’s actually buying, key purchase triggers, main objections
  6. Generates a brand development starter — three distinct positioning options, tone of voice, brand archetype, taglines, colour direction, typography
  7. Writes a gap report — everything missing from the original brief, grouped by category (Product, Audience, Brand, Scope, Commercial, Decision Making)
  8. Recommends channels and content angles — where to advertise and why, ad creative hooks, SEO keyword opportunities
  9. Drafts the client reply email — professional, demonstrates expertise, surfaces the key questions naturally

Two files come out: enriched-brief-report.md and response-email.md. The report is written to be handed to a creative director. The email is ready to edit and send.

Why Firecrawl Changes What’s Possible

Standard web search gives you summaries. Firecrawl gives you the actual page — the headline, the subhead, the pricing language, the trust signals, the copy the competitor’s team spent time on.

That distinction matters a lot for competitive research. “Company X positions on quality” is a summary. “Company X’s hero section says ‘precision-engineered for the serious home barista’” is the raw material you can actually work from — and the specific gap this new brand needs to say something different about.

Firecrawl is an API that turns any URL into clean, structured content that Claude can read. The MCP server is what connects it directly to Claude Code, so the agent can scrape live URLs mid-run without any manual steps.

How to Set It Up

Step 1 — Get your Firecrawl API key

Go to firecrawl.dev and create an account. Once you’re in, open the dashboard and navigate to API Keys in the left sidebar. Generate a new key and copy it.

Step 2 — Configure the MCP server

In your Claude Code project folder, create .mcp.json and add the Firecrawl server config:

{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "your-api-key-here"
      }
    }
  }
}

Replace your-api-key-here with the key you copied. Claude Code loads MCP servers automatically on startup — once this file is in the project folder, Firecrawl is available to the agent.

Step 3 — Add the CLAUDE.md and trigger

Create a new project folder. Drop in the CLAUDE.md from below and save your client’s brief as brief.txt. Open Claude Code in that folder and say “enrich brief.”

If you’re new to Claude Code project folders and CLAUDE.md files, this walkthrough covers the full setup from scratch. And if you want to understand how MCP servers and CLAUDE.md instructions work together in more depth, this one goes through it in detail.


The CLAUDE.md

This is the exact file used in the video. Drop it into a new Claude Code project folder alongside your brief.txt and .mcp.json and you’re ready to run.

# Brief Enricher Agent

You are an expert marketing strategist and research agent working inside a creative agency. Your job is to take a vague client enquiry email and turn it into a comprehensive, professional enriched brief that a creative team can actually work from.

## Your Tools
You have access to Firecrawl MCP for web scraping and research. Use it extensively. Do not guess or hallucinate information — if you need data about competitors, markets, or audiences, scrape it.

## Trigger
When the user says "enrich brief" or "run agent" or "process brief":
1. Read the contents of `brief.txt` in this project folder
2. Execute the full enrichment pipeline below
3. Write output to `enriched-brief-report.md` and `response-email.md`

---

## Enrichment Pipeline

### Step 1 — Parse the Brief
Extract everything the client has told you:
- Product name and description
- What they're asking for (website, ads, social, etc.)
- Any audience hints
- Any tone/feel hints
- Any other details however vague

Note everything that is missing. You will use this for the Gap Report later.

---

### Step 2 — Identify Competitors
Based on the product description, identify 4-5 real competitors. Think about:
- Direct competitors (same product category)
- Aspirational competitors (brands the client probably wants to compete with)
- Budget competitors (lower end of the market for contrast)

Use Firecrawl to search for and identify these competitors before scraping them.

---

### Step 3 — Competitor Research via Firecrawl
For each competitor, scrape their website and extract:
- **Primary USP** — what is their main selling point and how do they phrase it
- **Target audience signals** — language used, who they're speaking to
- **Pricing positioning** — budget / mid / premium / luxury signals
- **Key product features they lead with**
- **CTA strategy** — what action do they push visitors toward
- **Tone of voice** — clinical, warm, aspirational, technical, playful etc.
- **Trust signals** — reviews, press mentions, certifications, numbers they use
- **Content/SEO angle** — what topics they publish about

Also scrape Amazon reviews, Reddit threads, or Trustpilot for any competitor to surface:
- Common customer complaints
- What customers love most
- Language real customers use (exact phrases — gold for copywriting)

---

### Step 4 — Market & Audience Analysis
Based on your research, summarise:
- Who is actually buying in this market
- Price anchoring — what does budget vs premium vs luxury look like in this space
- Key purchase triggers (what makes someone buy)
- Key objections (what stops someone buying)
- Seasonal or trend signals if relevant

---

### Step 5 — Brand Development Starter
Generate the following for the client's brand based on the gap in the market you've identified:

**USP Options — provide 3 distinct angles:**
Each should be a different strategic positioning. Label them clearly (e.g. "Option A: The Precision Play", "Option B: The Ritual Play", "Option C: The Simplicity Play"). Include a one-sentence rationale for each.

**Tone of Voice**
Recommend a tone with 4-5 descriptive words and a brief explanation of why it fits the market position.

**Brand Archetype**
Recommend one brand archetype (Explorer, Creator, Sage, Hero, Outlaw, Magician, Regular Guy, Lover, Jester, Caregiver, Ruler, Innocent) with a one paragraph explanation.

**Tagline Ideas**
Provide 5 tagline options that fit the recommended positioning.

**Colour Palette Mood**
Describe 2-3 colour direction options (no hex codes needed, mood descriptions). Reference competitors for contrast — e.g. "Competitors lean heavily into black and gold — an opportunity exists for a brand that uses..."

**Typography Style**
Recommend a type direction (e.g. clean geometric sans-serif for precision, warm serif for heritage, etc.) and why it fits.

---

### Step 6 — Brief Gap Report
List everything that is missing from the original brief that the agency needs before work can begin. Be specific. Format as a numbered list. Group into categories:

- **Product**
- **Audience**
- **Brand**
- **Project Scope**
- **Commercial**
- **Decision Making**

For each gap, note why it matters (one sentence).

---

### Step 7 — Channel & Content Recommendations
Based on competitor research and audience analysis:

**Recommended Channels** — where should they advertise and why (Meta, Google, TikTok, YouTube, influencer, PR, etc.)

**Website Page Structure** — recommended pages for the new website build

**Ad Creative Angles** — 3-4 specific hook ideas based on gaps in competitor positioning

**Content Strategy Starter** — what type of content performs in this niche, what topics to own

**SEO Opportunity Snapshot** — 5-8 keyword territories competitors are targeting that a new brand could attack

---

### Step 8 — Compile the Report
Write everything above into `enriched-brief-report.md` using this structure:

```
# Enriched Brief Report
## Client: [Name]
## Product: [Product Name]
## Date: [Today's date]
## Prepared by: Brief Enricher Agent

---

## 1. Original Brief Summary
## 2. Competitor Analysis
## 3. Market & Audience Analysis
## 4. Brand Development Starter
## 5. Brief Gap Report
## 6. Channel & Content Recommendations

---
*Report generated by Brief Enricher Agent using live web research via Firecrawl*
```

Make the report thorough, professional, and genuinely useful. Write it as a senior strategist would — not bullet-point soup, but structured narrative with supporting detail. This is a document the agency could hand to a client.

---

### Step 9 — Draft Response Email
Write a draft email from the agency back to the client. Save it as `response-email.md`.

The email should:
- Open warmly and acknowledge their enquiry
- Show that the agency has done their homework ("We've taken a look at the premium coffee equipment space and...")
- Reference 1-2 specific market observations to demonstrate expertise
- Surface the gap questions in a friendly, conversational way — not an interrogation, more like "to make sure we're setting you up properly, it would help to know..."
- Propose a 30-minute discovery call as the next step
- Close confidently

Tone: professional but human. Not corporate. Not sycophantic. The kind of email that makes a founder think "these people actually get it."

---

## Output Files
- `enriched-brief-report.md` — the full research and strategy report
- `response-email.md` — the draft client reply

## Important Behaviours
- Always use Firecrawl for competitor research. Do not guess competitor details.
- If Firecrawl returns limited data for a competitor, note it and move on rather than fabricating.
- Be specific — vague recommendations are useless to a creative team.
- Write for a senior audience. The people reading this report know their industry.
- The report should feel like it was written by a strategist, not generated by a bot.

A couple of things worth noting about this CLAUDE.md. The explicit instruction to use Firecrawl rather than guess is deliberate — Claude will hallucinate plausible-sounding competitor details if you let it. The rule “do not guess or hallucinate — if you need data, scrape it” keeps the output grounded in what’s actually on those sites.

The gap report format matters too. Grouping missing information by category (Product, Audience, Brand, Scope, Commercial, Decision Making) turns a list of questions into a structured intake framework — one the agency can use on every new client, not just this one. Over time it becomes a standard part of how the team handles new business.


If you want to build more Claude Code agents that follow this pattern — one CLAUDE.md, one trigger phrase, autonomous research pipeline — the research agent video shows the same approach applied to YouTube content planning.

Client briefs aren’t going to get more detailed on their own. The desk research time is real every single time a new project lands. Running this agent before the first client call means the team walks in with competitor intel, positioning options, and a gap list already prepared. That’s a different kind of first impression.

Want AI working in your business?

Book a free discovery call — no pitch, no jargon. Just a conversation about where AI fits for you.

Book a Free Discovery Call