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.
Files changed (471) hide show
  1. package/README.md +83 -67
  2. package/dist/index.js +2 -0
  3. package/dist/mcp/audit_ledger.d.ts +12 -0
  4. package/dist/mcp/audit_ledger.js +82 -0
  5. package/dist/mcp/cli.js +7 -1
  6. package/dist/mcp/config.d.ts +23 -0
  7. package/dist/mcp/config.js +36 -0
  8. package/dist/mcp/index.d.ts +1 -2
  9. package/dist/mcp/index.js +1 -2
  10. package/dist/mcp/paths.d.ts +20 -2
  11. package/dist/mcp/paths.js +29 -5
  12. package/dist/mcp/proposal_dedup.d.ts +32 -0
  13. package/dist/mcp/proposal_dedup.js +102 -0
  14. package/dist/mcp/proposal_store.d.ts +18 -0
  15. package/dist/mcp/proposal_store.js +74 -0
  16. package/dist/mcp/scorecard.d.ts +140 -0
  17. package/dist/mcp/scorecard.js +103 -0
  18. package/dist/mcp/skill_invocations.d.ts +15 -0
  19. package/dist/mcp/skill_invocations.js +28 -0
  20. package/dist/mcp/task_state.d.ts +77 -2
  21. package/dist/mcp/tools/_subprocess.d.ts +16 -0
  22. package/dist/mcp/tools/_subprocess.js +56 -0
  23. package/dist/mcp/tools/advance_gate.js +2 -2
  24. package/dist/mcp/tools/aggregate_run_metrics.d.ts +19 -0
  25. package/dist/mcp/tools/aggregate_run_metrics.js +139 -0
  26. package/dist/mcp/tools/apply_diff.d.ts +2 -0
  27. package/dist/mcp/tools/apply_diff.js +29 -0
  28. package/dist/mcp/tools/audit_bilocale_parity.d.ts +2 -0
  29. package/dist/mcp/tools/audit_bilocale_parity.js +146 -0
  30. package/dist/mcp/tools/audit_budget_compliance.d.ts +35 -0
  31. package/dist/mcp/tools/audit_budget_compliance.js +172 -0
  32. package/dist/mcp/tools/build.d.ts +2 -0
  33. package/dist/mcp/tools/build.js +47 -0
  34. package/dist/mcp/tools/check_lint.d.ts +2 -0
  35. package/dist/mcp/tools/check_lint.js +23 -0
  36. package/dist/mcp/tools/classify_gate.js +2 -2
  37. package/dist/mcp/tools/current_gate.js +2 -2
  38. package/dist/mcp/tools/dependency_supply_chain.d.ts +2 -0
  39. package/dist/mcp/tools/dependency_supply_chain.js +59 -0
  40. package/dist/mcp/tools/docker_compose.d.ts +2 -0
  41. package/dist/mcp/tools/docker_compose.js +24 -0
  42. package/dist/mcp/tools/e2e_playwright.d.ts +2 -0
  43. package/dist/mcp/tools/e2e_playwright.js +88 -0
  44. package/dist/mcp/tools/get_skill.js +17 -0
  45. package/dist/mcp/tools/git_commit.d.ts +2 -0
  46. package/dist/mcp/tools/git_commit.js +30 -0
  47. package/dist/mcp/tools/list_proposals.d.ts +6 -0
  48. package/dist/mcp/tools/list_proposals.js +16 -0
  49. package/dist/mcp/tools/list_skills.js +9 -1
  50. package/dist/mcp/tools/load_role.d.ts +3 -4
  51. package/dist/mcp/tools/load_role.js +11 -13
  52. package/dist/mcp/tools/propose_change.d.ts +8 -0
  53. package/dist/mcp/tools/propose_change.js +36 -0
  54. package/dist/mcp/tools/record_decision.js +25 -25
  55. package/dist/mcp/tools/review_proposal.d.ts +17 -0
  56. package/dist/mcp/tools/review_proposal.js +99 -0
  57. package/dist/mcp/tools/run_drift_audit.d.ts +11 -0
  58. package/dist/mcp/tools/run_drift_audit.js +79 -0
  59. package/dist/mcp/tools/run_tests.d.ts +2 -0
  60. package/dist/mcp/tools/run_tests.js +92 -0
  61. package/dist/mcp/tools/sign_off.js +14 -2
  62. package/dist/mcp/tools/stubs.js +30 -9
  63. package/dist/mcp/tools/verify_claim.js +33 -6
  64. package/dist/mcp_setup.d.ts +8 -0
  65. package/dist/mcp_setup.js +4 -1
  66. package/dist/shared/frontmatter.d.ts +44 -2
  67. package/dist/shared/frontmatter.js +54 -6
  68. package/dist/shared/index.d.ts +0 -5
  69. package/dist/shared/index.js +0 -5
  70. package/dist/shared/persona.d.ts +2 -2
  71. package/dist/shared/persona.js +1 -1
  72. package/dist/shared/pipeline.d.ts +46 -1
  73. package/dist/shared/tools.d.ts +1382 -16
  74. package/dist/shared/tools.js +229 -0
  75. package/dist/shared/vocabulary.d.ts +99 -4
  76. package/dist/shared/vocabulary.js +94 -5
  77. package/domains/analytics/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  78. package/domains/analytics/.agents/skills/bcg-matrix/SKILL.md +345 -329
  79. package/domains/analytics/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  80. package/domains/analytics/.agents/skills/board/SKILL.md +22 -0
  81. package/domains/analytics/.agents/skills/cohort-analysis/SKILL.md +338 -322
  82. package/domains/analytics/.agents/skills/competitive-analysis/SKILL.md +413 -395
  83. package/domains/analytics/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  84. package/domains/analytics/.agents/skills/gates/SKILL.md +388 -366
  85. package/domains/analytics/.agents/skills/handoff/SKILL.md +402 -380
  86. package/domains/analytics/.agents/skills/html-pdf-report/SKILL.md +21 -289
  87. package/domains/analytics/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  88. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  89. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  90. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  91. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  92. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  93. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  94. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/skill.yaml +23 -0
  95. package/domains/analytics/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  96. package/domains/analytics/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  97. package/domains/analytics/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  98. package/domains/analytics/.agents/skills/pest-analysis/SKILL.md +324 -305
  99. package/domains/analytics/.agents/skills/porters-five-forces/SKILL.md +377 -361
  100. package/domains/analytics/.agents/skills/report-design/SKILL.md +416 -398
  101. package/domains/analytics/.agents/skills/rfm-analysis/SKILL.md +330 -314
  102. package/domains/analytics/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  103. package/domains/analytics/.agents/skills/swot-analysis/SKILL.md +340 -324
  104. package/domains/analytics/.agents/skills/tam-sam-som/SKILL.md +329 -312
  105. package/domains/analytics/.agents/skills/trend-analysis/SKILL.md +347 -331
  106. package/domains/analytics/.agents/skills/unit-economics/SKILL.md +430 -413
  107. package/domains/analytics/.agents/skills/value-chain-analysis/SKILL.md +346 -330
  108. package/domains/analytics/.agents/skills/web-research/SKILL.md +323 -308
  109. package/domains/analytics/AGENTS.md +1 -0
  110. package/domains/analytics/agents/auditor.md +76 -0
  111. package/domains/analytics/agents/conductor.md +11 -0
  112. package/domains/analytics/agents/data_analyst.md +11 -0
  113. package/domains/analytics/agents/designer.md +11 -0
  114. package/domains/analytics/agents/interviewer.md +11 -0
  115. package/domains/analytics/agents/layouter.md +11 -0
  116. package/domains/analytics/agents/mediator.md +11 -0
  117. package/domains/analytics/agents/researcher.md +11 -0
  118. package/domains/analytics/agents/strategist.md +11 -0
  119. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  120. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/SKILL.md +345 -329
  121. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  122. package/domains/analytics/locales/en/.agents/skills/board/SKILL.md +22 -0
  123. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/SKILL.md +338 -322
  124. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/SKILL.md +413 -395
  125. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  126. package/domains/analytics/locales/en/.agents/skills/gates/SKILL.md +388 -366
  127. package/domains/analytics/locales/en/.agents/skills/handoff/SKILL.md +402 -380
  128. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -289
  129. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  130. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  131. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  132. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  133. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  134. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  135. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  136. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +29 -0
  137. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  138. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  139. package/domains/analytics/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  140. package/domains/analytics/locales/en/.agents/skills/pest-analysis/SKILL.md +324 -305
  141. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/SKILL.md +377 -361
  142. package/domains/analytics/locales/en/.agents/skills/report-design/SKILL.md +416 -398
  143. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/SKILL.md +330 -314
  144. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  145. package/domains/analytics/locales/en/.agents/skills/swot-analysis/SKILL.md +340 -324
  146. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/SKILL.md +329 -312
  147. package/domains/analytics/locales/en/.agents/skills/trend-analysis/SKILL.md +347 -331
  148. package/domains/analytics/locales/en/.agents/skills/unit-economics/SKILL.md +430 -413
  149. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/SKILL.md +366 -350
  150. package/domains/analytics/locales/en/.agents/skills/web-research/SKILL.md +324 -309
  151. package/domains/analytics/locales/en/AGENTS.md +1 -0
  152. package/domains/analytics/locales/en/agents/auditor.md +76 -0
  153. package/domains/analytics/locales/en/agents/conductor.md +27 -0
  154. package/domains/analytics/locales/en/agents/data_analyst.md +29 -0
  155. package/domains/analytics/locales/en/agents/designer.md +27 -0
  156. package/domains/analytics/locales/en/agents/interviewer.md +11 -0
  157. package/domains/analytics/locales/en/agents/layouter.md +11 -0
  158. package/domains/analytics/locales/en/agents/mediator.md +11 -0
  159. package/domains/analytics/locales/en/agents/researcher.md +11 -0
  160. package/domains/analytics/locales/en/agents/strategist.md +11 -0
  161. package/domains/analytics/persona/persona-base.md +94 -0
  162. package/domains/analytics/pipeline.yaml +102 -0
  163. package/domains/content/.agents/skills/audience-analysis/SKILL.md +15 -0
  164. package/domains/content/.agents/skills/board/SKILL.md +20 -0
  165. package/domains/content/.agents/skills/brand-compliance/SKILL.md +15 -0
  166. package/domains/content/.agents/skills/brand-guidelines/SKILL.md +17 -0
  167. package/domains/content/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  168. package/domains/content/.agents/skills/content-brief/SKILL.md +15 -0
  169. package/domains/content/.agents/skills/content-calendar/SKILL.md +15 -0
  170. package/domains/content/.agents/skills/content-release-gate/SKILL.md +15 -0
  171. package/domains/content/.agents/skills/content-review-checklist/SKILL.md +15 -0
  172. package/domains/content/.agents/skills/cta-optimization/SKILL.md +15 -0
  173. package/domains/content/.agents/skills/data-storytelling/SKILL.md +15 -0
  174. package/domains/content/.agents/skills/email-copywriting/SKILL.md +15 -0
  175. package/domains/content/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  176. package/domains/content/.agents/skills/fact-checking/SKILL.md +15 -0
  177. package/domains/content/.agents/skills/gates/SKILL.md +20 -0
  178. package/domains/content/.agents/skills/google-stitch-content/SKILL.md +15 -0
  179. package/domains/content/.agents/skills/handoff/SKILL.md +24 -0
  180. package/domains/content/.agents/skills/headline-formulas/SKILL.md +15 -0
  181. package/domains/content/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  182. package/domains/content/.agents/skills/karpathy-guidelines/SKILL.md +28 -0
  183. package/domains/content/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  184. package/domains/content/.agents/skills/marketing-psychology/SKILL.md +15 -0
  185. package/domains/content/.agents/skills/moodboard/SKILL.md +15 -0
  186. package/domains/content/.agents/skills/platform-compliance/SKILL.md +15 -0
  187. package/domains/content/.agents/skills/platform-strategy/SKILL.md +15 -0
  188. package/domains/content/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  189. package/domains/content/.agents/skills/readability-scoring/SKILL.md +15 -0
  190. package/domains/content/.agents/skills/seo-copywriting/SKILL.md +15 -0
  191. package/domains/content/.agents/skills/social-media-formats/SKILL.md +15 -0
  192. package/domains/content/.agents/skills/source-verification/SKILL.md +15 -0
  193. package/domains/content/.agents/skills/storytelling-framework/SKILL.md +15 -0
  194. package/domains/content/.agents/skills/tone-of-voice/SKILL.md +15 -0
  195. package/domains/content/.agents/skills/topic-research/SKILL.md +15 -0
  196. package/domains/content/.agents/skills/trend-research/SKILL.md +15 -0
  197. package/domains/content/.agents/skills/visual-brief/SKILL.md +15 -0
  198. package/domains/content/AGENTS.md +4 -0
  199. package/domains/content/agents/auditor.md +76 -0
  200. package/domains/content/agents/conductor.md +11 -0
  201. package/domains/content/agents/copywriter.md +11 -0
  202. package/domains/content/agents/researcher.md +11 -0
  203. package/domains/content/agents/reviewer.md +11 -0
  204. package/domains/content/agents/strategist.md +11 -0
  205. package/domains/content/agents/visual_concept.md +11 -0
  206. package/domains/content/locales/en/.agents/skills/audience-analysis/SKILL.md +15 -0
  207. package/domains/content/locales/en/.agents/skills/board/SKILL.md +20 -0
  208. package/domains/content/locales/en/.agents/skills/brand-compliance/SKILL.md +15 -0
  209. package/domains/content/locales/en/.agents/skills/brand-guidelines/SKILL.md +17 -0
  210. package/domains/content/locales/en/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  211. package/domains/content/locales/en/.agents/skills/content-brief/SKILL.md +15 -0
  212. package/domains/content/locales/en/.agents/skills/content-calendar/SKILL.md +15 -0
  213. package/domains/content/locales/en/.agents/skills/content-release-gate/SKILL.md +15 -0
  214. package/domains/content/locales/en/.agents/skills/content-review-checklist/SKILL.md +15 -0
  215. package/domains/content/locales/en/.agents/skills/cta-optimization/SKILL.md +15 -0
  216. package/domains/content/locales/en/.agents/skills/data-storytelling/SKILL.md +15 -0
  217. package/domains/content/locales/en/.agents/skills/email-copywriting/SKILL.md +15 -0
  218. package/domains/content/locales/en/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  219. package/domains/content/locales/en/.agents/skills/fact-checking/SKILL.md +15 -0
  220. package/domains/content/locales/en/.agents/skills/gates/SKILL.md +20 -0
  221. package/domains/content/locales/en/.agents/skills/google-stitch-content/SKILL.md +15 -0
  222. package/domains/content/locales/en/.agents/skills/handoff/SKILL.md +24 -0
  223. package/domains/content/locales/en/.agents/skills/headline-formulas/SKILL.md +15 -0
  224. package/domains/content/locales/en/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  225. package/domains/content/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +30 -1
  226. package/domains/content/locales/en/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  227. package/domains/content/locales/en/.agents/skills/marketing-psychology/SKILL.md +15 -0
  228. package/domains/content/locales/en/.agents/skills/moodboard/SKILL.md +15 -0
  229. package/domains/content/locales/en/.agents/skills/platform-compliance/SKILL.md +15 -0
  230. package/domains/content/locales/en/.agents/skills/platform-strategy/SKILL.md +15 -0
  231. package/domains/content/locales/en/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  232. package/domains/content/locales/en/.agents/skills/readability-scoring/SKILL.md +15 -0
  233. package/domains/content/locales/en/.agents/skills/seo-copywriting/SKILL.md +15 -0
  234. package/domains/content/locales/en/.agents/skills/social-media-formats/SKILL.md +15 -0
  235. package/domains/content/locales/en/.agents/skills/source-verification/SKILL.md +15 -0
  236. package/domains/content/locales/en/.agents/skills/storytelling-framework/SKILL.md +15 -0
  237. package/domains/content/locales/en/.agents/skills/tone-of-voice/SKILL.md +15 -0
  238. package/domains/content/locales/en/.agents/skills/topic-research/SKILL.md +15 -0
  239. package/domains/content/locales/en/.agents/skills/trend-research/SKILL.md +15 -0
  240. package/domains/content/locales/en/.agents/skills/visual-brief/SKILL.md +15 -0
  241. package/domains/content/locales/en/AGENTS.md +4 -0
  242. package/domains/content/locales/en/agents/auditor.md +76 -0
  243. package/domains/content/locales/en/agents/conductor.md +12 -0
  244. package/domains/content/locales/en/agents/copywriter.md +12 -0
  245. package/domains/content/locales/en/agents/researcher.md +12 -0
  246. package/domains/content/locales/en/agents/reviewer.md +12 -0
  247. package/domains/content/locales/en/agents/strategist.md +12 -0
  248. package/domains/content/locales/en/agents/visual_concept.md +12 -0
  249. package/domains/content/persona/persona-base.md +94 -0
  250. package/domains/content/pipeline.yaml +96 -0
  251. package/domains/development/.agents/skills/adr-log/SKILL.md +1 -0
  252. package/domains/development/.agents/skills/design-intake/SKILL.md +0 -4
  253. package/domains/development/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  254. package/domains/development/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  255. package/domains/development/.agents/skills/mcp-integration/SKILL.md +211 -0
  256. package/domains/development/.agents/skills/mcp-integration/agents/claude.json +22 -0
  257. package/domains/development/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  258. package/domains/development/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  259. package/domains/development/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  260. package/domains/development/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  261. package/domains/development/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  262. package/domains/development/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  263. package/domains/development/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  264. package/domains/development/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  265. package/domains/development/AGENTS.md +1 -0
  266. package/domains/development/AGENTS.yaml +1 -0
  267. package/domains/development/agents/architect.md +13 -1
  268. package/domains/development/agents/auditor.md +74 -0
  269. package/domains/development/agents/conductor.md +14 -3
  270. package/domains/development/agents/devops.md +8 -9
  271. package/domains/development/agents/reviewer.md +12 -0
  272. package/domains/development/agents/senior_full_stack.md +12 -0
  273. package/domains/development/agents/tester.md +10 -16
  274. package/domains/development/locales/en/.agents/skills/adr-log/SKILL.md +1 -0
  275. package/domains/development/locales/en/.agents/skills/current-state-analysis/SKILL.md +256 -172
  276. package/domains/development/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  277. package/domains/development/locales/en/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  278. package/domains/development/locales/en/.agents/skills/mcp-integration/SKILL.md +211 -0
  279. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/claude.json +22 -0
  280. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  281. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  282. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  283. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  284. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  285. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  286. package/domains/development/locales/en/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  287. package/domains/development/locales/en/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  288. package/domains/development/locales/en/AGENTS.md +5 -0
  289. package/domains/development/locales/en/AGENTS.yaml +1 -0
  290. package/domains/development/locales/en/agents/architect.md +13 -1
  291. package/domains/development/locales/en/agents/auditor.md +74 -0
  292. package/domains/development/locales/en/agents/conductor.md +14 -3
  293. package/domains/development/locales/en/agents/devops.md +8 -9
  294. package/domains/development/locales/en/agents/reviewer.md +12 -0
  295. package/domains/development/locales/en/agents/senior_full_stack.md +12 -0
  296. package/domains/development/locales/en/agents/tester.md +10 -16
  297. package/domains/development/persona/persona-base.md +94 -0
  298. package/domains/product/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  299. package/domains/product/.agents/skills/ab-test-design/SKILL.md +428 -412
  300. package/domains/product/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  301. package/domains/product/.agents/skills/assumption-mapping/SKILL.md +323 -307
  302. package/domains/product/.agents/skills/board/SKILL.md +24 -0
  303. package/domains/product/.agents/skills/design-brief/SKILL.md +433 -418
  304. package/domains/product/.agents/skills/epic-breakdown/SKILL.md +435 -420
  305. package/domains/product/.agents/skills/gates/SKILL.md +470 -446
  306. package/domains/product/.agents/skills/gtm-brief/SKILL.md +18 -321
  307. package/domains/product/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  308. package/domains/product/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  309. package/domains/product/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  310. package/domains/product/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  311. package/domains/product/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  312. package/domains/product/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  313. package/domains/product/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  314. package/domains/product/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  315. package/domains/product/.agents/skills/handoff/SKILL.md +463 -439
  316. package/domains/product/.agents/skills/html-pdf-report/SKILL.md +21 -663
  317. package/domains/product/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  318. package/domains/product/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  319. package/domains/product/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  320. package/domains/product/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  321. package/domains/product/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  322. package/domains/product/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  323. package/domains/product/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  324. package/domains/product/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  325. package/domains/product/.agents/skills/hypothesis-template/SKILL.md +484 -469
  326. package/domains/product/.agents/skills/jtbd-canvas/SKILL.md +274 -258
  327. package/domains/product/.agents/skills/kano-model/SKILL.md +370 -355
  328. package/domains/product/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  329. package/domains/product/.agents/skills/launch-checklist/SKILL.md +434 -419
  330. package/domains/product/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  331. package/domains/product/.agents/skills/north-star-metric/SKILL.md +317 -301
  332. package/domains/product/.agents/skills/okr-framework/SKILL.md +299 -284
  333. package/domains/product/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  334. package/domains/product/.agents/skills/prd-template/SKILL.md +18 -258
  335. package/domains/product/.agents/skills/prd-template-reference/SKILL.md +285 -0
  336. package/domains/product/.agents/skills/prd-template-reference/agents/claude.json +17 -0
  337. package/domains/product/.agents/skills/prd-template-reference/agents/copilot.json +17 -0
  338. package/domains/product/.agents/skills/prd-template-reference/agents/gemini.json +17 -0
  339. package/domains/product/.agents/skills/prd-template-reference/agents/kimi.yaml +16 -0
  340. package/domains/product/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  341. package/domains/product/.agents/skills/prd-template-reference/agents/qwen.json +17 -0
  342. package/domains/product/.agents/skills/prd-template-reference/agents/skill.yaml +23 -0
  343. package/domains/product/.agents/skills/problem-statement/SKILL.md +327 -312
  344. package/domains/product/.agents/skills/product-roadmap/SKILL.md +320 -304
  345. package/domains/product/.agents/skills/product-vision/SKILL.md +409 -394
  346. package/domains/product/.agents/skills/release-notes/SKILL.md +18 -258
  347. package/domains/product/.agents/skills/release-notes-reference/SKILL.md +285 -0
  348. package/domains/product/.agents/skills/release-notes-reference/agents/claude.json +17 -0
  349. package/domains/product/.agents/skills/release-notes-reference/agents/copilot.json +17 -0
  350. package/domains/product/.agents/skills/release-notes-reference/agents/gemini.json +17 -0
  351. package/domains/product/.agents/skills/release-notes-reference/agents/kimi.yaml +15 -0
  352. package/domains/product/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  353. package/domains/product/.agents/skills/release-notes-reference/agents/qwen.json +17 -0
  354. package/domains/product/.agents/skills/release-notes-reference/agents/skill.yaml +22 -0
  355. package/domains/product/.agents/skills/report-design/SKILL.md +17 -307
  356. package/domains/product/.agents/skills/report-design-reference/SKILL.md +331 -0
  357. package/domains/product/.agents/skills/report-design-reference/agents/claude.json +17 -0
  358. package/domains/product/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  359. package/domains/product/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  360. package/domains/product/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  361. package/domains/product/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  362. package/domains/product/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  363. package/domains/product/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  364. package/domains/product/.agents/skills/rice-scoring/SKILL.md +266 -251
  365. package/domains/product/.agents/skills/saas-metrics/SKILL.md +422 -404
  366. package/domains/product/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  367. package/domains/product/.agents/skills/user-flow/SKILL.md +491 -476
  368. package/domains/product/.agents/skills/user-interview-script/SKILL.md +315 -298
  369. package/domains/product/.agents/skills/user-story/SKILL.md +401 -385
  370. package/domains/product/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  371. package/domains/product/AGENTS.md +5 -0
  372. package/domains/product/AGENTS.yaml +1 -0
  373. package/domains/product/agents/auditor.md +76 -0
  374. package/domains/product/agents/conductor.md +11 -0
  375. package/domains/product/agents/data_analyst.md +11 -0
  376. package/domains/product/agents/designer.md +11 -0
  377. package/domains/product/agents/discovery.md +11 -0
  378. package/domains/product/agents/layouter.md +11 -0
  379. package/domains/product/agents/mediator.md +11 -0
  380. package/domains/product/agents/pm.md +11 -0
  381. package/domains/product/agents/product_strategist.md +11 -0
  382. package/domains/product/agents/tech_lead.md +11 -0
  383. package/domains/product/agents/ux_designer.md +11 -0
  384. package/domains/product/locales/en/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  385. package/domains/product/locales/en/.agents/skills/ab-test-design/SKILL.md +428 -412
  386. package/domains/product/locales/en/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  387. package/domains/product/locales/en/.agents/skills/assumption-mapping/SKILL.md +323 -307
  388. package/domains/product/locales/en/.agents/skills/board/SKILL.md +24 -0
  389. package/domains/product/locales/en/.agents/skills/design-brief/SKILL.md +433 -418
  390. package/domains/product/locales/en/.agents/skills/epic-breakdown/SKILL.md +435 -420
  391. package/domains/product/locales/en/.agents/skills/gates/SKILL.md +470 -446
  392. package/domains/product/locales/en/.agents/skills/gtm-brief/SKILL.md +18 -321
  393. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  394. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  395. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  396. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  397. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  398. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  399. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  400. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  401. package/domains/product/locales/en/.agents/skills/handoff/SKILL.md +463 -439
  402. package/domains/product/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -663
  403. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  404. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  405. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  406. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  407. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  408. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  409. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  410. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  411. package/domains/product/locales/en/.agents/skills/hypothesis-template/SKILL.md +484 -469
  412. package/domains/product/locales/en/.agents/skills/jtbd-canvas/SKILL.md +273 -257
  413. package/domains/product/locales/en/.agents/skills/kano-model/SKILL.md +370 -355
  414. package/domains/product/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  415. package/domains/product/locales/en/.agents/skills/launch-checklist/SKILL.md +434 -419
  416. package/domains/product/locales/en/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  417. package/domains/product/locales/en/.agents/skills/north-star-metric/SKILL.md +317 -301
  418. package/domains/product/locales/en/.agents/skills/okr-framework/SKILL.md +299 -284
  419. package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  420. package/domains/product/locales/en/.agents/skills/prd-template/SKILL.md +18 -258
  421. package/domains/product/locales/en/.agents/skills/prd-template-reference/SKILL.md +285 -0
  422. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/claude.json +16 -0
  423. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/copilot.json +16 -0
  424. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/gemini.json +16 -0
  425. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/kimi.yaml +15 -0
  426. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  427. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/qwen.json +16 -0
  428. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/skill.yaml +22 -0
  429. package/domains/product/locales/en/.agents/skills/problem-statement/SKILL.md +327 -312
  430. package/domains/product/locales/en/.agents/skills/product-roadmap/SKILL.md +321 -305
  431. package/domains/product/locales/en/.agents/skills/product-vision/SKILL.md +410 -395
  432. package/domains/product/locales/en/.agents/skills/release-notes/SKILL.md +18 -258
  433. package/domains/product/locales/en/.agents/skills/release-notes-reference/SKILL.md +285 -0
  434. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/claude.json +16 -0
  435. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/copilot.json +16 -0
  436. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/gemini.json +16 -0
  437. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/kimi.yaml +14 -0
  438. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  439. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/qwen.json +16 -0
  440. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/skill.yaml +21 -0
  441. package/domains/product/locales/en/.agents/skills/report-design/SKILL.md +17 -307
  442. package/domains/product/locales/en/.agents/skills/report-design-reference/SKILL.md +331 -0
  443. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/claude.json +17 -0
  444. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  445. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  446. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  447. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  448. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  449. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  450. package/domains/product/locales/en/.agents/skills/rice-scoring/SKILL.md +266 -251
  451. package/domains/product/locales/en/.agents/skills/saas-metrics/SKILL.md +422 -404
  452. package/domains/product/locales/en/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  453. package/domains/product/locales/en/.agents/skills/user-flow/SKILL.md +491 -476
  454. package/domains/product/locales/en/.agents/skills/user-interview-script/SKILL.md +314 -297
  455. package/domains/product/locales/en/.agents/skills/user-story/SKILL.md +401 -385
  456. package/domains/product/locales/en/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  457. package/domains/product/locales/en/AGENTS.md +5 -0
  458. package/domains/product/locales/en/agents/auditor.md +76 -0
  459. package/domains/product/locales/en/agents/conductor.md +11 -0
  460. package/domains/product/locales/en/agents/data_analyst.md +11 -0
  461. package/domains/product/locales/en/agents/designer.md +11 -0
  462. package/domains/product/locales/en/agents/discovery.md +11 -0
  463. package/domains/product/locales/en/agents/layouter.md +11 -0
  464. package/domains/product/locales/en/agents/mediator.md +11 -0
  465. package/domains/product/locales/en/agents/pm.md +11 -0
  466. package/domains/product/locales/en/agents/product_strategist.md +11 -0
  467. package/domains/product/locales/en/agents/tech_lead.md +11 -0
  468. package/domains/product/locales/en/agents/ux_designer.md +11 -0
  469. package/domains/product/persona/persona-base.md +94 -0
  470. package/domains/product/pipeline.yaml +115 -0
  471. package/package.json +72 -70
@@ -1,380 +1,402 @@
1
- ---
2
- name: handoff
3
- description: Передача контекста между гейтами и сессиями — Handoff Envelope, межсессионный протокол, генерация файлов
4
- ---
5
- # Handoff — Передача контекста между гейтами и сессиями
6
-
7
- ## Когда использовать
8
- - При **каждом переходе** между гейтами внутри сессии — стандартная передача (intra-session handoff).
9
- - При **завершении сессии** — межсессионная передача (multi-session handoff), сохранение в файл.
10
- - При **возврате на доработку** — обратная передача (reverse handoff).
11
- - **Обязателен** на каждом переходе, в любом режиме пайплайна. Без исключений.
12
-
13
- > **Разграничение:** `$gates` проверяет готовность. `$handoff` передаёт работу. `$board` отслеживает статус. Порядок: `$gates` PASS → `$handoff` → обновить `$board`.
14
-
15
- ## Вход
16
-
17
- | Поле | Обязательно | Описание |
18
- |------|:-----------:|----------|
19
- | Результат `$gates` | ✅ | PASS или CONDITIONAL PASS — handoff невозможен при FAIL |
20
- | Агент-отправитель | ✅ | Кто передаёт (текущий гейт с ID) |
21
- | Агент-получатель | | Кому передаёт (следующий гейт с ID) |
22
- | Артефакты гейта | | Deliverables текущего гейта (из реестра `$gates`) |
23
- | Режим пайплайна | ✅ | Full (`/analyze`) / Quick (`/quick-insight`) |
24
- | Тип handoff | ✅ | Forward / Reverse / Session (межсессионный) |
25
- | Номер сессии | ⬚ | Для межсессионного handoff — текущая и следующая сессия |
26
-
27
- > **Предусловие:** Handoff возможен **только** после `$gates` PASS или CONDITIONAL PASS. При FAIL — вернуть агенту, handoff не выполняется.
28
-
29
- ### Связь с другими скилами
30
- | Скил | Взаимодействие | Когда |
31
- |------|----------------|-------|
32
- | `$gates` | Предусловие: PASS / CONDITIONAL PASS разрешает handoff. Gate check приложен к конверту | Перед каждым handoff |
33
- | `$board` | После handoff: обновить статусы гейтов (текущий `[✓]`, следующий → `[→]`) | После каждого handoff |
34
- | `$session-prompt-generator` | Для Session handoff: генерация промпта следующей сессии, включается в файл | При завершении сессии |
35
- | Фреймворк-скилы | Артефакты фреймворков (заполненные шаблоны) часть deliverables AN-xx гейтов | При передаче от Data Analyst |
36
-
37
- ## Типы handoff
38
-
39
- | Тип | Описание | Файл | Контекст следующего получателя |
40
- |-----|----------|------|-------------------------------|
41
- | **Forward** | Стандартная передача между гейтами внутри сессии | Нет памяти) | Полный контекст сессии доступен |
42
- | **Reverse** | Возврат на доработку | Нет (в памяти) | Полный контекст сессии доступен |
43
- | **Session** | Межсессионная передача | `docs/analytics/session-N-handoff.md` | **НОЛЬ** предыдущего контекста файл должен быть самодостаточным |
44
-
45
- > **Ключевое правило межсессионного handoff:** следующая сессия начинается с НУЛЯ контекста. Файл handoff — единственный источник информации. Никаких ссылок на «см. выше» или «как обсуждалось». Всё должно быть в файле.
46
-
47
- ## Реестр передаччто передавать
48
-
49
- ### Full Pipeline (inter-gate)
50
-
51
- | Переход | Артефакты | Ключевой контекст |
52
- |---------|-----------|-------------------|
53
- | **COND-01 → INT-01** | Scope задачи, режим, доска | Бизнес-вопрос, ограничения, ожидания |
54
- | **INT-01 Session Handoff** | Research brief, контекст интервью, режим оценки | Все ответы пользователя, выбранные метрики |
55
- | **COND-02 → RES-01** | Session-1 handoff, research brief | Полный контекст из интервью, вопросы для исследования |
56
- | **RES-01 → AN-01** | Данные, источники, факты | Верифицированные данные с URL и датами |
57
- | **AN-01 ST-01** | Фреймворки, анализ, паттерны | Методология, ключевые инсайты |
58
- | **ST-01 → Session Handoff** | Стратегия, рекомендации | Полный пакет Аналитиков для Критиков и Медиатора |
59
- | **COND-03 → RES-02** | Session-2 handoff, результаты Аналитиков | Данные для критики и альтернативного исследования |
60
- | **RES-02 → AN-02** | Альтернативные данные, критика | Контр-данные с источниками |
61
- | **AN-02 ST-02** | Альтернативный анализ | Контр-фреймворки, различия с Аналитиками |
62
- | **ST-02 → Session Handoff** | Альтернативная стратегия, критика | Полный пакет Критиков |
63
- | **COND-04 → MED-01** | Session-2 + Session-3 handoff | Оба пакета (Аналитики + Критики) |
64
- | **MED-01 Session Handoff** | Финальное заключение, оценки | Итоговый вердикт, обоснование |
65
- | **COND-05 DS-01** | Session-4 handoff | Заключение Медиатора для визуализации |
66
- | **DS-01 → LY-01** | Макет, спецификации визуализаций | Структура отчёта, палитра, шрифты |
67
-
68
- ### Quick Pipeline (inter-gate)
69
-
70
- | Переход | Артефакты | Ключевой контекст |
71
- |---------|-----------|-------------------|
72
- | **COND-01 → INT-01** | Scope задачи, режим, доска | Бизнес-вопрос, ограничения |
73
- | **INT-01 → RES-01** | Research brief, режим оценки | Вопросы для исследования, метрики |
74
- | **RES-01 → AN-01** | Данные, источники, факты | Верифицированные данные с URL и датами |
75
- | **AN-01 → ST-01** | Фреймворки, анализ, паттерны | Методология, инсайты |
76
- | **ST-01 → MED-01** | Стратегия, рекомендации | Выводы и рекомендации (без конкурирующей команды) |
77
- | **MED-01DS-01** | Итоговое заключение | Финальный вердикт для визуализации |
78
- | **DS-01 → LY-01** | Макет, спецификации | Структура отчёта, палитра |
79
-
80
- ## Межсессионный Handoff (Session)
81
-
82
- ### Структура файла `docs/analytics/session-N-handoff.md`
83
-
84
- Файл содержит **весь** необходимый контекст. Никаких ссылок, никаких сокращений.
85
-
86
- ```markdown
87
- # Session [N] Handoff [Название проекта]
88
-
89
- ## Meta
90
- - **Проект:** [Название]
91
- - **Дата:** [YYYY-MM-DD]
92
- - **Сессия:** [N] из [M]
93
- - **Режим:** Full / Quick
94
- - **Завершённые гейты:** [список ID с deliverables]
95
- - **Следующий гейт:** [ID] [Название]
96
-
97
- ## Краткое резюме
98
- [2-3 предложения: что было сделано в этой сессии, ключевой результат]
99
-
100
- ## Состояние доски ($board)
101
- [Полная копия таблицы доски в текущем состоянии + метрики прогресса]
102
-
103
- ## Полное содержание артефактов
104
-
105
- ### [Артефакт 1 — Название]
106
- [ПОЛНЫЙ ТЕКСТ артефакта, не ссылка и не краткое описание]
107
-
108
- ### [Артефакт 2 — Название]
109
- [ПОЛНЫЙ ТЕКСТ артефакта]
110
-
111
- ### [Артефакт N — ...]
112
- [ПОЛНЫЙ ТЕКСТ]
113
-
114
- ## Решения и контекст
115
- | # | Решение | Обоснование | Принято кем | Влияет на |
116
- |---|---------|-------------|-------------|-----------|
117
- | 1 | [Что решили] | [Почему] | [User / Conductor] | [Какие гейты] |
118
-
119
- ## Открытые вопросы и блокеры
120
- | # | Вопрос / Блокер | Severity | Для какого гейта | Статус |
121
- |---|-----------------|:--------:|:----------------:|--------|
122
- | 1 | [Описание] | 🔴/🟡/🟢 | [ID гейта] | Открыт / Разрешён |
123
-
124
- ## Кумулятивный индекс
125
- | Сессия | Гейты | Ключевые артефакты | Файл |
126
- |--------|-------|--------------------|------|
127
- | 1 | COND-01, INT-01 | Research brief, контекст интервью | session-1-handoff.md |
128
- | 2 | RES-01, AN-01, ST-01 | Данные, анализ, стратегия Аналитиков | session-2-handoff.md |
129
- | [N] | [...] | [...] | session-N-handoff.md |
130
-
131
- ## Промпт для следующей сессии
132
- [Генерируется через $session-prompt-generator — готовый к вставке промпт]
133
-
134
- ## Чек-лист верификации
135
- - [ ] Все артефакты включены полностью (не ссылками)
136
- - [ ] Доска задач ($board) сохранена в текущем состоянии
137
- - [ ] Решения и контекст зафиксированы
138
- - [ ] Открытые вопросы / блокеры зафиксированы
139
- - [ ] Кумулятивный индекс актуален
140
- - [ ] Промпт для следующей сессии сгенерирован
141
- - [ ] Файл самодостаточен — тест: можно прочитать без ЛЮБОГО предыдущего контекста
142
- ```
143
-
144
- ### Протокол восстановления (повреждённый / неполный handoff)
145
-
146
- При загрузке session handoff в новой сессии — Conductor выполняет верификацию:
147
-
148
- | Проверка | Действие при провале |
149
- |----------|---------------------|
150
- | Файл не найден | Запросить у пользователя путь или пересоздать из памяти предыдущей сессии |
151
- | Артефакты неполные (есть ссылки вместо контента) | Пометить как ⚠️, запросить недостающее у пользователя |
152
- | Кумулятивный индекс не совпадает с содержанием | Пересобрать индекс из фактического содержания файлов |
153
- | Промпт отсутствует | Сгенерировать через `$session-prompt-generator` |
154
- | Доска отсутствует | Восстановить из кумулятивного индекса + артефактов |
155
-
156
- > При любом восстановлении — явно сообщить пользователю, что handoff был неполным и что было восстановлено.
157
-
158
- ## Обратный Handoff (Reverse)
159
-
160
- ### Когда происходит
161
- - `$gates` FAIL.
162
- - Mediator обнаружил критические расхождения в данных.
163
- - Пользователь запросил доработку.
164
- - Следующий гейт обнаружил проблему с артефактом предыдущего.
165
-
166
- ### Протокол reverse handoff
167
- 1. Указать **причину возврата** — конкретные gap'ы / замечания.
168
- 2. Указать **что именно доработать** не «переделай», а «проверь источник X: данные 2023 года, нужны актуальные за 2025».
169
- 3. Указать **что НЕ трогать** — что уже одобрено и не нуждается в изменениях.
170
- 4. Обновить `$board` гейт-получатель `[↩] Возврат`, гейт-отправитель → `[→] В работе`.
171
- 5. После доработки — повторная `$gates` проверка → forward handoff.
172
-
173
- ## Подтверждение получения (Receive Acknowledgement)
174
-
175
- При получении handoff агент-получатель обязан:
176
-
177
- 1. **Подтвердить загрузку:** «Handoff от [ID] получен, [N] артефактов загружено».
178
- 2. **Перечислить полученное:** список артефактов с кратким описанием.
179
- 3. **Отметить gap'ы:** если CONDITIONAL PASS — явно перечислить полученные gap'ы.
180
- 4. **Зафиксировать проблемы:** если артефакт неполный или непонятный — запросить уточнение до начала работы (не додумывать).
181
-
182
- > Acknowledge встраивается в начало работы следующего гейта. Это не отдельный шаг, а первый абзац deliverable.
183
-
184
- ## Протокол
185
-
186
- ### Шаг 0 Определение типа handoff
187
- 1. Forward (внутри сессии), Reverse (возврат), Session (межсессионный).
188
- 2. Для Session — определить путь файла: `docs/analytics/session-N-handoff.md`.
189
-
190
- ### Шаг 1Предусловия
191
- 1. Убедиться, что `$gates` дал PASS или CONDITIONAL PASS (кроме Reverse).
192
- 2. Определить агента-получателя по реестру.
193
- 3. Собрать все артефакты из реестра передач.
194
-
195
- ### Шаг 2 Формирование конверта
196
- 1. Для Forward: заполнить стандартный шаблон конверта.
197
- 2. Для Session: заполнить шаблон файла, включить ПОЛНОЕ содержание артефактов.
198
- 3. Для Reverse: заполнить обратный конверт с gap'ами.
199
- 4. Для CONDITIONAL PASS явно указать gap'ы, которые передаются.
200
-
201
- ### Шаг 3User sign-off
202
- 1. Показать конверт пользователю.
203
- 2. Ожидать явное **"Approved"**.
204
- 3. Не переходить без Approved. Без исключений.
205
-
206
- ### Шаг 4 — Сохранение и активация
207
- 1. Для Session: сохранить файл в `docs/analytics/session-N-handoff.md`.
208
- 2. Обновить `$board`: текущий гейт `[✓] Завершён`, следующий → `[→] В работе`.
209
- 3. Добавить запись в лог передач.
210
- 4. Для Session: вызвать `$session-prompt-generator` для генерации промпта.
211
-
212
- ## ПримерForward Handoff RES-01 → AN-01 (CONDITIONAL PASS)
213
-
214
- ```
215
- ### Handoff Envelope RES-01 Researcher (Аналитики) → AN-01 Data Analyst (Аналитики)
216
-
217
- **Тип:** Forward
218
- **Режим:** Full Pipeline
219
- **Сессия:** 2
220
- **Gate Check:** CONDITIONAL PASS (итерация 1) 2 Gap'а
221
- **Дата:** 2026-04-12
222
-
223
- ---
224
-
225
- **Артефакты:**
226
-
227
- 1. **Research Report** — 7 секций по research brief INT-01:
228
- - Размер рынка EdTech РФ (TAM $4.2B, SAM $1.8B, SOM $180M)
229
- - Ключевые игроки: Skillbox, Нетология, Яндекс Практикум, GeekBrains, Skyeng
230
- - Тренды: AI-персонализация, корпоративное обучение, микро-сертификации
231
- - Регуляторная среда: лицензирование, аккредитация
232
- - Клиентские сегменты: B2C (25-35), B2B (корп. обучение), B2G (Минпросвещения)
233
- - Ценообразование: подписка $15-80/мес, корпоративные контракты $5K-50K/год
234
- - Барьеры входа: бренд, контент, преподаватели
235
-
236
- 2. **Таблица источников** — 28 источников, URL, даты, достоверность (✅/⚠️/🔮)
237
-
238
- **Gap'ы (CONDITIONAL PASS):**
239
- - ⚠️ TAM рынка EdTech: 2 источника вместо 3 (Smart Ranking + ВШЭ, нет третьего)
240
- - ⚠️ Отчёт IDC по корп. обучению: 14 месяцев (янв 2025), рекомендуется верифицировать
241
-
242
- ---
243
-
244
- **Задача для AN-01 Data Analyst (Аналитики):**
245
- Применить фреймворки конкурентного анализа и оценки рынка к данным RES-01. Минимум 2 фреймворка. Учесть gap'ы: TAM помечен как ⚠️ Estimated, данные IDC пометить как ⚠️.
246
-
247
- **Ожидаемый deliverable:**
248
- Заполненные фреймворки с привязкой к данным RES-01, паттерны, инсайты, методология.
249
-
250
- **Блокеры:** Нет
251
-
252
- ---
253
-
254
- Ожидаю **"Approved"** для перехода к **AN-01 Data Analyst (Аналитики)**
255
- ```
256
-
257
- ## Валидация конверта (Quality Gate)
258
-
259
- ### Стандартный (Forward) конверт
260
- - [ ] Результат `$gates` приложен (PASS / CONDITIONAL PASS)
261
- - [ ] Агент-отправитель и получатель указаны с ID гейтов
262
- - [ ] Все артефакты из реестра передач приложены
263
- - [ ] Задача для следующего агента сформулирована конкретно
264
- - [ ] Gap'ы (если CONDITIONAL) явно перечислены
265
- - [ ] Контекст передан
266
- - [ ] User Approved получен
267
- - [ ] `$board` обновлён
268
-
269
- ### Межсессионный (Session) конверт — дополнительно
270
- - [ ] Файл сохранён по пути `docs/analytics/session-N-handoff.md`
271
- - [ ] Все артефакты включены **полным текстом** (не ссылками и не резюме)
272
- - [ ] Состояние доски сохранено
273
- - [ ] Решения и контекст зафиксированы
274
- - [ ] Открытые вопросы / блокеры зафиксированы
275
- - [ ] Кумулятивный индекс актуален
276
- - [ ] Промпт для следующей сессии сгенерирован
277
- - [ ] Файл самодостаточен — тест: можно прочитать без ЛЮБОГО предыдущего контекста
278
-
279
- ## Handoff
280
- Результат `$handoff` является входными данными для: следующего агента в пайплайне, `$board` (обновление статусов), `$session-prompt-generator` (для межсессионных handoff).
281
-
282
- ## Anti-patterns
283
-
284
- | Ошибка | Почему плохо | Как правильно |
285
- |--------|-------------|---------------|
286
- | Handoff без `$gates` | Непроверенные артефакты → проблемы на следующем гейте | Всегда `$gates` PASS → затем handoff |
287
- | Handoff без Approved | Нарушение протокола, пользователь не в курсе | Всегда ждать явное Approved |
288
- | Session handoff со ссылками вместо контента | Следующая сессия не имеет доступа к контексту | ПОЛНЫЙ текст артефактов в файле |
289
- | «Сделай анализ» вместо задачи | Агент не знает scope | Конкретная задача с параметрами и ожидаемым deliverable |
290
- | Передача без артефактов | Следующий агент работает вслепую | Все артефакты из реестра приложены |
291
- | Reverse handoff без конкретики | Агент не знает что исправлять | Конкретные gap'ы + что НЕ трогать |
292
- | Не обновить `$board` | Доска рассинхронизирована | Обновлять `$board` при каждом handoff |
293
- | Потеря контекста между сессиями | Следующая сессия начинает с нуля | Межсессионный handoff с полным содержанием |
294
- | Получатель не подтвердил загрузку | Неясно, все ли артефакты получены и поняты | Receive Acknowledgement в начале работы следующего гейта |
295
- | Повреждённый session файл | Следующая сессия работает с неполными данными | Протокол восстановления: верификация при загрузке |
296
-
297
- ## Шаблоны вывода
298
-
299
- ### Forward Handoff (внутри сессии)
300
-
301
- ```
302
- ### Handoff Envelope [ID From] [Агент From] [ID To] [Агент To]
303
-
304
- **Тип:** Forward
305
- **Режим:** [Full / Quick]
306
- **Сессия:** [N]
307
- **Gate Check:** [PASS / CONDITIONAL PASS] (итерация [N])
308
- **Дата:** [YYYY-MM-DD]
309
-
310
- ---
311
-
312
- **Артефакты:**
313
- - [Артефакт 1 описание]
314
- - [Артефакт 2 описание]
315
-
316
- **Gap'ы (если CONDITIONAL):**
317
- - [Gap 1 что учесть]
318
-
319
- ---
320
-
321
- **Задача для [Агент To]:**
322
- [Чёткая конкретная формулировка]
323
-
324
- **Ожидаемый deliverable:**
325
- [Что должен вернуть следующий агент]
326
-
327
- **Блокеры:**
328
- [Список или «Нет»]
329
-
330
- ---
331
-
332
- → Ожидаю **"Approved"** для перехода к **[ID To] [Агент To]**
333
- ```
334
-
335
- ### Reverse Handoff
336
-
337
- ```
338
- ### Reverse Handoff — [ID From] [Агент From] → [ID To] [Агент To] (возврат)
339
-
340
- **Тип:** Reverse
341
- **Причина:** [FAIL / feedback / расхождения в данных]
342
- **Дата:** [YYYY-MM-DD]
343
-
344
- ---
345
-
346
- **Что исправить:**
347
- | # | Gap / Замечание | Sev | Конкретное действие |
348
- |---|----------------|:---:|---------------------|
349
- | 1 | [описание] | [B] | [что сделать] |
350
-
351
- **Что НЕ трогать:**
352
- - [Артефакт / секция, которая уже одобрена]
353
-
354
- ---
355
-
356
- → После доработки — повторная проверка `$gates` (итерация [N+1])
357
- Ожидаю **"Approved"** на возврат
358
- ```
359
-
360
- ### Receive Acknowledgement (начало работы получателя)
361
-
362
- ```
363
- **Handoff получен:** [ID From] [ID To]
364
- **Артефакты загружены:** [N] шт.
365
- - [Артефакт 1] — ✅ получен
366
- - [Артефакт 2] — ✅ получен
367
-
368
- **Gap'ы принятые:** [список или «Нет»]
369
- **Проблемы при загрузке:** [список или «Нет»]
370
- ```
371
-
372
- ## Общие правила handoff-документа (cross-domain)
373
-
374
- > Применяется к **любому** handoff-документу, передающему контекст сессии свежему агенту (session-handoff / conversation summary). Дополняет, не заменяет, разделы про inter-gate / межсессионный handoff выше — в частности, при использовании `os.tmpdir()` вместо `docs/analytics/session-N-handoff.md` для lightweight conversation summary.
375
-
376
- 1. **Куда сохранять.** Файл — во временную директорию ОС (`%TEMP%` / `/tmp` / `os.tmpdir()`), **не** в рабочий репозиторий. Workspace остаётся чистым; путь к временному файлу цитируется в чате следующей сессии.
377
- 2. **Секция «Suggested skills».** Обязательна секция со списком скиллов, которые свежему агенту имеет смысл подгрузить первым же действием (`$skill-1`, `$skill-2`, ...). Сокращает context-warm-up.
378
- 3. **Не дублировать артефакты.** Если данные уже в PRD / plan / ADR / commit / diff / issue давать **ссылку по пути или URL**, не копировать содержимое. Дубль создаёт drift между источниками. (Конфликт с правилом «ПОЛНЫЙ ТЕКСТ артефактов» для legacy session-handoff в `docs/analytics/` — там правило сохраняется; здесь действует для temp-варианта.)
379
- 4. **Редакция чувствительных данных.** Перед сохранением — удалить API-ключи, пароли, токены, PII (email, телефон, реальные имена клиентов). Временная директория тоже потенциальный leak-вектор.
380
- 5. **Аргументы юзера = фокус следующей сессии.** Если `/handoff` вызван с аргументом-строкой — трактовать её как описание задачи следующей сессии; адаптировать summary и suggested-skills под этот фокус.
1
+ ---
2
+ name: handoff
3
+ description: Передача контекста между гейтами и сессиями — Handoff Envelope, межсессионный протокол, генерация файлов
4
+ type: mandatory
5
+ domain: analytics
6
+ owners:
7
+ - conductor
8
+ gates:
9
+ - INTERVIEWER
10
+ - RESEARCHER
11
+ - DATA_ANALYST
12
+ - STRATEGIST
13
+ - MEDIATOR
14
+ - DESIGNER
15
+ - LAYOUTER
16
+ - RELEASE_GATE
17
+ tech: []
18
+ topic: []
19
+ triggers:
20
+ - handoff
21
+ - Передача контекста между гейтами и сессиями
22
+ - Передача контекста между гейтами и сессиями Handoff Envelope, межсессионный протокол, генерация файлов
23
+ related: []
24
+ budget_lines: 402
25
+ schema_version: 1
26
+ ---
27
+ # Handoff Передача контекста между гейтами и сессиями
28
+
29
+ ## Когда использовать
30
+ - При **каждом переходе** между гейтами внутри сессии — стандартная передача (intra-session handoff).
31
+ - При **завершении сессии** — межсессионная передача (multi-session handoff), сохранение в файл.
32
+ - При **возврате на доработку** обратная передача (reverse handoff).
33
+ - **Обязателен** на каждом переходе, в любом режиме пайплайна. Без исключений.
34
+
35
+ > **Разграничение:** `$gates` проверяет готовность. `$handoff` передаёт работу. `$board` отслеживает статус. Порядок: `$gates` PASS `$handoff` обновить `$board`.
36
+
37
+ ## Вход
38
+
39
+ | Поле | Обязательно | Описание |
40
+ |------|:-----------:|----------|
41
+ | Результат `$gates` | | PASS или CONDITIONAL PASS handoff невозможен при FAIL |
42
+ | Агент-отправитель | | Кто передаёт (текущий гейт с ID) |
43
+ | Агент-получатель | | Кому передаёт (следующий гейт с ID) |
44
+ | Артефакты гейта | ✅ | Deliverables текущего гейта (из реестра `$gates`) |
45
+ | Режим пайплайна | | Full (`/analyze`) / Quick (`/quick-insight`) |
46
+ | Тип handoff | ✅ | Forward / Reverse / Session (межсессионный) |
47
+ | Номер сессии | ⬚ | Для межсессионного handoff текущая и следующая сессия |
48
+
49
+ > **Предусловие:** Handoff возможен **только** после `$gates` PASS или CONDITIONAL PASS. При FAIL — вернуть агенту, handoff не выполняется.
50
+
51
+ ### Связь с другими скилами
52
+ | Скил | Взаимодействие | Когда |
53
+ |------|----------------|-------|
54
+ | `$gates` | Предусловие: PASS / CONDITIONAL PASS разрешает handoff. Gate check приложен к конверту | Перед каждым handoff |
55
+ | `$board` | После handoff: обновить статусы гейтов (текущий `[✓]`, следующий `[→]`) | После каждого handoff |
56
+ | `$session-prompt-generator` | Для Session handoff: генерация промпта следующей сессии, включается в файл | При завершении сессии |
57
+ | Фреймворк-скилы | Артефакты фреймворков (заполненные шаблоны) часть deliverables AN-xx гейтов | При передаче от Data Analyst |
58
+
59
+ ## Типы handoff
60
+
61
+ | Тип | Описание | Файл | Контекст следующего получателя |
62
+ |-----|----------|------|-------------------------------|
63
+ | **Forward** | Стандартная передача между гейтами внутри сессии | Нет (в памяти) | Полный контекст сессии доступен |
64
+ | **Reverse** | Возврат на доработку | Нет памяти) | Полный контекст сессии доступен |
65
+ | **Session** | Межсессионная передача | `docs/analytics/session-N-handoff.md` | **НОЛЬ** предыдущего контекста файл должен быть самодостаточным |
66
+
67
+ > **Ключевое правило межсессионного handoff:** следующая сессия начинается с НУЛЯ контекста. Файл handoff — единственный источник информации. Никаких ссылок на «см. выше» или «как обсуждалось». Всё должно быть в файле.
68
+
69
+ ## Реестр передач — что передавать
70
+
71
+ ### Full Pipeline (inter-gate)
72
+
73
+ | Переход | Артефакты | Ключевой контекст |
74
+ |---------|-----------|-------------------|
75
+ | **COND-01 → INT-01** | Scope задачи, режим, доска | Бизнес-вопрос, ограничения, ожидания |
76
+ | **INT-01 → Session Handoff** | Research brief, контекст интервью, режим оценки | Все ответы пользователя, выбранные метрики |
77
+ | **COND-02RES-01** | Session-1 handoff, research brief | Полный контекст из интервью, вопросы для исследования |
78
+ | **RES-01 → AN-01** | Данные, источники, факты | Верифицированные данные с URL и датами |
79
+ | **AN-01 → ST-01** | Фреймворки, анализ, паттерны | Методология, ключевые инсайты |
80
+ | **ST-01 → Session Handoff** | Стратегия, рекомендации | Полный пакет Аналитиков для Критиков и Медиатора |
81
+ | **COND-03 → RES-02** | Session-2 handoff, результаты Аналитиков | Данные для критики и альтернативного исследования |
82
+ | **RES-02 AN-02** | Альтернативные данные, критика | Контр-данные с источниками |
83
+ | **AN-02 → ST-02** | Альтернативный анализ | Контр-фреймворки, различия с Аналитиками |
84
+ | **ST-02 Session Handoff** | Альтернативная стратегия, критика | Полный пакет Критиков |
85
+ | **COND-04 → MED-01** | Session-2 + Session-3 handoff | Оба пакета (Аналитики + Критики) |
86
+ | **MED-01 → Session Handoff** | Финальное заключение, оценки | Итоговый вердикт, обоснование |
87
+ | **COND-05 → DS-01** | Session-4 handoff | Заключение Медиатора для визуализации |
88
+ | **DS-01 → LY-01** | Макет, спецификации визуализаций | Структура отчёта, палитра, шрифты |
89
+
90
+ ### Quick Pipeline (inter-gate)
91
+
92
+ | Переход | Артефакты | Ключевой контекст |
93
+ |---------|-----------|-------------------|
94
+ | **COND-01 INT-01** | Scope задачи, режим, доска | Бизнес-вопрос, ограничения |
95
+ | **INT-01 RES-01** | Research brief, режим оценки | Вопросы для исследования, метрики |
96
+ | **RES-01 → AN-01** | Данные, источники, факты | Верифицированные данные с URL и датами |
97
+ | **AN-01 → ST-01** | Фреймворки, анализ, паттерны | Методология, инсайты |
98
+ | **ST-01 MED-01** | Стратегия, рекомендации | Выводы и рекомендации (без конкурирующей команды) |
99
+ | **MED-01 → DS-01** | Итоговое заключение | Финальный вердикт для визуализации |
100
+ | **DS-01 LY-01** | Макет, спецификации | Структура отчёта, палитра |
101
+
102
+ ## Межсессионный Handoff (Session)
103
+
104
+ ### Структура файла `docs/analytics/session-N-handoff.md`
105
+
106
+ Файл содержит **весь** необходимый контекст. Никаких ссылок, никаких сокращений.
107
+
108
+ ```markdown
109
+ # Session [N] Handoff — [Название проекта]
110
+
111
+ ## Meta
112
+ - **Проект:** [Название]
113
+ - **Дата:** [YYYY-MM-DD]
114
+ - **Сессия:** [N] из [M]
115
+ - **Режим:** Full / Quick
116
+ - **Завершённые гейты:** [список ID с deliverables]
117
+ - **Следующий гейт:** [ID] [Название]
118
+
119
+ ## Краткое резюме
120
+ [2-3 предложения: что было сделано в этой сессии, ключевой результат]
121
+
122
+ ## Состояние доски ($board)
123
+ [Полная копия таблицы доски в текущем состоянии + метрики прогресса]
124
+
125
+ ## Полное содержание артефактов
126
+
127
+ ### [Артефакт 1 Название]
128
+ [ПОЛНЫЙ ТЕКСТ артефакта, не ссылка и не краткое описание]
129
+
130
+ ### [Артефакт 2 — Название]
131
+ [ПОЛНЫЙ ТЕКСТ артефакта]
132
+
133
+ ### [Артефакт N — ...]
134
+ [ПОЛНЫЙ ТЕКСТ]
135
+
136
+ ## Решения и контекст
137
+ | # | Решение | Обоснование | Принято кем | Влияет на |
138
+ |---|---------|-------------|-------------|-----------|
139
+ | 1 | [Что решили] | [Почему] | [User / Conductor] | [Какие гейты] |
140
+
141
+ ## Открытые вопросы и блокеры
142
+ | # | Вопрос / Блокер | Severity | Для какого гейта | Статус |
143
+ |---|-----------------|:--------:|:----------------:|--------|
144
+ | 1 | [Описание] | 🔴/🟡/🟢 | [ID гейта] | Открыт / Разрешён |
145
+
146
+ ## Кумулятивный индекс
147
+ | Сессия | Гейты | Ключевые артефакты | Файл |
148
+ |--------|-------|--------------------|------|
149
+ | 1 | COND-01, INT-01 | Research brief, контекст интервью | session-1-handoff.md |
150
+ | 2 | RES-01, AN-01, ST-01 | Данные, анализ, стратегия Аналитиков | session-2-handoff.md |
151
+ | [N] | [...] | [...] | session-N-handoff.md |
152
+
153
+ ## Промпт для следующей сессии
154
+ [Генерируется через $session-prompt-generator готовый к вставке промпт]
155
+
156
+ ## Чек-лист верификации
157
+ - [ ] Все артефакты включены полностью (не ссылками)
158
+ - [ ] Доска задач ($board) сохранена в текущем состоянии
159
+ - [ ] Решения и контекст зафиксированы
160
+ - [ ] Открытые вопросы / блокеры зафиксированы
161
+ - [ ] Кумулятивный индекс актуален
162
+ - [ ] Промпт для следующей сессии сгенерирован
163
+ - [ ] Файл самодостаточен — тест: можно прочитать без ЛЮБОГО предыдущего контекста
164
+ ```
165
+
166
+ ### Протокол восстановления (повреждённый / неполный handoff)
167
+
168
+ При загрузке session handoff в новой сессии Conductor выполняет верификацию:
169
+
170
+ | Проверка | Действие при провале |
171
+ |----------|---------------------|
172
+ | Файл не найден | Запросить у пользователя путь или пересоздать из памяти предыдущей сессии |
173
+ | Артефакты неполные (есть ссылки вместо контента) | Пометить как ⚠️, запросить недостающее у пользователя |
174
+ | Кумулятивный индекс не совпадает с содержанием | Пересобрать индекс из фактического содержания файлов |
175
+ | Промпт отсутствует | Сгенерировать через `$session-prompt-generator` |
176
+ | Доска отсутствует | Восстановить из кумулятивного индекса + артефактов |
177
+
178
+ > При любом восстановлении явно сообщить пользователю, что handoff был неполным и что было восстановлено.
179
+
180
+ ## Обратный Handoff (Reverse)
181
+
182
+ ### Когда происходит
183
+ - `$gates` — FAIL.
184
+ - Mediator обнаружил критические расхождения в данных.
185
+ - Пользователь запросил доработку.
186
+ - Следующий гейт обнаружил проблему с артефактом предыдущего.
187
+
188
+ ### Протокол reverse handoff
189
+ 1. Указать **причину возврата** — конкретные gap'ы / замечания.
190
+ 2. Указать **что именно доработать** не «переделай», а «проверь источник X: данные 2023 года, нужны актуальные за 2025».
191
+ 3. Указать **что НЕ трогать** — что уже одобрено и не нуждается в изменениях.
192
+ 4. Обновить `$board` гейт-получатель → `[↩] Возврат`, гейт-отправитель → `[→] В работе`.
193
+ 5. После доработки повторная `$gates` проверка → forward handoff.
194
+
195
+ ## Подтверждение получения (Receive Acknowledgement)
196
+
197
+ При получении handoff агент-получатель обязан:
198
+
199
+ 1. **Подтвердить загрузку:** «Handoff от [ID] получен, [N] артефактов загружено».
200
+ 2. **Перечислить полученное:** список артефактов с кратким описанием.
201
+ 3. **Отметить gap'ы:** если CONDITIONAL PASS явно перечислить полученные gap'ы.
202
+ 4. **Зафиксировать проблемы:** если артефакт неполный или непонятный — запросить уточнение до начала работы (не додумывать).
203
+
204
+ > Acknowledge встраивается в начало работы следующего гейта. Это не отдельный шаг, а первый абзац deliverable.
205
+
206
+ ## Протокол
207
+
208
+ ### Шаг 0 Определение типа handoff
209
+ 1. Forward (внутри сессии), Reverse (возврат), Session (межсессионный).
210
+ 2. Для Session определить путь файла: `docs/analytics/session-N-handoff.md`.
211
+
212
+ ### Шаг 1 Предусловия
213
+ 1. Убедиться, что `$gates` дал PASS или CONDITIONAL PASS (кроме Reverse).
214
+ 2. Определить агента-получателя по реестру.
215
+ 3. Собрать все артефакты из реестра передач.
216
+
217
+ ### Шаг 2 — Формирование конверта
218
+ 1. Для Forward: заполнить стандартный шаблон конверта.
219
+ 2. Для Session: заполнить шаблон файла, включить ПОЛНОЕ содержание артефактов.
220
+ 3. Для Reverse: заполнить обратный конверт с gap'ами.
221
+ 4. Для CONDITIONAL PASS — явно указать gap'ы, которые передаются.
222
+
223
+ ### Шаг 3 — User sign-off
224
+ 1. Показать конверт пользователю.
225
+ 2. Ожидать явное **"Approved"**.
226
+ 3. Не переходить без Approved. Без исключений.
227
+
228
+ ### Шаг 4 Сохранение и активация
229
+ 1. Для Session: сохранить файл в `docs/analytics/session-N-handoff.md`.
230
+ 2. Обновить `$board`: текущий гейт → `[✓] Завершён`, следующий → `[→] В работе`.
231
+ 3. Добавить запись в лог передач.
232
+ 4. Для Session: вызвать `$session-prompt-generator` для генерации промпта.
233
+
234
+ ## Пример — Forward Handoff RES-01 AN-01 (CONDITIONAL PASS)
235
+
236
+ ```
237
+ ### Handoff Envelope — RES-01 Researcher (Аналитики) → AN-01 Data Analyst (Аналитики)
238
+
239
+ **Тип:** Forward
240
+ **Режим:** Full Pipeline
241
+ **Сессия:** 2
242
+ **Gate Check:** CONDITIONAL PASS (итерация 1) — 2 Gap'а
243
+ **Дата:** 2026-04-12
244
+
245
+ ---
246
+
247
+ **Артефакты:**
248
+
249
+ 1. **Research Report** — 7 секций по research brief INT-01:
250
+ - Размер рынка EdTech РФ (TAM $4.2B, SAM $1.8B, SOM $180M)
251
+ - Ключевые игроки: Skillbox, Нетология, Яндекс Практикум, GeekBrains, Skyeng
252
+ - Тренды: AI-персонализация, корпоративное обучение, микро-сертификации
253
+ - Регуляторная среда: лицензирование, аккредитация
254
+ - Клиентские сегменты: B2C (25-35), B2B (корп. обучение), B2G (Минпросвещения)
255
+ - Ценообразование: подписка $15-80/мес, корпоративные контракты $5K-50K/год
256
+ - Барьеры входа: бренд, контент, преподаватели
257
+
258
+ 2. **Таблица источников** — 28 источников, URL, даты, достоверность (✅/⚠️/🔮)
259
+
260
+ **Gap'ы (CONDITIONAL PASS):**
261
+ - ⚠️ TAM рынка EdTech: 2 источника вместо 3 (Smart Ranking + ВШЭ, нет третьего)
262
+ - ⚠️ Отчёт IDC по корп. обучению: 14 месяцев (янв 2025), рекомендуется верифицировать
263
+
264
+ ---
265
+
266
+ **Задача для AN-01 Data Analyst (Аналитики):**
267
+ Применить фреймворки конкурентного анализа и оценки рынка к данным RES-01. Минимум 2 фреймворка. Учесть gap'ы: TAM помечен как ⚠️ Estimated, данные IDC пометить как ⚠️.
268
+
269
+ **Ожидаемый deliverable:**
270
+ Заполненные фреймворки с привязкой к данным RES-01, паттерны, инсайты, методология.
271
+
272
+ **Блокеры:** Нет
273
+
274
+ ---
275
+
276
+ Ожидаю **"Approved"** для перехода к **AN-01 Data Analyst (Аналитики)**
277
+ ```
278
+
279
+ ## Валидация конверта (Quality Gate)
280
+
281
+ ### Стандартный (Forward) конверт
282
+ - [ ] Результат `$gates` приложен (PASS / CONDITIONAL PASS)
283
+ - [ ] Агент-отправитель и получатель указаны с ID гейтов
284
+ - [ ] Все артефакты из реестра передач приложены
285
+ - [ ] Задача для следующего агента сформулирована конкретно
286
+ - [ ] Gap'ы (если CONDITIONAL) явно перечислены
287
+ - [ ] Контекст передан
288
+ - [ ] User Approved получен
289
+ - [ ] `$board` обновлён
290
+
291
+ ### Межсессионный (Session) конверт дополнительно
292
+ - [ ] Файл сохранён по пути `docs/analytics/session-N-handoff.md`
293
+ - [ ] Все артефакты включены **полным текстом** (не ссылками и не резюме)
294
+ - [ ] Состояние доски сохранено
295
+ - [ ] Решения и контекст зафиксированы
296
+ - [ ] Открытые вопросы / блокеры зафиксированы
297
+ - [ ] Кумулятивный индекс актуален
298
+ - [ ] Промпт для следующей сессии сгенерирован
299
+ - [ ] Файл самодостаточен — тест: можно прочитать без ЛЮБОГО предыдущего контекста
300
+
301
+ ## Handoff
302
+ Результат `$handoff` является входными данными для: следующего агента в пайплайне, `$board` (обновление статусов), `$session-prompt-generator` (для межсессионных handoff).
303
+
304
+ ## Anti-patterns
305
+
306
+ | Ошибка | Почему плохо | Как правильно |
307
+ |--------|-------------|---------------|
308
+ | Handoff без `$gates` | Непроверенные артефакты → проблемы на следующем гейте | Всегда `$gates` PASS → затем handoff |
309
+ | Handoff без Approved | Нарушение протокола, пользователь не в курсе | Всегда ждать явное Approved |
310
+ | Session handoff со ссылками вместо контента | Следующая сессия не имеет доступа к контексту | ПОЛНЫЙ текст артефактов в файле |
311
+ | «Сделай анализ» вместо задачи | Агент не знает scope | Конкретная задача с параметрами и ожидаемым deliverable |
312
+ | Передача без артефактов | Следующий агент работает вслепую | Все артефакты из реестра приложены |
313
+ | Reverse handoff без конкретики | Агент не знает что исправлять | Конкретные gap'ы + что НЕ трогать |
314
+ | Не обновить `$board` | Доска рассинхронизирована | Обновлять `$board` при каждом handoff |
315
+ | Потеря контекста между сессиями | Следующая сессия начинает с нуля | Межсессионный handoff с полным содержанием |
316
+ | Получатель не подтвердил загрузку | Неясно, все ли артефакты получены и поняты | Receive Acknowledgement в начале работы следующего гейта |
317
+ | Повреждённый session файл | Следующая сессия работает с неполными данными | Протокол восстановления: верификация при загрузке |
318
+
319
+ ## Шаблоны вывода
320
+
321
+ ### Forward Handoff (внутри сессии)
322
+
323
+ ```
324
+ ### Handoff Envelope — [ID From] [Агент From] → [ID To] [Агент To]
325
+
326
+ **Тип:** Forward
327
+ **Режим:** [Full / Quick]
328
+ **Сессия:** [N]
329
+ **Gate Check:** [PASS / CONDITIONAL PASS] (итерация [N])
330
+ **Дата:** [YYYY-MM-DD]
331
+
332
+ ---
333
+
334
+ **Артефакты:**
335
+ - [Артефакт 1 — описание]
336
+ - [Артефакт 2 — описание]
337
+
338
+ **Gap'ы (если CONDITIONAL):**
339
+ - [Gap 1 — что учесть]
340
+
341
+ ---
342
+
343
+ **Задача для [Агент To]:**
344
+ [Чёткая конкретная формулировка]
345
+
346
+ **Ожидаемый deliverable:**
347
+ [Что должен вернуть следующий агент]
348
+
349
+ **Блокеры:**
350
+ [Список или «Нет»]
351
+
352
+ ---
353
+
354
+ → Ожидаю **"Approved"** для перехода к **[ID To] [Агент To]**
355
+ ```
356
+
357
+ ### Reverse Handoff
358
+
359
+ ```
360
+ ### Reverse Handoff [ID From] [Агент From] → [ID To] [Агент To] (возврат)
361
+
362
+ **Тип:** Reverse
363
+ **Причина:** [FAIL / feedback / расхождения в данных]
364
+ **Дата:** [YYYY-MM-DD]
365
+
366
+ ---
367
+
368
+ **Что исправить:**
369
+ | # | Gap / Замечание | Sev | Конкретное действие |
370
+ |---|----------------|:---:|---------------------|
371
+ | 1 | [описание] | [B] | [что сделать] |
372
+
373
+ **Что НЕ трогать:**
374
+ - [Артефакт / секция, которая уже одобрена]
375
+
376
+ ---
377
+
378
+ После доработкиповторная проверка `$gates` (итерация [N+1])
379
+ Ожидаю **"Approved"** на возврат
380
+ ```
381
+
382
+ ### Receive Acknowledgement (начало работы получателя)
383
+
384
+ ```
385
+ **Handoff получен:** [ID From] → [ID To]
386
+ **Артефакты загружены:** [N] шт.
387
+ - [Артефакт 1] — ✅ получен
388
+ - [Артефакт 2] — ✅ получен
389
+
390
+ **Gap'ы принятые:** [список или «Нет»]
391
+ **Проблемы при загрузке:** [список или «Нет»]
392
+ ```
393
+
394
+ ## Общие правила handoff-документа (cross-domain)
395
+
396
+ > Применяется к **любому** handoff-документу, передающему контекст сессии свежему агенту (session-handoff / conversation summary). Дополняет, не заменяет, разделы про inter-gate / межсессионный handoff выше — в частности, при использовании `os.tmpdir()` вместо `docs/analytics/session-N-handoff.md` для lightweight conversation summary.
397
+
398
+ 1. **Куда сохранять.** Файл — во временную директорию ОС (`%TEMP%` / `/tmp` / `os.tmpdir()`), **не** в рабочий репозиторий. Workspace остаётся чистым; путь к временному файлу цитируется в чате следующей сессии.
399
+ 2. **Секция «Suggested skills».** Обязательна секция со списком скиллов, которые свежему агенту имеет смысл подгрузить первым же действием (`$skill-1`, `$skill-2`, ...). Сокращает context-warm-up.
400
+ 3. **Не дублировать артефакты.** Если данные уже в PRD / plan / ADR / commit / diff / issue — давать **ссылку по пути или URL**, не копировать содержимое. Дубль создаёт drift между источниками. (Конфликт с правилом «ПОЛНЫЙ ТЕКСТ артефактов» для legacy session-handoff в `docs/analytics/` — там правило сохраняется; здесь действует для temp-варианта.)
401
+ 4. **Редакция чувствительных данных.** Перед сохранением — удалить API-ключи, пароли, токены, PII (email, телефон, реальные имена клиентов). Временная директория тоже потенциальный leak-вектор.
402
+ 5. **Аргументы юзера = фокус следующей сессии.** Если `/handoff` вызван с аргументом-строкой — трактовать её как описание задачи следующей сессии; адаптировать summary и suggested-skills под этот фокус.