← KnockCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Knock
Snapshot Sep 30, 2026 · 22:59 UTC · version 1.1.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "knock-lifecycle-opportunities",
"description": "Scan a product codebase for activation, engagement, and retention moments and recommend lifecycle messaging opportunities. Use when finding onboarding, churn, trial, or habit-forming notification candidates without creating Knock resources.",
"included_files": [
{
"relative_path": "rules/map-product-lifecycle.md",
"size_in_bytes": 1299
},
{
"relative_path": "rules/opportunity-brief-format.md",
"size_in_bytes": 2161
},
{
"relative_path": "rules/select-opportunities.md",
"size_in_bytes": 1404
}
],
"skill_md_contents": "---\nname: knock-lifecycle-opportunities\ndescription: Scan a product codebase for activation, engagement, and retention moments and recommend lifecycle messaging opportunities. Use when finding onboarding, churn, trial, or habit-forming notification candidates without creating Knock resources.\n---\n\n# Lifecycle opportunities skill\n\nFind where users activate, stall, pay, invite, or churn in **this** product’s code and data model. Recommend messaging opportunities tied to real events and UI states.\n\n## Hard constraint\n\n**Do not create, update, push, or delete Knock resources** via MCP or CLI. Output an opportunity backlog and event/trigger sketches only. Hand off to `knock-setup` or `knock-product-messaging-strategy` only if the user asks to build.\n\n## Output contract (hard)\n\nWrite all detailed findings to **`knock-plan.md`** at the repo root (create or update). Keep chat **minimal** — status + confirmation only.\n\nDo **not** paste opportunity briefs, code-path inventories, or long rationale into chat. Follow `rules/opportunity-brief-format.md`.\n\nAllowed chat content:\n\n1. One short status line (path + count)\n2. Optional one-line blocker\n3. Bold confirmation question as the **last line**\n\nExample:\n\nWrote `knock-plan.md` with 6 ranked opportunities.\n\n**Which opportunities should we take next?**\n\n## Overview\n\n1. **Map the product lifecycle in code** (`rules/map-product-lifecycle.md`) — write signals into the file\n2. **Select high-value opportunities** (`rules/select-opportunities.md`) — rank in the file\n3. **Write opportunity briefs** (`rules/opportunity-brief-format.md`) — full briefs in the file only\n\n## How to use this skill\n\n1. Infer personas, accounts/workspaces, and key funnels from the repo — capture in the file, not chat.\n2. Locate signup, onboarding, invite, billing, usage, and inactivity signals — same.\n3. Propose at most 8 prioritized lifecycle messages in `knock-plan.md`.\n4. Chat: status line + ask which to advance. Do not dump the list body in chat.\n5. When the user asks to build in Knock or deepen strategy, hand off with a structured payload — do **not** invite re-ranking:\n\n```markdown\n### Setup handoff\n- **plan.** knock-plan.md\n- **confirmed.** [names or indexes]\n- **skipped.** [names or indexes]\n- **deferred / blocked.** [names + reason]\n```\n\n`knock-setup` must treat `confirmed` as authoritative, read detail from `knock-plan.md`, and skip rediscovery. For fuller strategy design, hand off confirmed items to `knock-product-messaging-strategy` (same `knock-plan.md`).\n\n## Rule files reference\n\n- `rules/map-product-lifecycle.md` — where to look in code\n- `rules/select-opportunities.md` — prioritization\n- `rules/opportunity-brief-format.md` — plan file structure and chat brevity\n\n## Docs\n\n- https://docs.knock.app/concepts/workflows\n- https://docs.knock.app/concepts/guides\n- https://docs.knock.app/concepts/audiences\n- https://docs.knock.app/send-notifications/triggering-workflows/audiences\n- https://knock.app/manuals/product-leaders-guide-to-effective-notifications/the-product-leaders-guide-to-effective-notifications\n"
}SHA-256: 8cd84679584a92e17f14f36c67e74371a977ec6038d6279c9003ebabac981932