/digital-marketing-pro:goal-filter
The strategic filter. One goal is locked per brand; everything gets measured
against it before time or budget is committed. Marketing fails quietly by doing
good work toward nothing in particular — every piece defensible, the quarter's
number missed anyway.
State
The locked goal lives in the brand workspace, so every session reads the same
one:
~/.claude-marketing/brands/{brand-slug}/goal-lock.json
{
"goal": "40 qualified demo bookings per month from organic + email",
"metric": "demo bookings attributed to owned channels",
"target": 40,
"deadline": "2026-12-31",
"locked_at": "2026-08-12",
"history": [
{"checked": "2026-08-14", "item": "podcast idea", "verdict": "OFF"}
]
}
No file → this is the first run: ask for the goal, force it to one sentence
with a metric and a deadline, confirm, write the file. If the user names three
goals, make them rank — the filter is useless with more than one.
Judging an item
Read the locked goal, read what the user brought, and rule honestly:
# Goal check — {the locked goal}
## What you brought
[One line]
## Verdict: ON GOAL / PARTIAL / OFF GOAL
## Why (2-3 sentences)
[Does this move the goal's metric? How directly? What is the opportunity cost —
what on-goal work does this displace?]
## The fix (if PARTIAL or OFF)
[The specific change that would make it serve the goal — or "park it", with
what to do instead]
## The sharper version (always)
[The same idea, rewritten to pull harder toward the metric]
Append the verdict to history in the state file.
Critical rules
- ONE goal at a time. Multiple goals are a priority argument the user has
not had yet. Force the ranking before locking anything.
- Rule honestly. OFF GOAL is a legitimate verdict, and the filter is
worthless if it rubber-stamps. An agency that never says "this doesn't serve
your objective" is a vendor, not a partner.
- Never just judge — always hand back an action. The fix or the sharper
version, every time. The user leaves with something to do, not just a grade.
- Name patterns across checks. The history is there to be read: three OFF
verdicts in a week is not three isolated ideas, it is a drift — say so, and
ask what is pulling attention off the goal. This is the filter's second job:
the single verdicts protect the quarter, the pattern protects the strategy.
- Goals are marketing outcomes — revenue, qualified leads, audience
quality, authority in a niche, retention. "More followers" is accepted only
with a because-clause that survives one round of "and what does that get
you?".
- Changing the goal is allowed, silently drifting is not.
--set on an
existing lock archives the old goal into history with its end date, so the
quarter's record shows one deliberate change rather than a smear.
- Engagement integration: inside a 12-Part engagement, the engagement's
objectives are the goal source — offer to lock Part 1's primary objective
rather than inventing a parallel one.
1---2name: goal-filter3description: Lock ONE primary marketing goal per brand, then judge any idea, draft, campaign, or plan against it — ON GOAL, PARTIAL, or OFF — always returning the fix or a sharper version that pulls harder toward the metric, and naming drift patterns across the verdict history. Triggers on "/digital-marketing-pro:goal-filter", "is this on goal", "lock the goal for this quarter", "does this serve the objective", "keep me focused", "what's our priority". Stores the lock in the brand workspace (goal-lock.json) so every session reads the same goal; inside a 12-Part engagement it offers to lock Part 1's primary objective rather than inventing a parallel one.4---56# /digital-marketing-pro:goal-filter78The strategic filter. One goal is locked per brand; everything gets measured9against it before time or budget is committed. Marketing fails quietly by doing10good work toward nothing in particular — every piece defensible, the quarter's11number missed anyway.1213## State1415The locked goal lives in the brand workspace, so every session reads the same16one:1718```19~/.claude-marketing/brands/{brand-slug}/goal-lock.json20```2122```json23{24 "goal": "40 qualified demo bookings per month from organic + email",25 "metric": "demo bookings attributed to owned channels",26 "target": 40,27 "deadline": "2026-12-31",28 "locked_at": "2026-08-12",29 "history": [30 {"checked": "2026-08-14", "item": "podcast idea", "verdict": "OFF"}31 ]32}33```3435No file → this is the first run: ask for the goal, force it to one sentence36with a metric and a deadline, confirm, write the file. If the user names three37goals, make them rank — the filter is useless with more than one.3839## Judging an item4041Read the locked goal, read what the user brought, and rule honestly:4243```44# Goal check — {the locked goal}4546## What you brought47[One line]4849## Verdict: ON GOAL / PARTIAL / OFF GOAL5051## Why (2-3 sentences)52[Does this move the goal's metric? How directly? What is the opportunity cost —53what on-goal work does this displace?]5455## The fix (if PARTIAL or OFF)56[The specific change that would make it serve the goal — or "park it", with57what to do instead]5859## The sharper version (always)60[The same idea, rewritten to pull harder toward the metric]61```6263Append the verdict to `history` in the state file.6465## Critical rules6667- **ONE goal at a time.** Multiple goals are a priority argument the user has68 not had yet. Force the ranking before locking anything.69- **Rule honestly.** OFF GOAL is a legitimate verdict, and the filter is70 worthless if it rubber-stamps. An agency that never says "this doesn't serve71 your objective" is a vendor, not a partner.72- **Never just judge — always hand back an action.** The fix or the sharper73 version, every time. The user leaves with something to do, not just a grade.74- **Name patterns across checks.** The history is there to be read: three OFF75 verdicts in a week is not three isolated ideas, it is a drift — say so, and76 ask what is pulling attention off the goal. This is the filter's second job:77 the single verdicts protect the quarter, the pattern protects the strategy.78- **Goals are marketing outcomes** — revenue, qualified leads, audience79 quality, authority in a niche, retention. "More followers" is accepted only80 with a because-clause that survives one round of "and what does that get81 you?".82- **Changing the goal is allowed, silently drifting is not.** `--set` on an83 existing lock archives the old goal into history with its end date, so the84 quarter's record shows one deliberate change rather than a smear.85- **Engagement integration:** inside a 12-Part engagement, the engagement's86 objectives are the goal source — offer to lock Part 1's primary objective87 rather than inventing a parallel one.