Source profileQuality 94/100

event4u-app/agent-config/src/skills/retention-loops/SKILL.md

retention-loops

Use when designing product-led retention — habit formation, trigger-action-reward, network vs single-user loops. Triggers on 'why don't users come back', 'design a habit loop'.

Source repository stars
7
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Triggers on 'why don't users come back', 'design a habit loop'.

Best for

  • D30 retention is flat or declining and the team cannot name a single product loop that pulls the user back — retention is treated as marketing's problem, not the product's.
  • A new feature shipped but did not move retention — there is no closed loop between trigger, action, and reward, so the feature is a destination, not a habit.
  • The product depends on a network effect that has not been instrumented as a loop — invites, content, or data are produced but the loop that pulls the next user back is unwritten.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/retention-loops"
Safe inspection promptEditorial

Inspect the Agent Skill "retention-loops" from https://github.com/event4u-app/agent-config/blob/0adf49a8ae84b0ff6e2de8759eea43257e020eff/src/skills/retention-loops/SKILL.md at commit 0adf49a8ae84b0ff6e2de8759eea43257e020eff. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Procedure

    Inspect the product. For each suspected loop, write the closed form: "\ → \ → \ → \." If the loop cannot be written closed, it is not a loop; it is a funnel ending. Inspect whether the reward arrives quickly enough to reinforce the action — verify the delay against the segment's…

    Single-user loop — trigger and reward both originate fromNetwork loop — trigger or reward involves another userGain per cycle — what observable utility does the user
  2. 02

    Step 0: Inspect — name the current loops, if any

    Inspect the product. For each suspected loop, write the closed form: "\ → \ → \ → \." If the loop cannot be written closed, it is not a loop; it is a funnel ending. Inspect whether the reward arrives quickly enough to reinforce the action — verify the delay against the segment's…

    Inspect the product. For each suspected loop, write the closed form: "\ → \ → \ → \." If the loop cannot be written closed, it is not a loop; it is a funnel ending. Inspect whether the reward arrives quickly enough to r…
  3. 03

    Step 1: Classify each loop as single-user vs network

    1. Single-user loop — trigger and reward both originate from the same user (a daily-summary email triggered by yesterday's activity). 2. Network loop — trigger or reward involves another user (a teammate's comment, a partner's reply, a customer's reaction).

    Single-user loop — trigger and reward both originate fromNetwork loop — trigger or reward involves another user1. Single-user loop — trigger and reward both originate from the same user (a daily-summary email triggered by yesterday's activity). 2. Network loop — trigger or reward involves another user (a teammate's comment, a pa…
  4. 04

    Step 2: Audit the gain and the delay per loop

    1. Gain per cycle — what observable utility does the user receive (information, social affirmation, time saved, reduced error)? Gain measured as the user's revealed willingness to repeat the action. 2. Delay — time from trigger to reward. A delay longer than the segment's attent…

    Gain per cycle — what observable utility does the userDelay — time from trigger to reward. A delay longer than theDecay — does the loop weaken when the user already has the
  5. 05

    Step 3: Pick the binding loop and isolate it

    Of the loops named, pick the one whose gain × frequency × eligible segment-size is largest. Verify the loop is intrinsic-pull, not vendor-push: confirm the trigger originates from a user action or state, not from a marketing schedule. A push-trigger labelled as a loop will burn…

    Of the loops named, pick the one whose gain × frequency × eligible segment-size is largest. Verify the loop is intrinsic-pull, not vendor-push: confirm the trigger originates from a user action or state, not from a mark…

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score94/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars7SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
event4u-app/agent-config
Skill path
src/skills/retention-loops/SKILL.md
Commit
0adf49a8ae84b0ff6e2de8759eea43257e020eff
License
MIT
Collected
2026-07-28
Default branch
main
View the original SKILL.md

retention-loops

When to use

  • D30 retention is flat or declining and the team cannot name a single product loop that pulls the user back — retention is treated as marketing's problem, not the product's.
  • A new feature shipped but did not move retention — there is no closed loop between trigger, action, and reward, so the feature is a destination, not a habit.
  • The product depends on a network effect that has not been instrumented as a loop — invites, content, or data are produced but the loop that pulls the next user back is unwritten.

Do NOT use to fix days 0–30 onboarding friction (route to onboarding-design), classify churn causes (route to churn-prevention), or design human-led account-expansion plays (route to expansion-playbook).

Cognition cluster

  • Mental model 14 — Meadows leverage points. A retention loop is a feedback structure: the leverage sits in the loop's gain (how strong the reward is) and delay (how long until the reward lands), not in the surface UI. Pick the leverage point — gain or delay — over surface polish. See docs/contracts/mental-models.md § 14.
  • Mental model 8 — Compounding. A loop with even small gain per cycle compounds across cohorts; a one-time activation bump does not. Verify which loops compound before investing cycles into them. See mental-models.md § 8.
  • Mental model 18 — Pull vs. push. A trigger the user pulls (intrinsic need surfaced by the product) compounds; a trigger the vendor pushes (marketing notification firing) decays the channel and trains the user to mute. See mental-models.md § 18.
  • Context-spine — product + customer-segment + funnel-stage. Read the product slot for which capability can carry a loop (a loop is only as strong as the action it routes through), the customer-segment slot for which segments have the latent need the loop addresses, and the funnel-stage slot for where the loop sits relative to activation and paid. See context-spine.

Procedure

Step 0: Inspect — name the current loops, if any

Inspect the product. For each suspected loop, write the closed form: "<trigger> → <action> → <reward> → <trigger again>." If the loop cannot be written closed, it is not a loop; it is a funnel ending. Inspect whether the reward arrives quickly enough to reinforce the action — verify the delay against the segment's attention cycle.

Step 1: Classify each loop as single-user vs network

  1. Single-user loop — trigger and reward both originate from the same user (a daily-summary email triggered by yesterday's activity).
  2. Network loop — trigger or reward involves another user (a teammate's comment, a partner's reply, a customer's reaction).

Network loops compound harder but require minimum-viable-network density; below density they look broken. Classify before investing.

Step 2: Audit the gain and the delay per loop

For each loop:

  1. Gain per cycle — what observable utility does the user receive (information, social affirmation, time saved, reduced error)? Gain measured as the user's revealed willingness to repeat the action.
  2. Delay — time from trigger to reward. A delay longer than the segment's attention window kills the loop regardless of gain.
  3. Decay — does the loop weaken when the user already has the reward? Most product loops decay; design the next loop before the first decays.

Step 3: Pick the binding loop and isolate it

Of the loops named, pick the one whose gain × frequency × eligible segment-size is largest. Verify the loop is intrinsic-pull, not vendor-push: confirm the trigger originates from a user action or state, not from a marketing schedule. A push-trigger labelled as a loop will burn the channel.

Step 4: Design the missing step, not the missing UI

If the binding loop is broken, the broken step is almost always: trigger missing, action too far from trigger, reward delayed, or no path back to next trigger. Design the missing step, not a UI tweak. UI tweaks polish a loop that already closes; they do not close an open one.

Step 5: Hand back

Hand the loop inventory, the binding-loop selection with gain / delay / decay, and the step-level redesign to the implementing team and to activation-design — activation is the loop's first cycle, and the activation event must complete the first cycle of the binding loop. Retention work without a named loop is rearranging notifications.

Related Skills

WHEN to use this

  • Designing or auditing product-led retention loops.
  • Selecting the binding loop and redesigning its missing step.

WHEN NOT to use this

When the agent should load this

  • "Why don't users come back?"
  • "Design a habit loop for feature X."
  • "Is this loop single-user or network?"
  • "Welcher Loop tr\u00e4gt eigentlich unsere Retention?"

Output

  1. loop-inventory.md — every named loop in closed form: trigger → action → reward → next trigger, with single-user vs network tag.
  2. gain-delay-audit.md — per-loop gain · delay · decay · eligible-segment size · revealed repeat-rate.
  3. binding-loop-redesign.md — selected loop, the broken step, and the redesign in step terms (not UI terms).

Gotcha

  • A loop whose reward arrives outside the segment's attention window will look broken even when gain is high; delay kills loops more often than gain does.
  • A network loop below minimum-viable density behaves like an open funnel; instrumenting it and designing it before density is theatre.
  • "Notifications fire daily" is not a loop; it is a push schedule. A loop needs a closed return path from reward to next trigger that the user — not the vendor — closes.

Do NOT

  • Do NOT invest in surface UI on a loop that does not close; the loop closes by adding a step, not polishing one.
  • Do NOT instrument network loops as single-user loops; the metric will look broken until the network reaches density.
  • Do NOT design more than one binding loop at a time; concurrent loop changes destroy the signal.

Runnable example

Mid-market collaboration tool, D30 retention 41 %, two suspected loops named.

  • Loop inventory — (L1) user receives daily summary → opens product → reviews changes → leaves a comment → teammate notified (network). (L2) user creates a doc → bookmark surfaces in nav → user reopens (single-user).
  • Gain–delay audit — L1 gain medium, delay 24 h (within attention window), decay low (network refreshes); L2 gain low, delay 0, decay high (bookmark stale within a week).
  • Binding loop — L1 selected (gain × frequency × segment-size dominates). Broken step: "teammate notified" fires but does not route teammate back to the originating doc — the loop opens.
  • Redesign — add teammate-return path: notification deep-links into the doc at the commented passage; verify with cohort A/B at 4-week horizon. Predicted: D30 +6 pp ± 3 pp.
  • Hand-off — loop inventory + redesign → eng team; activation event redefinition (one comment + one teammate notified) handed to activation-design.

Alternatives

Compare before choosing

Computed 10042,015

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 10042,015

coreyhaines31/marketingskills

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

Computed 1007

event4u-app/agent-config

design-intelligence

Grounded design brief from the adopted corpus — style, WCAG-checked color tokens, typography, layout pattern, anti-patterns. Use on ui-design-brief or any which-style/palette/font/chart decision.

Computed 1007

event4u-app/agent-config

design-system-capture

Write and maintain DESIGN.md + PRODUCT.md — captures visual decisions and interaction patterns so design tasks stay consistent across sessions without re-scanning past work.