← Files Marketing CouncilARCHIVED FILE
skills/retention-strategy/references/skill-spec.json
6.24 KB · Oct 2, 2026 · 00:31 UTC
{
"name": "retention-strategy",
"purpose": "Diagnose churn and repeat behavior, then design lifecycle interventions",
"baseline_failures": [
"discounting every churner",
"blaming messaging for product gaps",
"averaging away cohort differences"
],
"activation": {
"positive": [
"Help me make the retention intervention using the evidence we have",
"Review our retention intervention and tell me what decision to make next",
"Build a rigorous retention intervention for this marketing problem"
],
"implicit": [
"We have conflicting signals and need a decision about retention intervention",
"I have data but I am not sure what it means for retention intervention",
"Challenge my assumptions before we finalize retention intervention"
],
"negative": [
"Write polished copy only; the strategy and decision are already approved",
"Summarize the supplied material without making a marketing decision"
],
"collisions": [
"The brief spans several marketing functions and no single function clearly owns the next decision"
]
},
"outputs": [
"retention diagnosis",
"lifecycle intervention plan",
"cohort measurement"
],
"execution": {
"primary_agent": "lifecycle-strategist",
"counterweight_agent": "marketing-skeptic",
"primary_hook": "commercial-reality-check",
"evidence_hook": "evidence-gate",
"binding_source": "../../routing/skill-execution-bindings.json"
},
"invariants": [
"Do not finalize retention intervention without separating evidence from inference.",
"Do not invent customer, market, platform, product, policy, or performance facts.",
"State material uncertainty and reversal evidence instead of hiding it behind confident prose."
],
"non_goals": [
"Generic brainstorming without a decision boundary",
"Pure copy polishing or formatting after the strategy is already approved",
"Cross-functional orchestration when another focused skill clearly owns the work"
],
"workflow": [
{
"id": "frame",
"action": "Frame the retention intervention and the decision owner for retention-strategy.",
"why": "Prevents solving an adjacent problem or drifting into tactics.",
"freedom": "low",
"evidence_required": "User objective, constraints, and the decision that must change.",
"completion": "The retention intervention is stated as one explicit decision question."
},
{
"id": "evidence",
"action": "Collect and classify the minimum evidence needed for retention intervention: cohort retention, churn reasons, customer value/use data.",
"why": "Separates known facts from inference and unsupported assumptions.",
"freedom": "medium",
"evidence_required": "Primary supplied evidence first; current external sources only when freshness matters.",
"completion": "Evidence is tagged as fact, inference, assumption, or unknown and material gaps are visible."
},
{
"id": "diagnose",
"action": "Test competing explanations for the retention intervention instead of accepting the first plausible story.",
"why": "Reduces confirmation bias and premature prescription.",
"freedom": "high",
"evidence_required": "At least one credible alternative explanation or counterweight.",
"completion": "A primary explanation is selected and at least one alternative is rejected with reasons."
},
{
"id": "decide",
"action": "Produce the retention intervention with explicit trade-offs, risks, and what would reverse it.",
"why": "Turns analysis into an accountable marketing decision.",
"freedom": "medium",
"evidence_required": "Decision criteria tied to the evidence ledger.",
"completion": "The recommended decision, rejected alternative, risks, and reversal evidence are explicit."
},
{
"id": "measure",
"action": "Define how the retention intervention will be observed, challenged, and handed off.",
"why": "Prevents recommendation theater and orphaned strategy.",
"freedom": "medium",
"evidence_required": "Observable outcome, leading signal, and next owner.",
"completion": "Measurement, confidence, next handoff, and stop/escalation condition are stated."
}
],
"capabilities": {
"required": [
"reason over supplied context",
"read packaged references"
],
"optional": [
"current web research when freshness is material",
"deterministic calculation or parsing when available"
],
"not_allowed": [
"fabricate tool execution",
"fabricate evidence",
"perform irreversible external actions without authorization"
]
},
"evidence_policy": {
"priority": [
"user-provided primary evidence",
"authoritative first-party sources",
"reputable independent evidence"
],
"freshness": "Verify current platform, policy, pricing, market, and product claims when they materially affect the decision.",
"status_labels": [
"fact",
"inference",
"assumption",
"unknown"
]
},
"failure_behavior": "If evidence is insufficient for a defensible retention intervention, return the missing evidence, safest provisional interpretation, and the next smallest research action instead of guessing.",
"completion_conditions": [
"The retention intervention is explicit and answers the user’s decision question.",
"Evidence and inference are distinguishable.",
"At least one credible alternative or counterweight was considered.",
"Outputs, measurement, confidence, and reversal evidence are present.",
"Any required handoff is named and bounded."
],
"handoffs": {
"fallback": "marketing-council",
"dynamic_router": "../../scripts/dynamic_router.py",
"skill_router": "../../scripts/skill_router.py",
"neural_router": "../../scripts/neural_router.py",
"rule": "Use the dynamic router only when the request explicitly establishes multiple dependent decision boundaries; use Council when ownership is ambiguous."
},
"host_targets": [
"ChatGPT",
"Codex",
"Claude Code",
"generic Agent Skills hosts"
],
"eval_files": [
"evals/activation.yml",
"evals/behavior.yml",
"evals/pressure.yml",
"evals/regression.yml"
]
}
SHA-256: 461038c9e7ea07d1aea0bcfbeaa282ff5596ed570480071a647538b218818e27