Writing AI + Operations

Building a competitor brief workflow for a Dubai agency

A weekly competitor brief that lands in your drive every Friday morning, built from public sources and reviewed by a strategist before anything ships.

May 2026 8 min read

What we’re building

A weekly competitor brief that lands in your drive every Friday morning. It reads what your three to five closest rivals are doing in public, drops the raw material into a folder, and writes a one-page summary you can hand to a strategist or a client. The summary covers what changed since last week, what offers and positioning the rivals are running, what ad angles they’re using, what their landing pages look like compared to yours, and where the evidence suggests an opening you might want to take.

The brief is built on evidence. The point isn’t to create urgency. The point is to lower the cost of a real read, so that the strategist or the client gets a sharper picture than they would from a tab-hopping session at the end of the week.

Who this is for

Owners and senior people at small marketing or ads agencies, especially the ones in the 8 to 30 person range where the new-business function is one or two people doing five jobs. Also useful for in-house heads of marketing at owner-led companies who want a periodic read on their category without paying for a market research subscription.

What you need before starting

A paid Claude Cowork account (or any AI tool with file access and a way to fetch public web pages). A folder in your drive you’re willing to give the tool access to. The names and public URLs of three to five rivals. Their Meta Ad Library page (you can find it from any Facebook page’s About section under Page Transparency, or by searching the rival’s name at facebook.com/ads/library). Half an hour to set up the folder, and then about forty-five minutes a week, mostly in review.

The workflow map

A folder called Competitors/ in your drive. Inside it, one subfolder per rival, each named for the rival. Inside each rival’s subfolder: a prompt.md file you write once, and two empty folders called last-week/ and this-week/ that the workflow will populate. At the top level of Competitors/, a brief-template.md and a briefs/ folder where the weekly outputs land.

The flow itself: every Friday morning, Cowork reads the prompt files, fetches what it can from the public sources you listed, drops the raw material into each rival’s this-week/, and writes a single Markdown brief into briefs/ named with the date. Your strategist opens it, reads it, edits, and ships the edited version to whoever needs it. The unedited version stays archived next to the edited one, so over time you have a record of what the workflow saw and what the human changed.

Claude Cowork setup

Open Cowork. Connect it to the folder where Competitors/ lives. Create the structure above by hand, or ask Cowork to create it for you with the rival names you give it. Write the per-rival prompt file. Save the brief template. Run the first week manually before you put it on a schedule.

Prompt block 1: per-rival source list

This file lives at Competitors/{rival-name}/prompt.md. It tells the workflow what to read. You write it once and edit it when a rival changes their public surface.

Rival: {Rival Name}
Website: https://{rival.com}
Meta Ad Library: https://www.facebook.com/ads/library/?...
LinkedIn (public posts only, no login): https://linkedin.com/company/{rival}/posts
Recent client wins page: https://{rival.com}/work
Careers page: https://{rival.com}/careers
Notes: This rival pitches on the same accounts we do for retail and F&B.
       They are most active on Meta. Their landing pages are worth a closer
       read because they iterate weekly.

Two things are missing from the file on purpose: anything behind a LinkedIn login, and any source that needs an account the workflow doesn’t have. Every URL listed is public, and the workflow respects that boundary.

Prompt block 2: weekly run instruction

This is what you give Cowork when you want it to do the run. You can save it as a Cowork plan or a scheduled task.

You are preparing this week's competitor brief.

For each subfolder in Competitors/, except this-week-batch and briefs:

1. Read the prompt.md file.
2. Move everything currently in this-week/ into last-week/, replacing
   what was in last-week/.
3. Fetch the URLs in prompt.md. For the rival's site, save the homepage
   and any pricing or services pages as Markdown into this-week/site/.
   For the Meta Ad Library URL, capture the active ads visible on the
   page as a list with creative description, format, and earliest seen
   date, and save as this-week/ads.md. For the careers page, save the
   list of open roles as this-week/roles.md. For the work or wins page,
   save any new entries since last-week/ as this-week/wins.md.
4. Compare this-week/ to last-week/ for each rival. Summarize what is
   genuinely new or changed. Ignore cosmetic edits like a different
   hero image with the same headline.
5. Write a single brief at briefs/{YYYY-MM-DD}.md using the template at
   brief-template.md. Fill it with what you found. Keep claims grounded
   in the captured material. Where a claim is an inference, label it as
   inference.

Stop and ask before doing anything outside this folder.

The last line matters. It’s the operator boundary. The workflow doesn’t send anything, doesn’t post anything, and doesn’t act outside the folder.

Prompt block 3: the brief template

brief-template.md, in the root of the folder. The template is the shape your strategist already reads in. Yours will look different. The point is that the shape is yours, not the model’s default.

# Competitor brief: {date}

## What changed this week
A short paragraph per rival, only where something genuinely changed.

## Offer comparison
A short table or list comparing each rival's headline offer this week
against ours.

## Positioning comparison
What each rival is leading with on the homepage and on Meta.

## Ad angle comparison
The two or three most prominent ad angles each rival is running.

## Landing page critique
For one rival per week (rotated), a critique of one specific landing
page they are sending traffic to, against ours.

## Missed opportunities
Two or three openings the evidence suggests, with the evidence cited.

## Client-safe talking points
The same observations rewritten in language that can go into a client
meeting without naming a competitor's strategy as fact.

## Source notes
The list of URLs and captured files this brief was built from.

## Review checklist
- [ ] Every claim above is supported by something in this-week/ or last-week/.
- [ ] No claim asserts a rival's intent we cannot verify.
- [ ] Inferences are labeled.
- [ ] No client name is used without permission.
- [ ] The brief is one page when printed.

Example output (excerpt, redacted)

# Competitor brief: 2026-05-01

## What changed this week
Rival A relaunched their homepage with a new positioning line that
moves them away from 'performance marketing' toward 'commerce growth'.
The change is reflected on Meta, where two of their three currently
active ads were updated mid-week to use the new line.

Rival B added a new senior planner role on their careers page. They
have not had a planner role open in the past four months. Inference:
they are pitching on accounts that need strategy support, which they
have been losing on. (Inference, not confirmed.)

Rival C did not change anything visible this week.

## Ad angle comparison
Rival A: commerce growth, with case study numbers.
Rival B: brand-led, with a film-first tile in carousel.
Rival C: discount-led, three creatives, all promo-heavy.

## Missed opportunities
Rival A's new positioning still does not address Arabic-first
audiences. Two of their three active ads are English only. Evidence:
this-week/RivalA/ads.md, lines 4 and 7.

Human review point

The strategist on Friday afternoon. They open the brief, read it against the captured material in this-week/, edit any claim that’s wrong or weak, sharpen the talking points, and ship it. The unedited version stays in briefs/. Over a quarter, you’ll see a calibration pattern: where the workflow tends to overclaim, where it misses, where it’s reliable. That pattern is what the strategist’s edits become evidence of.

What not to automate yet

Three things to leave to a person: sending the brief, messaging a client, and drafting anything in your client’s name. The brief is internal until a human turns it into an external thing. The same evidence base is fine for two outputs (an internal brief and a client-facing summary), but a human writes the client-facing one.

Where this breaks at scale

When the agency tracks more than five rivals, the brief loses focus and the strategist starts skimming. The fix isn’t a longer brief; it’s a tighter rival list, refreshed quarterly.

When a rival makes a sharp public move (a rebrand, a big ad push, a public hire of someone known), the workflow will see the noise but it won’t see the meaning. The strategist has to read the moment. A workflow that confidently writes a paragraph about a rebrand it doesn’t understand will sound exactly as confident as one that does, and that’s the failure mode you can’t paper over with a better prompt.

If a partner asks ‘what did Rival A say about commerce six weeks ago?’, the workflow has the raw archive but no memory of what it itself said about Rival A six weeks ago. The briefs are records. They aren’t a memory in any operating sense. You can search them, but you have to know to search them, and you have to know what you searched for last time. That gap shows up everywhere else in this series.

The operator lesson

Structure before automation. The workflow only works because the folder layout, the per-rival prompt file, and the brief template are sharp. Spend the time there. The model isn’t what makes the workflow work; the structure is.

[VISUAL NOTE] – Suggested visual: a screenshot of the brief itself, redacted, rendered in the agency’s drive view, showing the actual shape (headings, tables, source notes). – Why it helps: the artifact is the lesson. Most readers will copy the shape into their own folder and stop reading. That’s a win. – Could be generated with Nano Banana Pro: no. Render from real data and screenshot. A generated ‘brief-looking image’ will read as cheap. – Avoid: stock ‘team in a meeting’ photography, any rival’s real logo, any chart that isn’t in the actual brief.

Subscribe

A roughly monthly dispatch from karlbaz.com. Links to the month's memos, plus a short note on what matters now.

Roughly monthly · No promo · I do not sell or share your address · Unsubscribe anytime