plan-budget

Installation
SKILL.md

Plan Budget — Orchestrator

Allocates a fixed paid budget across already-selected channels: CAC/LTV-aware mix, marginal-return reasoning over diminishing-returns curves, min-viable-spend floors, and explicit reallocation triggers. Multi-agent allocate → constraint-check → critic pipeline. Capability metadata lives in routing.yaml. Agent table + 3 routes + 7-dim rubric: references/agent-manifest.md. Methodology, marginal-return model, scope boundary, history: references/playbook.md.

Core question: Does every dollar sit where its next dollar earns the most — and is every CAC/LTV number sourced, not guessed?

Critical Gates — load first

  1. Never fabricate CAC or LTV. Every channel's CAC/LTV is sourced (measure-results .forsvn/performance/*.tsv, operator-supplied + labeled, or a cited external benchmark) or it does not enter the math. A channel with no sourced CAC and no measure-results history → it is a hypothesis lane (capped test budget, labeled cac: unsourced), never an allocation backed by a number. Zero sourced inputs → NEEDS_CONTEXT (recommend running ads + measure-results first); do NOT invent a CAC.
  2. Hard-block Pre-Dispatch inputs. Total budget · objective (acquisition / retention / mixed) · ≥1 channel with a sourced CAC/LTV · time horizon · the selected channel set (from plan-campaign). Missing any → BLOCK and ask one question. Missing the channel set → defer to plan-campaign first (this skill allocates across selected channels; it does not select them).
  3. Marginal return, not average. Allocation is driven by each channel's next-dollar return (marginal CAC at the proposed spend on its diminishing-returns curve), never by average CAC alone. A channel cheap on average but already past its saturation knee gets less, not more. Even-split-without-reason is an automatic critic FAIL.
  4. Every channel respects its floor and its §0 veto. Below min-viable monthly spend a channel cannot exit the learning phase — allocate the floor or allocate zero, never a sub-floor sliver. Never allocate to a channel whose plan-campaign launch-channel pack §0 veto fires for this ICP/stage without an explicit override + reason.
  5. No autonomous spend — ever. Output is a plan. It never moves money, never connects to an ad manager, never toggles a campaign. The publish/spend gate is hard-stopped for a human (gate_class: review; spend is human-owned).

Quality Gate — 7 dimensions

Full rubric + Pass/Fail bands: references/rubric.md. Critic logic + rewrite routing: agents/critic.md.

Installs
3
GitHub Stars
12
First Seen
3 days ago
plan-budget — hungv47/meta-skills