Consult Pursue -- Post-Pack Pursuit
Turn the shipped pack into client-facing pursuit artifacts.
Two modes — pick from inputs (do not ask unless ambiguous):
| Mode |
When |
Pack source |
| Standard |
{Client}-Engagement-Proposal-Pack.md exists |
Existing pack |
| Cold-start |
User gives client + topic only; no pack, no Input brief |
Synthesize from public research + Timeln |
Inputs
| Input |
Standard |
Cold-start |
{Client}-Engagement-Proposal-Pack.md |
yes |
create from template |
engagement-passport.yaml (option_selected) |
yes |
create/update — default POC unless pack says otherwise |
timeln-shipped on engagement topic |
run before write |
run before write |
timeln-quickly on client names, dates, numbers |
run before write |
run — expect no record; use public stats only, label source |
Templates: cold-start/ (see cold-start/EXAMPLES.md for folder layout)
Showcases: examples/ho-brothers/ · examples/vodafone-portugal/
Cold-start workflow (client + topic only)
Run in order when pack or Input brief is missing:
Slug — infer {slug}: lowercase, hyphenated (Vodafone Portugal → vodafone-portugal). Create prospects/{slug}/ from ../consult-pipeline/prospect-template/ if missing.
Public research — web search: incumbent products, public metrics, partners, regional initiatives. Write prospects/{slug}/00-research-public.md (template: cold-start/00-research-public.md). Every claim → source URL or assumption.
Synthesized pack — if no pack exists, write prospects/{slug}/{Client}-Engagement-Proposal-Pack.md from cold-start/proposal-pack-synthesized.md:
- Header must include
(synthesized) and Public research only — no client transcript or RFP on file
- Primary decision = next-phase pitch (extend incumbent stack, not replace)
- Default options: A Discovery / B POC ✓ / C stretch (voice or scale)
- Do not invent fees —
TBD after access workshop
- Do not invent contact names —
TBD
Passport — set stage: PURSUE, option_selected: POC (or pack selection), source_mode: cold_start, record timeln_pulls.
Prefetch — timeln-shipped + timeln-quickly (same as standard).
Pursue artifacts — email + call script (below). Label proof: timeln-shipped | from pack only | public source.
Say to user: folder path (prospects/{slug}/ — single folder, all artifacts), what was synthesized vs verified, upgrade path (/cos-research when brief arrives).
Cold-start folder layout (single folder — mandatory)
Everything in prospects/{slug}/ only. No Output/{Client}-Engagement/ for cold-start.
prospects/{slug}/
├── engagement-passport.yaml
├── README.md # optional index
├── Input/ # optional — briefs when they arrive
├── 00-research-public.md
├── {Client}-Engagement-Proposal-Pack.md
└── pursue/
├── email.md
└── call-script.md
Passport paths are relative to slug root (see cold-start/EXAMPLES.md). Full pipeline (stages 1–6) may add Output/{Client}-Engagement/ later when upgrading — do not nest cold-start files there first.
Prefetch (mandatory — both modes)
timeln-shipped — top 3 proof points for credibility paragraph
timeln-quickly — decision owner name, timeline quotes, budget signals if any
If no record, omit client-specific quotes; use pack or public sources only — never fabricate Timeln results.
Standard workflow
- Cover email (≤250 words): primary decision, recommended option, one proof line from timeln-shipped, next step, attachment pointer.
- 30-min call script: opening (2 min), decision recap (5 min), recommendation walk (10 min), risks + assumptions (5 min), close + ask (5 min), Q&A stubs (3+).
- Objection stubs (max 5): objection → response → proof pointer — in call-script §Objection stubs.
Output -- write to pursue/
Use templates under cold-start/pursue/ when cold-start.
pursue/email.md
## Subject
...
## Body
...
## Proof used (timeln-shipped)
- ...
## Attachments
- ...
pursue/call-script.md
## Call script -- <client> -- <YYYY-MM-DD>
**Attendees:** ...
**Goal:** ...
### Opening (2 min)
...
### Decision recap (5 min)
...
### Recommendation (10 min)
...
### Risks & assumptions (5 min)
...
### Close (5 min)
**Ask:** ...
### Q&A stubs
| Question | Response | Source |
|---|---|---|
### Objection stubs (internal prep)
| Objection | Response | Proof |
|---|---|---|
Rules
- Do not add scope beyond pack (standard) or synthesized pack (cold-start).
- Proof claims must match timeln-shipped, be labeled
from pack only, or public source with URL.
- Email must reference exec summary decision in first paragraph.
- Cold-start packs and emails must state assumptions explicitly; never present synthesis as client-validated fact.
- If Timeln MCP unavailable: note in passport
timeln skipped — no MCP; use filesystem use cases + public research only.
Common failure modes
| Mistake |
Fix |
| Greenfield chatbot pitch when client already has SuperTOBi / Copilot / etc. |
Research incumbent stack; pitch next phase (agentic, eval, BSS tool use) |
| Inventing €/$ fees or contact names |
TBD + role placeholders |
Skipping 00-research-public.md in cold-start |
Always write — pursue cites public stats from here |
Nesting cold-start under Output/{Client}-Engagement/ |
Write flat under prospects/{slug}/ — see cold-start/EXAMPLES.md |
| Treating saved articles as shipped work |
timeln-shipped filter: para_category == project + delivery language only |
1---2name: consult-pursue3description: Trigger on "pursue client", "pitch email", "follow up proposal", "call script proposal", "consult pursue", "cos pursue", "/cos-pursue {client} for {topic}". Post-pack pursuit: cover email, 30-min call script, objection stubs. Cold-start mode when only client + topic given — synthesizes pack from public research. Uses timeln-shipped and timeln-quickly. NOT packaging (consult-package), NOT frame (consult-frame).4license: MIT5---67# Consult Pursue -- Post-Pack Pursuit89Turn the shipped pack into client-facing pursuit artifacts.1011Two modes — pick from inputs (do not ask unless ambiguous):1213| Mode | When | Pack source |14|------|------|-------------|15| **Standard** | `{Client}-Engagement-Proposal-Pack.md` exists | Existing pack |16| **Cold-start** | User gives **client + topic only**; no pack, no Input brief | Synthesize from public research + Timeln |1718---1920## Inputs2122| Input | Standard | Cold-start |23|---|---|---|24| `{Client}-Engagement-Proposal-Pack.md` | yes | **create** from template |25| `engagement-passport.yaml` (`option_selected`) | yes | **create/update** — default `POC` unless pack says otherwise |26| **`timeln-shipped`** on engagement topic | run before write | run before write |27| **`timeln-quickly`** on client names, dates, numbers | run before write | run — expect `no record`; use public stats only, label source |2829Templates: `cold-start/` (see **`cold-start/EXAMPLES.md`** for folder layout)3031Showcases: `examples/ho-brothers/` · `examples/vodafone-portugal/`3233---3435## Cold-start workflow (client + topic only)3637Run in order when pack or Input brief is missing:38391. **Slug** — infer `{slug}`: lowercase, hyphenated (`Vodafone Portugal` → `vodafone-portugal`). Create `prospects/{slug}/` from `../consult-pipeline/prospect-template/` if missing.40412. **Public research** — web search: incumbent products, public metrics, partners, regional initiatives. Write `prospects/{slug}/00-research-public.md` (template: `cold-start/00-research-public.md`). Every claim → source URL or `assumption`.42433. **Synthesized pack** — if no pack exists, write `prospects/{slug}/{Client}-Engagement-Proposal-Pack.md` from `cold-start/proposal-pack-synthesized.md`:44 - Header must include `(synthesized)` and `Public research only — no client transcript or RFP on file`45 - Primary decision = **next-phase** pitch (extend incumbent stack, not replace)46 - Default options: A Discovery / **B POC** ✓ / C stretch (voice or scale)47 - Do **not** invent fees — `TBD after access workshop`48 - Do **not** invent contact names — `TBD`49504. **Passport** — set `stage: PURSUE`, `option_selected: POC` (or pack selection), `source_mode: cold_start`, record `timeln_pulls`.51525. **Prefetch** — `timeln-shipped` + `timeln-quickly` (same as standard).53546. **Pursue artifacts** — email + call script (below). Label proof: `timeln-shipped` | `from pack only` | `public source`.55567. **Say to user:** folder path (`prospects/{slug}/` — single folder, all artifacts), what was synthesized vs verified, upgrade path (`/cos-research` when brief arrives).5758### Cold-start folder layout (single folder — mandatory)5960Everything in **`prospects/{slug}/`** only. No `Output/{Client}-Engagement/` for cold-start.6162```63prospects/{slug}/64├── engagement-passport.yaml65├── README.md # optional index66├── Input/ # optional — briefs when they arrive67├── 00-research-public.md68├── {Client}-Engagement-Proposal-Pack.md69└── pursue/70 ├── email.md71 └── call-script.md72```7374Passport paths are **relative to slug root** (see `cold-start/EXAMPLES.md`). Full pipeline (stages 1–6) may add `Output/{Client}-Engagement/` later when upgrading — do not nest cold-start files there first.7576---7778## Prefetch (mandatory — both modes)79801. **`timeln-shipped`** — top 3 proof points for credibility paragraph812. **`timeln-quickly`** — decision owner name, timeline quotes, budget signals if any8283If `no record`, omit client-specific quotes; use pack or public sources only — never fabricate Timeln results.8485---8687## Standard workflow88891. **Cover email** (≤250 words): primary decision, recommended option, one proof line from timeln-shipped, next step, attachment pointer.902. **30-min call script**: opening (2 min), decision recap (5 min), recommendation walk (10 min), risks + assumptions (5 min), close + ask (5 min), Q&A stubs (3+).913. **Objection stubs** (max 5): objection → response → proof pointer — in call-script §Objection stubs.9293---9495## Output -- write to `pursue/`9697Use templates under `cold-start/pursue/` when cold-start.9899### `pursue/email.md`100101```102## Subject103...104105## Body106...107108## Proof used (timeln-shipped)109- ...110111## Attachments112- ...113```114115### `pursue/call-script.md`116117```118## Call script -- <client> -- <YYYY-MM-DD>119120**Attendees:** ...121**Goal:** ...122123### Opening (2 min)124...125126### Decision recap (5 min)127...128129### Recommendation (10 min)130...131132### Risks & assumptions (5 min)133...134135### Close (5 min)136**Ask:** ...137138### Q&A stubs139| Question | Response | Source |140|---|---|---|141142### Objection stubs (internal prep)143| Objection | Response | Proof |144|---|---|---|145```146147---148149## Rules150151- Do not add scope beyond pack (standard) or synthesized pack (cold-start).152- Proof claims must match timeln-shipped, be labeled `from pack only`, or `public source` with URL.153- Email must reference exec summary decision in first paragraph.154- Cold-start packs and emails must state assumptions explicitly; never present synthesis as client-validated fact.155- If Timeln MCP unavailable: note in passport `timeln skipped — no MCP`; use filesystem use cases + public research only.156157---158159## Common failure modes160161| Mistake | Fix |162|---|---|163| Greenfield chatbot pitch when client already has SuperTOBi / Copilot / etc. | Research incumbent stack; pitch **next phase** (agentic, eval, BSS tool use) |164| Inventing €/$ fees or contact names | TBD + role placeholders |165| Skipping `00-research-public.md` in cold-start | Always write — pursue cites public stats from here |166| Nesting cold-start under `Output/{Client}-Engagement/` | Write flat under `prospects/{slug}/` — see `cold-start/EXAMPLES.md` |167| Treating saved articles as shipped work | timeln-shipped filter: `para_category == project` + delivery language only |