code-ai-installer 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/karpathy-guidelines/SKILL.md +326 -0
- package/.agents/skills/karpathy-guidelines/agents/claude.json +21 -0
- package/.agents/skills/karpathy-guidelines/agents/copilot.json +21 -0
- package/.agents/skills/karpathy-guidelines/agents/gemini.json +21 -0
- package/.agents/skills/karpathy-guidelines/agents/openai.yaml +8 -0
- package/.agents/skills/karpathy-guidelines/agents/qwen.json +21 -0
- package/.agents/skills/karpathy-guidelines/agents/skill.yaml +25 -0
- package/AGENTS.md +13 -0
- package/README.md +141 -139
- package/agents/architect.md +1 -0
- package/agents/conductor.md +1 -0
- package/agents/devops.md +1 -0
- package/agents/product_manager.md +1 -0
- package/agents/reviewer.md +1 -0
- package/agents/senior_full_stack.md +1 -0
- package/agents/tester.md +1 -0
- package/agents/ux_ui_designer.md +1 -0
- package/dist/domainResolver.js +2 -2
- package/dist/index.js +4 -4
- package/dist/types.d.ts +1 -1
- package/domains/analytics/agents/conductor.md +1 -0
- package/domains/analytics/agents/data_analyst.md +1 -0
- package/domains/analytics/agents/designer.md +1 -0
- package/domains/analytics/agents/interviewer.md +1 -0
- package/domains/analytics/agents/layouter.md +1 -0
- package/domains/analytics/agents/mediator.md +1 -0
- package/domains/analytics/agents/researcher.md +1 -0
- package/domains/analytics/agents/strategist.md +1 -0
- package/domains/content/agents/conductor.md +1 -0
- package/domains/content/agents/copywriter.md +1 -0
- package/domains/content/agents/researcher.md +1 -0
- package/domains/content/agents/reviewer.md +1 -0
- package/domains/content/agents/strategist.md +1 -0
- package/domains/content/agents/visual_concept.md +1 -0
- package/domains/development/agents/architect.md +1 -0
- package/domains/development/agents/conductor.md +1 -0
- package/domains/development/agents/devops.md +1 -0
- package/domains/development/agents/product_manager.md +1 -0
- package/domains/development/agents/reviewer.md +1 -0
- package/domains/development/agents/senior_full_stack.md +1 -0
- package/domains/development/agents/tester.md +1 -0
- package/domains/development/agents/ux_ui_designer.md +1 -0
- package/domains/product/.agents/skills/aarrr-metrics/SKILL.md +433 -0
- package/domains/product/.agents/skills/aarrr-metrics/agents/claude.json +17 -0
- package/domains/product/.agents/skills/aarrr-metrics/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/aarrr-metrics/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/aarrr-metrics/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/aarrr-metrics/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/aarrr-metrics/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/ab-test-design/SKILL.md +412 -0
- package/domains/product/.agents/skills/ab-test-design/agents/claude.json +17 -0
- package/domains/product/.agents/skills/ab-test-design/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/ab-test-design/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/ab-test-design/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/ab-test-design/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/ab-test-design/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/acceptance-criteria/SKILL.md +406 -0
- package/domains/product/.agents/skills/acceptance-criteria/agents/claude.json +17 -0
- package/domains/product/.agents/skills/acceptance-criteria/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/acceptance-criteria/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/acceptance-criteria/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/acceptance-criteria/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/acceptance-criteria/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/assumption-mapping/SKILL.md +307 -0
- package/domains/product/.agents/skills/assumption-mapping/agents/claude.json +17 -0
- package/domains/product/.agents/skills/assumption-mapping/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/assumption-mapping/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/assumption-mapping/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/assumption-mapping/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/assumption-mapping/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/board/SKILL.md +420 -0
- package/domains/product/.agents/skills/board/agents/claude.json +16 -0
- package/domains/product/.agents/skills/board/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/board/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/board/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/board/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/board/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/design-brief/SKILL.md +418 -0
- package/domains/product/.agents/skills/design-brief/agents/claude.json +16 -0
- package/domains/product/.agents/skills/design-brief/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/design-brief/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/design-brief/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/design-brief/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/design-brief/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/epic-breakdown/SKILL.md +420 -0
- package/domains/product/.agents/skills/epic-breakdown/agents/claude.json +16 -0
- package/domains/product/.agents/skills/epic-breakdown/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/epic-breakdown/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/epic-breakdown/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/epic-breakdown/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/epic-breakdown/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/gates/SKILL.md +446 -0
- package/domains/product/.agents/skills/gates/agents/claude.json +16 -0
- package/domains/product/.agents/skills/gates/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/gates/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/gates/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/gates/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/gates/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/gtm-brief/SKILL.md +585 -0
- package/domains/product/.agents/skills/gtm-brief/agents/claude.json +17 -0
- package/domains/product/.agents/skills/gtm-brief/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/gtm-brief/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/gtm-brief/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/gtm-brief/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/gtm-brief/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/handoff/SKILL.md +429 -0
- package/domains/product/.agents/skills/handoff/agents/claude.json +16 -0
- package/domains/product/.agents/skills/handoff/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/handoff/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/handoff/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/handoff/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/handoff/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/html-pdf-report/SKILL.md +939 -0
- package/domains/product/.agents/skills/html-pdf-report/agents/claude.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/html-pdf-report/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/hypothesis-template/SKILL.md +469 -0
- package/domains/product/.agents/skills/hypothesis-template/agents/claude.json +16 -0
- package/domains/product/.agents/skills/hypothesis-template/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/hypothesis-template/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/hypothesis-template/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/hypothesis-template/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/hypothesis-template/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/jtbd-canvas/SKILL.md +258 -0
- package/domains/product/.agents/skills/jtbd-canvas/agents/claude.json +17 -0
- package/domains/product/.agents/skills/jtbd-canvas/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/jtbd-canvas/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/jtbd-canvas/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/jtbd-canvas/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/jtbd-canvas/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/kano-model/SKILL.md +355 -0
- package/domains/product/.agents/skills/kano-model/agents/claude.json +16 -0
- package/domains/product/.agents/skills/kano-model/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/kano-model/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/kano-model/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/kano-model/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/kano-model/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/launch-checklist/SKILL.md +419 -0
- package/domains/product/.agents/skills/launch-checklist/agents/claude.json +16 -0
- package/domains/product/.agents/skills/launch-checklist/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/launch-checklist/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/launch-checklist/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/launch-checklist/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/launch-checklist/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/moscow-prioritization/SKILL.md +392 -0
- package/domains/product/.agents/skills/moscow-prioritization/agents/claude.json +16 -0
- package/domains/product/.agents/skills/moscow-prioritization/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/moscow-prioritization/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/moscow-prioritization/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/moscow-prioritization/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/moscow-prioritization/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/north-star-metric/SKILL.md +301 -0
- package/domains/product/.agents/skills/north-star-metric/agents/claude.json +17 -0
- package/domains/product/.agents/skills/north-star-metric/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/north-star-metric/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/north-star-metric/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/north-star-metric/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/north-star-metric/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/okr-framework/SKILL.md +284 -0
- package/domains/product/.agents/skills/okr-framework/agents/claude.json +16 -0
- package/domains/product/.agents/skills/okr-framework/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/okr-framework/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/okr-framework/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/okr-framework/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/okr-framework/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/SKILL.md +456 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/agents/claude.json +17 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/opportunity-solution-tree/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/prd-template/SKILL.md +490 -0
- package/domains/product/.agents/skills/prd-template/agents/claude.json +17 -0
- package/domains/product/.agents/skills/prd-template/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/prd-template/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/prd-template/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/prd-template/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/prd-template/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/problem-statement/SKILL.md +312 -0
- package/domains/product/.agents/skills/problem-statement/agents/claude.json +16 -0
- package/domains/product/.agents/skills/problem-statement/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/problem-statement/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/problem-statement/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/problem-statement/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/problem-statement/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/product-roadmap/SKILL.md +304 -0
- package/domains/product/.agents/skills/product-roadmap/agents/claude.json +17 -0
- package/domains/product/.agents/skills/product-roadmap/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/product-roadmap/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/product-roadmap/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/product-roadmap/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/product-roadmap/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/product-vision/SKILL.md +394 -0
- package/domains/product/.agents/skills/product-vision/agents/claude.json +16 -0
- package/domains/product/.agents/skills/product-vision/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/product-vision/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/product-vision/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/product-vision/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/product-vision/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/release-notes/SKILL.md +499 -0
- package/domains/product/.agents/skills/release-notes/agents/claude.json +17 -0
- package/domains/product/.agents/skills/release-notes/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/release-notes/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/release-notes/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/release-notes/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/release-notes/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/report-design/SKILL.md +708 -0
- package/domains/product/.agents/skills/report-design/agents/claude.json +17 -0
- package/domains/product/.agents/skills/report-design/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/report-design/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/report-design/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/report-design/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/report-design/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/rice-scoring/SKILL.md +251 -0
- package/domains/product/.agents/skills/rice-scoring/agents/claude.json +16 -0
- package/domains/product/.agents/skills/rice-scoring/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/rice-scoring/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/rice-scoring/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/rice-scoring/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/rice-scoring/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/saas-metrics/SKILL.md +404 -0
- package/domains/product/.agents/skills/saas-metrics/agents/claude.json +21 -0
- package/domains/product/.agents/skills/saas-metrics/agents/copilot.json +21 -0
- package/domains/product/.agents/skills/saas-metrics/agents/gemini.json +21 -0
- package/domains/product/.agents/skills/saas-metrics/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/saas-metrics/agents/qwen.json +21 -0
- package/domains/product/.agents/skills/saas-metrics/agents/skill.yaml +24 -0
- package/domains/product/.agents/skills/session-prompt-generator/SKILL.md +450 -0
- package/domains/product/.agents/skills/session-prompt-generator/agents/claude.json +16 -0
- package/domains/product/.agents/skills/session-prompt-generator/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/session-prompt-generator/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/session-prompt-generator/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/session-prompt-generator/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/session-prompt-generator/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/user-flow/SKILL.md +476 -0
- package/domains/product/.agents/skills/user-flow/agents/claude.json +16 -0
- package/domains/product/.agents/skills/user-flow/agents/copilot.json +16 -0
- package/domains/product/.agents/skills/user-flow/agents/gemini.json +16 -0
- package/domains/product/.agents/skills/user-flow/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/user-flow/agents/qwen.json +16 -0
- package/domains/product/.agents/skills/user-flow/agents/skill.yaml +19 -0
- package/domains/product/.agents/skills/user-interview-script/SKILL.md +298 -0
- package/domains/product/.agents/skills/user-interview-script/agents/claude.json +18 -0
- package/domains/product/.agents/skills/user-interview-script/agents/copilot.json +18 -0
- package/domains/product/.agents/skills/user-interview-script/agents/gemini.json +18 -0
- package/domains/product/.agents/skills/user-interview-script/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/user-interview-script/agents/qwen.json +18 -0
- package/domains/product/.agents/skills/user-interview-script/agents/skill.yaml +21 -0
- package/domains/product/.agents/skills/user-story/SKILL.md +385 -0
- package/domains/product/.agents/skills/user-story/agents/claude.json +17 -0
- package/domains/product/.agents/skills/user-story/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/user-story/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/user-story/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/user-story/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/user-story/agents/skill.yaml +20 -0
- package/domains/product/.agents/skills/wsjf-scoring/SKILL.md +315 -0
- package/domains/product/.agents/skills/wsjf-scoring/agents/claude.json +17 -0
- package/domains/product/.agents/skills/wsjf-scoring/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/wsjf-scoring/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/wsjf-scoring/agents/openai.yaml +8 -0
- package/domains/product/.agents/skills/wsjf-scoring/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/wsjf-scoring/agents/skill.yaml +20 -0
- package/domains/product/.agents/workflows/product-pipeline-rules.md +340 -0
- package/domains/product/.agents/workflows/quick-pm.md +292 -0
- package/domains/product/.agents/workflows/shape-prioritize.md +263 -0
- package/domains/product/.agents/workflows/ship-right-thing.md +242 -0
- package/domains/product/.agents/workflows/spec.md +229 -0
- package/domains/product/AGENTS.md +149 -0
- package/domains/product/AGENTS.yaml +77 -0
- package/domains/product/CONTEXT.md +40 -0
- package/domains/product/agents/conductor.md +518 -0
- package/domains/product/agents/data_analyst.md +558 -0
- package/domains/product/agents/designer.md +444 -0
- package/domains/product/agents/discovery.md +548 -0
- package/domains/product/agents/layouter.md +614 -0
- package/domains/product/agents/mediator.md +515 -0
- package/domains/product/agents/orchestrator.claude.json +10 -0
- package/domains/product/agents/orchestrator.copilot.json +10 -0
- package/domains/product/agents/orchestrator.gemini.json +10 -0
- package/domains/product/agents/orchestrator.openai.yaml +8 -0
- package/domains/product/agents/orchestrator.qwen.json +10 -0
- package/domains/product/agents/pm.md +545 -0
- package/domains/product/agents/product_strategist.md +503 -0
- package/domains/product/agents/tech_lead.md +547 -0
- package/domains/product/agents/ux_designer.md +440 -0
- package/domains/product/domain.json +5 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/SKILL.md +433 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/agents/skill.yaml +20 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/SKILL.md +412 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/ab-test-design/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/SKILL.md +406 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/SKILL.md +307 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/assumption-mapping/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/board/SKILL.md +420 -0
- package/domains/product/locales/en/.agents/skills/board/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/board/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/board/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/board/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/board/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/board/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/design-brief/SKILL.md +418 -0
- package/domains/product/locales/en/.agents/skills/design-brief/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/design-brief/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/design-brief/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/design-brief/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/design-brief/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/design-brief/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/SKILL.md +420 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/epic-breakdown/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/gates/SKILL.md +446 -0
- package/domains/product/locales/en/.agents/skills/gates/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/gates/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/gates/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/gates/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/gates/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/gates/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/SKILL.md +585 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief/agents/skill.yaml +20 -0
- package/domains/product/locales/en/.agents/skills/handoff/SKILL.md +429 -0
- package/domains/product/locales/en/.agents/skills/handoff/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/handoff/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/handoff/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/handoff/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/handoff/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/handoff/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/SKILL.md +939 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report/agents/skill.yaml +20 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/SKILL.md +469 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/SKILL.md +257 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/kano-model/SKILL.md +355 -0
- package/domains/product/locales/en/.agents/skills/kano-model/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/kano-model/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/kano-model/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/kano-model/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/kano-model/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/kano-model/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/SKILL.md +419 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/SKILL.md +392 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/SKILL.md +301 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/north-star-metric/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/SKILL.md +284 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/okr-framework/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/SKILL.md +456 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/prd-template/SKILL.md +490 -0
- package/domains/product/locales/en/.agents/skills/prd-template/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/prd-template/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/SKILL.md +312 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/SKILL.md +305 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/product-roadmap/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/product-vision/SKILL.md +395 -0
- package/domains/product/locales/en/.agents/skills/product-vision/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/product-vision/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/product-vision/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/product-vision/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/product-vision/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/product-vision/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/release-notes/SKILL.md +499 -0
- package/domains/product/locales/en/.agents/skills/release-notes/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/release-notes/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/report-design/SKILL.md +708 -0
- package/domains/product/locales/en/.agents/skills/report-design/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/report-design/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design/agents/skill.yaml +20 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/SKILL.md +251 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/SKILL.md +404 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/agents/claude.json +21 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/agents/copilot.json +21 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/agents/gemini.json +21 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/agents/qwen.json +21 -0
- package/domains/product/locales/en/.agents/skills/saas-metrics/agents/skill.yaml +24 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/SKILL.md +450 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/user-flow/SKILL.md +476 -0
- package/domains/product/locales/en/.agents/skills/user-flow/agents/claude.json +15 -0
- package/domains/product/locales/en/.agents/skills/user-flow/agents/copilot.json +15 -0
- package/domains/product/locales/en/.agents/skills/user-flow/agents/gemini.json +15 -0
- package/domains/product/locales/en/.agents/skills/user-flow/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/user-flow/agents/qwen.json +15 -0
- package/domains/product/locales/en/.agents/skills/user-flow/agents/skill.yaml +18 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/SKILL.md +297 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/user-interview-script/agents/skill.yaml +20 -0
- package/domains/product/locales/en/.agents/skills/user-story/SKILL.md +385 -0
- package/domains/product/locales/en/.agents/skills/user-story/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/user-story/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/user-story/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/user-story/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/user-story/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/user-story/agents/skill.yaml +19 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/SKILL.md +315 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/agents/openai.yaml +8 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/agents/skill.yaml +20 -0
- package/domains/product/locales/en/.agents/workflows/product-pipeline-rules.md +340 -0
- package/domains/product/locales/en/.agents/workflows/quick-pm.md +292 -0
- package/domains/product/locales/en/.agents/workflows/shape-prioritize.md +263 -0
- package/domains/product/locales/en/.agents/workflows/ship-right-thing.md +242 -0
- package/domains/product/locales/en/.agents/workflows/spec.md +229 -0
- package/domains/product/locales/en/AGENTS.md +149 -0
- package/domains/product/locales/en/AGENTS.yaml +78 -0
- package/domains/product/locales/en/CONTEXT.md +40 -0
- package/domains/product/locales/en/agents/conductor.md +518 -0
- package/domains/product/locales/en/agents/data_analyst.md +557 -0
- package/domains/product/locales/en/agents/designer.md +443 -0
- package/domains/product/locales/en/agents/discovery.md +547 -0
- package/domains/product/locales/en/agents/layouter.md +613 -0
- package/domains/product/locales/en/agents/mediator.md +514 -0
- package/domains/product/locales/en/agents/orchestrator.claude.json +10 -0
- package/domains/product/locales/en/agents/orchestrator.copilot.json +10 -0
- package/domains/product/locales/en/agents/orchestrator.gemini.json +10 -0
- package/domains/product/locales/en/agents/orchestrator.openai.yaml +8 -0
- package/domains/product/locales/en/agents/orchestrator.qwen.json +10 -0
- package/domains/product/locales/en/agents/pm.md +544 -0
- package/domains/product/locales/en/agents/product_strategist.md +502 -0
- package/domains/product/locales/en/agents/tech_lead.md +546 -0
- package/domains/product/locales/en/agents/ux_designer.md +439 -0
- package/domains/product/locales/en/prompt-examples.md +77 -0
- package/domains/product/prompt-examples.md +77 -0
- package/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +325 -0
- package/locales/en/.agents/skills/karpathy-guidelines/agents/claude.json +22 -0
- package/locales/en/.agents/skills/karpathy-guidelines/agents/copilot.json +22 -0
- package/locales/en/.agents/skills/karpathy-guidelines/agents/gemini.json +22 -0
- package/locales/en/.agents/skills/karpathy-guidelines/agents/openai.yaml +8 -0
- package/locales/en/.agents/skills/karpathy-guidelines/agents/qwen.json +22 -0
- package/locales/en/.agents/skills/karpathy-guidelines/agents/skill.yaml +25 -0
- package/package.json +2 -2
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: north-star-metric
|
|
3
|
+
description: Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome
|
|
4
|
+
---
|
|
5
|
+
# North Star Metric (NSM)
|
|
6
|
+
|
|
7
|
+
> **Category:** Strategy · **Slug:** `north-star-metric`
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- When defining product strategy — a single metric of focus.
|
|
12
|
+
- When aligning the team: decision-making through the lens of "does this lift the NSM?".
|
|
13
|
+
- For board / investor reporting — single metric story.
|
|
14
|
+
- When reviewing an existing metric — still meaningful?
|
|
15
|
+
|
|
16
|
+
## Input
|
|
17
|
+
|
|
18
|
+
| Field | Required | Description |
|
|
19
|
+
|-------|:--------:|-------------|
|
|
20
|
+
| Product vision | ✅ | The north star must reflect the vision |
|
|
21
|
+
| Business model | ✅ | Subscription / usage / hybrid |
|
|
22
|
+
| Current metric stack | ✅ | MRR, DAU, retention, etc. |
|
|
23
|
+
| Customer value definition | ✅ | What we consider value for the customer |
|
|
24
|
+
| Adversarial camp (Full A) | ⬚ | alpha (Customer-first) / beta (Business-first) |
|
|
25
|
+
|
|
26
|
+
## Data Sources
|
|
27
|
+
|
|
28
|
+
1. Current product analytics (Amplitude, Mixpanel, custom).
|
|
29
|
+
2. Customer interviews → what "valuable" means.
|
|
30
|
+
3. Business metrics — NRR, churn.
|
|
31
|
+
4. Industry benchmarks (SaaS Capital, OpenView reports).
|
|
32
|
+
|
|
33
|
+
### Related Skills
|
|
34
|
+
|
|
35
|
+
| Skill | What we take | When to invoke |
|
|
36
|
+
|-------|-------------|----------------|
|
|
37
|
+
| `product-vision` | Vision → NSM alignment | Before choosing NSM |
|
|
38
|
+
| `aarrr-metrics` | Framework for decomposition | For input metrics |
|
|
39
|
+
| `saas-metrics` | Business metric layer | For lagging alignment |
|
|
40
|
+
| `okr-framework` | OKR KRs → often tied to NSM | After NSM |
|
|
41
|
+
|
|
42
|
+
## Criteria for a Good NSM
|
|
43
|
+
|
|
44
|
+
1. **Reflects customer value** — when NSM grows, customers receive value.
|
|
45
|
+
2. **Leading indicator of revenue** — moves before MRR.
|
|
46
|
+
3. **Actionable** — the team can influence it.
|
|
47
|
+
4. **Singular** — not composite, not aggregate.
|
|
48
|
+
5. **Measurable** — numerically trackable.
|
|
49
|
+
6. **Resistant to gaming** — hard to inflate without real value.
|
|
50
|
+
|
|
51
|
+
## Protocol
|
|
52
|
+
|
|
53
|
+
### Step 0 — Role Framing (Full A)
|
|
54
|
+
|
|
55
|
+
- **Customer-Champion (alpha):** emphasis on user-value metric
|
|
56
|
+
- **Business-Champion (beta):** emphasis on business-value metric
|
|
57
|
+
|
|
58
|
+
### Step 1 — Business Model Analysis
|
|
59
|
+
|
|
60
|
+
- **Subscription SaaS:** NSM often related to weekly/monthly active teams, usage depth
|
|
61
|
+
- **Usage-based:** raw consumption (API calls, workloads)
|
|
62
|
+
- **Transaction-based:** successful transactions
|
|
63
|
+
- **Platform:** marketplace size × match rate
|
|
64
|
+
|
|
65
|
+
### Step 2 — Generate Candidates
|
|
66
|
+
|
|
67
|
+
Minimum 5 candidates. Each — through the formula:
|
|
68
|
+
|
|
69
|
+
**[Action verb]** × **[Unit with value]** × **[Frequency/Cadence]** × **[Quality]**
|
|
70
|
+
|
|
71
|
+
B2B SaaS examples:
|
|
72
|
+
- "Weekly Active Teams with ≥5 seats" (team platform)
|
|
73
|
+
- "Monthly reports generated per paying account" (analytics tool)
|
|
74
|
+
- "Weekly successful deployments per engineering team" (DevOps tool)
|
|
75
|
+
- "Onboarded workspaces completing setup within 7 days" (product-led growth)
|
|
76
|
+
|
|
77
|
+
### Step 3 — Evaluation
|
|
78
|
+
|
|
79
|
+
| Metric | Customer Value | Leads Revenue | Actionable | Singular | Measurable | Anti-game | Total |
|
|
80
|
+
|--------|:--------------:|:-------------:|:----------:|:--------:|:----------:|:---------:|:-----:|
|
|
81
|
+
| [cand] | 5 | 4 | 4 | 5 | 5 | 3 | 26 |
|
|
82
|
+
|
|
83
|
+
Rank. Top candidate = NSM. Second → guardrail or input metric.
|
|
84
|
+
|
|
85
|
+
### Step 4 — Decomposition (Metric Tree)
|
|
86
|
+
|
|
87
|
+
NSM → input metrics → leading indicators.
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
NSM: Weekly Active Teams ≥5 seats
|
|
91
|
+
├── Input: New teams activating weekly
|
|
92
|
+
│ ├── Signup → activation rate
|
|
93
|
+
│ └── Time-to-5-seats (onboarding speed)
|
|
94
|
+
├── Input: Existing teams retaining
|
|
95
|
+
│ ├── W/W retention rate
|
|
96
|
+
│ └── Seats-per-team growth
|
|
97
|
+
└── Guardrails:
|
|
98
|
+
├── Churn rate (capped)
|
|
99
|
+
├── NPS (no drop)
|
|
100
|
+
└── Support ticket volume (no spike)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Step 5 — Guardrails
|
|
104
|
+
|
|
105
|
+
What **MUST NOT break** in the pursuit of NSM:
|
|
106
|
+
- Churn rate
|
|
107
|
+
- NPS / CSAT
|
|
108
|
+
- Gross margin
|
|
109
|
+
- Support ticket volume
|
|
110
|
+
- p95 latency / error rate
|
|
111
|
+
|
|
112
|
+
Each guardrail = numeric threshold.
|
|
113
|
+
|
|
114
|
+
### Step 6 — Baseline + Target
|
|
115
|
+
|
|
116
|
+
- Current value
|
|
117
|
+
- 90-day target
|
|
118
|
+
- 1-year aspirational
|
|
119
|
+
|
|
120
|
+
### Step 7 — Anti-Gaming Review
|
|
121
|
+
|
|
122
|
+
Team brainstorm: "How would we game the NSM?". If it's easy — enhance the definition or change the metric.
|
|
123
|
+
|
|
124
|
+
Example: "Weekly Active Teams" can be gamed by counting churned teams that were active for the last time → clarification: "with activity in last 7 days".
|
|
125
|
+
|
|
126
|
+
## Validation (Quality Gate)
|
|
127
|
+
|
|
128
|
+
- [ ] Minimum 5 candidates reviewed
|
|
129
|
+
- [ ] Evaluation across 6 criteria
|
|
130
|
+
- [ ] Metric tree decomposition (NSM → inputs)
|
|
131
|
+
- [ ] Guardrails with numeric thresholds
|
|
132
|
+
- [ ] Baseline + target
|
|
133
|
+
- [ ] Anti-gaming review conducted
|
|
134
|
+
- [ ] Business model alignment verified
|
|
135
|
+
- [ ] Vision alignment verified
|
|
136
|
+
|
|
137
|
+
## Handoff
|
|
138
|
+
|
|
139
|
+
The result is input for:
|
|
140
|
+
- **`okr-framework`** — NSM = basis for several KRs
|
|
141
|
+
- **`aarrr-metrics`** — NSM fits into AARRR as the key stage
|
|
142
|
+
- **Data Analyst** — instrumentation requirements
|
|
143
|
+
- **Mediator** (Full A) — alpha and beta NSM for synthesis
|
|
144
|
+
|
|
145
|
+
Format: NSM doc (one-pager) with metric tree. Via `$handoff`.
|
|
146
|
+
|
|
147
|
+
## Anti-patterns
|
|
148
|
+
|
|
149
|
+
| Error | Why it's bad | How to do it right |
|
|
150
|
+
|-------|-------------|-------------------|
|
|
151
|
+
| Revenue as NSM | Lagging, not actionable | Use leading value metric |
|
|
152
|
+
| Vanity metric | Looks good, doesn't predict | Customer value + revenue proxy |
|
|
153
|
+
| Composite metric | Weighted sum is not singular | Pick ONE |
|
|
154
|
+
| No guardrails | Accept churn growing with NSM | Explicit guardrails |
|
|
155
|
+
| Change every quarter | Team can't align | Stable for ≥ year |
|
|
156
|
+
| Copy other company | Context-specific | Your business model |
|
|
157
|
+
|
|
158
|
+
## Template
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
# North Star Metric: [Name]
|
|
162
|
+
|
|
163
|
+
## Definition
|
|
164
|
+
**[Action]** × **[Unit]** × **[Frequency]** × **[Quality]**
|
|
165
|
+
Precise: [exact definition with inclusion/exclusion rules]
|
|
166
|
+
|
|
167
|
+
## Rationale
|
|
168
|
+
[Why this metric — customer value + business]
|
|
169
|
+
|
|
170
|
+
## Metric Tree
|
|
171
|
+
NSM
|
|
172
|
+
├── Input: ...
|
|
173
|
+
├── Input: ...
|
|
174
|
+
└── Guardrails:
|
|
175
|
+
├── ...
|
|
176
|
+
|
|
177
|
+
## Baseline & Targets
|
|
178
|
+
- Current: X
|
|
179
|
+
- 90-day target: Y
|
|
180
|
+
- 1-year aspirational: Z
|
|
181
|
+
|
|
182
|
+
## Anti-Gaming
|
|
183
|
+
[How could this be gamed? Mitigation]
|
|
184
|
+
|
|
185
|
+
## Review
|
|
186
|
+
- Quarterly: still meaningful?
|
|
187
|
+
- Annually: re-evaluate
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Worked Example — TeamFlow NSM Selection (post-Mediator synthesis)
|
|
191
|
+
|
|
192
|
+
**Context:** After Mediator synthesis of visions, the team chooses a unified NSM. Alpha proposed "weekly 1:1s with AI summaries used"; Beta — "ARR from accounts with ≥3 seats on AI tier". Below — full candidate evaluation.
|
|
193
|
+
|
|
194
|
+
### Business Model Analysis
|
|
195
|
+
|
|
196
|
+
- **Revenue model:** Subscription, tiered (Core / Team / Enterprise)
|
|
197
|
+
- **Growth lever:** Seat expansion (mid-market, enterprise) + tier upgrade
|
|
198
|
+
- **Primary value delivery:** Per-1:1 workflow savings + per-manager adoption
|
|
199
|
+
|
|
200
|
+
### 5 Candidate NSMs
|
|
201
|
+
|
|
202
|
+
| # | Candidate | Formula | Leading/Lagging | Ties to vision? |
|
|
203
|
+
|---|-----------|---------|:---------------:|:---------------:|
|
|
204
|
+
| C1 | Weekly Active Managers using AI summarization (≥ 1 per week) | count(WAM_ai) | Leading | Alpha ✓ |
|
|
205
|
+
| C2 | ARR from AI-tier accounts | $ ARR tagged «AI tier» | Lagging | Beta ✓ |
|
|
206
|
+
| C3 | «Sticky Manager Ratio» — managers running ≥ 4 AI-assisted 1:1s per month | ratio | Leading + quality signal | Alpha ✓ |
|
|
207
|
+
| C4 | «AI-assisted 1:1s completed per week» (total count across base) | count | Leading, usage-based | Alpha ✓ |
|
|
208
|
+
| C5 | Net New AI Tier ARR / Quarter | $ | Lagging | Beta ✓ |
|
|
209
|
+
|
|
210
|
+
### Evaluation Matrix (6 criteria × 5 candidates, scale 1-5)
|
|
211
|
+
|
|
212
|
+
| Metric | Customer Value | Leads Revenue | Actionable | Singular | Measurable | Anti-Game | **Total** |
|
|
213
|
+
|--------|:--------------:|:-------------:|:----------:|:--------:|:----------:|:---------:|:---------:|
|
|
214
|
+
| C1 WAM_ai | 4 | 4 | 5 | 5 | 5 | 3 | **26** |
|
|
215
|
+
| C2 ARR AI tier | 2 | 2 (= it IS revenue) | 3 | 5 | 5 | 4 | 21 |
|
|
216
|
+
| C3 Sticky Manager Ratio | 5 | 4 | 5 | 5 | 5 | 4 | **28** |
|
|
217
|
+
| C4 AI 1:1s/week | 4 | 4 | 4 | 5 | 5 | 2 (easy to bulk) | 24 |
|
|
218
|
+
| C5 Net New AI ARR | 2 | 2 (= it IS revenue) | 2 | 5 | 5 | 4 | 20 |
|
|
219
|
+
|
|
220
|
+
**Winner: C3 «Sticky Manager Ratio»** — balances customer value signal (quality — 4+ 1:1s/month implies real habit) + anti-gaming (can't be bulk-created; requires genuine usage) + clear leading indicator for ARR.
|
|
221
|
+
|
|
222
|
+
### Chosen NSM — Definition
|
|
223
|
+
|
|
224
|
+
```markdown
|
|
225
|
+
# North Star Metric: Sticky Manager Ratio (AI Tier)
|
|
226
|
+
|
|
227
|
+
## Definition
|
|
228
|
+
**Active managers** × **Using AI summarization** × **≥ 4 times per month** × **on ≥ 1 direct report**
|
|
229
|
+
|
|
230
|
+
**Precise:**
|
|
231
|
+
- **Active manager:** has ≥ 1 direct report in TeamFlow + logged in in last 30 days
|
|
232
|
+
- **Using AI summarization:** completed 1:1 with AI summary generated AND reviewed (not just generated but ignored)
|
|
233
|
+
- **≥ 4 per month:** rolling 30-day window
|
|
234
|
+
- **Exclusions:** internal TeamFlow employees; accounts <30 days old (onboarding); trial accounts
|
|
235
|
+
|
|
236
|
+
**Formula:**
|
|
237
|
+
```
|
|
238
|
+
Sticky Manager Ratio = Managers meeting criteria / Total active managers in AI-tier accounts
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## Rationale
|
|
242
|
+
|
|
243
|
+
**Why this metric:**
|
|
244
|
+
|
|
245
|
+
- **Customer value signal:** 4 uses/month ≈ weekly 1:1s = genuine habit, not experimentation. Habit = product embedded in workflow → high retention.
|
|
246
|
+
- **Leading revenue:** Sticky managers → account retention → expansion → NRR. Historical TeamFlow data: features used ≥ 4×/month have 3× LTV.
|
|
247
|
+
- **Actionable:** Team can drive (onboarding, reminders, feature quality).
|
|
248
|
+
- **Singular:** One number, clear dashboard.
|
|
249
|
+
- **Resistant to gaming:** can't «bulk» real usage. Can be inflated via trial seats, so trial accounts excluded.
|
|
250
|
+
|
|
251
|
+
**Why not alternatives:**
|
|
252
|
+
- C1 WAM_ai: doesn't distinguish casual from habitual usage
|
|
253
|
+
- C2 ARR tier: lagging, doesn't predict expansion before it happens
|
|
254
|
+
- C4 1:1s/week: easily gamed («create 20 fake 1:1s»)
|
|
255
|
+
- C5 Net new ARR: same lagging issue
|
|
256
|
+
|
|
257
|
+
## Metric Tree
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
NSM: Sticky Manager Ratio (AI Tier)
|
|
261
|
+
├── Input: AI Tier account count (expansion)
|
|
262
|
+
│ ├── New AI Tier conversions per week
|
|
263
|
+
│ └── AI Tier churn
|
|
264
|
+
├── Input: Active manager activation rate (% new managers reaching ≥ 4 1:1s)
|
|
265
|
+
│ ├── Time to first AI summary
|
|
266
|
+
│ └── Onboarding checklist completion
|
|
267
|
+
├── Input: Feature quality signal
|
|
268
|
+
│ ├── Summary approval rate (kept vs edited >50%)
|
|
269
|
+
│ └── Summary NPS (in-product rating)
|
|
270
|
+
└── Guardrails:
|
|
271
|
+
├── Overall NPS (must not drop > 5 points)
|
|
272
|
+
├── Gross churn rate (must not grow >1pp QoQ)
|
|
273
|
+
├── Support ticket volume / AI issues (monitor for abuse / dissatisfaction)
|
|
274
|
+
└── p95 summary generation latency (< 30 sec)
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Baseline & Targets
|
|
278
|
+
|
|
279
|
+
| Horizon | Target | Rationale |
|
|
280
|
+
|---------|:------:|-----------|
|
|
281
|
+
| Current (Q1 2026) | 0% (feature not live) | Pre-launch |
|
|
282
|
+
| 90 days post-launch (end Q2) | **20%** | Conservative — based on similar AI feature launches in adjacent B2B |
|
|
283
|
+
| End of 2026 | 45% | Category-leading level |
|
|
284
|
+
| End of 2027 (aspirational) | 65% | «Cannot imagine working without it» level |
|
|
285
|
+
|
|
286
|
+
## Anti-Gaming Analysis
|
|
287
|
+
|
|
288
|
+
**How could this be gamed?**
|
|
289
|
+
|
|
290
|
+
- **Bulk fake 1:1 creation:** Mitigation — require AI summary generated AND reviewed (visible edit or approval event)
|
|
291
|
+
- **Single massive account inflating ratio:** Mitigation — weight by account size + report separately
|
|
292
|
+
- **Managers «maintaining streak» with perfunctory 1:1s:** Mitigation — 1:1 duration floor (must be ≥ 10 min scheduled)
|
|
293
|
+
- **Team inflating by marking non-actual 1:1s:** Mitigation — periodic sample audit with customer success conversations
|
|
294
|
+
|
|
295
|
+
## Review
|
|
296
|
+
- **Weekly:** ratio tracked in exec dashboard
|
|
297
|
+
- **Quarterly:** anti-gaming sample audit (3 accounts reviewed manually)
|
|
298
|
+
- **Annually:** NSM re-evaluated against strategy shift
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
> **NSM lesson:** Alpha's initial «WAM_ai» was good but too blunt — didn't distinguish trial adoption from habit. Beta's «ARR AI tier» was too lagging. Synthesis («Sticky Manager Ratio») borrowed Alpha's user-centric formulation but applied Beta's rigor about quality threshold (4+ per month = real habit). Result is a metric that **leads** revenue, **measures** customer value, and **resists** easy gaming. This is the kind of refinement that's hard to get on first try — the evaluation matrix forced the conversation.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "north-star-metric",
|
|
3
|
+
"display_name": "North Star Metric",
|
|
4
|
+
"description": "Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome",
|
|
5
|
+
"default_prompt": "Use $north-star-metric when the task relates to the skill \"North Star Metric\".",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"north-star-metric",
|
|
8
|
+
"north star",
|
|
9
|
+
"NSM"
|
|
10
|
+
],
|
|
11
|
+
"capabilities": [
|
|
12
|
+
"north-star-metric"
|
|
13
|
+
],
|
|
14
|
+
"tools": [],
|
|
15
|
+
"implicit_invocation": true
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "north-star-metric",
|
|
3
|
+
"display_name": "North Star Metric",
|
|
4
|
+
"description": "Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome",
|
|
5
|
+
"default_prompt": "Use $north-star-metric when the task relates to the skill \"North Star Metric\".",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"north-star-metric",
|
|
8
|
+
"north star",
|
|
9
|
+
"NSM"
|
|
10
|
+
],
|
|
11
|
+
"capabilities": [
|
|
12
|
+
"north-star-metric"
|
|
13
|
+
],
|
|
14
|
+
"tools": [],
|
|
15
|
+
"implicit_invocation": true
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "north-star-metric",
|
|
3
|
+
"display_name": "North Star Metric",
|
|
4
|
+
"description": "Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome",
|
|
5
|
+
"default_prompt": "Use $north-star-metric when the task relates to the skill \"North Star Metric\".",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"north-star-metric",
|
|
8
|
+
"north star",
|
|
9
|
+
"NSM"
|
|
10
|
+
],
|
|
11
|
+
"capabilities": [
|
|
12
|
+
"north-star-metric"
|
|
13
|
+
],
|
|
14
|
+
"tools": [],
|
|
15
|
+
"implicit_invocation": true
|
|
16
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "North Star Metric (NSM)"
|
|
3
|
+
short_description: "Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome"
|
|
4
|
+
default_prompt: "Use $north-star-metric when the task relates to the skill \"North Star Metric (NSM)\"."
|
|
5
|
+
dependencies:
|
|
6
|
+
tools: []
|
|
7
|
+
policy:
|
|
8
|
+
allow_implicit_invocation: true
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "north-star-metric",
|
|
3
|
+
"display_name": "North Star Metric",
|
|
4
|
+
"description": "Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome",
|
|
5
|
+
"default_prompt": "Use $north-star-metric when the task relates to the skill \"North Star Metric\".",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"north-star-metric",
|
|
8
|
+
"north star",
|
|
9
|
+
"NSM"
|
|
10
|
+
],
|
|
11
|
+
"capabilities": [
|
|
12
|
+
"north-star-metric"
|
|
13
|
+
],
|
|
14
|
+
"tools": [],
|
|
15
|
+
"implicit_invocation": true
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
name: "north-star-metric"
|
|
3
|
+
display_name: "North Star Metric"
|
|
4
|
+
description: "Selecting the NSM for B2B SaaS — balancing leading/lagging, alignment with customer value and business outcome"
|
|
5
|
+
default_prompt: "Use $north-star-metric when the task relates to the skill \"North Star Metric (NSM)\"."
|
|
6
|
+
triggers:
|
|
7
|
+
- "north-star-metric"
|
|
8
|
+
- "north star"
|
|
9
|
+
- "NSM"
|
|
10
|
+
capabilities:
|
|
11
|
+
- "north-star-metric"
|
|
12
|
+
tools: []
|
|
13
|
+
invocation:
|
|
14
|
+
explicit: true
|
|
15
|
+
implicit: true
|
|
16
|
+
localization:
|
|
17
|
+
default_locale: "en"
|
|
18
|
+
available_locales:
|
|
19
|
+
- "en"
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: okr-framework
|
|
3
|
+
description: Objectives & Key Results for B2B product teams — quarterly cycle, measurable key results
|
|
4
|
+
---
|
|
5
|
+
# OKR Framework
|
|
6
|
+
|
|
7
|
+
> **Category:** Strategy · **Slug:** `okr-framework`
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- During quarterly planning for the product team.
|
|
12
|
+
- When translating vision → operational goals.
|
|
13
|
+
- When aligning with exec-level goals (cascading OKR).
|
|
14
|
+
- During post-quarter review — grading KRs.
|
|
15
|
+
|
|
16
|
+
## Input
|
|
17
|
+
|
|
18
|
+
| Field | Required | Description |
|
|
19
|
+
|-------|:--------:|-------------|
|
|
20
|
+
| Product vision | ✅ | What is the long-term north star |
|
|
21
|
+
| North Star Metric | ✅ | Measurable anchor |
|
|
22
|
+
| Company-level goals | ✅ | Which OKRs come from above |
|
|
23
|
+
| Previous quarter grade | ⬚ | For adjustments |
|
|
24
|
+
| Team capacity | ✅ | Honest assessment of resources |
|
|
25
|
+
|
|
26
|
+
## Data Sources
|
|
27
|
+
|
|
28
|
+
1. `$product-vision` — long-term direction.
|
|
29
|
+
2. `$north-star-metric` — primary metric.
|
|
30
|
+
3. Company OKR — alignment with company goals.
|
|
31
|
+
4. Previous quarter results — learning.
|
|
32
|
+
|
|
33
|
+
### Related Skills
|
|
34
|
+
|
|
35
|
+
| Skill | What we take | When to invoke |
|
|
36
|
+
|-------|-------------|----------------|
|
|
37
|
+
| `product-vision` | Vision | Before OKR — for alignment |
|
|
38
|
+
| `north-star-metric` | NSM | KRs often tied to NSM |
|
|
39
|
+
| `product-roadmap` | Initiatives | OKR → roadmap themes |
|
|
40
|
+
| `rice-scoring` | Priorities | Which initiatives this quarter |
|
|
41
|
+
|
|
42
|
+
## Structure
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Objective (qualitative goal, inspirational)
|
|
46
|
+
├── Key Result 1 (measurable, outcome, not output)
|
|
47
|
+
├── Key Result 2
|
|
48
|
+
└── Key Result 3
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Protocol
|
|
52
|
+
|
|
53
|
+
### Step 0 — Cascade from Company
|
|
54
|
+
|
|
55
|
+
1. Review company-level Objectives.
|
|
56
|
+
2. Which of them does our product team drive?
|
|
57
|
+
3. Alignment is not through copy-paste — through "how we contribute".
|
|
58
|
+
|
|
59
|
+
### Step 1 — Objectives (1-3)
|
|
60
|
+
|
|
61
|
+
Rules:
|
|
62
|
+
- **Qualitative, inspirational** — not a number
|
|
63
|
+
- Clear enough to know «did we achieve it?»
|
|
64
|
+
- Time-bounded (usually a quarter)
|
|
65
|
+
- 1-3 per quarter — more = distraction
|
|
66
|
+
|
|
67
|
+
✅ Good: «Become the default onboarding tool for mid-market engineering teams»
|
|
68
|
+
❌ Bad: «Increase feature adoption» (weakly inspirational) or «Grow ARR by 15%» (this is a KR, not an O)
|
|
69
|
+
|
|
70
|
+
### Step 2 — Key Results per Objective (2-5)
|
|
71
|
+
|
|
72
|
+
Rules:
|
|
73
|
+
- **Measurable** — numeric target
|
|
74
|
+
- **Outcome, not output** (not «ship feature X», but «feature X used by Y teams»)
|
|
75
|
+
- **Ambitious** — 70% grade = success (target = stretch)
|
|
76
|
+
- **Time-boxed** (by end of quarter)
|
|
77
|
+
|
|
78
|
+
KR types:
|
|
79
|
+
- **Impact metrics:** NRR, activation rate, retention
|
|
80
|
+
- **Leading indicators:** time-to-value, feature adoption
|
|
81
|
+
- **Quality:** p95 latency, error rate, NPS
|
|
82
|
+
|
|
83
|
+
Mix types — not all impact, not all leading.
|
|
84
|
+
|
|
85
|
+
✅ Good KR: «Grow weekly active teams from 120 to 180»
|
|
86
|
+
❌ Bad KR: «Ship checkout redesign» (output, not outcome)
|
|
87
|
+
|
|
88
|
+
### Step 3 — Ambition Calibration
|
|
89
|
+
|
|
90
|
+
Stretch goals:
|
|
91
|
+
- **Committed KRs** (must hit) — 100% target. Typically 0.8× ambitious.
|
|
92
|
+
- **Aspirational KRs** — 70% target. Typically 1.3× ambitious.
|
|
93
|
+
|
|
94
|
+
In B2B SaaS the usual mix: 70% committed + 30% aspirational.
|
|
95
|
+
|
|
96
|
+
### Step 4 — Initiatives Mapping
|
|
97
|
+
|
|
98
|
+
For each KR — **which initiatives** (features, projects) drive it? Via `$product-roadmap`.
|
|
99
|
+
|
|
100
|
+
| KR | Initiative | Expected impact | Timeline |
|
|
101
|
+
|----|------------|:---------------:|----------|
|
|
102
|
+
| KR1 | Onboarding checklist | +15% activation | Week 4-8 |
|
|
103
|
+
|
|
104
|
+
### Step 5 — Sanity Check
|
|
105
|
+
|
|
106
|
+
- Does team capacity suffice? (not over-ambitious)
|
|
107
|
+
- Does each Objective have ≥ 2 KRs?
|
|
108
|
+
- Do KRs cover leading + lagging?
|
|
109
|
+
- Conflict check: does achieving one KR not destroy another?
|
|
110
|
+
|
|
111
|
+
### Step 6 — Review Cadence
|
|
112
|
+
|
|
113
|
+
- **Weekly:** progress check (burndown style)
|
|
114
|
+
- **Mid-quarter:** re-calibration (adjust committed/aspirational if reality changed)
|
|
115
|
+
- **End-of-quarter:** grade each KR (0-1.0), retro
|
|
116
|
+
|
|
117
|
+
### Step 7 — Grading
|
|
118
|
+
|
|
119
|
+
- 0.0-0.3 — failed / didn't prioritize
|
|
120
|
+
- 0.4-0.6 — didn't hit but made progress
|
|
121
|
+
- 0.7 — hit target (healthy for aspirational)
|
|
122
|
+
- 1.0 — fully achieved (if consistently 1.0 → KRs not ambitious enough)
|
|
123
|
+
|
|
124
|
+
## Validation (Quality Gate)
|
|
125
|
+
|
|
126
|
+
- [ ] 1-3 Objectives per team / quarter
|
|
127
|
+
- [ ] 2-5 KRs per Objective
|
|
128
|
+
- [ ] KRs measurable (numeric, not subjective)
|
|
129
|
+
- [ ] KRs outcome-focused, not output
|
|
130
|
+
- [ ] Mix leading + lagging
|
|
131
|
+
- [ ] Initiatives mapped to KRs
|
|
132
|
+
- [ ] Capacity-checked
|
|
133
|
+
- [ ] Cascade alignment with company OKR
|
|
134
|
+
- [ ] Review cadence planned
|
|
135
|
+
|
|
136
|
+
## Handoff
|
|
137
|
+
|
|
138
|
+
The result is input for:
|
|
139
|
+
- **`product-roadmap`** — initiatives mapped to KRs
|
|
140
|
+
- **`rice-scoring`** — prioritization of initiatives within quarter
|
|
141
|
+
- **Data Analyst** (`$saas-metrics`, `$hypothesis-template`) — how to measure KRs
|
|
142
|
+
|
|
143
|
+
Format: OKR doc (one page per quarter). Via `$handoff`.
|
|
144
|
+
|
|
145
|
+
## Anti-patterns
|
|
146
|
+
|
|
147
|
+
| Error | Why it's bad | How to do it right |
|
|
148
|
+
|-------|-------------|-------------------|
|
|
149
|
+
| Too many Objectives | Focus lost | Max 3 |
|
|
150
|
+
| KR = feature ship | Output, not outcome | Measure customer impact |
|
|
151
|
+
| Vague KR | «Improve X» | Numeric: «X from A to B» |
|
|
152
|
+
| No ambition | Always 1.0 | Aspirational: stretch 70% |
|
|
153
|
+
| Ignoring capacity | Overcommit | Honest capacity check |
|
|
154
|
+
| Copy-paste from company | Not cascaded | «How we contribute to» |
|
|
155
|
+
|
|
156
|
+
## Template
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
# OKR Q2 2026 — [Team Name]
|
|
160
|
+
|
|
161
|
+
## O1: [Inspirational Objective]
|
|
162
|
+
- **KR1.1:** [Metric] from [baseline] to [target] by [date]
|
|
163
|
+
- **KR1.2:** [Metric] from X to Y
|
|
164
|
+
- **KR1.3:** ...
|
|
165
|
+
|
|
166
|
+
### Initiatives for O1
|
|
167
|
+
| KR | Initiative | Expected impact | Timeline |
|
|
168
|
+
| ... |
|
|
169
|
+
|
|
170
|
+
## O2: ...
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Health Check
|
|
175
|
+
- [ ] Objectives inspire
|
|
176
|
+
- [ ] KRs measurable
|
|
177
|
+
- [ ] Capacity-honest
|
|
178
|
+
- [ ] Cascade checked
|
|
179
|
+
|
|
180
|
+
## Review Schedule
|
|
181
|
+
- Weekly Tuesday: progress
|
|
182
|
+
- Mid-Q (week 6): re-calibrate
|
|
183
|
+
- End-Q: grade + retro
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Worked Example — TeamFlow Q2 2026 OKRs (Product team, post-Mediator)
|
|
187
|
+
|
|
188
|
+
**Context:** TeamFlow (B2B SaaS HR-tech, $8M ARR). After Mediator synthesis of visions (Alpha + Beta), the team forms Q2 OKRs for the Product team. Company-level OKRs: grow ARR 50% YoY ($8M → $12M by Q4) + launch AI tier + NRR 105% → 110%.
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
# OKR Q2 2026 — TeamFlow Product Team
|
|
192
|
+
|
|
193
|
+
## Company Context (cascade input)
|
|
194
|
+
- **Company O:** Become category-leading People Ops platform by 2027
|
|
195
|
+
- **Company KR:** $12M ARR by Q4 2026 (from $8M), NRR 115%, launch AI tier
|
|
196
|
+
- **Our cascade role:** Drive product-led expansion; enable Enterprise tier; make AI MVP successful
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## O1: Ship AI 1:1 tier that managers love and buyers pay for
|
|
201
|
+
|
|
202
|
+
**Ambition:** Aspirational (70% grade = success)
|
|
203
|
+
|
|
204
|
+
- **KR1.1:** 40 customers (of 200 base) upgraded to AI Team tier ($8/seat) by June 30
|
|
205
|
+
- Baseline: 0 (tier not existing yet)
|
|
206
|
+
- Target: 40 accounts = 20% base penetration
|
|
207
|
+
- Stretch: 60 accounts
|
|
208
|
+
- **KR1.2:** Among upgraded accounts, 65% of active managers use AI summarization weekly (vs zero baseline)
|
|
209
|
+
- **KR1.3:** AI summarization NPS ≥ 50 (vs general TeamFlow NPS 45)
|
|
210
|
+
- **KR1.4:** Action items completion rate lifts from 60% baseline to 75% in AI tier accounts
|
|
211
|
+
|
|
212
|
+
### Initiatives for O1
|
|
213
|
+
| KR | Initiative | Expected impact | Timeline |
|
|
214
|
+
|----|------------|-----------------|----------|
|
|
215
|
+
| KR1.1 | AI Team tier launch (feature flag gated) | 40 upgrade conversations | Week 4-10 |
|
|
216
|
+
| KR1.1 | GTM campaign (email, webinar, in-app) | +15 upgrades | Week 6-12 |
|
|
217
|
+
| KR1.2 | Onboarding flow for new AI users (checklist + first-success moment) | +25pp adoption | Week 8-10 |
|
|
218
|
+
| KR1.3 | Feedback loop (in-product rating after each summary) | Signal for iteration | Week 6-ongoing |
|
|
219
|
+
| KR1.4 | Automated reminders for AI-extracted action items | +15pp completion | Week 10-12 |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## O2: Establish Enterprise tier as credible expansion path
|
|
224
|
+
|
|
225
|
+
**Ambition:** Committed (100% grade = must hit)
|
|
226
|
+
|
|
227
|
+
- **KR2.1:** 5 Enterprise tier accounts signed ($50+/seat, min 300 seats each) by June 30
|
|
228
|
+
- Baseline: 10 Enterprise accounts on legacy pricing
|
|
229
|
+
- Target: 5 on new Enterprise tier
|
|
230
|
+
- **KR2.2:** Enterprise pilot: 3 design partners live on aggregate dashboard + health score features
|
|
231
|
+
- **KR2.3:** Security review passed: SOC 2 Type II controls documented for AI features (blocker for 2 deals)
|
|
232
|
+
- **KR2.4:** 0 Enterprise contract rejections due to compliance/AI concerns (baseline: 2 in Q1)
|
|
233
|
+
|
|
234
|
+
### Initiatives for O2
|
|
235
|
+
| KR | Initiative | Expected impact | Timeline |
|
|
236
|
+
|----|------------|-----------------|----------|
|
|
237
|
+
| KR2.1 | Enterprise tier pricing + packaging docs | Sales enablement | Week 2-4 |
|
|
238
|
+
| KR2.2 | Aggregate dashboard MVP (from Beta vision) | 3 design partners engaged | Week 6-12 |
|
|
239
|
+
| KR2.3 | SOC 2 Type II audit for AI tier | Unblock enterprise deals | Week 1-8 |
|
|
240
|
+
| KR2.4 | Compliance FAQ + objection handling deck | Sales reduces objection time | Week 4 |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## O3: Build data foundation for 2027 category leadership
|
|
245
|
+
|
|
246
|
+
**Ambition:** Aspirational (70%)
|
|
247
|
+
|
|
248
|
+
- **KR3.1:** 1:1 behavioral data pipeline instruments 100% of AI tier events (reliable for downstream analytics)
|
|
249
|
+
- **KR3.2:** Privacy architecture passes external audit (trust layer for future AI features)
|
|
250
|
+
- **KR3.3:** Benchmark engine MVP — 3 industry/segment comparisons live for Enterprise accounts
|
|
251
|
+
|
|
252
|
+
### Initiatives for O3
|
|
253
|
+
| KR | Initiative | Expected impact | Timeline |
|
|
254
|
+
|----|------------|-----------------|----------|
|
|
255
|
+
| KR3.1 | Event schema + instrumentation (PM + Data) | Data basis for Q3 features | Week 4-8 |
|
|
256
|
+
| KR3.2 | Privacy architecture review + attestation | Moat reinforcement | Week 2-10 |
|
|
257
|
+
| KR3.3 | Benchmark calculation engine | Enterprise delight | Week 10-13 |
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Health Check
|
|
262
|
+
- [x] Objectives inspire — all tie to category positioning
|
|
263
|
+
- [x] KRs measurable — all numeric (% / count / NPS / binary)
|
|
264
|
+
- [x] Capacity-honest — 8 eng + 3 PM + 2 design = 13 person-weeks capacity per sprint × 13 sprints = 169 weeks total available; planned initiatives ≈ 120 person-weeks (71% capacity, 29% buffer)
|
|
265
|
+
- [x] Cascade checked — O1 drives Company KR «launch AI tier»; O2 drives «NRR 115%»; O3 drives «category leadership»
|
|
266
|
+
|
|
267
|
+
## Review Schedule
|
|
268
|
+
- **Weekly Tuesday 10am:** progress burndown + adjustments (15 min per Objective)
|
|
269
|
+
- **Mid-Q (Week 6, May 12):** re-calibrate commitments, move committed↔aspirational if reality shifted
|
|
270
|
+
- **End-Q (June 30):** grade all KRs (0-1.0), retrospective, input for Q3
|
|
271
|
+
|
|
272
|
+
## Grading Rubric (applied at end-Q)
|
|
273
|
+
|
|
274
|
+
Example grade for KR1.1 (40 account upgrades):
|
|
275
|
+
- Hit 40 → 1.0 (hit target)
|
|
276
|
+
- Hit 30 → 0.75 (healthy progress, 75% of target)
|
|
277
|
+
- Hit 20 → 0.5 (partial)
|
|
278
|
+
- Hit 10 → 0.25 (minimal)
|
|
279
|
+
- Hit 0 → 0.0
|
|
280
|
+
|
|
281
|
+
For aspirational KRs, 0.7 = green. For committed KRs, anything below 1.0 triggers retro.
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
> **OKR lesson:** O1, O2, O3 distribute across Alpha and Beta priorities — O1 is Alpha-weighted (workflow + managers), O2 is Beta-weighted (analytics + buyers), O3 is foundation for both. This prevents OKR-level re-litigation of the Mediator synthesis — the roadmap is now guided by the triple Objective, not by camp politics.
|