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,406 +1,422 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: acceptance-criteria
|
|
3
|
-
description: Критерии приёмки — Gherkin (Given / When / Then) или scenario-based
|
|
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
|
-
When [действие]
|
|
245
|
-
Then
|
|
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
|
-
And
|
|
277
|
-
And
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
# ============
|
|
298
|
-
|
|
299
|
-
Scenario:
|
|
300
|
-
Given Maria ended
|
|
301
|
-
When
|
|
302
|
-
Then
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
And event «
|
|
320
|
-
And
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
And
|
|
336
|
-
And
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
And
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
Scenario
|
|
366
|
-
Given
|
|
367
|
-
When
|
|
368
|
-
Then
|
|
369
|
-
And
|
|
370
|
-
|
|
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
|
-
|
|
1
|
+
---
|
|
2
|
+
name: acceptance-criteria
|
|
3
|
+
description: Критерии приёмки — Gherkin (Given / When / Then) или scenario-based
|
|
4
|
+
type: triggered
|
|
5
|
+
domain: product
|
|
6
|
+
owners:
|
|
7
|
+
- pm
|
|
8
|
+
gates:
|
|
9
|
+
- PM
|
|
10
|
+
tech: []
|
|
11
|
+
topic: []
|
|
12
|
+
triggers:
|
|
13
|
+
- "acceptance-criteria"
|
|
14
|
+
- "acceptance criteria"
|
|
15
|
+
- "критерии приёмки"
|
|
16
|
+
- "Gherkin"
|
|
17
|
+
related: []
|
|
18
|
+
budget_lines: 422
|
|
19
|
+
schema_version: 1
|
|
20
|
+
---
|
|
21
|
+
# Acceptance Criteria
|
|
22
|
+
|
|
23
|
+
> **Категория:** Specification · **Slug:** `acceptance-criteria`
|
|
24
|
+
|
|
25
|
+
## Когда использовать
|
|
26
|
+
|
|
27
|
+
- Для каждой user story в PRD.
|
|
28
|
+
- Как контракт между PM и Engineering.
|
|
29
|
+
- Для QA test cases (AC → тест-сценарии).
|
|
30
|
+
- При спорах о «готова ли story?» — AC = оракул.
|
|
31
|
+
|
|
32
|
+
## Вход
|
|
33
|
+
|
|
34
|
+
| Поле | Обязательно | Описание |
|
|
35
|
+
|------|:-----------:|----------|
|
|
36
|
+
| User story | ✅ | Через `$user-story` |
|
|
37
|
+
| UX flow / wireframe | ⬚ | Если поток сложный |
|
|
38
|
+
| Edge cases | ⬚ | Ошибочные состояния, лимиты |
|
|
39
|
+
| Data constraints | ⬚ | Правила валидации |
|
|
40
|
+
|
|
41
|
+
## Источники данных
|
|
42
|
+
|
|
43
|
+
1. User story — как отправная точка.
|
|
44
|
+
2. UX wireframes — визуальные подсказки для сценариев.
|
|
45
|
+
3. NFR-требования — для нефункциональных AC.
|
|
46
|
+
4. Интервью с клиентами — граничные случаи пользователей.
|
|
47
|
+
|
|
48
|
+
### Связь с другими скилами
|
|
49
|
+
|
|
50
|
+
| Скил | Что берём | Когда вызывать |
|
|
51
|
+
|------|-----------|----------------|
|
|
52
|
+
| `user-story` | Story → AC сценарии | Родительский скил |
|
|
53
|
+
| `user-flow` | Шаги потока → сценарии | Для сложных потоков |
|
|
54
|
+
| `prd-template` | Где в PRD | Встроен в stories |
|
|
55
|
+
| `hypothesis-template` | Тестируемое поведение | Для экспериментальных stories |
|
|
56
|
+
|
|
57
|
+
## Два формата
|
|
58
|
+
|
|
59
|
+
### A. Gherkin (Given / When / Then)
|
|
60
|
+
|
|
61
|
+
```gherkin
|
|
62
|
+
Scenario: [Короткое описательное название]
|
|
63
|
+
Given [начальный контекст / предусловие]
|
|
64
|
+
When [действие / событие]
|
|
65
|
+
Then [ожидаемый результат]
|
|
66
|
+
And [дополнительный результат]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Плюсы: структурированный, совместим с инструментами тестирования (Cucumber), BDD-стиль.
|
|
70
|
+
Минусы: многословный, негибкий для сложных данных.
|
|
71
|
+
|
|
72
|
+
### B. Scenario-based чеклист
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
## Scenario: [Название]
|
|
76
|
+
- Precondition: [состояние]
|
|
77
|
+
- Action: [пользователь делает X]
|
|
78
|
+
- Expected: [результат]
|
|
79
|
+
- Error case: [что происходит, когда X не удаётся]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Плюсы: гибкий, читаемый для нетехнических стейкхолдеров.
|
|
83
|
+
Минусы: менее строгий, не автоматизируется напрямую.
|
|
84
|
+
|
|
85
|
+
**Выбор:** Gherkin для сложного поведения (особенно API / backend), scenario для UI-heavy stories.
|
|
86
|
+
|
|
87
|
+
## Протокол
|
|
88
|
+
|
|
89
|
+
### Шаг 1 — Сначала Happy Path
|
|
90
|
+
|
|
91
|
+
Набросать сценарий happy path. Это основной поток, который проходят 80% пользователей.
|
|
92
|
+
|
|
93
|
+
```gherkin
|
|
94
|
+
Scenario: Admin creates a new team role
|
|
95
|
+
Given an admin is on the Teams settings page
|
|
96
|
+
When they click "New role template"
|
|
97
|
+
And fill in name "Senior Engineer" and select 12 permissions
|
|
98
|
+
And click "Save"
|
|
99
|
+
Then the role is saved
|
|
100
|
+
And appears в roles list
|
|
101
|
+
And is selectable при adding new team members
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Шаг 2 — Предусловия
|
|
105
|
+
|
|
106
|
+
Каждый сценарий — что должно быть истиной до начала. Избегать неявных допущений.
|
|
107
|
+
|
|
108
|
+
Предусловия для фиксации:
|
|
109
|
+
- Состояние аутентификации пользователя (авторизован, роль, разрешения)
|
|
110
|
+
- Состояние данных (существующие сущности, счётчики)
|
|
111
|
+
- Флаги функций
|
|
112
|
+
- Время / дата (для чувствительных ко времени функций)
|
|
113
|
+
|
|
114
|
+
### Шаг 3 — Граничные случаи
|
|
115
|
+
|
|
116
|
+
Для каждой story — подумать о:
|
|
117
|
+
- **Пустое состояние:** нет данных, первый запуск пользователя
|
|
118
|
+
- **Граничные значения:** 0, 1, максимум, максимум+1
|
|
119
|
+
- **Параллелизм:** два пользователя действуют одновременно
|
|
120
|
+
- **Разрешения:** пользователь без разрешения пытается выполнить действие
|
|
121
|
+
- **Сеть:** офлайн, медленная сеть, таймаут
|
|
122
|
+
- **Валидация:** некорректный ввод, XSS, инъекция
|
|
123
|
+
- **Идемпотентность:** одно и то же действие дважды
|
|
124
|
+
|
|
125
|
+
B2B-специфичные граничные случаи:
|
|
126
|
+
- Граничные случаи SSO (пользователь деактивирован в IdP)
|
|
127
|
+
- Администратор без разрешения пытается выполнить ограниченное действие
|
|
128
|
+
- Сбои интеграций (сторонний сервис недоступен)
|
|
129
|
+
- Ограничения скорости / квоты
|
|
130
|
+
|
|
131
|
+
### Шаг 4 — Сценарии ошибок
|
|
132
|
+
|
|
133
|
+
Для каждого видимого пользователю режима сбоя:
|
|
134
|
+
- Что его вызывает
|
|
135
|
+
- Что видит пользователь (сообщение об ошибке, действие восстановления)
|
|
136
|
+
- Состояние системы после (залогировано? повторяемо?)
|
|
137
|
+
|
|
138
|
+
```gherkin
|
|
139
|
+
Scenario: Save fails due to name conflict
|
|
140
|
+
Given a role named "Senior Engineer" exists
|
|
141
|
+
When admin tries to create role with same name
|
|
142
|
+
Then display error "Role name already exists"
|
|
143
|
+
And do not save
|
|
144
|
+
And focus name field for correction
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Шаг 5 — Нефункциональные сценарии
|
|
148
|
+
|
|
149
|
+
Отдельные AC для NFR, если применимо:
|
|
150
|
+
|
|
151
|
+
```gherkin
|
|
152
|
+
Scenario: Role creation — performance
|
|
153
|
+
Given a team with 500 existing roles
|
|
154
|
+
When admin adds a new role
|
|
155
|
+
Then response returns < 500ms p95
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
```gherkin
|
|
159
|
+
Scenario: Role creation — audit
|
|
160
|
+
When any role is created, updated, or deleted
|
|
161
|
+
Then an audit log entry is written с user id, timestamp, before/after diff
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Шаг 6 — Вариации данных
|
|
165
|
+
|
|
166
|
+
Для AC, управляемых данными, использовать таблицы:
|
|
167
|
+
|
|
168
|
+
```gherkin
|
|
169
|
+
Scenario Outline: Role validation rejects invalid names
|
|
170
|
+
Given admin is creating a role
|
|
171
|
+
When they enter name "<name>"
|
|
172
|
+
Then they see error "<error>"
|
|
173
|
+
|
|
174
|
+
Examples:
|
|
175
|
+
| name | error |
|
|
176
|
+
| "" | Название обязательно |
|
|
177
|
+
| [255 char string] | Название должно быть < 255 символов |
|
|
178
|
+
| "admin" | Название конфликтует с системной ролью |
|
|
179
|
+
| "<script>alert(1)</script>" | Название содержит недопустимые символы |
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Шаг 7 — Чеклист «Готово»
|
|
183
|
+
|
|
184
|
+
- [ ] Сценарий happy path
|
|
185
|
+
- [ ] Граничные случаи покрыты (пустой / граничные значения / параллелизм / разрешения)
|
|
186
|
+
- [ ] Сценарии ошибок с сообщениями
|
|
187
|
+
- [ ] Предусловия явны
|
|
188
|
+
- [ ] Вариации данных для правил валидации
|
|
189
|
+
- [ ] NFR (если применимо) отдельно
|
|
190
|
+
- [ ] Нет неоднозначных формулировок («быстро», «удобно»)
|
|
191
|
+
|
|
192
|
+
## Валидация (Quality Gate)
|
|
193
|
+
|
|
194
|
+
- [ ] Каждая story имеет ≥ 1 AC
|
|
195
|
+
- [ ] Happy path покрыт
|
|
196
|
+
- [ ] ≥ 2 граничных случая (кроме тривиальных stories)
|
|
197
|
+
- [ ] ≥ 1 сценарий ошибки
|
|
198
|
+
- [ ] Предусловия явны
|
|
199
|
+
- [ ] Нет неоднозначных глаголов («должно работать правильно»)
|
|
200
|
+
- [ ] NFR AC для performance/security/compliance-критичных stories
|
|
201
|
+
- [ ] Формат (Gherkin или scenario) единообразен на весь PRD
|
|
202
|
+
|
|
203
|
+
## Handoff
|
|
204
|
+
|
|
205
|
+
Результат является входом для:
|
|
206
|
+
- **Engineering** → реализация + написание тестов
|
|
207
|
+
- **QA** → автоматизированные тест-кейсы
|
|
208
|
+
- **Designer** → мокапы ошибочных состояний
|
|
209
|
+
|
|
210
|
+
Формат: AC встроены в карточку user story. Через `$handoff`.
|
|
211
|
+
|
|
212
|
+
## Anti-patterns
|
|
213
|
+
|
|
214
|
+
| Ошибка | Почему плохо | Как правильно |
|
|
215
|
+
|--------|-------------|---------------|
|
|
216
|
+
| Неоднозначно («быстро», «легко») | Не тестируемо | Конкретные пороги |
|
|
217
|
+
| Только happy path | Баги в граничных случаях | ≥ 2 граничных случая |
|
|
218
|
+
| Специфично для реализации | «Нажать синюю кнопку» | «Когда пользователь сохраняет» (UI-независимо) |
|
|
219
|
+
| Смешивать AC с заметками реализации | Путает контракт | Заметки отдельно |
|
|
220
|
+
| Слишком много сценариев (20+) | Бремя обслуживания | Разбить story |
|
|
221
|
+
| Нет NFR AC | Критические баги уходят в прод | NFR явно |
|
|
222
|
+
| Нет определённых сообщений об ошибках | Непоследовательный UX | Конкретный текст для каждой ошибки |
|
|
223
|
+
|
|
224
|
+
## Шаблон
|
|
225
|
+
|
|
226
|
+
```markdown
|
|
227
|
+
## Story: [Название]
|
|
228
|
+
|
|
229
|
+
### Acceptance Criteria
|
|
230
|
+
|
|
231
|
+
**Happy path:**
|
|
232
|
+
```gherkin
|
|
233
|
+
Scenario: [название]
|
|
234
|
+
Given [предусловие]
|
|
235
|
+
When [действие]
|
|
236
|
+
Then [результат]
|
|
237
|
+
And [результат]
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**Граничные случаи:**
|
|
241
|
+
```gherkin
|
|
242
|
+
Scenario: [название граничного случая]
|
|
243
|
+
Given [предусловие]
|
|
244
|
+
When [действие]
|
|
245
|
+
Then [результат]
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Сценарии ошибок:**
|
|
249
|
+
```gherkin
|
|
250
|
+
Scenario: [название ошибки]
|
|
251
|
+
Given [предусловие]
|
|
252
|
+
When [неуспешное действие]
|
|
253
|
+
Then [сообщение об ошибке]
|
|
254
|
+
And [восстановление]
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**NFR (если применимо):**
|
|
258
|
+
```gherkin
|
|
259
|
+
Scenario: Performance
|
|
260
|
+
When [действие]
|
|
261
|
+
Then response < 200ms p95
|
|
262
|
+
```
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Worked Example — TeamFlow AC: Story S2 "Receive AI Summary Within 60 Seconds"
|
|
266
|
+
|
|
267
|
+
**Контекст:** Полный Gherkin AC для флагманской story (S2 из скила user-story). Демонстрирует happy path + граничные случаи + ошибки + NFR + вариации данных.
|
|
268
|
+
|
|
269
|
+
```gherkin
|
|
270
|
+
# Acceptance Criteria: S2 Receive AI Summary Within 60 Seconds
|
|
271
|
+
|
|
272
|
+
# ============ HAPPY PATH ============
|
|
273
|
+
|
|
274
|
+
Scenario: Manager ends 1:1, AI generates summary within 60 seconds
|
|
275
|
+
Given Maria is on Team Tier account (AI Summarization enabled)
|
|
276
|
+
And Maria has AI-enabled 1:1 meeting «Sarah weekly sync» starting 10:00 AM
|
|
277
|
+
And meeting includes 23 minutes of recorded audio
|
|
278
|
+
When Maria clicks «End meeting» at 10:23 AM
|
|
279
|
+
Then within 60 seconds summary appears in meeting notes view
|
|
280
|
+
And summary includes sections: «Topics discussed», «Decisions», «Action items»
|
|
281
|
+
And action items list contains ≥ 1 extracted item (if discussion mentioned commitments)
|
|
282
|
+
And summary status is «Draft (AI)» (not «Approved»)
|
|
283
|
+
And event «ai_summary_generated» logged с meeting_id, duration, summary_id
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
# ============ STREAMING / LOADING ============
|
|
287
|
+
|
|
288
|
+
Scenario: Summary streams progressively if generation exceeds 10 seconds
|
|
289
|
+
Given Maria ended meeting successfully
|
|
290
|
+
When summary generation takes 35 seconds
|
|
291
|
+
Then loading indicator shows by 5th second
|
|
292
|
+
And first «Topics discussed» section appears as soon as generated (streaming)
|
|
293
|
+
And remaining sections populate progressively
|
|
294
|
+
And manager can read early sections without waiting for complete summary
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
# ============ BOUNDARY: MEETING DURATION ============
|
|
298
|
+
|
|
299
|
+
Scenario Outline: Summary behavior по meeting duration
|
|
300
|
+
Given Maria ended 1:1 meeting of <duration> minutes
|
|
301
|
+
When summary generation completes
|
|
302
|
+
Then summary section behavior is <behavior>
|
|
303
|
+
|
|
304
|
+
Examples:
|
|
305
|
+
| duration | behavior |
|
|
306
|
+
| 0-4 | Резюме не создаётся — отображается сообщение «Встреча слишком короткая» |
|
|
307
|
+
| 5-14 | Краткое резюме (2-3 темы, пункты действий если явные) |
|
|
308
|
+
| 15-45 | Полное стандартное резюме (все секции заполнены) |
|
|
309
|
+
| 46-120 | Расширенное резюме с добавленной секцией «Ключевые темы» |
|
|
310
|
+
| 121+ | Резюме создаётся с пометкой «Очень длинная встреча — просмотрите внимательно» |
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
# ============ ERROR SCENARIOS ============
|
|
314
|
+
|
|
315
|
+
Scenario: LLM API timeout — user sees fallback
|
|
316
|
+
Given Maria ended AI-enabled meeting
|
|
317
|
+
When LLM API не returns summary within 120 seconds (hard timeout)
|
|
318
|
+
Then manager sees message «Summary taking longer than expected — we'll email you when ready»
|
|
319
|
+
And event «ai_summary_timeout_fallback» logged
|
|
320
|
+
And background job continues attempting generation
|
|
321
|
+
And on success, manager получает in-product notification + email с summary
|
|
322
|
+
|
|
323
|
+
Scenario: LLM API hard error — graceful degradation
|
|
324
|
+
Given Maria ended AI-enabled meeting
|
|
325
|
+
When primary LLM provider returns 500 error after 3 retries
|
|
326
|
+
Then system automatically switches to secondary provider (Anthropic)
|
|
327
|
+
And event «ai_provider_failover» logged для ops review
|
|
328
|
+
And summary generates using secondary с quality parity
|
|
329
|
+
|
|
330
|
+
Scenario: Complete LLM failure (both providers) — manual fallback
|
|
331
|
+
Given Maria ended AI-enabled meeting
|
|
332
|
+
When both LLM providers unavailable для > 2 minutes
|
|
333
|
+
Then manager sees «AI summary unavailable this meeting — manual notes preserved»
|
|
334
|
+
And existing meeting notes (if any) не affected
|
|
335
|
+
And event «ai_summary_unavailable» logged
|
|
336
|
+
And within 24 hours manager получает email: «AI recovered — want to retry?»
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
# ============ PRIVACY & PERMISSION ============
|
|
340
|
+
|
|
341
|
+
Scenario: AI disabled org-wide — AI summary not generated
|
|
342
|
+
Given Maria's account admin set «AI org policy: disabled»
|
|
343
|
+
When Maria tries to enable AI for meeting
|
|
344
|
+
Then toggle is greyed out с tooltip «AI disabled by admin — contact admin»
|
|
345
|
+
And no AI summary generated after meeting end
|
|
346
|
+
|
|
347
|
+
Scenario: Meeting participant declined recording consent
|
|
348
|
+
Given Maria starts AI-enabled meeting с Sarah
|
|
349
|
+
When Sarah clicks «Decline AI recording» consent prompt
|
|
350
|
+
Then AI disables for this meeting
|
|
351
|
+
And Maria sees «Sarah declined AI — switching to manual notes»
|
|
352
|
+
And event «ai_declined_by_participant» logged
|
|
353
|
+
And Maria can take manual notes normally
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
# ============ NON-FUNCTIONAL REQUIREMENTS ============
|
|
357
|
+
|
|
358
|
+
Scenario: Summary generation p95 latency under 60 seconds
|
|
359
|
+
Given 100 completed AI-enabled meetings in past 7 days
|
|
360
|
+
When latency measured от «End meeting» event to «summary available» event
|
|
361
|
+
Then p95 latency ≤ 60 seconds
|
|
362
|
+
And p99 latency ≤ 90 seconds
|
|
363
|
+
And p50 latency ≤ 30 seconds
|
|
364
|
+
|
|
365
|
+
Scenario: Summary data encryption at rest
|
|
366
|
+
Given AI summary generated and stored
|
|
367
|
+
When database queried directly (не via API)
|
|
368
|
+
Then summary content encrypted с customer-specific key (AES-256)
|
|
369
|
+
And cannot be decrypted без customer-managed key (BYOK для Enterprise)
|
|
370
|
+
|
|
371
|
+
Scenario: Audit log completeness
|
|
372
|
+
Given any AI summary operation occurs (generate / edit / approve / delete)
|
|
373
|
+
When audit log queried для that meeting_id
|
|
374
|
+
Then every operation logged с timestamp, actor_id, action_type, meeting_id, summary_id
|
|
375
|
+
And log retention ≥ 365 days
|
|
376
|
+
And log entries immutable (tamper-evident)
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
# ============ DATA VARIATION: Action Items Extraction ============
|
|
380
|
+
|
|
381
|
+
Scenario Outline: Action items extraction confidence handling
|
|
382
|
+
Given 1:1 transcript contains statement: «<statement>»
|
|
383
|
+
When AI extracts action items
|
|
384
|
+
Then extraction should be <extraction>
|
|
385
|
+
And confidence should be <confidence>
|
|
386
|
+
|
|
387
|
+
Examples:
|
|
388
|
+
| statement | extraction | confidence |
|
|
389
|
+
| «Sarah, please review PR by Friday» | «Sarah: review PR, due Friday» | Высокая (>90%) |
|
|
390
|
+
| «Let's figure out the deployment plan» | Не извлечено (нет владельца/чёткого действия) | Низкая (<50%) |
|
|
391
|
+
| «I'll send you docs soon» | «Maria: send docs, due TBD» | Средняя (70-90%)|
|
|
392
|
+
| «We should probably talk to Dave about it» | Не извлечено (предположительно) | Низкая (<50%) |
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### Анализ плотности AC
|
|
396
|
+
|
|
397
|
+
- **12 сценариев итого** для одной story S2
|
|
398
|
+
- **Разбивка:**
|
|
399
|
+
- Happy path: 1
|
|
400
|
+
- Streaming / загрузка: 1
|
|
401
|
+
- Граничные случаи (продолжительность): 1 (с 5 вариантами)
|
|
402
|
+
- Сценарии ошибок: 3
|
|
403
|
+
- Конфиденциальность / разрешения: 2
|
|
404
|
+
- NFR: 3 (задержка, шифрование, аудит)
|
|
405
|
+
- Вариации данных: 1 (с 4 вариантами)
|
|
406
|
+
|
|
407
|
+
**Плотность соответствует L-sized (8 очков) story с критичными для безопасности + NFR-насыщенными требованиями.** Сравнительно с S1 (переключатель), у которой 4 более простых сценария.
|
|
408
|
+
|
|
409
|
+
### Распространённые ошибки AC, которых мы избежали
|
|
410
|
+
|
|
411
|
+
1. **Расплывчатые пороги:** Не «быстро» — «60s p95, 90s p99»
|
|
412
|
+
2. **Единственный happy path:** 11 нехappy-path сценариев, потому что продакшн — это граничные случаи
|
|
413
|
+
3. **Пропущена конфиденциальность:** 2 явных сценария конфиденциальности (отключение администратором, согласие участника) — блокеры для B2B
|
|
414
|
+
4. **Пропущены NFR:** Задержка + шифрование + аудит — всё является требованиями, но легко пропустить
|
|
415
|
+
5. **Специфика реализации:** «Пользователь нажимает синюю кнопку» — избегали — «Пользователь завершает встречу» (UI-независимо)
|
|
416
|
+
|
|
417
|
+
> **Урок AC:** L-story с AI + конфиденциальностью + NFR требует 10+ сценариев. Без комплексных AC:
|
|
418
|
+
> 1. Eng выкатывает happy path, сталкивается с граничными случаями в проде
|
|
419
|
+
> 2. QA не знает что тестировать → баги в граничных случаях
|
|
420
|
+
> 3. Требования конфиденциальности (отключение администратором, согласие участника) теряются
|
|
421
|
+
>
|
|
422
|
+
> Таблицы данных (Scenario Outline) сжимают вариации данных — 4 примера в 1 сценарии vs 4 сценария × дублированный скаффолд. Держать AC поддерживаемыми.
|