marketing-mindset 1.14.2 → 1.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # marketing-mindset
2
2
 
3
+ ## Install the agent skill (one command)
4
+
5
+ ```bash
6
+ npx skills add axelfreeman/marketing-mindset
7
+ ```
8
+
9
+ This package ships the same skill for agents: Claude Code, Cursor, Codex, ChatGPT, Grok.
10
+
11
+
3
12
  A marketer's operating mindset, packaged as an installable agent skill plus a CLI.
4
13
  Not a template library: the judgement layer — how much volume a test needs before a verdict is allowed,
5
14
  when to kill a channel, what a deliverable is.
@@ -19,6 +28,31 @@ npx marketing-mindset install # copy the skill into your agent's sk
19
28
  the sample-size floors, the kill rule and the screening questions. Web version:
20
29
  https://axelfreeman.github.io/marketing-mindset/tools/marketing-engineer-jd-generator.html?utm_source=npm&utm_medium=readme&utm_campaign=mindset
21
30
 
31
+ ## `playbook` — is it time to write a playbook, or still search?
32
+
33
+ A playbook is the **second step, never the first**: a written set of client-acquisition moves that already work — simple, primitive, repeatable ("bought an ad from a blogger in segment A — it produced clients"). Compiling one brings you no closer to sales. You write it after a hypothesis is proven and working, when the job changes from *finding* a channel to *draining* it.
34
+
35
+ ```
36
+ $ npx marketing-mindset playbook --hypotheses 0
37
+ proven, repeatable moves: 0 · critical mass 6
38
+ stage: search
39
+ verdict: no playbook yet — there is no proven move to write down. A playbook built at this point is
40
+ a notebook of guesses, and the most expensive way to feel productive.
41
+ next: Find client #1 by hand (cold outreach, free) and get one move that actually returns clients.
42
+
43
+ $ npx marketing-mindset playbook --hypotheses 7 --written
44
+ stage: delegate
45
+ verdict: critical mass reached (7 >= 6): there is something real to hand over — you can hire marketing.
46
+ next: Handing it over ends free search and starts regular management: goals, volume, cadence, reporting.
47
+ ```
48
+
49
+ The three stages it returns: `search` (no proven move — the job is still the hunt), `draining` (proven moves exist — write them down and press each to its ceiling), `delegate` (≈6 proven moves — hire marketing).
50
+
51
+ Rules it carries: one proven move is one line; the playbook is filled from your own experiments on your own base, never borrowed case studies; delegation (a hire, a department, an agent) ends free search and starts regular management; failed hypotheses go to the archive in one line — never analysed, never handed to a new person, because a marketer starts from zero rather than from the previous person's pause point.
52
+
53
+ Full section: `npx marketing-mindset read playbook` ·
54
+ https://axelfreeman.github.io/marketing-mindset/qa/what-is-a-marketing-playbook.html?utm_source=npm&utm_medium=readme&utm_campaign=mindset
55
+
22
56
  ## Floors that do not move
23
57
 
24
58
  | Test | Volume before a verdict means anything |
package/bin/cli.js CHANGED
@@ -11,6 +11,7 @@
11
11
  * marketing-mindset unit which funnel step can fund a verdict, and in how many months
12
12
  * marketing-mindset sections list every section of SKILL.md
13
13
  * marketing-mindset read <text> print one section by fuzzy title match
14
+ * marketing-mindset playbook is it time to write a playbook, or still search?
14
15
  * marketing-mindset install copy the skill into your agent's skills directory
15
16
  */
16
17
  const fs = require("fs");
@@ -1057,6 +1058,55 @@ function runBrief(opts) {
1057
1058
  return 0;
1058
1059
  }
1059
1060
 
1061
+ /* The playbook gate: a playbook is the second step, never the first.
1062
+ * --hypotheses N proven, repeatable moves you actually have (default 0)
1063
+ * --written whether those moves are already written down
1064
+ * --json machine-readable */
1065
+ function runPlaybook(opts) {
1066
+ const proven = Number(opts.hypotheses !== undefined ? opts.hypotheses : (opts.h !== undefined ? opts.h : 0));
1067
+ const written = Boolean(opts.written);
1068
+ if (!(proven >= 0)) { console.error("playbook: --hypotheses must be a count of proven, repeatable moves (0 if none)"); return 1; }
1069
+ const CRITICAL_MASS = 6;
1070
+ let stage, verdict, next;
1071
+ if (proven === 0) {
1072
+ stage = "search";
1073
+ verdict = "no playbook yet — there is no proven move to write down. A playbook built at this point is a notebook of guesses, and the most expensive way to feel productive.";
1074
+ next = "Find client #1 by hand (cold outreach, free) and get one move that actually returns clients. The playbook is the output of that search, not the input to it.";
1075
+ } else if (proven < CRITICAL_MASS) {
1076
+ stage = "draining";
1077
+ verdict = "you have " + proven + " proven move(s): write them down and press each to its ceiling. That is what a playbook is for — draining a working hypothesis, not discovering one.";
1078
+ next = "Keep hunting until roughly " + CRITICAL_MASS + " proven moves. Below that there is not enough to hand over to a hire.";
1079
+ } else {
1080
+ stage = "delegate";
1081
+ verdict = "critical mass reached (" + proven + " >= " + CRITICAL_MASS + "): there is something real to hand over — you can hire marketing.";
1082
+ next = "Handing it over ends free search and starts regular management: goals, volume, cadence, reporting. Draining a hypothesis to the bottom is an operating task, not an exploration one.";
1083
+ }
1084
+ const out = {
1085
+ proven_hypotheses: proven,
1086
+ critical_mass: CRITICAL_MASS,
1087
+ stage,
1088
+ written_down: written,
1089
+ verdict,
1090
+ next,
1091
+ rules: [
1092
+ "The playbook records proven, repeatable client-acquisition moves only — one proven move, one line.",
1093
+ "It is the second step: find a working hypothesis by hand -> press it to its ceiling -> only then write it down.",
1094
+ "Filled from your own experiments on your own base. Borrowed case studies are a wish list, not a playbook.",
1095
+ "Delegation (a hire, a department, an agent) changes the mode: free search ends, regular management begins.",
1096
+ "Failed hypotheses go to the archive in one line — never analysed, never handed to a new person. A marketer starts from zero, not from the previous person's pause point."
1097
+ ]
1098
+ };
1099
+ if (opts.json) { console.log(JSON.stringify(out, null, 2)); } else {
1100
+ console.log("proven, repeatable moves: " + proven + " · critical mass " + CRITICAL_MASS);
1101
+ console.log("stage: " + stage);
1102
+ console.log("verdict: " + verdict);
1103
+ console.log("next: " + next);
1104
+ console.log("");
1105
+ out.rules.forEach((r) => console.log("- " + r));
1106
+ }
1107
+ return 0;
1108
+ }
1109
+
1060
1110
  const cmd = (process.argv[2] || "").toLowerCase();
1061
1111
  const rest = process.argv.slice(3);
1062
1112
 
@@ -1113,6 +1163,8 @@ if (cmd === "sample") {
1113
1163
  process.exit(runWarmup(flags(rest)));
1114
1164
  } else if (cmd === "jd") {
1115
1165
  process.exit(runJd(flags(rest)));
1166
+ } else if (cmd === "playbook") {
1167
+ process.exit(runPlaybook(flags(rest)));
1116
1168
  } else if (cmd === "sections") {
1117
1169
  sections(readSkill()).forEach((s, i) => console.log(String(i + 1).padStart(2) + ". " + s.title));
1118
1170
  } else if (cmd === "read") {
@@ -1162,6 +1214,8 @@ Usage:
1162
1214
  --start 2026-09-21 --target 200 --days 21 --mailboxes 4
1163
1215
  npx marketing-mindset jd marketing engineer job description
1164
1216
  --level senior --mode fulltime --surfaces seo,out,analytics
1217
+ npx marketing-mindset playbook is it time to write a playbook, or still search?
1218
+ --hypotheses 3 [--written] [--json]
1165
1219
  npx marketing-mindset aeo agent-readiness / AEO checklist (23 weighted checks)
1166
1220
  --json machine-readable
1167
1221
  npx marketing-mindset utm tag every outbound link, once, before it ships
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "marketing-mindset",
3
- "version": "1.14.2",
4
- "description": "A marketer's operating mindset as an installable agent skill and CLI: test-size floors, kill rules, honest verdicts on finished tests, which funnel step can fund a verdict, which channel can actually fund a verdict, the lift a volume can read, a queue of readable tests with read-out dates, the cost of one readable verdict, and UTM tagging on every outbound link. npx marketing-mindset sample|kill|verdict|unit|fit|queue|cost|mde|budget|brief|plan|warmup|aeo|utm|jd|sections|read|install.",
3
+ "version": "1.14.4",
4
+ "description": "A marketer's operating mindset as an installable agent skill and CLI: test-size floors, kill rules, honest verdicts on finished tests, which funnel step can fund a verdict, which channel can actually fund a verdict, the lift a volume can read, a queue of readable tests with read-out dates, the cost of one readable verdict, when a playbook is worth writing (the second step — after a proven hypothesis, never before) and when to delegate marketing, and UTM tagging on every outbound link. npx marketing-mindset sample|kill|verdict|unit|fit|queue|cost|mde|budget|brief|plan|warmup|aeo|utm|jd|playbook|sections|read|install.",
5
5
  "keywords": [
6
6
  "agent-skill",
7
7
  "skill",
@@ -23,6 +23,9 @@
23
23
  "ab-test-verdict",
24
24
  "minimum-detectable-effect",
25
25
  "job-description",
26
+ "playbook",
27
+ "marketing-playbook",
28
+ "delegation",
26
29
  "cold-email",
27
30
  "deliverability",
28
31
  "warmup",
package/skill/README.md CHANGED
@@ -8,14 +8,17 @@
8
8
  [![ChatGPT](https://img.shields.io/badge/ChatGPT-SKILL.lite.md-10a37f)](SKILL.lite.md)
9
9
  [![Grok](https://img.shields.io/badge/Grok-SKILL.md-111111)](SKILL.md)
10
10
 
11
- 📄 **Landing page & docs:** https://axelfreeman.github.io/marketing-mindset/
11
+ 📄 **Landing page & docs:** https://axelfreeman.github.io/marketing-mindset/?utm_source=github&utm_medium=readme&utm_campaign=mindset
12
12
 
13
13
  ![GitHub Repo stars](https://img.shields.io/github/stars/axelfreeman/marketing-mindset?style=social)
14
14
  ![Version](https://img.shields.io/github/v/release/axelfreeman/marketing-mindset)
15
15
  ![License](https://img.shields.io/github/license/axelfreeman/marketing-mindset)
16
- ![Installs](https://img.shields.io/badge/skills.sh%20installs-15%2C000%2B-blue)
16
+ [![skills.sh installs](https://img.shields.io/badge/skills.sh-50K%20installs-blue)](https://skills.sh/axelfreeman/marketing-mindset?utm_source=github&utm_medium=badge&utm_campaign=mindset)
17
17
  ![views](https://komarev.com/ghpvc/?username=axelfreeman&repo=marketing-mindset&label=views&style=flat-square&color=2563eb)
18
18
 
19
+ **Install in one command:** `npx skills add axelfreeman/marketing-mindset`
20
+
21
+
19
22
  ---
20
23
 
21
24
  ---
@@ -38,7 +41,7 @@ Below the limit you are measuring randomness, not the market. Declare the volume
38
41
 
39
42
  > Declare the volume → run one variable → stop at the limit → scale what came easy. Anything else is interpretation.
40
43
 
41
- Full write-up with sources: https://axelfreeman.github.io/marketing-mindset/
44
+ Full write-up with sources: https://axelfreeman.github.io/marketing-mindset/?utm_source=github&utm_medium=readme&utm_campaign=mindset
42
45
 
43
46
  ---
44
47
 
@@ -136,6 +139,29 @@ python scripts/first-client-gate.py
136
139
 
137
140
  One honest question before you start: do you have your first client yet? If the answer isn't "me," the skill waits.
138
141
 
142
+ ### The playbook — the second step, not the first
143
+
144
+ Most people ask for a marketing playbook at the worst possible moment: before anything works. Compiling one does not move you closer to sales.
145
+
146
+ It is the **second step** — what you write *after* a hypothesis is already tested and working, when the job changes from *finding* a channel to *draining* it: drinking that hypothesis to the bottom, taking the market capacity it holds. The order is fixed: find a working hypothesis by hand → press it to its ceiling → only then write it down.
147
+
148
+ A playbook is a written set of client-acquisition moves that already work — simple, primitive, repeatable:
149
+
150
+ > "Bought an ad from a blogger in segment A — it produced clients."
151
+ > "Segment B gave the numbers in three months."
152
+ > "This targeting converts a client at break-even or better."
153
+
154
+ One proven move, one line.
155
+
156
+ Once those moves are written down they stop being founder-only knowledge. They can be delegated — to a marketing hire, to a department, or to an agent if the work is genuinely repeatable — and that handoff ends free search and starts **regular management**: goals, volume, cadence, reporting. Critical mass is around **six working hypotheses**; that is the point at which you can hire marketing.
157
+
158
+ Two rules the skill will hold you to:
159
+
160
+ - **The playbook is filled from your own experiments only** — run by you on your own base. Borrowed case studies and a competitor's playbook are a wish list, not a playbook.
161
+ - **Failed hypotheses go to the archive, one line each.** No reflection, no museum of failures. Marketing is not a mathematical craft yet, so a zero does not tell you which variable was wrong — and handing a new person your failures is toxic, because a marketer starts from zero, not from the previous person's pause point.
162
+
163
+ Ask for a playbook before a single working hypothesis exists, and the skill will tell you plainly that the job is still the search.
164
+
139
165
  ### Spread the word
140
166
 
141
167
  If it works, star it and share it. The network effect compounds.
@@ -172,3 +198,26 @@ Written by Axel Freeman, a B2B marketer with 15 years of validated experience ac
172
198
  ### License
173
199
 
174
200
  MIT
201
+
202
+ <!-- artifacts-block -->
203
+ ## Where else this lives
204
+
205
+ Everything below is public and checkable — pages, packages, articles:
206
+
207
+ | What | Link |
208
+ |---|---|
209
+ | Landing page & docs | https://axelfreeman.github.io/marketing-mindset/?utm_source=github&utm_medium=readme&utm_campaign=mindset |
210
+ | Install (npm) | https://www.npmjs.com/package/marketing-mindset — `npx marketing-mindset` |
211
+ | MCP server (npm) | https://www.npmjs.com/package/marketing-mindset-mcp |
212
+ | Q&A pages | https://axelfreeman.github.io/marketing-mindset/qa/?utm_source=github&utm_medium=readme&utm_campaign=mindset |
213
+ | Free tool: email test planner | https://axelfreeman.github.io/marketing-mindset/tools/email-test-planner.html?utm_source=github&utm_medium=readme&utm_campaign=mindset |
214
+ | Release notes | https://github.com/axelfreeman/marketing-mindset/releases |
215
+ | Work with the author (turnkey) | https://axelfreeman.com/marketing-engineer.html?utm_source=github&utm_medium=readme&utm_campaign=mindset |
216
+ | Scope of work | https://axelfreeman.com/scope.html?utm_source=github&utm_medium=readme&utm_campaign=mindset |
217
+ | Pricing comparison | https://axelfreeman.com/pricing.html?utm_source=github&utm_medium=readme&utm_campaign=mindset |
218
+ | What shipped (artifacts) | https://axelfreeman.com/cases.html?utm_source=github&utm_medium=readme&utm_campaign=mindset |
219
+ | Proof page (all links) | https://axelfreeman.com/proof.html?utm_source=github&utm_medium=readme&utm_campaign=mindset |
220
+ | Article: what a marketing engineer does | https://dev.to/axelfreeman/what-a-marketing-engineer-actually-does-and-what-the-invoice-pays-for-1blj |
221
+
222
+ The skill is free and MIT. The paid work is the engineering around it: distribution, measurement, and the
223
+ uncomfortable part — deciding what has enough volume to be judged at all.
package/skill/SKILL.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: marketing-mindset
3
- description: "Use when the user needs a professional marketer's operating mindset for any marketing, growth, or client-acquisition task — finding first customers, writing an ad or landing page, designing ad creatives and visuals (how the eye works: background, scene, hero, movement), evaluating an idea, deciding whether to do X to get Y, positioning or launching a B2B or SaaS product, running cold outreach, setting up ads, or writing copy — not a tactical template."
4
- version: 0.3.0
3
+ description: "Use when the user needs a professional marketer's operating mindset for any marketing, growth, or client-acquisition task — finding first customers, writing an ad or landing page, designing ad creatives and visuals (how the eye works: background, scene, hero, movement), evaluating an idea, deciding whether to do X to get Y, positioning or launching a B2B or SaaS product, running cold outreach, setting up ads, writing copy, writing a sales-and-marketing playbook, or deciding when to delegate marketing and hire a marketer — not a tactical template."
4
+ version: 0.4.0
5
5
  author: Axel Freeman (axelfreeman)
6
6
  license: MIT
7
7
  install: "npx skills add axelfreeman/marketing-mindset"
@@ -140,6 +140,51 @@ Win the first 10 exactly the way competitors are winning right now. Find how the
140
140
 
141
141
  This skill's scope is client #1 and the first 10. Scaling 10→100, 100→1000 is a separate, later skill. Release it only after this one has proven itself in the wild.
142
142
 
143
+ ## The Playbook: the second step, never the first
144
+
145
+ A playbook is a written set of client-acquisition moves that already work — simple, primitive, repeatable. Not ideas, not a strategy deck: instructions. "Bought an ad from a blogger in segment A — it produced clients." "Segment B gave the numbers in three months." "This targeting converts a client at break-even or better." Each proven move is one line of the playbook.
146
+
147
+ You build it yourself, by hand, or with your two or three closest people. Nobody hands it to you.
148
+
149
+ ### It is a second step, and building one brings you no closer to sales
150
+
151
+ Compiling a playbook is not a starting action. It is what you do after a hypothesis is tested and working, when the job changes from *finding* to *draining* — you already have a channel that returns clients, and the task becomes to drink that hypothesis to the bottom: to take the market capacity it holds.
152
+
153
+ The order is fixed:
154
+
155
+ 1. You find a working hypothesis by hand.
156
+ 2. You press it until you know where its ceiling is.
157
+ 3. Only then do you write it down, and what you write down is the playbook.
158
+
159
+ Before step 3 there is nothing to write. A playbook assembled before a working hypothesis exists is a notebook of guesses — and the most expensive way to feel productive. Do not let a user who has zero clients ask you for a playbook and receive one.
160
+
161
+ ### Written down, it can be delegated — and delegation changes the mode
162
+
163
+ Once the working moves exist as instructions, they stop being founder-only knowledge. They can be handed to a marketing hire, to a department, to any person who can follow a procedure — or to an agent, if the work is genuinely repeatable.
164
+
165
+ That handoff is the moment the mode changes. The search phase is free exploration: hunt, guess, try the strange thing. Once you delegate a proven move, you leave free search behind and switch to regular management — goals, volume, cadence, reporting. Draining a hypothesis to the bottom is not an exploration task, it is an operating task, and it needs the basics of regular management to survive contact with a schedule.
166
+
167
+ The critical mass is around six working hypotheses. At roughly six proven, repeatable moves there is something real to hand over, and you can hire marketing. Before that there is nothing to delegate.
168
+
169
+ ### The playbook is filled from your own experiments only
170
+
171
+ Personal experiments on your own base — run by you or your closest people, on your own audience. Not borrowed case studies, not a competitor's playbook, not inspiration. Those are not a playbook, they are a wish list.
172
+
173
+ ### Failed hypotheses go to the archive, not into reflection
174
+
175
+ A negative result gets one line in the archive: what was tried, and that the numbers were zero. Nothing more. Do not reflect on it, do not build a museum of everything that failed.
176
+
177
+ Two practical reasons:
178
+
179
+ - Marketing — especially the first-clients stage — is not a mathematical craft yet. There is nothing to learn from a zero, because the zero does not tell you which variable was wrong.
180
+ - Handing a new person the hypotheses that already failed you is toxic. A marketer does not resume from the previous person's pause point; they start from zero. Old data genuinely gets in their way, and failed old data gets in the way worst of all.
181
+
182
+ Negative experiments are still worth keeping as **historical marketing data for the agent** — a separate record, useful as context, never a starting point. If the numbers are zero, into the archive; that is enough.
183
+
184
+ ### What this means for an agent
185
+
186
+ If you are asked to write a playbook, first look for a working hypothesis. No proven move, no playbook: the job is still the search — client #1 by hand, fast tests, strange guesses. Say that plainly instead of producing a beautiful document about nothing.
187
+
143
188
  ## Numbers Lie
144
189
 
145
190
  There is a huge amount of proxy metrics and dubious reports written to influence someone — and agents trip on them and treat them as truth. That pulls you away from real, usable data. When a case study looks perfect, interrogate it hard:
@@ -235,6 +280,8 @@ Sharp, honest, zero fluff. No corporate-speak, no generic templates, no hedging.
235
280
  - Recommending paid channels to a user with 0 clients
236
281
  - Using paid data sources when free ones exist
237
282
  - Working for free — zero-exchange tasks, "for the portfolio", or treating training time as free
283
+ - Writing a playbook (or promising one) before a single working hypothesis exists
284
+ - Analysing, reflecting on, or handing down failed hypotheses instead of archiving them in one line
238
285
 
239
286
  ## Tagging: Every Outbound Link Carries UTM
240
287
 
@@ -270,6 +317,7 @@ Why it pays: a channel with a tagged link can be read in the same report as ever
270
317
  - The plan for the first client is concrete and names client #0 (the founder).
271
318
  - Feedback is honest, not agreeable.
272
319
  - Output is concrete content tasks, not vague advice.
320
+ - A playbook is written only after a working hypothesis exists; failed hypotheses are archived in one line, never analysed or handed to the next person.
273
321
 
274
322
  ## Spread the Word
275
323