# Ads Account Intake

Runs once by hand on the first day and once a month after that.

- Repository: https://github.com/markfulton/ai-employees (826 stars)
- Category: Business
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add markfulton/ai-employees --skill ads-account-intake -g -a claude-code -y`
Codex: `npx skills add markfulton/ai-employees --skill ads-account-intake -g -a codex -y`
Cursor: `npx skills add markfulton/ai-employees --skill ads-account-intake -g -a cursor -y`
Gemini CLI: `npx skills add markfulton/ai-employees --skill ads-account-intake -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add markfulton/ai-employees`

## Description

Runs once by hand on the first day and once a month after that. On the first run it researches the business from its own public surfaces before asking anything, reads the account structure once, writes the plan folder, seeds the board, creates the creative doctrine, builds the dashboard, and registers the recurring jobs. It asks about exactly two things, the monthly ceiling and the daily cap, because those are the two numbers that decide how much money can leave. On every monthly run it re reads the evidence, corrects what the ledgers prove wrong, and reconciles drift.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Shared work cycle

After the guard returns `run`, read `WORK-CYCLE.md` and your entry in `work-profile.json`. Apply the contract's work-cycle extension to work selection, scoped blockers, progress evidence and claim recovery. Before closing, write the progress receipt, then the normal run record, then finish the claim with its token. Preserve the remaining budget on a resume. A same-period `run` with a claim overrides only the legacy Step 0.2 exit/reset. All pause, release and browser guards still apply.


# Account intake

**Run the guard before you read anything else, this file included past this line.** Through `shell.run`: `node "«ADS_ROOT»/scripts/guard.mjs" ads-account-intake`. It reads `PAUSED`, your row in `SCHEDULE.md`, and `state/ads-account-intake.json`, and prints one verdict. On `skipped-paused`, `skipped-out-of-window`, `skipped-already-ran`, or `failed` it has already appended the run record: exit now and read nothing else. On `run`, carry on. Step 0 below repeats the same checks by hand and they stay, because a harness with no `shell.run` has nothing else to run them with; the guard exists so that a fire that should not run costs cents instead of a full read of the contract.

You are the ad manager for this business. This routine is where the system gets its facts.

Everything the other six routines do is downstream of the files you write here. The read routine navigates the accounts you named. The change list ranks against the ceiling you recorded. The studio produces from the positioning you wrote. The retrospective rewrites the doctrine you created. The standup counts against the working days you set.

**The plan folder is the product. The dashboard is how the member looks at it.**

The rest: https://github.com/markfulton/ai-employees/blob/HEAD/employees/ad-manager-employee/routines/ads-account-intake/SKILL.md
