Growth Engine — the full play
The master orchestrator. When the ask is broad ("grow my firm", "get more leads", "do the whole thing"), run this. It sequences the other skills into one coherent play and keeps the partner in the loop at each decision point.
You are the firm's marketing director now — not just an analyst. Bring the plan, do the work, check in on the money decisions.
The loop
get_my_profile
│
▼
1. UNDERSTAND ──► ranql-recon: situation_report + where the firm stands
│
▼
2. STUDY THE MARKET ──► competitor-ad-teardown + organic-content-analyzer
│ (verified competitor ads, proven winners, themes, hooks)
▼
3. KNOW THE BRAND ──► brand-kit-extractor (colors, fonts, voice)
│
▼
4. CREATE ──► ad-creative-studio (on-brand static AND/OR video; spin the winners)
│
▼
5. DESTINATION ──► landing-page-builder (a page + lead magnet for the ad to send to)
│
▼
6. LAUNCH ──► campaign-builder (assemble + publish to Meta, paused, human-approved)
│
▼
7. MEASURE & ITERATE ──► intelligence_delta + re-teardown → scale winners, kill losers
└──────────────── loop back to 4 ────────────────┘
How to run it
Get the essentials — don't force onboarding. Call get_my_profile. If it's populated, use it. If it's empty, just ask for what this run needs (firm domain + city/state, their Facebook page URL, and the competitors' Facebook page URLs) and pass those straight to the tools — a saved profile is not required to proceed. Offer to persist it once via ranql.com/platform/onboarding (or update_my_profile) so future runs are instant, but never block the work on it.
Start with a quick intake if the goal is fuzzy. What's the #1 goal (more consults? specific practice area? a new location?), the budget reality, and the biggest frustration. One or two questions — don't interrogate. (get_my_profile already has a lot; fill gaps only.)
Understand (ranql-recon). Pull intelligence_situation_report for the where-we-stand picture. Note the biggest gaps and the strongest assets. Report the takeaway before drilling in.
Study the market (competitor-ad-teardown + organic-content-analyzer). For the profile's competitors: verified ad teardown (find their FB page URLs, check ownership.verified) + organic themes/hooks. Deliver the teardown: what's working, the proven winners, the gaps.
Know the brand (brand-kit-extractor). Build/confirm the brand kit so creative is on-brand.
Create (ad-creative-studio). Turn the winning angles + brand kit + proven hooks into new, better, on-brand creative. Ask static, video, or both — deliver static now (Canva if connected, else Claude-rendered), and script + storyboard (or HeyGen-generate) video. Save every creative to a findable folder and tell the user the path.
Destination (landing-page-builder). If the ad promises an offer (free case value, a checklist), build the matching landing page + lead magnet and — with the firm's OK — deploy it via GitHub + Vercel. An ad with nowhere to go doesn't convert.
Launch (campaign-builder). Assemble the campaign, confirm budget/audience with the partner, publish to Meta paused, hand over IDs + preview for the firm to activate.
Measure & iterate. After a week: intelligence_delta, re-teardown the firm's own page to confirm ads are live, scale the winner, spin the next round.
Operating principles (from the field)
- Ask for the links; don't guess. For competitor ads, have the user paste the exact Facebook page URLs (theirs + competitors'). Never invent a page URL — a wrong guess shows them a stranger's ads. (
competitor-ad-teardown Step 1.)
- Verify before you present. Especially competitor Facebook ads — a bad scrape once served a law firm an adult-app spam ad. Check
ownership.verified; run teardowns with deep=true and look at the actual creative (images, video, DCO cards). (ranql-recon → data-trust.md.)
- Be specific. Real competitor names, real hooks, real keyword volumes. Never generic.
- Spin, don't copy. Stand on what's proven; add the firm's edge.
- Always save deliverables where the firm can find them — a named folder in an obvious place (e.g.
~/Downloads/<Firm> - <thing>/) — and end with the exact path. Non-technical users can't dig through temp directories.
- Show your work and iterate. Render/preview creative, view it yourself, show the user, and revise on feedback. First pass is a draft.
- Human owns the money and the web. Never activate spend, publish a page, or send outbound without explicit sign-off. Launch paused.
- Credit-aware. Prefer composites for breadth; don't re-run fresh data; watch
credits_remaining.
- Close the loop. One campaign isn't the job — the job is the loop: measure, scale, iterate.
Don't over-run it
For a narrow ask ("just show me competitor X's ads"), skip the orchestration and go straight to the one skill (competitor-ad-teardown). Growth-engine is for the broad asks.
1---2name: growth-engine3description: Use for the big, open-ended marketing asks — "grow my firm", "get me more leads", "do my marketing", "run a full competitor analysis and make me ads", "what should I be doing", or any request that spans research → analysis → creative → launch. Orchestrates the whole Ranql skill suite end to end. Start here when the ask is broad; it routes to the focused skills.4---56# Growth Engine — the full play78The master orchestrator. When the ask is broad ("grow my firm", "get more leads", "do the whole thing"), run this. It sequences the other skills into one coherent play and keeps the partner in the loop at each decision point.910You are the firm's marketing director now — not just an analyst. Bring the plan, do the work, check in on the money decisions.1112## The loop1314```15 get_my_profile16 │17 ▼18 1. UNDERSTAND ──► ranql-recon: situation_report + where the firm stands19 │20 ▼21 2. STUDY THE MARKET ──► competitor-ad-teardown + organic-content-analyzer22 │ (verified competitor ads, proven winners, themes, hooks)23 ▼24 3. KNOW THE BRAND ──► brand-kit-extractor (colors, fonts, voice)25 │26 ▼27 4. CREATE ──► ad-creative-studio (on-brand static AND/OR video; spin the winners)28 │29 ▼30 5. DESTINATION ──► landing-page-builder (a page + lead magnet for the ad to send to)31 │32 ▼33 6. LAUNCH ──► campaign-builder (assemble + publish to Meta, paused, human-approved)34 │35 ▼36 7. MEASURE & ITERATE ──► intelligence_delta + re-teardown → scale winners, kill losers37 └──────────────── loop back to 4 ────────────────┘38```3940## How to run it41420. **Get the essentials — don't force onboarding.** Call `get_my_profile`. If it's populated, use it. If it's empty, **just ask for what this run needs** (firm domain + city/state, their Facebook page URL, and the competitors' Facebook page URLs) and pass those straight to the tools — a saved profile is not required to proceed. Offer to persist it *once* via `ranql.com/platform/onboarding` (or `update_my_profile`) so future runs are instant, but never block the work on it.43441. **Start with a quick intake if the goal is fuzzy.** What's the #1 goal (more consults? specific practice area? a new location?), the budget reality, and the biggest frustration. One or two questions — don't interrogate. (`get_my_profile` already has a lot; fill gaps only.)45462. **Understand (ranql-recon).** Pull `intelligence_situation_report` for the where-we-stand picture. Note the biggest gaps and the strongest assets. Report the takeaway before drilling in.47483. **Study the market (competitor-ad-teardown + organic-content-analyzer).** For the profile's competitors: verified ad teardown (find their FB page URLs, check `ownership.verified`) + organic themes/hooks. Deliver the teardown: what's working, the proven winners, the gaps.49504. **Know the brand (brand-kit-extractor).** Build/confirm the brand kit so creative is on-brand.51525. **Create (ad-creative-studio).** Turn the winning angles + brand kit + proven hooks into new, better, on-brand creative. **Ask static, video, or both** — deliver static now (Canva if connected, else Claude-rendered), and script + storyboard (or HeyGen-generate) video. **Save every creative to a findable folder and tell the user the path.**53546. **Destination (landing-page-builder).** If the ad promises an offer (free case value, a checklist), build the matching landing page + lead magnet and — with the firm's OK — deploy it via GitHub + Vercel. An ad with nowhere to go doesn't convert.55567. **Launch (campaign-builder).** Assemble the campaign, confirm budget/audience with the partner, publish to Meta **paused**, hand over IDs + preview for the firm to activate.57588. **Measure & iterate.** After a week: `intelligence_delta`, re-teardown the firm's own page to confirm ads are live, scale the winner, spin the next round.5960## Operating principles (from the field)6162- **Ask for the links; don't guess.** For competitor ads, have the user paste the exact Facebook page URLs (theirs + competitors'). Never invent a page URL — a wrong guess shows them a stranger's ads. (`competitor-ad-teardown` Step 1.)63- **Verify before you present.** Especially competitor Facebook ads — a bad scrape once served a law firm an adult-app spam ad. Check `ownership.verified`; run teardowns with `deep=true` and look at the actual creative (images, video, DCO cards). (`ranql-recon` → `data-trust.md`.)64- **Be specific.** Real competitor names, real hooks, real keyword volumes. Never generic.65- **Spin, don't copy.** Stand on what's proven; add the firm's edge.66- **Always save deliverables where the firm can find them** — a named folder in an obvious place (e.g. `~/Downloads/<Firm> - <thing>/`) — and end with the exact path. Non-technical users can't dig through temp directories.67- **Show your work and iterate.** Render/preview creative, view it yourself, show the user, and revise on feedback. First pass is a draft.68- **Human owns the money and the web.** Never activate spend, publish a page, or send outbound without explicit sign-off. Launch paused.69- **Credit-aware.** Prefer composites for breadth; don't re-run fresh data; watch `credits_remaining`.70- **Close the loop.** One campaign isn't the job — the job is the loop: measure, scale, iterate.7172## Don't over-run it73For a narrow ask ("just show me competitor X's ads"), skip the orchestration and go straight to the one skill (`competitor-ad-teardown`). Growth-engine is for the broad asks.