code-ai-installer 4.0.0 → 4.0.1-a
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/README.md +83 -67
- package/dist/index.js +2 -0
- package/dist/mcp/audit_ledger.d.ts +12 -0
- package/dist/mcp/audit_ledger.js +82 -0
- package/dist/mcp/cli.js +7 -1
- package/dist/mcp/config.d.ts +23 -0
- package/dist/mcp/config.js +36 -0
- package/dist/mcp/index.d.ts +1 -2
- package/dist/mcp/index.js +1 -2
- package/dist/mcp/paths.d.ts +20 -2
- package/dist/mcp/paths.js +29 -5
- package/dist/mcp/proposal_dedup.d.ts +32 -0
- package/dist/mcp/proposal_dedup.js +102 -0
- package/dist/mcp/proposal_store.d.ts +18 -0
- package/dist/mcp/proposal_store.js +74 -0
- package/dist/mcp/scorecard.d.ts +140 -0
- package/dist/mcp/scorecard.js +103 -0
- package/dist/mcp/skill_invocations.d.ts +15 -0
- package/dist/mcp/skill_invocations.js +28 -0
- package/dist/mcp/task_state.d.ts +77 -2
- package/dist/mcp/tools/_subprocess.d.ts +16 -0
- package/dist/mcp/tools/_subprocess.js +56 -0
- package/dist/mcp/tools/advance_gate.js +2 -2
- package/dist/mcp/tools/aggregate_run_metrics.d.ts +19 -0
- package/dist/mcp/tools/aggregate_run_metrics.js +139 -0
- package/dist/mcp/tools/apply_diff.d.ts +2 -0
- package/dist/mcp/tools/apply_diff.js +29 -0
- package/dist/mcp/tools/audit_bilocale_parity.d.ts +2 -0
- package/dist/mcp/tools/audit_bilocale_parity.js +146 -0
- package/dist/mcp/tools/audit_budget_compliance.d.ts +35 -0
- package/dist/mcp/tools/audit_budget_compliance.js +172 -0
- package/dist/mcp/tools/build.d.ts +2 -0
- package/dist/mcp/tools/build.js +47 -0
- package/dist/mcp/tools/check_lint.d.ts +2 -0
- package/dist/mcp/tools/check_lint.js +23 -0
- package/dist/mcp/tools/classify_gate.js +2 -2
- package/dist/mcp/tools/current_gate.js +2 -2
- package/dist/mcp/tools/dependency_supply_chain.d.ts +2 -0
- package/dist/mcp/tools/dependency_supply_chain.js +59 -0
- package/dist/mcp/tools/docker_compose.d.ts +2 -0
- package/dist/mcp/tools/docker_compose.js +24 -0
- package/dist/mcp/tools/e2e_playwright.d.ts +2 -0
- package/dist/mcp/tools/e2e_playwright.js +88 -0
- package/dist/mcp/tools/get_skill.js +17 -0
- package/dist/mcp/tools/git_commit.d.ts +2 -0
- package/dist/mcp/tools/git_commit.js +30 -0
- package/dist/mcp/tools/list_proposals.d.ts +6 -0
- package/dist/mcp/tools/list_proposals.js +16 -0
- package/dist/mcp/tools/list_skills.js +9 -1
- package/dist/mcp/tools/load_role.d.ts +3 -4
- package/dist/mcp/tools/load_role.js +11 -13
- package/dist/mcp/tools/propose_change.d.ts +8 -0
- package/dist/mcp/tools/propose_change.js +36 -0
- package/dist/mcp/tools/record_decision.js +25 -25
- package/dist/mcp/tools/review_proposal.d.ts +17 -0
- package/dist/mcp/tools/review_proposal.js +99 -0
- package/dist/mcp/tools/run_drift_audit.d.ts +11 -0
- package/dist/mcp/tools/run_drift_audit.js +79 -0
- package/dist/mcp/tools/run_tests.d.ts +2 -0
- package/dist/mcp/tools/run_tests.js +92 -0
- package/dist/mcp/tools/sign_off.js +14 -2
- package/dist/mcp/tools/stubs.js +30 -9
- package/dist/mcp/tools/verify_claim.js +33 -6
- package/dist/mcp_setup.d.ts +8 -0
- package/dist/mcp_setup.js +4 -1
- package/dist/shared/frontmatter.d.ts +44 -2
- package/dist/shared/frontmatter.js +54 -6
- package/dist/shared/index.d.ts +0 -5
- package/dist/shared/index.js +0 -5
- package/dist/shared/persona.d.ts +2 -2
- package/dist/shared/persona.js +1 -1
- package/dist/shared/pipeline.d.ts +46 -1
- package/dist/shared/tools.d.ts +1382 -16
- package/dist/shared/tools.js +229 -0
- package/dist/shared/vocabulary.d.ts +99 -4
- package/dist/shared/vocabulary.js +94 -5
- package/domains/analytics/.agents/skills/ansoff-matrix/SKILL.md +316 -300
- package/domains/analytics/.agents/skills/bcg-matrix/SKILL.md +345 -329
- package/domains/analytics/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
- package/domains/analytics/.agents/skills/board/SKILL.md +22 -0
- package/domains/analytics/.agents/skills/cohort-analysis/SKILL.md +338 -322
- package/domains/analytics/.agents/skills/competitive-analysis/SKILL.md +413 -395
- package/domains/analytics/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
- package/domains/analytics/.agents/skills/gates/SKILL.md +388 -366
- package/domains/analytics/.agents/skills/handoff/SKILL.md +402 -380
- package/domains/analytics/.agents/skills/html-pdf-report/SKILL.md +21 -289
- package/domains/analytics/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
- package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/skill.yaml +23 -0
- package/domains/analytics/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
- package/domains/analytics/.agents/skills/jtbd-analysis/SKILL.md +357 -341
- package/domains/analytics/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
- package/domains/analytics/.agents/skills/pest-analysis/SKILL.md +324 -305
- package/domains/analytics/.agents/skills/porters-five-forces/SKILL.md +377 -361
- package/domains/analytics/.agents/skills/report-design/SKILL.md +416 -398
- package/domains/analytics/.agents/skills/rfm-analysis/SKILL.md +330 -314
- package/domains/analytics/.agents/skills/session-prompt-generator/SKILL.md +400 -378
- package/domains/analytics/.agents/skills/swot-analysis/SKILL.md +340 -324
- package/domains/analytics/.agents/skills/tam-sam-som/SKILL.md +329 -312
- package/domains/analytics/.agents/skills/trend-analysis/SKILL.md +347 -331
- package/domains/analytics/.agents/skills/unit-economics/SKILL.md +430 -413
- package/domains/analytics/.agents/skills/value-chain-analysis/SKILL.md +346 -330
- package/domains/analytics/.agents/skills/web-research/SKILL.md +323 -308
- package/domains/analytics/AGENTS.md +1 -0
- package/domains/analytics/agents/auditor.md +76 -0
- package/domains/analytics/agents/conductor.md +11 -0
- package/domains/analytics/agents/data_analyst.md +11 -0
- package/domains/analytics/agents/designer.md +11 -0
- package/domains/analytics/agents/interviewer.md +11 -0
- package/domains/analytics/agents/layouter.md +11 -0
- package/domains/analytics/agents/mediator.md +11 -0
- package/domains/analytics/agents/researcher.md +11 -0
- package/domains/analytics/agents/strategist.md +11 -0
- package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/SKILL.md +316 -300
- package/domains/analytics/locales/en/.agents/skills/bcg-matrix/SKILL.md +345 -329
- package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
- package/domains/analytics/locales/en/.agents/skills/board/SKILL.md +22 -0
- package/domains/analytics/locales/en/.agents/skills/cohort-analysis/SKILL.md +338 -322
- package/domains/analytics/locales/en/.agents/skills/competitive-analysis/SKILL.md +413 -395
- package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
- package/domains/analytics/locales/en/.agents/skills/gates/SKILL.md +388 -366
- package/domains/analytics/locales/en/.agents/skills/handoff/SKILL.md +402 -380
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -289
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
- package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +29 -0
- package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
- package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/SKILL.md +357 -341
- package/domains/analytics/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
- package/domains/analytics/locales/en/.agents/skills/pest-analysis/SKILL.md +324 -305
- package/domains/analytics/locales/en/.agents/skills/porters-five-forces/SKILL.md +377 -361
- package/domains/analytics/locales/en/.agents/skills/report-design/SKILL.md +416 -398
- package/domains/analytics/locales/en/.agents/skills/rfm-analysis/SKILL.md +330 -314
- package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/SKILL.md +400 -378
- package/domains/analytics/locales/en/.agents/skills/swot-analysis/SKILL.md +340 -324
- package/domains/analytics/locales/en/.agents/skills/tam-sam-som/SKILL.md +329 -312
- package/domains/analytics/locales/en/.agents/skills/trend-analysis/SKILL.md +347 -331
- package/domains/analytics/locales/en/.agents/skills/unit-economics/SKILL.md +430 -413
- package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/SKILL.md +366 -350
- package/domains/analytics/locales/en/.agents/skills/web-research/SKILL.md +324 -309
- package/domains/analytics/locales/en/AGENTS.md +1 -0
- package/domains/analytics/locales/en/agents/auditor.md +76 -0
- package/domains/analytics/locales/en/agents/conductor.md +27 -0
- package/domains/analytics/locales/en/agents/data_analyst.md +29 -0
- package/domains/analytics/locales/en/agents/designer.md +27 -0
- package/domains/analytics/locales/en/agents/interviewer.md +11 -0
- package/domains/analytics/locales/en/agents/layouter.md +11 -0
- package/domains/analytics/locales/en/agents/mediator.md +11 -0
- package/domains/analytics/locales/en/agents/researcher.md +11 -0
- package/domains/analytics/locales/en/agents/strategist.md +11 -0
- package/domains/analytics/persona/persona-base.md +94 -0
- package/domains/analytics/pipeline.yaml +102 -0
- package/domains/content/.agents/skills/audience-analysis/SKILL.md +15 -0
- package/domains/content/.agents/skills/board/SKILL.md +20 -0
- package/domains/content/.agents/skills/brand-compliance/SKILL.md +15 -0
- package/domains/content/.agents/skills/brand-guidelines/SKILL.md +17 -0
- package/domains/content/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
- package/domains/content/.agents/skills/content-brief/SKILL.md +15 -0
- package/domains/content/.agents/skills/content-calendar/SKILL.md +15 -0
- package/domains/content/.agents/skills/content-release-gate/SKILL.md +15 -0
- package/domains/content/.agents/skills/content-review-checklist/SKILL.md +15 -0
- package/domains/content/.agents/skills/cta-optimization/SKILL.md +15 -0
- package/domains/content/.agents/skills/data-storytelling/SKILL.md +15 -0
- package/domains/content/.agents/skills/email-copywriting/SKILL.md +15 -0
- package/domains/content/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
- package/domains/content/.agents/skills/fact-checking/SKILL.md +15 -0
- package/domains/content/.agents/skills/gates/SKILL.md +20 -0
- package/domains/content/.agents/skills/google-stitch-content/SKILL.md +15 -0
- package/domains/content/.agents/skills/handoff/SKILL.md +24 -0
- package/domains/content/.agents/skills/headline-formulas/SKILL.md +15 -0
- package/domains/content/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
- package/domains/content/.agents/skills/karpathy-guidelines/SKILL.md +28 -0
- package/domains/content/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
- package/domains/content/.agents/skills/marketing-psychology/SKILL.md +15 -0
- package/domains/content/.agents/skills/moodboard/SKILL.md +15 -0
- package/domains/content/.agents/skills/platform-compliance/SKILL.md +15 -0
- package/domains/content/.agents/skills/platform-strategy/SKILL.md +15 -0
- package/domains/content/.agents/skills/platform-visual-specs/SKILL.md +15 -0
- package/domains/content/.agents/skills/readability-scoring/SKILL.md +15 -0
- package/domains/content/.agents/skills/seo-copywriting/SKILL.md +15 -0
- package/domains/content/.agents/skills/social-media-formats/SKILL.md +15 -0
- package/domains/content/.agents/skills/source-verification/SKILL.md +15 -0
- package/domains/content/.agents/skills/storytelling-framework/SKILL.md +15 -0
- package/domains/content/.agents/skills/tone-of-voice/SKILL.md +15 -0
- package/domains/content/.agents/skills/topic-research/SKILL.md +15 -0
- package/domains/content/.agents/skills/trend-research/SKILL.md +15 -0
- package/domains/content/.agents/skills/visual-brief/SKILL.md +15 -0
- package/domains/content/AGENTS.md +4 -0
- package/domains/content/agents/auditor.md +76 -0
- package/domains/content/agents/conductor.md +11 -0
- package/domains/content/agents/copywriter.md +11 -0
- package/domains/content/agents/researcher.md +11 -0
- package/domains/content/agents/reviewer.md +11 -0
- package/domains/content/agents/strategist.md +11 -0
- package/domains/content/agents/visual_concept.md +11 -0
- package/domains/content/locales/en/.agents/skills/audience-analysis/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/board/SKILL.md +20 -0
- package/domains/content/locales/en/.agents/skills/brand-compliance/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/brand-guidelines/SKILL.md +17 -0
- package/domains/content/locales/en/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/content-brief/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/content-calendar/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/content-release-gate/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/content-review-checklist/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/cta-optimization/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/data-storytelling/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/email-copywriting/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/fact-checking/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/gates/SKILL.md +20 -0
- package/domains/content/locales/en/.agents/skills/google-stitch-content/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/handoff/SKILL.md +24 -0
- package/domains/content/locales/en/.agents/skills/headline-formulas/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +30 -1
- package/domains/content/locales/en/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/marketing-psychology/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/moodboard/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/platform-compliance/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/platform-strategy/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/platform-visual-specs/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/readability-scoring/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/seo-copywriting/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/social-media-formats/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/source-verification/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/storytelling-framework/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/tone-of-voice/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/topic-research/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/trend-research/SKILL.md +15 -0
- package/domains/content/locales/en/.agents/skills/visual-brief/SKILL.md +15 -0
- package/domains/content/locales/en/AGENTS.md +4 -0
- package/domains/content/locales/en/agents/auditor.md +76 -0
- package/domains/content/locales/en/agents/conductor.md +12 -0
- package/domains/content/locales/en/agents/copywriter.md +12 -0
- package/domains/content/locales/en/agents/researcher.md +12 -0
- package/domains/content/locales/en/agents/reviewer.md +12 -0
- package/domains/content/locales/en/agents/strategist.md +12 -0
- package/domains/content/locales/en/agents/visual_concept.md +12 -0
- package/domains/content/persona/persona-base.md +94 -0
- package/domains/content/pipeline.yaml +96 -0
- package/domains/development/.agents/skills/adr-log/SKILL.md +1 -0
- package/domains/development/.agents/skills/design-intake/SKILL.md +0 -4
- package/domains/development/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
- package/domains/development/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
- package/domains/development/.agents/skills/mcp-integration/SKILL.md +211 -0
- package/domains/development/.agents/skills/mcp-integration/agents/claude.json +22 -0
- package/domains/development/.agents/skills/mcp-integration/agents/copilot.json +22 -0
- package/domains/development/.agents/skills/mcp-integration/agents/gemini.json +22 -0
- package/domains/development/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
- package/domains/development/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
- package/domains/development/.agents/skills/mcp-integration/agents/qwen.json +22 -0
- package/domains/development/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
- package/domains/development/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
- package/domains/development/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
- package/domains/development/AGENTS.md +1 -0
- package/domains/development/AGENTS.yaml +1 -0
- package/domains/development/agents/architect.md +13 -1
- package/domains/development/agents/auditor.md +74 -0
- package/domains/development/agents/conductor.md +14 -3
- package/domains/development/agents/devops.md +8 -9
- package/domains/development/agents/reviewer.md +12 -0
- package/domains/development/agents/senior_full_stack.md +12 -0
- package/domains/development/agents/tester.md +10 -16
- package/domains/development/locales/en/.agents/skills/adr-log/SKILL.md +1 -0
- package/domains/development/locales/en/.agents/skills/current-state-analysis/SKILL.md +256 -172
- package/domains/development/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
- package/domains/development/locales/en/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
- package/domains/development/locales/en/.agents/skills/mcp-integration/SKILL.md +211 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/claude.json +22 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/copilot.json +22 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/gemini.json +22 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/qwen.json +22 -0
- package/domains/development/locales/en/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
- package/domains/development/locales/en/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
- package/domains/development/locales/en/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
- package/domains/development/locales/en/AGENTS.md +5 -0
- package/domains/development/locales/en/AGENTS.yaml +1 -0
- package/domains/development/locales/en/agents/architect.md +13 -1
- package/domains/development/locales/en/agents/auditor.md +74 -0
- package/domains/development/locales/en/agents/conductor.md +14 -3
- package/domains/development/locales/en/agents/devops.md +8 -9
- package/domains/development/locales/en/agents/reviewer.md +12 -0
- package/domains/development/locales/en/agents/senior_full_stack.md +12 -0
- package/domains/development/locales/en/agents/tester.md +10 -16
- package/domains/development/persona/persona-base.md +94 -0
- package/domains/product/.agents/skills/aarrr-metrics/SKILL.md +451 -433
- package/domains/product/.agents/skills/ab-test-design/SKILL.md +428 -412
- package/domains/product/.agents/skills/acceptance-criteria/SKILL.md +422 -406
- package/domains/product/.agents/skills/assumption-mapping/SKILL.md +323 -307
- package/domains/product/.agents/skills/board/SKILL.md +24 -0
- package/domains/product/.agents/skills/design-brief/SKILL.md +433 -418
- package/domains/product/.agents/skills/epic-breakdown/SKILL.md +435 -420
- package/domains/product/.agents/skills/gates/SKILL.md +470 -446
- package/domains/product/.agents/skills/gtm-brief/SKILL.md +18 -321
- package/domains/product/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
- package/domains/product/.agents/skills/handoff/SKILL.md +463 -439
- package/domains/product/.agents/skills/html-pdf-report/SKILL.md +21 -663
- package/domains/product/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
- package/domains/product/.agents/skills/hypothesis-template/SKILL.md +484 -469
- package/domains/product/.agents/skills/jtbd-canvas/SKILL.md +274 -258
- package/domains/product/.agents/skills/kano-model/SKILL.md +370 -355
- package/domains/product/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
- package/domains/product/.agents/skills/launch-checklist/SKILL.md +434 -419
- package/domains/product/.agents/skills/moscow-prioritization/SKILL.md +407 -392
- package/domains/product/.agents/skills/north-star-metric/SKILL.md +317 -301
- package/domains/product/.agents/skills/okr-framework/SKILL.md +299 -284
- package/domains/product/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
- package/domains/product/.agents/skills/prd-template/SKILL.md +18 -258
- package/domains/product/.agents/skills/prd-template-reference/SKILL.md +285 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/claude.json +17 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/kimi.yaml +16 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/prd-template-reference/agents/skill.yaml +23 -0
- package/domains/product/.agents/skills/problem-statement/SKILL.md +327 -312
- package/domains/product/.agents/skills/product-roadmap/SKILL.md +320 -304
- package/domains/product/.agents/skills/product-vision/SKILL.md +409 -394
- package/domains/product/.agents/skills/release-notes/SKILL.md +18 -258
- package/domains/product/.agents/skills/release-notes-reference/SKILL.md +285 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/claude.json +17 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/kimi.yaml +15 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/release-notes-reference/agents/skill.yaml +22 -0
- package/domains/product/.agents/skills/report-design/SKILL.md +17 -307
- package/domains/product/.agents/skills/report-design-reference/SKILL.md +331 -0
- package/domains/product/.agents/skills/report-design-reference/agents/claude.json +17 -0
- package/domains/product/.agents/skills/report-design-reference/agents/copilot.json +17 -0
- package/domains/product/.agents/skills/report-design-reference/agents/gemini.json +17 -0
- package/domains/product/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
- package/domains/product/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
- package/domains/product/.agents/skills/report-design-reference/agents/qwen.json +17 -0
- package/domains/product/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
- package/domains/product/.agents/skills/rice-scoring/SKILL.md +266 -251
- package/domains/product/.agents/skills/saas-metrics/SKILL.md +422 -404
- package/domains/product/.agents/skills/session-prompt-generator/SKILL.md +474 -450
- package/domains/product/.agents/skills/user-flow/SKILL.md +491 -476
- package/domains/product/.agents/skills/user-interview-script/SKILL.md +315 -298
- package/domains/product/.agents/skills/user-story/SKILL.md +401 -385
- package/domains/product/.agents/skills/wsjf-scoring/SKILL.md +333 -315
- package/domains/product/AGENTS.md +5 -0
- package/domains/product/AGENTS.yaml +1 -0
- package/domains/product/agents/auditor.md +76 -0
- package/domains/product/agents/conductor.md +11 -0
- package/domains/product/agents/data_analyst.md +11 -0
- package/domains/product/agents/designer.md +11 -0
- package/domains/product/agents/discovery.md +11 -0
- package/domains/product/agents/layouter.md +11 -0
- package/domains/product/agents/mediator.md +11 -0
- package/domains/product/agents/pm.md +11 -0
- package/domains/product/agents/product_strategist.md +11 -0
- package/domains/product/agents/tech_lead.md +11 -0
- package/domains/product/agents/ux_designer.md +11 -0
- package/domains/product/locales/en/.agents/skills/aarrr-metrics/SKILL.md +451 -433
- package/domains/product/locales/en/.agents/skills/ab-test-design/SKILL.md +428 -412
- package/domains/product/locales/en/.agents/skills/acceptance-criteria/SKILL.md +422 -406
- package/domains/product/locales/en/.agents/skills/assumption-mapping/SKILL.md +323 -307
- package/domains/product/locales/en/.agents/skills/board/SKILL.md +24 -0
- package/domains/product/locales/en/.agents/skills/design-brief/SKILL.md +433 -418
- package/domains/product/locales/en/.agents/skills/epic-breakdown/SKILL.md +435 -420
- package/domains/product/locales/en/.agents/skills/gates/SKILL.md +470 -446
- package/domains/product/locales/en/.agents/skills/gtm-brief/SKILL.md +18 -321
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
- package/domains/product/locales/en/.agents/skills/handoff/SKILL.md +463 -439
- package/domains/product/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -663
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
- package/domains/product/locales/en/.agents/skills/hypothesis-template/SKILL.md +484 -469
- package/domains/product/locales/en/.agents/skills/jtbd-canvas/SKILL.md +273 -257
- package/domains/product/locales/en/.agents/skills/kano-model/SKILL.md +370 -355
- package/domains/product/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
- package/domains/product/locales/en/.agents/skills/launch-checklist/SKILL.md +434 -419
- package/domains/product/locales/en/.agents/skills/moscow-prioritization/SKILL.md +407 -392
- package/domains/product/locales/en/.agents/skills/north-star-metric/SKILL.md +317 -301
- package/domains/product/locales/en/.agents/skills/okr-framework/SKILL.md +299 -284
- package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
- package/domains/product/locales/en/.agents/skills/prd-template/SKILL.md +18 -258
- package/domains/product/locales/en/.agents/skills/prd-template-reference/SKILL.md +285 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/kimi.yaml +15 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/skill.yaml +22 -0
- package/domains/product/locales/en/.agents/skills/problem-statement/SKILL.md +327 -312
- package/domains/product/locales/en/.agents/skills/product-roadmap/SKILL.md +321 -305
- package/domains/product/locales/en/.agents/skills/product-vision/SKILL.md +410 -395
- package/domains/product/locales/en/.agents/skills/release-notes/SKILL.md +18 -258
- package/domains/product/locales/en/.agents/skills/release-notes-reference/SKILL.md +285 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/claude.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/copilot.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/gemini.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/kimi.yaml +14 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/qwen.json +16 -0
- package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/skill.yaml +21 -0
- package/domains/product/locales/en/.agents/skills/report-design/SKILL.md +17 -307
- package/domains/product/locales/en/.agents/skills/report-design-reference/SKILL.md +331 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/claude.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/copilot.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/gemini.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/qwen.json +17 -0
- package/domains/product/locales/en/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
- package/domains/product/locales/en/.agents/skills/rice-scoring/SKILL.md +266 -251
- package/domains/product/locales/en/.agents/skills/saas-metrics/SKILL.md +422 -404
- package/domains/product/locales/en/.agents/skills/session-prompt-generator/SKILL.md +474 -450
- package/domains/product/locales/en/.agents/skills/user-flow/SKILL.md +491 -476
- package/domains/product/locales/en/.agents/skills/user-interview-script/SKILL.md +314 -297
- package/domains/product/locales/en/.agents/skills/user-story/SKILL.md +401 -385
- package/domains/product/locales/en/.agents/skills/wsjf-scoring/SKILL.md +333 -315
- package/domains/product/locales/en/AGENTS.md +5 -0
- package/domains/product/locales/en/agents/auditor.md +76 -0
- package/domains/product/locales/en/agents/conductor.md +11 -0
- package/domains/product/locales/en/agents/data_analyst.md +11 -0
- package/domains/product/locales/en/agents/designer.md +11 -0
- package/domains/product/locales/en/agents/discovery.md +11 -0
- package/domains/product/locales/en/agents/layouter.md +11 -0
- package/domains/product/locales/en/agents/mediator.md +11 -0
- package/domains/product/locales/en/agents/pm.md +11 -0
- package/domains/product/locales/en/agents/product_strategist.md +11 -0
- package/domains/product/locales/en/agents/tech_lead.md +11 -0
- package/domains/product/locales/en/agents/ux_designer.md +11 -0
- package/domains/product/persona/persona-base.md +94 -0
- package/domains/product/pipeline.yaml +115 -0
- package/package.json +72 -70
|
@@ -1,476 +1,491 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: user-flow
|
|
3
|
-
description: Documenting user flows — steps, decision points, happy path + error states
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
|
36
|
-
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
- **
|
|
129
|
-
- **
|
|
130
|
-
- **
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
- **
|
|
151
|
-
- **
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
##
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
##
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
##
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
###
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
→ (
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
→
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
→
|
|
321
|
-
→ (
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
→ {
|
|
325
|
-
→ (
|
|
326
|
-
→
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
→
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
IF
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
- **
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
- **
|
|
408
|
-
- **
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
-
|
|
412
|
-
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
-
|
|
419
|
-
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
-
|
|
423
|
-
-
|
|
424
|
-
|
|
425
|
-
###
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
1
|
+
---
|
|
2
|
+
name: user-flow
|
|
3
|
+
description: Documenting user flows — steps, decision points, happy path + error states
|
|
4
|
+
type: triggered
|
|
5
|
+
domain: product
|
|
6
|
+
owners:
|
|
7
|
+
- ux_designer
|
|
8
|
+
gates:
|
|
9
|
+
- UX_DESIGNER
|
|
10
|
+
tech: []
|
|
11
|
+
topic: []
|
|
12
|
+
triggers:
|
|
13
|
+
- "user-flow"
|
|
14
|
+
- "user flow"
|
|
15
|
+
- "пользовательский сценарий"
|
|
16
|
+
related: []
|
|
17
|
+
budget_lines: 491
|
|
18
|
+
schema_version: 1
|
|
19
|
+
---
|
|
20
|
+
# User Flow
|
|
21
|
+
|
|
22
|
+
> **Category:** UX · **Slug:** `user-flow`
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
- For every non-trivial multi-step flow in a PRD.
|
|
27
|
+
- Before design — flows align the team on happy path + edges.
|
|
28
|
+
- In specification — flows map to user stories.
|
|
29
|
+
- For onboarding / activation analysis — identify drop-off points.
|
|
30
|
+
|
|
31
|
+
## Input
|
|
32
|
+
|
|
33
|
+
| Field | Required | Description |
|
|
34
|
+
|-------|:--------:|-------------|
|
|
35
|
+
| User story / PRD | ✅ | What the flow should accomplish |
|
|
36
|
+
| User persona | ✅ | For whom |
|
|
37
|
+
| Entry points | ✅ | Where the user enters the flow |
|
|
38
|
+
| Exit points | ✅ | Success vs abandon vs errors |
|
|
39
|
+
| Existing flow (if modification) | ⬚ | Current state reference |
|
|
40
|
+
|
|
41
|
+
## Data Sources
|
|
42
|
+
|
|
43
|
+
1. User interviews — how they do it now.
|
|
44
|
+
2. Product analytics — drop-off data for existing flows.
|
|
45
|
+
3. Support tickets — pain points.
|
|
46
|
+
4. Competitor flows — baseline expectations.
|
|
47
|
+
|
|
48
|
+
### Related Skills
|
|
49
|
+
|
|
50
|
+
| Skill | What we take | When to invoke |
|
|
51
|
+
|-------|-------------|----------------|
|
|
52
|
+
| `user-story` | Stories → flow segments | Parent concept |
|
|
53
|
+
| `acceptance-criteria` | AC — edge / error cases in flow | After flow |
|
|
54
|
+
| `design-brief` | Flow input for design | Before brief |
|
|
55
|
+
| `jtbd-canvas` | Job context for flow trigger | For understanding entry |
|
|
56
|
+
|
|
57
|
+
## Flow Types
|
|
58
|
+
|
|
59
|
+
1. **Task flow** — linear path (create account, submit form)
|
|
60
|
+
2. **Decision flow** — branching (onboarding based on role)
|
|
61
|
+
3. **Error flow** — what happens when things go wrong
|
|
62
|
+
4. **Recovery flow** — how user gets back on track
|
|
63
|
+
|
|
64
|
+
## User Flow Doc Structure
|
|
65
|
+
|
|
66
|
+
1. **Flow name + purpose**
|
|
67
|
+
2. **Actors** — who uses this flow
|
|
68
|
+
3. **Preconditions** — state required to enter
|
|
69
|
+
4. **Entry points** — how user arrives
|
|
70
|
+
5. **Happy path** — step-by-step
|
|
71
|
+
6. **Decision points** — branching
|
|
72
|
+
7. **Error states** — each failure mode
|
|
73
|
+
8. **Exit points** — success, abandon, fail
|
|
74
|
+
9. **Metrics** — what we'll measure
|
|
75
|
+
|
|
76
|
+
## Protocol
|
|
77
|
+
|
|
78
|
+
### Step 0 — Define Boundaries
|
|
79
|
+
|
|
80
|
+
- Entry: where user flow starts (signup CTA, navigation click, email link)
|
|
81
|
+
- Exit: where it ends (success state, error, abandonment)
|
|
82
|
+
- Preconditions: auth state, permissions, data state
|
|
83
|
+
|
|
84
|
+
### Step 1 — Happy Path (Sequential Steps)
|
|
85
|
+
|
|
86
|
+
Linear sequence from entry to successful exit. Steps — user-visible actions + system responses.
|
|
87
|
+
|
|
88
|
+
Notation:
|
|
89
|
+
- **→** sequential step
|
|
90
|
+
- **[Action]** user action
|
|
91
|
+
- **(System)** system response
|
|
92
|
+
- **{Data}** state change
|
|
93
|
+
|
|
94
|
+
Example:
|
|
95
|
+
```
|
|
96
|
+
[Click "Invite teammate"] →
|
|
97
|
+
(Modal opens with email field) →
|
|
98
|
+
[Type email + assign role] →
|
|
99
|
+
[Click "Send invite"] →
|
|
100
|
+
{Invite record created} →
|
|
101
|
+
(Email sent to recipient) →
|
|
102
|
+
(Success toast: «Invite sent») →
|
|
103
|
+
Exit: invitation pending
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Step 2 — Decision Points
|
|
107
|
+
|
|
108
|
+
Where flow branches based on:
|
|
109
|
+
- User input (role selection, plan choice)
|
|
110
|
+
- System state (feature availability, quota)
|
|
111
|
+
- Data (existing user vs new, permissions)
|
|
112
|
+
|
|
113
|
+
Diagram: use if/else or case statements:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
After [Enter email]:
|
|
117
|
+
IF email is existing user:
|
|
118
|
+
→ Step: Existing user flow (add to team)
|
|
119
|
+
ELIF email domain blocked by policy:
|
|
120
|
+
→ Error: «Domain not allowed by your org»
|
|
121
|
+
ELSE:
|
|
122
|
+
→ Continue: Invite new user flow
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Step 3 — Error States
|
|
126
|
+
|
|
127
|
+
For each system failure mode:
|
|
128
|
+
- **Trigger** — what causes it
|
|
129
|
+
- **User-visible message** — exact copy
|
|
130
|
+
- **Recovery action** — what user can do
|
|
131
|
+
- **System state** — logged? retryable?
|
|
132
|
+
|
|
133
|
+
Common errors:
|
|
134
|
+
- Network failure
|
|
135
|
+
- Validation failure
|
|
136
|
+
- Permission denied
|
|
137
|
+
- Quota exceeded
|
|
138
|
+
- 3rd party integration down
|
|
139
|
+
- Stale data / concurrent modification
|
|
140
|
+
|
|
141
|
+
### Step 4 — Empty / Loading States
|
|
142
|
+
|
|
143
|
+
- **Empty state:** first-time user, no data yet. What do they see?
|
|
144
|
+
- **Loading state:** what during network calls?
|
|
145
|
+
- **Partial state:** some data loaded, some loading?
|
|
146
|
+
|
|
147
|
+
### Step 5 — Exit Points
|
|
148
|
+
|
|
149
|
+
Categorize all exits:
|
|
150
|
+
- **Success:** task completed
|
|
151
|
+
- **Intentional abandon:** user cancelled
|
|
152
|
+
- **Implicit abandon:** user left without action (session timeout, closed tab)
|
|
153
|
+
- **Failure:** hard error, unrecoverable
|
|
154
|
+
|
|
155
|
+
For each exit:
|
|
156
|
+
- What happens in system
|
|
157
|
+
- What user feels
|
|
158
|
+
- Can they re-enter flow?
|
|
159
|
+
|
|
160
|
+
### Step 6 — Metrics Instrumentation
|
|
161
|
+
|
|
162
|
+
Per flow step:
|
|
163
|
+
- **Event name** (e.g., `invite_modal_opened`, `invite_sent_success`)
|
|
164
|
+
- **Properties** (role, source, etc.)
|
|
165
|
+
- **Conversion funnel** — start to success rate
|
|
166
|
+
- **Drop-off per step**
|
|
167
|
+
|
|
168
|
+
This feeds into AARRR + success metrics.
|
|
169
|
+
|
|
170
|
+
### Step 7 — Visualization
|
|
171
|
+
|
|
172
|
+
Options:
|
|
173
|
+
- **ASCII diagram** (for text-based docs)
|
|
174
|
+
- **Mermaid** (GitHub renders inline)
|
|
175
|
+
- **Figma / Whimsical / Miro** (for presentations)
|
|
176
|
+
|
|
177
|
+
Mermaid example:
|
|
178
|
+
```mermaid
|
|
179
|
+
flowchart TD
|
|
180
|
+
A[Click Invite] --> B{User in system?}
|
|
181
|
+
B -->|Yes| C[Add to team flow]
|
|
182
|
+
B -->|No| D[Send invite]
|
|
183
|
+
D --> E[Success toast]
|
|
184
|
+
D --> F[Error: email invalid]
|
|
185
|
+
F --> D
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Validation (Quality Gate)
|
|
189
|
+
|
|
190
|
+
- [ ] Entry + exit points are explicit
|
|
191
|
+
- [ ] Preconditions listed
|
|
192
|
+
- [ ] Happy path step-by-step
|
|
193
|
+
- [ ] ≥ 2 decision points (except trivially linear)
|
|
194
|
+
- [ ] ≥ 3 error states with recovery
|
|
195
|
+
- [ ] Empty / loading states covered
|
|
196
|
+
- [ ] All exits categorized (success / abandon / fail)
|
|
197
|
+
- [ ] Metric events defined per step
|
|
198
|
+
- [ ] Visualized (diagram)
|
|
199
|
+
|
|
200
|
+
## Handoff
|
|
201
|
+
|
|
202
|
+
The result is input for:
|
|
203
|
+
- **`design-brief`** → flow → screens needed
|
|
204
|
+
- **UX Designer** → wireframes per step
|
|
205
|
+
- **Engineering** → API design per action
|
|
206
|
+
- **Data Analyst** → instrumentation plan
|
|
207
|
+
- **QA** → test scenarios per flow
|
|
208
|
+
|
|
209
|
+
Format: user flow doc (markdown + Mermaid/diagram). Via `$handoff`.
|
|
210
|
+
|
|
211
|
+
## Anti-patterns
|
|
212
|
+
|
|
213
|
+
| Error | Why it's bad | How to do it right |
|
|
214
|
+
|-------|-------------|-------------------|
|
|
215
|
+
| Happy path only | Production is edges | ≥ 3 error states |
|
|
216
|
+
| No decision points | Linear ≠ reality | Explicit branching |
|
|
217
|
+
| No empty state | First-time users confused | Always cover empty |
|
|
218
|
+
| No metrics | Can't measure funnel | Events per step |
|
|
219
|
+
| Text walls without diagram | Hard to follow | Visualize |
|
|
220
|
+
| No recovery paths | Users stuck | Every error has recovery |
|
|
221
|
+
|
|
222
|
+
## Template
|
|
223
|
+
|
|
224
|
+
```markdown
|
|
225
|
+
# User Flow: [Name]
|
|
226
|
+
|
|
227
|
+
## Purpose
|
|
228
|
+
[What user accomplishes]
|
|
229
|
+
|
|
230
|
+
## Actors
|
|
231
|
+
[Primary user + any secondary]
|
|
232
|
+
|
|
233
|
+
## Preconditions
|
|
234
|
+
- Auth: [logged in as X]
|
|
235
|
+
- State: [data state required]
|
|
236
|
+
|
|
237
|
+
## Entry Points
|
|
238
|
+
1. [Source A]
|
|
239
|
+
2. [Source B]
|
|
240
|
+
|
|
241
|
+
## Happy Path
|
|
242
|
+
1. [Action] → (System response)
|
|
243
|
+
2. ...
|
|
244
|
+
|
|
245
|
+
## Decision Points
|
|
246
|
+
- After step X:
|
|
247
|
+
- IF [condition] → [branch A]
|
|
248
|
+
- ELSE → [branch B]
|
|
249
|
+
|
|
250
|
+
## Error States
|
|
251
|
+
| # | Trigger | Message | Recovery |
|
|
252
|
+
| 1 | Invalid email | «Email format invalid» | Re-enter |
|
|
253
|
+
|
|
254
|
+
## Empty / Loading States
|
|
255
|
+
- Empty: [state]
|
|
256
|
+
- Loading: [state]
|
|
257
|
+
|
|
258
|
+
## Exit Points
|
|
259
|
+
- Success: [end state]
|
|
260
|
+
- Abandon: [what happens]
|
|
261
|
+
- Fail: [what happens]
|
|
262
|
+
|
|
263
|
+
## Metrics
|
|
264
|
+
- Event: `flow_started` — when entering
|
|
265
|
+
- Event: `flow_step_X_completed` — per step
|
|
266
|
+
- Event: `flow_succeeded` — success exit
|
|
267
|
+
- Event: `flow_abandoned` — abandon exit
|
|
268
|
+
- Funnel: start → success conversion
|
|
269
|
+
|
|
270
|
+
## Diagram
|
|
271
|
+
[Mermaid or link to Figma]
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Worked Example — TeamFlow AI-Enabled 1:1 Full Flow
|
|
275
|
+
|
|
276
|
+
```markdown
|
|
277
|
+
# User Flow: AI-Enabled 1:1 (End-to-End)
|
|
278
|
+
|
|
279
|
+
## Purpose
|
|
280
|
+
Manager conducts 1:1 with AI assistance — from scheduling to reviewing AI-generated summary + action items.
|
|
281
|
+
This covers Stories S1, S2, S3, S4, S5 end-to-end.
|
|
282
|
+
|
|
283
|
+
## Actors
|
|
284
|
+
- **Primary:** People Manager (end-user, 5-15 direct reports)
|
|
285
|
+
- **Secondary:** Direct Report (sees AI consent prompt, may view shared summary)
|
|
286
|
+
- **Tertiary:** Admin (sets org-wide policy, affects defaults)
|
|
287
|
+
|
|
288
|
+
## Preconditions
|
|
289
|
+
- **Auth:** Manager logged into TeamFlow, on Team Tier account
|
|
290
|
+
- **State:** Manager has upcoming 1:1 scheduled, AI feature enabled at org level
|
|
291
|
+
- **Data:** Report has TeamFlow account + consented to AI recording (one-time org-level or per-meeting)
|
|
292
|
+
- **Browser:** Chrome/Edge/Safari/Firefox supporting MediaRecorder API
|
|
293
|
+
|
|
294
|
+
## Entry Points
|
|
295
|
+
1. Click on 1:1 in TeamFlow calendar view → meeting details page
|
|
296
|
+
2. Email reminder «Your 1:1 with Sarah starts in 10 min» → click link
|
|
297
|
+
3. Slack integration notification (if enabled by user)
|
|
298
|
+
|
|
299
|
+
## Happy Path
|
|
300
|
+
|
|
301
|
+
### Before meeting (pre-start)
|
|
302
|
+
```
|
|
303
|
+
1. [Manager views 1:1 meeting page]
|
|
304
|
+
→ (Page shows meeting info + attendees + previous summary)
|
|
305
|
+
|
|
306
|
+
2. [Manager toggles "Use AI this meeting" ON]
|
|
307
|
+
→ {State: ai_enabled = true, saved to meeting record}
|
|
308
|
+
→ (Confirmation toast: "AI will generate summary after meeting ends")
|
|
309
|
+
|
|
310
|
+
3. [Manager clicks "Start meeting"]
|
|
311
|
+
→ (System prompts for microphone permission if not granted)
|
|
312
|
+
→ (Once granted: recording starts + AI transcription begins)
|
|
313
|
+
→ {Event: meeting_started with ai_enabled=true}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### During meeting
|
|
317
|
+
```
|
|
318
|
+
4. [Manager + Report converse normally]
|
|
319
|
+
→ (UI shows: recording indicator, duration timer, «AI is listening» subtle banner)
|
|
320
|
+
→ (Transcription accumulates in memory, not visible to user)
|
|
321
|
+
→ (Report sees same indicators through own TeamFlow session)
|
|
322
|
+
|
|
323
|
+
5. Optional: [Manager clicks "pause AI" for sensitive topic]
|
|
324
|
+
→ {Transcription suspended}
|
|
325
|
+
→ (UI shows: «AI paused — resume when ready»)
|
|
326
|
+
→ After 30 sec or resume click → transcription resumes
|
|
327
|
+
|
|
328
|
+
6. [Manager adds manual notes (optional) in parallel text area]
|
|
329
|
+
→ {Manual notes saved separately from AI transcript}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### End of meeting
|
|
333
|
+
```
|
|
334
|
+
7. [Manager clicks "End meeting"]
|
|
335
|
+
→ {Event: meeting_ended with duration, manual_notes_length}
|
|
336
|
+
→ (Modal: "AI is generating summary — you can close this or stay to review")
|
|
337
|
+
|
|
338
|
+
8. [System generates summary via LLM API]
|
|
339
|
+
→ {Latency target: <60s p95}
|
|
340
|
+
→ (Streaming UI: sections populate as generated)
|
|
341
|
+
→ {Event: ai_summary_generated, ai_provider, latency, confidence_avg}
|
|
342
|
+
|
|
343
|
+
9. [Manager sees summary review interface]
|
|
344
|
+
→ (Sections visible: Topics discussed, Decisions, Action items with confidence indicators)
|
|
345
|
+
→ (Auto-save of draft state)
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### Review phase
|
|
349
|
+
```
|
|
350
|
+
10. [Manager reviews summary content]
|
|
351
|
+
→ (Can read, optionally scroll, decide to edit or approve)
|
|
352
|
+
|
|
353
|
+
11A. [Manager is satisfied → clicks "Approve"]
|
|
354
|
+
→ (Confirmation modal: "Approve summary? Action items will be tracked.")
|
|
355
|
+
→ [Manager confirms]
|
|
356
|
+
→ {Event: ai_summary_approved, time_to_approve}
|
|
357
|
+
→ (Summary moves to «Approved», action items flow to tracking queue)
|
|
358
|
+
→ (Redirect to 1:1 history view)
|
|
359
|
+
|
|
360
|
+
11B. [Manager wants edits → enters edit mode]
|
|
361
|
+
→ (Inline editor enabled for each section)
|
|
362
|
+
→ {State: editing_mode = true}
|
|
363
|
+
→ ...continue to Scenario Edit
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
## Decision Points
|
|
367
|
+
|
|
368
|
+
```
|
|
369
|
+
After Step 2 (AI toggle):
|
|
370
|
+
IF org policy "AI disabled" → toggle greyed out, tooltip «Contact admin»
|
|
371
|
+
ELIF report not consented → show consent prompt before manager can enable
|
|
372
|
+
ELIF first-time user → show quick onboarding tooltip
|
|
373
|
+
|
|
374
|
+
After Step 3 (start meeting):
|
|
375
|
+
IF microphone permission denied → fallback to manual-notes-only mode, AI disabled for meeting
|
|
376
|
+
ELIF audio stream fails mid-meeting → retry, if second fail → warn manager, continue without AI
|
|
377
|
+
|
|
378
|
+
After Step 8 (summary generation):
|
|
379
|
+
IF LLM primary provider fails → failover to secondary (Anthropic) — transparent
|
|
380
|
+
ELIF both providers fail → show fallback «AI summary unavailable — we'll email when ready»
|
|
381
|
+
ELIF meeting duration <5 min → skip summary generation, show «Meeting too short» message
|
|
382
|
+
|
|
383
|
+
After Step 10 (review):
|
|
384
|
+
IF manager idle >7 days without action → email reminder «Don't forget to review»
|
|
385
|
+
IF manager never reviews → auto-mark draft as "unreviewed" after 30 days (not auto-approve)
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
## Error States
|
|
389
|
+
|
|
390
|
+
| # | Trigger | User-visible message | Recovery Action | System State |
|
|
391
|
+
|---|---------|----------------------|-----------------|--------------|
|
|
392
|
+
| 1 | Microphone permission denied | "AI needs microphone access — click here to allow, or continue without AI" | Re-request permission OR fallback to manual notes | Event `permission_denied` logged |
|
|
393
|
+
| 2 | Audio stream interrupted >30s | Banner: "Audio connection lost. Reconnecting…" | Auto-retry 3× in 30s intervals; if still failing, end AI recording gracefully | Event `audio_stream_lost` |
|
|
394
|
+
| 3 | LLM provider down | "Summary is taking longer than usual — we'll email you when ready (within 24h)" | Background job retries; email notification on success | Event `ai_summary_timeout_fallback` |
|
|
395
|
+
| 4 | Both LLM providers down | "AI summary unavailable right now. Your manual notes are preserved." | Email within 24h when recovered: «Want to retry?» | Event `ai_summary_unavailable` |
|
|
396
|
+
| 5 | Report revoked consent mid-meeting | "Sarah turned off AI recording. Switching to manual notes." | AI stops; manual notes mode continues | Event `ai_declined_by_participant` |
|
|
397
|
+
| 6 | Summary quality low confidence | Warning banner: «This summary had low confidence — review carefully before approving» | User reviews carefully, or requests regeneration (once) | Event `ai_summary_low_confidence` |
|
|
398
|
+
|
|
399
|
+
## Empty States
|
|
400
|
+
|
|
401
|
+
- **First-time user, no previous 1:1s:** Show onboarding tour (3 tooltips: what AI does, how to enable, how to review)
|
|
402
|
+
- **No action items extracted:** "No action items identified" with explanatory tooltip «You can add manually»
|
|
403
|
+
- **No summary sections populated:** «Meeting was very short — manual notes preserved, no AI summary» (skipped if <5 min)
|
|
404
|
+
|
|
405
|
+
## Loading States
|
|
406
|
+
|
|
407
|
+
- **Step 3 (starting recording):** Button state: "Starting…" → disabled → "Recording" (red dot indicator)
|
|
408
|
+
- **Step 8 (summary generation):**
|
|
409
|
+
- 0-5s: No indicator (feels instant)
|
|
410
|
+
- 5-30s: Progress bar appears («Generating summary…»)
|
|
411
|
+
- 30-60s: Section-by-section streaming (topics first, action items last typically)
|
|
412
|
+
- 60s+: Switch to async mode («Taking longer — we'll email you»)
|
|
413
|
+
- **Step 10 (editor loading):** Skeleton screen with placeholder text in ~300ms
|
|
414
|
+
|
|
415
|
+
## Exit Points
|
|
416
|
+
|
|
417
|
+
### Success exits
|
|
418
|
+
- **Approved summary** (Step 11A): redirects to 1:1 history view with green toast
|
|
419
|
+
- **Saved draft and left** (Step 11B interrupt): state preserved, resumed via notification
|
|
420
|
+
|
|
421
|
+
### Abandon exits
|
|
422
|
+
- **Closed meeting modal before summary ready** (Step 7-8): summary generates in background, user receives notification
|
|
423
|
+
- **Left review without approving**: draft preserved; email reminder after 3 days
|
|
424
|
+
|
|
425
|
+
### Fail exits
|
|
426
|
+
- **AI unavailable, fallback to manual** (error 4): user continues with manual notes workflow; meeting still counts
|
|
427
|
+
- **Mic permission denied fallback** (error 1): manual notes only; no AI artifacts created
|
|
428
|
+
|
|
429
|
+
## Metrics Instrumentation
|
|
430
|
+
|
|
431
|
+
### Events per step
|
|
432
|
+
- `ai_toggle_enabled` — Step 2: properties `{meeting_id, user_id, org_policy}`
|
|
433
|
+
- `meeting_started` — Step 3: `{ai_enabled, mic_permission_status}`
|
|
434
|
+
- `meeting_ended` — Step 7: `{duration, manual_notes_chars, participants_count}`
|
|
435
|
+
- `ai_summary_generated` — Step 8: `{latency, provider, confidence_avg, summary_length}`
|
|
436
|
+
- `summary_review_opened` — Step 9: `{time_from_meeting_end}`
|
|
437
|
+
- `summary_edited` — Step 11B: `{sections_edited, char_delta, time_in_edit}`
|
|
438
|
+
- `summary_approved` — Step 11A: `{time_to_approve, edit_count}`
|
|
439
|
+
|
|
440
|
+
### Funnel metrics
|
|
441
|
+
```
|
|
442
|
+
Started AI meeting (Step 3) 100%
|
|
443
|
+
│
|
|
444
|
+
▼
|
|
445
|
+
Summary generated (Step 8) 92% (8% lost: mic denied, too short, stream fail)
|
|
446
|
+
│
|
|
447
|
+
▼
|
|
448
|
+
Summary reviewed (Step 10, opened) 87% (5% unreviewed after 7 days)
|
|
449
|
+
│
|
|
450
|
+
▼
|
|
451
|
+
Summary approved (Step 11A) 78% (9% left in draft, 82% of reviewed = approved)
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### Quality metrics
|
|
455
|
+
- **Edit rate** = summaries edited / summaries reviewed (target: 30-50%)
|
|
456
|
+
- **Time-to-approve** = median time from generation to approval (target: ≤2 min)
|
|
457
|
+
- **Error rate** = failed summaries / total attempts (target: <2%)
|
|
458
|
+
- **P95 latency** = summary generation latency (target: ≤60s)
|
|
459
|
+
|
|
460
|
+
## Diagram (Mermaid)
|
|
461
|
+
|
|
462
|
+
```mermaid
|
|
463
|
+
flowchart TD
|
|
464
|
+
A[Manager views 1:1 page] --> B{AI toggle on?}
|
|
465
|
+
B -->|No| Z1[Manual notes workflow]
|
|
466
|
+
B -->|Yes, enabled| C{Report consented?}
|
|
467
|
+
C -->|No| D[Show consent prompt]
|
|
468
|
+
D --> E{Report accepts?}
|
|
469
|
+
E -->|Yes| F
|
|
470
|
+
E -->|No| Z1
|
|
471
|
+
C -->|Yes| F{Mic permission?}
|
|
472
|
+
F -->|Denied| G[Fallback: manual only]
|
|
473
|
+
F -->|Granted| H[Start recording]
|
|
474
|
+
H --> I[Meeting in progress]
|
|
475
|
+
I --> J{End meeting}
|
|
476
|
+
J --> K[Generate summary]
|
|
477
|
+
K --> L{Provider available?}
|
|
478
|
+
L -->|No, both fail| M[Email later fallback]
|
|
479
|
+
L -->|Yes| N{Meeting >=5 min?}
|
|
480
|
+
N -->|No| O[Skip summary]
|
|
481
|
+
N -->|Yes| P[Show review UI]
|
|
482
|
+
P --> Q{Manager action}
|
|
483
|
+
Q -->|Edit + Approve| R[Action items tracked]
|
|
484
|
+
Q -->|Approve direct| R
|
|
485
|
+
Q -->|Leave draft| S[Reminder after 3d]
|
|
486
|
+
Q -->|Abandon| T[Expires after 30d]
|
|
487
|
+
R --> U[Next 1:1 reminder]
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
> **user-flow lesson:** Comprehensive flow doc shows why **11 scenarios** exist in the AC for Story S2 — each decision point or error state is a scenario. Flow first, AC second — you can't write AC without understanding flow. **6 error states + 3 empty states + 3 loading states** for a single flow is normal for production B2B — users encounter edges more in the wild than you expect.
|
|
491
|
+
```
|