create-battle-plan 1.1.1 → 1.1.2

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/template/CLAUDE.md +71 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-battle-plan",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Scaffold a Battle Plan project — a markdown-based context system for LLM-powered project management",
5
5
  "bin": {
6
6
  "create-battle-plan": "./bin/cli.js"
@@ -152,3 +152,74 @@ When the user says `/wrap-up`, run this end-of-day sequence:
152
152
  - Tomorrow's top priorities
153
153
 
154
154
  **Step 6 — Commit:** Ask: "Want me to commit today's updates?" If yes, commit with message: `eod YYYY-MM-DD: [summary]`
155
+
156
+ ---
157
+
158
+ ## Outreach System (Add-on)
159
+
160
+ **Trigger:** If `outreach/leads.csv` exists in the project, the outreach system is active.
161
+
162
+ ### Overview
163
+
164
+ The outreach system tracks a LinkedIn (or any channel) outreach pipeline through `outreach/leads.csv`. This CSV is the **single source of truth** for all outreach metrics — `metrics.yml` is derived from it, never edited directly for outreach numbers.
165
+
166
+ ### First-Time Setup
167
+
168
+ If `outreach/leads.csv` exists but `.outreach-initialized` does NOT exist, read `outreach/README.md` and follow the Interactive Setup instructions to onboard the user.
169
+
170
+ ### Daily Workflow Integration
171
+
172
+ The outreach system plugs into the cascade protocol:
173
+
174
+ 1. User runs `node tools/outreach/daily-targets.js` → generates blitz checklist
175
+ 2. User sends messages, ticks checkboxes
176
+ 3. User runs `node tools/outreach/flush-targets.js` → updates leads.csv
177
+ 4. `flush-targets.js` calls `sync-metrics.js` → derives metrics.yml from CSV
178
+ 5. `sync-metrics.js` calls `update-dashboard.js` → regenerates mermaid dashboard
179
+ 6. The cascade protocol takes over: metrics.yml → battle-plan.md → domain docs
180
+
181
+ ### Scripts Reference
182
+
183
+ | Script | Purpose |
184
+ |--------|---------|
185
+ | `tools/outreach/daily-targets.js [N]` | Generate daily blitz checklist |
186
+ | `tools/outreach/flush-targets.js` | Process checked items from blitz |
187
+ | `tools/outreach/flush-updates.js` | Parse free-form natural language updates |
188
+ | `tools/outreach/flush-accepts.js` | Batch-process connection accepts |
189
+ | `tools/outreach/flush-inbox.js` | Add leads from manual URL list |
190
+ | `tools/outreach/sync-metrics.js` | Derive metrics.yml from leads.csv |
191
+ | `tools/outreach/update-dashboard.js` | Regenerate mermaid conversion dashboard |
192
+ | `tools/outreach/stats.js` | Print pipeline summary |
193
+ | `tools/outreach/lookup.js "Name"` | Fuzzy-search leads |
194
+
195
+ ### Metrics Derivation
196
+
197
+ These metrics in `metrics.yml` are **derived** from leads.csv (never hand-edit):
198
+
199
+ - `outreach_sent` = leads with status past `new` or `contacted_at` set
200
+ - `responses` = `replied_at` set or status past `replied`
201
+ - `invitations_accepted` = leads tagged `accepted`
202
+ - `discovery_calls` = `call_at` in the past or status `call_done`
203
+ - `calls_booked` = status `call_booked` (snapshot)
204
+ - `verbal_commitments` = status `verbal`, `loi`, or `paying`
205
+
206
+ ### Template System
207
+
208
+ Message templates live in `tools/outreach/templates.json`. The daily blitz assigns templates based on the `country_template_map` field (or round-robin if no mapping). Template performance (sent/accepted/replied/calls) is tracked automatically and displayed in the blitz checklist.
209
+
210
+ ### Mermaid Dashboard
211
+
212
+ `docs/analysis/icp-conversion.md` is auto-generated — never hand-edit. It contains:
213
+ - Overall funnel chart (contacted → accepted → replied → call → verbal)
214
+ - Conversion breakdown by role, company size, country, company type
215
+ - Template A/B comparison
216
+ - Kill/Keep/Scale verdicts per segment
217
+
218
+ View in any mermaid-capable renderer (GitHub, VS Code preview, etc.).
219
+
220
+ ### Adapting the System
221
+
222
+ - **Different metrics:** Edit the derivation rules in `tools/outreach/sync-metrics.js`
223
+ - **Different time horizon:** The system tracks weekly breakdowns — adjust `daily-targets.js` count parameter
224
+ - **Different channels:** The `channel` column supports any value (connection, inmail, email, etc.)
225
+ - **Different statuses:** Add to `VALID_STATUS` in `tools/outreach/lib/leads.js` and update derivation rules