Browse documentation

Growth actions for agents

FunnelKeeper is the growth engine your coding tools read. After sources are connected it ranks the next incremental changes that will generate revenue or growth — activation leaks, rage-click paths, wasted spend, missing conversions, weak landing pages — and writes a prompt you can hand to Cursor, Claude Code, Lovable, Bolt, or v0.

Ask this before inventing a feature. The numbers come from the warehouse (spend + funnel + revenue + replay), not from a vibe.

Spend changes are never executed here. A scale recommendation tells you to propose_budget_change; a human still taps Approve.

Surfaces

SurfaceCall
MCPget_growth_actions then get_growth_prompt
RESTGET /products/{slug}/growth-actions · POST /products/{slug}/growth-actions/{id}/prompt
CLIfk growth --product <slug> · fk prompt <id> --product <slug> --tool cursor
DashboardOverview → Next growth steps → Copy prompt

MCP flow

1. get_growth_actions { slug, days: 30, tool: "cursor" }
   → ranked actions with headline, category, estimated monthly impact, prompt

2. Pick the top action the human agrees with (or the one with the largest impact).

3. get_growth_prompt { slug, id, tool: "cursor" | "claude_code" | "lovable" | "bolt" | "v0" }
   → full prompt: why it matters, what to do, ground truth, done-when.

4. Run that prompt in the coding tool. Do not edit ad budgets from it.

CLI equivalent:

fk growth --product demo-product
fk prompt activation.dropoff.signup-activated --product demo-product --tool cursor

Categories

CategoryWhat it diagnoses
activationConsecutive funnel dropoffs (e.g. signup → activated)
frictionRage / dead clicks on a path, with recording URLs when we have them
acquisitionWasted spend (zero engaged) or a channel that is paying back
pricingSignups with no payments, missing conversion definitions, unattributed revenue
seoNo organic traffic, or a landing page that scored poorly

Effort is quick_fix, feature_build, or experiment. Impact is integer cents per month, or null when we cannot yet put a number on it.

Guarantees

  • Deterministic. No LLM in the ranking — the prompt is formatted from warehouse facts.
  • Action ids are stable for a given diagnosis (activation.dropoff.signup-activated) so you can re-fetch a prompt after the window moves.
  • Unattributed revenue stays unattributed. We will not tell you to smear it onto a paid channel.
  • HITL unchanged: anything that spends money is a proposal card.