Demand File · Platform preview
APG The Demand File
← Back to File
House board Public Agency OS Start this File
HouseOperator file

Revenue · House · Agency OS

Run the agency from one folder

The problem The agency lives in your head and four Drive folders. A chat was smart on Tuesday and useless on Thursday. You are the process. If you take the weekend, spend still runs.

Does One folder tree. One folder per client. One written SOP for every job you repeat. You run the week from those files. A junior, a vendor, or an AI can run the same file.

Achieve Spend gets paced when you are off. The Friday report exists. A new hire gets a clone, not a two-week brain dump. The process is the asset.

Fit Starting or running a small ads / demand / advisory shop. You repeat the same jobs. You want the shop to run if you are not in the chat.

Unfit A local trades shop that needs jobs on the calendar. That is Ugly ads / Recover. Or someone who will not write anything down.

The File

Run the agency from one folder. SOPs, client files, Friday report.

The problem

The agency lives in your head and four Drive folders. A chat was smart on Tuesday and useless on Thursday. You are the process. If you take the weekend, spend still runs.

Once it is in

One folder tree. One folder per client. One written SOP for every job you repeat. You run the week from those files. A junior, a vendor, or an AI can run the same file.

What a good week looks like

Spend was paced from a file. The Friday report went out from a file. A new job got added to an SOP. Not a smarter chat.

Once it is installed

  1. 01

    One tree. Client folders. Service folders. Company SOPs.

    desktop or GitHub
  2. 02

    Each client: voice, brand, winners, losers, dos and donts.

    client brief
  3. 03

    Each repeated job becomes a one-page SOP. Ads and content.

    hooks · pacing · brief
  4. 04

    Monday: pace the budgets from the pacing SOP. Even if that is a checklist you tick.

    Ads Manager
  5. 05

    Daily: look at what spent and what died. Kill or raise from the monitor SOP.

    15 minutes
  6. 06

    Friday: the client report from the report SOP. Same sections every week.

    Friday report
  7. 07

    When a job works, you add it to the SOP. The file gets smarter. Later an AI can read the same file.

    File log

The journey

Start here
The folder desktop first · GitHub later
Client brief voice · brand · winners · losers
02

First client folder

Voice, brand, offer, 3 winners, 3 losers, dos and donts. You write it from the template. Bot can interview you and draft. You sign it. Onboarding a new hire is copy this folder.

Bot interviews and drafts You write the brief and keep it
SOP templates ads + content · in this Guide
Write these today
03

Write the SOPs from the templates

Four Advertising files: hooks, statics, budget pacing, Friday report. Add monitoring the same day. If you also sell content, write brief and draft. Human can write them from the templates in the Guide. Bot can draft from how you already work. The file is the job.

Bot drafts from how you already work You write or keep the file

Advertising · month one

hooks.md · statics.md · budget-pacing.md · campaign-monitoring.md · friday-report.md

Content · second service

pull-ideas.md · taste-gate.md · brief.md · draft.md · publish.md. Taste gate is you. Never an agent first.

The lock

No Claude Code? Open the SOP and do the steps. The result is the same. AI is how it gets faster, not how it becomes possible.

Ads Manager Monday checklist, cron later
04

Pace spend

Monday. Open Ads Manager. Follow the pacing SOP. Kill, hold, or raise. Weekend rule is in the file so Saturday does not blow the cap. Bot or a cron is later. Same SOP.

Bot / cron later, same SOP You open Ads Manager and tick the list
Monitor 15 minutes · daily
05

Monitor

Daily. Fifteen minutes. What spent. What died. Kill or raise from the monitor SOP. Write the row. Bot later. Same file.

Bot later, same SOP You 15 minutes, the SOP
Friday report same sections every week
06

Friday report

Fill the outline. Spend vs plan. Winners. Losers. Next week. Asks. Same sections every Friday so a junior can send it. Bot later. Same outline.

Bot later, same outline You fill the template
Claude / ChatGPT two files · you pick
07

Human in the loop

Ideas from calls and a notebook. You approve three. That pick never goes to an agent first. Then run the hook SOP, or the content brief, with only the two files the job needs. You always pick.

Bot drafts after you pick You pick 3, then run the SOP
File log clients · paced · reported
Done

The File is closed

A week where spend was paced from a file, a report went out from a file, and a new job was added to an SOP. Not a smarter chat.

Guide

Run the agency from a folder

This is the how-to. Copy the templates. Do the week. You do not need to code. You do not need Claude Code. AI is a later rung. Paid installer is last.

Fit gate

  • If you are starting or running a small ads, demand, or advisory shop, and you repeat the same jobs, stay.
  • If you are a local trades shop that needs jobs on the calendar, stop. Open Ugly ads that book the town, or Recover the job they turn down.
  • If you will not write anything down, stop. A chat will not save you on Saturday.

The lock · you can do this today

  • No GitHub yet? Same folder tree on the desktop. Private repo when you are ready.
  • No Claude Code? Open the SOP and do the steps. The result is the same: one process, paced spend, a Friday report. Onboarding is copy the client folder.
  • AI, a terminal, or a cron is how it gets faster. Not how it becomes possible.
  • You = login / 2FA / pay when a tool needs it. The rest is the file.

Tools in order

  1. Folder tree (desktop first)
  2. Client brief template
  3. Advertising SOPs
  4. Content SOPs (if you sell it)
  5. Ads Manager
  6. Claude or ChatGPT (optional, two files only)
  7. Private GitHub (when you want the one copy online)
  8. File log

A chat is not a tool on this list. A chat can run a skill. It does not hold the system of record. No Cal.com. No GHL sales calendar. No funding.

Folder tree · exact names

Create this on the desktop today. Copy the names. Do not rename until a week has run.

agency/
  clients/
    _template/
      voice.md
      brand.md
      offer.md
      winners.md
      losers.md
      dos-and-donts.md
    acme/
      voice.md
      brand.md
      offer.md
      winners.md
      losers.md
      dos-and-donts.md
  services/
    advertising/
      hooks.md
      statics.md
      hook-story-offer.md
      campaign-monitoring.md
      budget-pacing.md
      friday-report.md
    content/
      pull-ideas.md
      taste-gate.md
      brief.md
      draft.md
      publish.md
  company/
    sops/
    file-log.md

A client is a folder. A service is a folder of SOPs the machine, a junior, or you can run. Company holds the log. Clone _template for the next client. That is onboarding.

Client brief template

Copy into clients/acme/. Fill the brackets. Three winners. Three losers. Keep it one page.

voice.md

We sound like [plain / sharp / warm]. We never sound like [agency-speak / hype / cute]. Sentence length is [short]. We say [the offer] before we say [the feature]. Words we use: [list]. Words we do not use: [list]. A good line from us: "[paste]". A line we would never publish: "[paste]".

brand.md

Name: [Acme]. Offer in one line: [what they buy]. Who it is for: [buyer]. Proof we can name: [result, place, or review]. Colors / type only if they matter on a static. Logo: [use / do not use on ads].

offer.md

The offer: [what they get]. The next step: [book / call / form]. Price or range if we say it: [ ]. Guarantee if we say it: [ ]. What we do not sell: [ ].

winners.md · 3

01. [hook or ad] · why it worked: [one line] · where it ran: [ ]
02. [hook or ad] · why it worked: [one line] · where it ran: [ ]
03. [hook or ad] · why it worked: [one line] · where it ran: [ ]

losers.md · 3

01. [hook or ad] · why it died: [one line]
02. [hook or ad] · why it died: [one line]
03. [hook or ad] · why it died: [one line]

dos-and-donts.md

Do: [3 lines]. Do not: [3 lines]. Claims we will not make: [ ]. Competitors we do not name: [ ].

Hook SOP

One page. A junior, a vendor, or you can run it. Later an AI can read the same file.

Inputs · only these

  • clients/[name]/voice.md
  • clients/[name]/offer.md
  • clients/[name]/winners.md and losers.md if you have them
  • Do not open the rest of the tree.

Steps

  1. Read voice and offer. Write the offer in one line in their words, not yours.
  2. Read the 3 winners. Name the pattern in one sentence (pain, proof, offer, enemy).
  3. Read the 3 losers. Write the one thing you will not repeat.
  4. Write 10 hooks. One line each. No slogan. No emoji pile.
  5. You pick 3. Taste gate. This pick is never an agent's first move.
  6. Save the 3 in clients/[name]/winners.md under "this week" or a dated note.

Output

3 hooks, in the client voice, ready for the statics SOP. Not 40 options in a chat.

Statics SOP

Inputs

  • The 3 hooks you picked
  • clients/[name]/brand.md

Steps

  1. One static per hook. The hook is the headline. Nothing else competes with it.
  2. Phone screenshot or a still. Readable at arm's length. No logo sting.
  3. Primary text is the offer in one line. CTA is the next step from offer.md.
  4. Save the three files in the client folder under a dated week, or note the ad names in the File log.

Output

3 statics that a vendor can build from the file without a call.

Pacing SOP · Monday

Open Ads Manager. Tick this. If you take the weekend, spend still has a number because you set it here.

What to look at

  • Spend so far this week vs the weekly cap you wrote last Friday.
  • Days left in the week, including Saturday and Sunday.
  • Cost per result vs the number you will still accept.
  • Which ad is carrying. Which ad is dead.

When to kill

  • No result and spend is past a real test. Do not "give it one more week" with no thesis.
  • Cost per result is twice the number you will still accept, and nothing in the first 3 seconds changed.
  • The loser of the set after a real week. Keep the two that held.

When to raise

  • Hitting the number you will still accept, and there is room under the weekly cap.
  • A winner with frequency that is not tired. Raise that one. Do not raise the set.

Weekend rule

  • Friday before you leave: remaining budget ÷ remaining days, including Sat and Sun.
  • Set daily so Saturday cannot spend the rest of the week.
  • If you will not open Ads Manager on Saturday, the number has to be right on Friday. That is the point of the file.

Output

A File log row: date, client, paced Y, kill / hold / raise, weekend daily number.

Monitor SOP · daily, 15 minutes

Steps

  1. Open Ads Manager. Sort by spend today.
  2. What spent. What got a result. What died (spend, no result, or a result you will not accept).
  3. Kill or raise from the pacing rules. Do not invent a new rule in the moment.
  4. If a creative died, note it under losers. If one worked, note it under winners.
  5. Write the File log row. Close the tab.

Output

One row. Not a new strategy. Fifteen minutes, then you leave.

Friday report outline

Same sections every week. Copy this into services/advertising/friday-report.md and fill it for each client.

01 · Week in one line

[Client]. Week of [date]. [one sentence: what the week was for].

02 · Spend vs plan

Plan: [ ]. Spent: [ ]. Remaining: [ ]. Weekend rule held: yes / no.

03 · What worked

Winner 1: [ad / hook] · why: [one line] · keep / raise
Winner 2: [ ] · why: [ ] · keep / raise

04 · What died

Loser 1: [ad / hook] · why: [one line] · killed on [day]
Loser 2: [ ] · why: [ ]

05 · Next week

We will [pace / kill / ship 3 new hooks]. We will not [a thing you are tempted to chase].

06 · Asks

From the client, if any: [asset, answer, approval]. If none, write "none."

Content · second service folder

A one-person shop can run this by hand. Notebook first. Transcript tool later. AI drafts later. The taste gate never moves off you.

Pipeline

  1. Pull ideas from calls and notes. Human: a notebook. Later: a transcript tool.
  2. Taste gate. You approve which ideas go. That step never goes to an agent first.
  3. Brief from the approved idea. Use the brief SOP.
  4. Draft in the client or house voice. SOP + voice file only.
  5. Human final pass, then publish.

Taste gate · you always pick

pull-ideas.md

After a call or a work block, write 5 raw ideas. One line each. Source: [call / note / comment]. Do not draft yet.

taste-gate.md

  • Read the 5. Kill any that break dos-and-donts or sound like a loser.
  • Pick 3. Write why in five words. Your name, the date.
  • If you are tired, pick tomorrow. Do not hand the pick to a chat.

brief.md · after you pick

Idea: [the one you approved]. Audience: [ ]. Promise in one line: [ ]. Proof we can name: [ ]. CTA: [ ]. Do not say: [from dos-and-donts]. Channel: [email / post / script]. Length: [ ]. Files this job may open: voice.md + this brief. Nothing else.

draft.md

Open voice.md and the brief. Draft in that voice. No new claims. Mark anything you invented with [CHECK]. Stop. Do not publish.

publish.md

Human final pass. Remove every [CHECK] or kill the line. Read it out loud once. Publish. Log the URL or the send in the File log.

A notebook + the brief SOP + the draft SOP is enough. No agent required.

How a junior or a vendor uses it

  • You write the process down. That is the job. You are not the bottleneck.
  • Hand them the two files the task needs. Not a tour of the Drive. Not a two-week shadow.
  • Hooks: voice.md + hooks.md. Report: friday-report.md + this week's notes. Draft: voice.md + brief.md.
  • They run the file. You do the taste gate and the final pass.
  • When a job works, add the move to the SOP. The file gets smarter. The next vendor reads the new line.
  • Demand first. Do not invent a new service until the week loop (pace, monitor, report) has run.

Put the same tree in GitHub when you are ready

  1. The desktop tree is already the File. Do not start over in the browser.
  2. You: GitHub login / 2FA. Create a private repository. Name it after the shop, not a slogan.
  3. Upload the agency/ folder as the repo root, or keep agency/ as the top folder. Same names.
  4. One copy. Reversible. A tool can open two files without dumping the tree.
  5. Later, Claude Code or Codex can open the two files the task needs. That is optional. The week already runs from the desktop.

GitHub is the one copy, not a new process. If the repo and the desktop disagree, the written SOP wins. Fix the copy. Do not invent a third place.

Call Claude or ChatGPT with only the 2 files the task needs

  • Hooks: attach voice.md + hooks.md. Paste the hook SOP steps. You still pick the 3.
  • Friday report: attach friday-report.md + this week's File log rows. Fill the outline. You send it.
  • Content draft: attach voice.md + the approved brief.md. Draft only. You do the final pass.
  • Do not attach the whole client folder. Do not dump 12 files into one chat. A chat re-reads every attached file every message, then forgets the first ones.
  • New task, new thread, two files. The folder is how you select context. The chat is how you run one skill.

Numbered run

  1. Make the tree. You: create the folders on the desktop from the exact names. Bot: can scaffold. If you want GitHub today, you: login / 2FA, private repo, same names. Do not live in a ChatGPT project as the system of record.
    Bot scaffolds the namesYou create the folders / GitHub login
  2. First client. Copy _template to clients/[name]/. Fill voice, brand, offer, 3 winners, 3 losers, dos and donts. Bot can interview and draft. You keep the brief.
    Bot interviews and draftsYou write the brief
  3. Write the four Advertising SOPs from the templates on this page: hooks, statics, budget pacing, Friday report. Write campaign monitoring the same day. If you sell content, write brief and draft. Taste gate stays a human checklist. Do not skip writing because "the agent will know."
    Bot drafts from how you already workYou write or keep the file
  4. Monday. Open Ads Manager. You: login / 2FA / pay the budget. Follow the pacing SOP. Set the weekend daily number. Bot or a cron is later. Same SOP.
    Bot / cron later, same SOPYou Ads Manager, tick the list
  5. Daily. Fifteen minutes. Monitor SOP. What spent, what died, kill or raise. Write the row.
    Bot later, same SOPYou 15 minutes
  6. Friday. Fill the report outline. Send it. Same sections every week.
    Bot later, same outlineYou fill and send
  7. Ideas from the notebook. You pick 3. Run the hook SOP (or the content brief) with only the two files the task needs, in ChatGPT / Claude or by hand. You always pick. You always do the final pass.
    Bot drafts after you pickYou pick 3, then run the SOP
  8. File log. Clients, SOPs written, paced, reported, ideas approved. When a job works, add the line to the SOP.
    Bot can write the row laterYou keep the log today

File log columns

date · client · job (pace / monitor / report / hooks / content) · files used · paced Y/N · reported Y/N · idea approved Y/N · status

Done rule

Stop when a week has spend paced from a file, a report that went out from a file, and a new job added to an SOP. Not a smarter chat.

Do not

  • Do not live in ChatGPT projects as the system of record.
  • Do not dump 12 files into one chat.
  • Do not skip writing the SOP because "the agent will know."
  • Do not send a taste-gate pick to an agent first.
  • Do not put sales on a GHL calendar.
  • Do not put this File on Cal.com.
  • Do not talk funding.
  • Do not promise a revenue figure.

Free · Run it in your AI

Prompt pack

Free means they use the AI they already have. Paid is the installer that walks it for them. The folder is still the system of record. Attach two files. Not twelve.

Ask AI

FAQ

Questions owners ask

Do I need to code?

No. Create folders. Write the four SOPs from the templates. Open Ads Manager on Monday. Fill the Friday report. That is the File.

Do I need Claude Code?

No. Later, if you want a terminal to open two files. Today, open the SOP and do the steps. The result is the same.

Why not a chat?

A chat re-reads every attached file every message, then forgets the first ones. Tuesday it looks smart. Thursday it is useless. A folder opens the 2 files the job needs. That is how you select context. The chat can run one skill. It is not the system of record.

Why GitHub?

One copy. Reversible. A tool can open two files. You do not need it on day one. The desktop tree is the same File. Put it in a private repo when you are ready.

What if I am a one-person shop?

You are the junior and the founder. The file still saves you on Saturday. Pace Friday. The report has the same sections. A notebook plus the brief SOP plus the draft SOP is enough for content.

Is this for HVAC?

No. Agency. If you need jobs on the calendar, that is Ugly ads or Recover.

Can the paid installer do it?

Yes, later. You can finish the blueprint without them. Paid is last.

Additional resources

Open the next door

For

  • Starting or running a small ads, demand, or advisory shop.
  • You repeat the same jobs and you will write them down.
  • You want the shop to run if you are not in the chat.

Not for

  • A local trades shop that needs jobs on the calendar. That is Ugly ads or Recover.
  • Someone who will not write anything down.
  • A shop that wants the chat to be the system of record.

Next board

Ugly ads that book the town

If the work is local jobs on a calendar, that is a different File. Advisors who need a list use The outbound trail.