Investigate: Hook Model AFPS Gap

Scope: whether this repository already has a skill for Nir Eyal's Hooked model, and whether the AFPS workflow has a routing or coverage gap around using it.

Skill: investigateDate: 2026-05-31Output: report-only investigation

Executive Verdict

Confirmed: the repository already has a mirrored hook-model skill in packs/business-growth/{codex,claude}/hook-model/SKILL.md. The Codex skill explicitly describes "Nir Eyal engagement loop design" and maps external trigger, internal trigger, action, variable reward, and investment.

Gap: AFPS does not lack the Hooked-model skill. The gap is conditional route exposure. The default AFPS route and status router make hook-model easy to miss unless the user or a later lifecycle skill already knows to ask for it.

The right fix is not to make Hooked mandatory. The model is useful for consumer, prosumer, marketplace, community, and PLG products where repeat behavior is part of product value. It should stay conditional for B2B, enterprise, infrastructure, and naturally infrequent products.

User Claims Validated

Claim Or Question Verdict Evidence Decision Impact
"Do we have a skill where we can incorporate Nir Eyal's Hooked model?" Confirmed packs/business-growth/codex/hook-model/SKILL.md:2-6, :25, and mirrored Claude contract. Do not create a new skill. Reuse and route to hook-model.
"Focus on the AFPS workflow and see if we have a gap there." Confirmed, but the gap is routing rather than skill content Default AFPS route omits hook-model in docs/pack-workflow-matrix.md:48 and docs/skill-next-step-contracts.md:28. docs/codex-workflow.md:338 only names it as a broad optional growth detour. Add a conditional AFPS route for repeat-use/habit risk instead of broad default inclusion.

Evidence Matrix

Major Claim Evidence Inference Confidence Assumption Status Decision Impact
The Hooked-model skill exists and is active. packs/business-growth/codex/hook-model/SKILL.md:2-6; packs/business-growth/claude/hook-model/SKILL.md:2-6. The skill name, description, and mirrored files are active pack contracts, not archived remnants. High Observed from active files. No new skill is needed.
The skill already implements the Hooked model components. packs/business-growth/codex/hook-model/SKILL.md:25 and :90-115. The contract maps external triggers, internal triggers, action, variable reward, and investment, and defines reward types. High Observed from active file. Any AFPS incorporation should route to this skill rather than duplicating the framework elsewhere.
The skill is appropriately guarded against misuse. packs/business-growth/codex/hook-model/SKILL.md:31, :63-77, and :292-302. It requires journey-map context, checks product applicability, routes B2B/enterprise cases toward metrics, and includes ethical constraints. High Observed from active file. Hooked should remain a conditional detour, not a required AFPS chain link.
Business-growth pack metadata does put hook-model first. packs/business-growth/PACK.md:5-10. Inside the growth lane, the intended default flow starts with hook-model before metrics. High Observed from pack metadata. There is a mismatch between pack-level growth flow and AFPS-level route exposure.
AFPS default route skips hook-model. docs/pack-workflow-matrix.md:48, docs/skill-next-step-contracts.md:28, global/codex/codebase-status/SKILL.md:65. The canonical AFPS chain goes from journey/positioning into UX and prototype, with optional value/lean detours but no explicit hook-model branch. High Observed from active docs/contracts. Status/routing skills can overlook engagement-loop work even when a product is habit-suitable.
Some docs acknowledge growth skills as optional, but not with a decision rule. docs/codex-workflow.md:338; docs/canonical-workflow-report.md:104-140. The docs say growth skills are optional when ready, but they do not define the product condition that makes hook-model the right next step. Medium-high Observed from docs; interpretation based on absence of a precise rule. Add a narrow trigger condition rather than broad route churn.
journey-map has a priority-order bug around stage risks. packs/customer-lifecycle/codex/journey-map/SKILL.md:63-70; mirrored Claude contract follows the same pattern. The branch for "specific stage risk" is listed after missing positioning and missing UX checks, even though it says the risk may need resolution before positioning or UX. High Observed from active file. This is the likely owning place to expose a conditional hook-model route.
retention-map can route to hook-model, but only after the user gets into deeper lifecycle work. packs/customer-lifecycle/codex/retention-map/SKILL.md:67-68. The skill names hook-model as a preferred next step contextually, but AFPS does not reliably route to retention-map first. High Observed from active file. The current path can work, but it relies on an upstream branch that is under-specified and lower priority than positioning/UX.

Root Cause

The root cause is route-policy drift after AFPS routing was tightened around journey-first, positioning, and prototype gates.

Relationship to the user's theory: the question is directionally right. AFPS has a gap around incorporating Hooked-model thinking, but the gap is not the absence of a skill. It is the absence of an explicit conditional handoff from AFPS lifecycle discovery into the existing hook-model skill.

AFPS Gap

What Works Today

What Is Missing

Practical Failure Mode

For a consumer or PLG product with a journey map that shows repeat-use behavior, onboarding return triggers, social rewards, saved state, or habit potential, the agent may still route directly to $positioning or $ux-variations. That skips explicit design of trigger, action, variable reward, and investment loops before the experience is prototyped.

Recommendation

Recommended remediation: make hook-model a conditional AFPS detour after journey-map or focused retention-map, before metrics, ux-variations, or growth planning, when the evidence shows repeat-use/habit mechanics matter.

Suggested Contract Rule

Add a rule along these lines to AFPS routing contracts and mirrored journey-map next-step routing:

If the journey map exposes a repeat-use, engagement-loop, retention-trigger, social-reward, saved-state, or habit-formation risk that should shape the product experience, check business-growth availability. If business-growth is not enabled, recommend pack install. If enabled, recommend hook-model. For B2B, enterprise, infrastructure, or naturally infrequent usage, skip hook-model and route to metrics or lifecycle-metrics instead.

Likely Owning Files For A Follow-Up Patch

Non-Goals

Alternatives Considered

Alternative Pros Cons Verdict
Create a new Hooked-model skill Could be tailored to AFPS language. Duplicates an active, mirrored skill that already has prerequisites, output, ethics, and next-step routing. Rejected.
Make hook-model mandatory in the default AFPS chain Ensures it is never missed. Overfits consumer/PLG thinking onto enterprise, infrastructure, and infrequent-use products. Rejected.
Keep it only in business-growth/PACK.md No changes needed. Leaves AFPS status and journey routing dependent on user memory or lucky branch selection. Rejected.
Add a conditional route from lifecycle evidence to hook-model Reuses the existing skill, respects prerequisites, and avoids forcing habit thinking where it does not belong. Requires mirrored skill/docs/test updates. Recommended.

Confidence And Assumption Register

Conclusion Confidence What Could Change It
hook-model exists and is the right skill to reuse. High A hidden external skill could supersede it, but active repo evidence is sufficient for this repository.
AFPS has a conditional route gap. High If there is a separate runtime router not represented in skill/docs contracts, it could already handle this. No such router appeared in the local evidence reviewed.
The fix should be conditional, not default. High If the project deliberately wants all consumer-product AFPS flows to over-index on habit formation, a stronger default could be chosen. That would need explicit product philosophy approval.
journey-map is the primary owner for the route branch. Medium-high A future design could put the rule in afps-status only, but journey-map already owns lifecycle-stage risk detection.

Approval Gates

Evidence Coverage Gate

Review whether the local file and git evidence supports the recommendation.

Is the evidence sufficient to conclude that this is a routing gap, not a missing-skill gap?

Recommendation Gate

Choose the remediation direction for a follow-up implementation pass.

Which remediation should be treated as the preferred next patch?

Scope Gate

This investigation produced a report and did not mutate skill contracts.

Is report-only output acceptable for this investigation pass?

Compile Answers

Answer every required gate question above to compile review YAML for the agent.

3 unanswered required questions