THE BEYOND BRIEF

Welcome to Beyond Brief.

Fair warning: today gets technical. If that's not your thing, skip it. I'll catch you tomorrow.

But if you've ever wondered how a non-technical guy runs six brands without losing his mind, stick around. Today I'm breaking down the system I use to brain-dump everything in my head and turn it into actual content.

I get the same DM about three times a week. "Cool, but what's the actual stack? Like, what software, what folder structure, what runs when."

So today's the receipts. Five layers. No fluff. By the time you finish reading you should be able to build the same thing this weekend.

Here's the whole thing in one diagram, then we go deep on each piece.

The architecture

1. CAPTURE       Notion Web Clipper → Notion External Brain DB
        ↓
2. PROCESS       Scheduled Claude Code agent (Mon + Thu, midnight)
        ↓
3. OUTPUT        → HTML magazine "The Brief" on Vercel
                 → Notion archive page
                 → Email + iMessage notification
        ↓
4. STORE         Markdown snapshot → Obsidian vault
                 (raw/external-brain/YYYY-MM-DD.md)
        ↓
5. SYNTHESIZE    Morning Briefing skill reads vault
                 Surfaces patterns + today's move per brand
        ↓
   PUBLISH       Beyond Brief (Substack), TSH (Buffer),
                 Benatar Brands outbound, etc.

Five layers. Each one does one thing. The handoffs between layers are dumb files in plain folders, not bespoke APIs.

That's the whole trick: every "smart" piece writes its output as a plain Markdown file on disk so the next layer can be a totally different tool — and you can swap any layer without breaking the others.

Layer 1 — Capture (Notion Web Clipper)

Pain it solves: I read 200+ tweets and articles a week across X, Substack, GitHub, podcasts, and screenshots from my wife and friends. Without one inbox, that signal evaporates inside 48 hours.

Tool: Notion Web Clipper. Install the Chrome extension and the iOS share-sheet extension. Both ship items to the same Notion database.

The DB: One single-source-of-truth Notion DB called External Brain. Three fields you actually need:

  • Name (Title) — optional, usually blank

  • URL (URL) — the captured link, required

  • Area (Select) — empty until processed → " Done" after the agent reads it

That's it. No tags. No project field. No priority. The agent does all the sorting downstream — the only job of the capture step is get the link off your brain and into one box.

Setup time: ~15 minutes including extension install. The DB is one click in Notion.

The single most important rule: the capture step has to be friction-free. The moment "should I save this?" becomes a 4-second decision, you lose 80% of captures. Mine is one keystroke (⌘+⇧+S) on desktop, one tap on iOS.

Layer 2 — Process (the scheduled agent)

Pain it solves: A full Notion DB of saved links is just a graveyard. Nobody ever goes back through it. You need something that reads everything and tells you what mattered, automatically, on a schedule, without you initiating.

Tool: A Claude Code scheduled task. Runs Mondays and Thursdays at midnight LA time. Total runtime: about 8 minutes.

The agent lives in one file at ~/.claude/scheduled-tasks/external-brain-processor/SKILL.md. Roughly 400 lines, mostly prose telling Claude what to do step by step. The key sections:

  • Find unprocessed items in the Notion DB (collection API, with x-notion-active-user-header auth)

  • Visit each URL in Chrome via the Claude-in-Chrome extension and read the actual content

  • Score and prioritize (engagement signal, brand-fit, freshness)

  • Write editorial copy in my voice — not generic summaries

  • Generate The Brief HTML magazine

  • Deploy to Vercel (vercel --prod --yes)

  • Notify (email + iMessage with the URL)

  • Write structured snapshot to Obsidian vault

  • Mark items processed in Notion

The whole file is a single SKILL.md. No frameworks. No infrastructure. Just a prompt with checklists.

The most valuable 50 lines aren't the code-like parts. They're the editorial direction. The instructions that tell Claude don't write "you should consider posting about X" — write the actual post. Most generic AI workflows fail because they ship 10-bullet summaries instead of the work itself.

Setup time: ~3 hours the first time. After that you tune it once a week as you notice weak items.

Layer 3 — Output (where the Brief actually lives)

The processed Brief lands in four places simultaneously, on every run.

The HTML magazine

Centerpiece. A self-contained HTML page deployed to a Vercel project. Mine lives at output-five-kappa.vercel.app — a stable alias that always points to the latest deploy. Visit it on phone or laptop, it's mobile-first.

Layout:

  • Masthead with date and item count

  • Vertical feed of cards. Each card: source handle, engagement stats, headline, verbatim pull-quote, my editorial take, brand pill, and if applicable an orange "EXECUTE" strip with the exact next action

  • A "YOUR MOVE" section with 6 checkboxes for the most actionable items, and an ⚡ Execute Selected button that copies to clipboard and pre-fills an iMessage to my own number

  • Mini blogs — three newsletter-ready drafts at the bottom of every Brief, in my voice, ready to paste into Substack

The whole HTML is one file. No JS framework. No build step. Vanilla HTML + inline CSS + 30 lines of vanilla JavaScript.

Deploy command: vercel --prod --yes in the output directory. Vercel handles everything else.

The Notion archive

Every run creates a permanent Notion page titled "🧠 External Brain Digest — [date]". Same content as the HTML, but as Notion blocks so I can search across digests months later. Archive is long-term memory. HTML is the daily artifact.

The iMessage notification

A short text to my phone with the top three items and the Vercel URL. Tap, you're in the Brief.

The email

Same content as iMessage, full execute queue inline. Sends via Apple Mail through iCloud account. One trap: Mail.app loves to silently park messages in the Outbox if you don't synchronize with account "iCloud" before sending. Force a sync before AND after send.

Why four channels? Because which one I check first depends on where I am. Phone = iMessage. Desk = email. Deep work = Vercel URL on second monitor. Don't make yourself remember which — send all four.

Layer 4 — Store (the Obsidian vault)

Now we leave the Brief and enter the second brain proper.

Tool: Obsidian. Local, file-system-backed, free.

Vault location: ~/Documents/Obsidian VAULT/Mac Mini/

Folder structure (this is where most "second brain" YouTube guides get wrong):

raw/                # Append-only sources. NEVER edited.
  inbox/            # Manual drops, voice memos, chat-session logs
  external-brain/   # Daily Brief snapshots from Layer 3
  beyond-brief/     # Newsletter drafts and published issues
  assets/           # Images, screenshots
wiki/               # Synthesized brain. Edited by Claude with my approval.
  sources/          # One factual page per ingested raw source
  entities/         # People, brands, products, places
  concepts/         # Ideas, frameworks, themes
  synthesis/        # Cross-cutting analysis
  index.md          # One-line catalog of every wiki page
  log.md            # Append-only record of every operation
output/             # Generated reports — briefings, lint runs, exports
.claude/skills/     # The agents (Morning Briefing, etc.)
CLAUDE.md           # The 10 rules + page templates + operations

Key insight: raw/ is append-only and immutable. I never edit a file in raw/. The agent never edits a file in raw/. New stuff goes in; nothing comes out. That single discipline saves the vault from rotting.

wiki/ is the synthesized brain. Pages here are short — frontmatter, summary, key facts, related — and they cite sources back to raw/. When new info contradicts an existing wiki page, the agent updates the page AND cites both sources.

The 10 rules governing the whole thing live in CLAUDE.md at the vault root. Highlights:

  • Never modify files in raw/

  • Always update wiki/index.md when a page is created or deleted

  • Always append to wiki/log.md after every operation

  • Every wiki page must have YAML frontmatter (tags, sources, created, updated)

  • Source pages stay factual. Interpretation goes in concepts/ and synthesis/

  • When asked a question, search wiki/ first. Consult raw/ only if the wiki doesn't have the answer

This is the Karpathy method — Andrej Karpathy's pattern of "raw inputs → LLM compiles → maintained wiki." I'm running it.

Setup time: ~2 hours including CLAUDE.md. The folder structure takes 30 seconds.

Layer 5 — Synthesize (the Morning Briefing skill)

This is the layer most people skip. They build the vault, fill it with files, and never read it again. The vault has to talk back or it's a graveyard.

Tool: A Claude Code skill at ~/Documents/Obsidian VAULT/Mac Mini/.claude/skills/morning-briefing/SKILL.md

What it does: Reads every file in raw/ not yet logged, produces a 600-word opinionated rundown with today's move per brand, saves to output/briefings/, appends to wiki/log.md.

Output format (opinionated on purpose):

# Morning Briefing — [Date]

## The thread that matters today
[1-2 paragraphs. The strongest pattern. Find the through-line.
 Name the most important name + the most important number.]

## Three signals worth knowing about
- **[Source / handle]** — [1-line summary, 1-line why it matters]
- **[Source / handle]** — ...
- **[Source / handle]** — ...

## Today's move (per brand)
- **TSH** — [concrete action, or "nothing today" with reason]
- **Beyond Brief** — ...
- **Benatar Brands** — ...
- **PumpPad** — ...

That last section is the unlock. Today's move per brand. Not generic "you should think about X." A specific concrete action I can either approve or kill in five seconds.

Invocation: A user-level slash command at ~/.claude/commands/briefing.md. Type /briefing in any Claude Code session anywhere on my machine. It works.

Sister command — /log — does the opposite direction: takes the current chat I'm in and writes a structured summary into the vault's raw/inbox/ so tomorrow's briefing can read what I did today. End a coding session, type /log, the vault remembers.

Setup time: ~1 hour for the skill, 20 minutes for the slash commands.

The personal newsletter site

Last piece. The Brief on Vercel that I keep mentioning.

Stack:

  • One index.html file with inline CSS and inline JavaScript

  • Deployed to Vercel via the CLI

  • Stable alias (output-five-kappa.vercel.app) that updates on every vercel --prod deploy

  • Mobile-first responsive layout

  • Color palette: light gray background, dark cards, single orange accent (#FF6B00)

Why Vercel and not a static site generator? Because I want zero build complexity. The Claude Code agent writes the HTML, runs one CLI command, and 4 seconds later it's live globally. No webpack. No Next.js. No CMS.

This goes against everything modern web-dev culture tells you. That's the point. The Brief is for me. I am the audience of one. Optimize for how fast it goes from agent output to my phone, not for hypothetical scale.

If you want to copy this exactly:

  • Make a folder anywhere (mkdir -p ~/the-brief/output && cd ~/the-brief/output)

  • Add a vercel.json with {"public": true}

  • Run vercel link once interactively to bind it to a Vercel project

  • Put your index.html in the folder

  • Every future deploy is vercel --prod --yes

Total: 10 minutes including signing up for Vercel.

Build order for your weekend

If you have a free Saturday, the sequence that won't burn you out:

Hour 1 — Capture layer

Install Notion Web Clipper on desktop + mobile. Create the External Brain DB with three fields. Test by clipping five articles. Stop. Don't build anything else yet — just capture for a week before you automate anything.

Hour 2 (next weekend) — Vercel skeleton

Make a folder, drop a placeholder index.html (literally <h1>The Brief</h1>), vercel --prod, confirm the URL works. You now have an empty cockpit waiting for content.

Hours 3-5 (next weekend, same day) — The processing agent

Write the SKILL.md for the processor. Wire it to the Notion DB. Have it produce a terrible first version of The Brief. Don't tune yet — just get end-to-end working.

Hour 6 — Notifications

Add the iMessage send. Add the email send. Now The Brief reaches you on every channel without you opening anything.

Weekend 3 — The vault

Install Obsidian. Set up raw/ and wiki/. Write CLAUDE.md with your version of the 10 rules. Have the processor write its daily snapshot to raw/external-brain/.

Weekend 4 — Morning Briefing

Write the skill. Write the slash commands. Now the vault talks back.

By the end of month one you have the system. By month two, the vault has enough context that the briefings stop being good and start being eerily good. By month six, you have something nobody can replicate without your six months of captures.

What I'd skip

The honest list of dead ends I went down so you don't have to:

  • Building a custom Chrome extension when Notion Web Clipper already does the job. Two weeks lost. Don't.

  • Using a vector database for "smart search" across the vault. Useless at this scale. Plain grep and Claude reading files is faster, cheaper, and better.

  • Trying to make the agent fully autonomous — no human approval anywhere. Produces 80% garbage when you remove approval. The brief layer + iMessage + "approve from your phone" loop is the unlock.

  • Storing everything in Notion only. Notion is great for the inbox and the archive, but a terrible substrate for an agent to read and write to repeatedly. Notion is the front door. Obsidian is the brain.

  • Building this on top of Zapier or n8n or Make. I tried. Dev loop too slow, prompts can't be long enough. Claude Code with a SKILL.md is faster to iterate and produces better output.

The thing nobody's saying out loud yet

I've been running this system for three months. The output has gotten noticeably sharper over time — not because the agent prompts changed, but because the corpus of personal context it reads against got bigger.

The 423K-view tweets about this whole genre this week aren't quite saying the quiet part. The advantage isn't the agent. It's the months of you that your agent has already read.

Build the system now. The compounding only goes one direction. Six months in, you have a moat nobody can copy without taking six months to do it themselves.

If you build it and want to compare notes, reply to this email. I'll read every one.

— Michael

Want the SKILL.md files I use? Reply "stack" and I'll send the repo.

Until next time,

Michael Benatar

Keep Reading