productfoo 0.0.0-stage → 1.0.1

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 (498) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +338 -2
  3. package/bin/foo +3 -0
  4. package/bin/foo.mjs +42 -0
  5. package/commands/bug.md +31 -0
  6. package/commands/discovery.md +28 -0
  7. package/commands/ideate.md +27 -0
  8. package/commands/init.md +28 -0
  9. package/commands/pitch.md +27 -0
  10. package/commands/preview.md +25 -0
  11. package/commands/research.md +31 -0
  12. package/commands/roast.md +27 -0
  13. package/commands/spec.md +30 -0
  14. package/config/pricing.yaml +198 -0
  15. package/config/routing-policy.yaml +171 -0
  16. package/dist-public/src/activeModel.d.ts +83 -0
  17. package/dist-public/src/activeModel.js +331 -0
  18. package/dist-public/src/agentAdapters.d.ts +122 -0
  19. package/dist-public/src/agentAdapters.js +178 -0
  20. package/dist-public/src/agentState.d.ts +43 -0
  21. package/dist-public/src/agentState.js +177 -0
  22. package/dist-public/src/bugCapsule.d.ts +94 -0
  23. package/dist-public/src/bugCapsule.js +227 -0
  24. package/dist-public/src/bugCapture.d.ts +26 -0
  25. package/dist-public/src/bugCapture.js +251 -0
  26. package/dist-public/src/bugOwnerLog.d.ts +93 -0
  27. package/dist-public/src/bugOwnerLog.js +304 -0
  28. package/dist-public/src/bugReportStore.d.ts +48 -0
  29. package/dist-public/src/bugReportStore.js +860 -0
  30. package/dist-public/src/bugSpecContext.d.ts +7 -0
  31. package/dist-public/src/bugSpecContext.js +129 -0
  32. package/dist-public/src/channelFreshness.d.ts +25 -0
  33. package/dist-public/src/channelFreshness.js +194 -0
  34. package/dist-public/src/cli.d.ts +30 -0
  35. package/dist-public/src/cli.js +1667 -0
  36. package/dist-public/src/cliArgs.d.ts +7 -0
  37. package/dist-public/src/cliArgs.js +44 -0
  38. package/dist-public/src/codeCatalog.d.ts +41 -0
  39. package/dist-public/src/codeCatalog.js +197 -0
  40. package/dist-public/src/commandContract.d.ts +84 -0
  41. package/dist-public/src/commandContract.js +390 -0
  42. package/dist-public/src/commandUsage.d.ts +3 -0
  43. package/dist-public/src/commandUsage.js +30 -0
  44. package/dist-public/src/commands/agent.d.ts +60 -0
  45. package/dist-public/src/commands/agent.js +1353 -0
  46. package/dist-public/src/commands/asp.d.ts +8 -0
  47. package/dist-public/src/commands/asp.js +669 -0
  48. package/dist-public/src/commands/evalCmd.d.ts +4 -0
  49. package/dist-public/src/commands/evalCmd.js +405 -0
  50. package/dist-public/src/commands/login.d.ts +25 -0
  51. package/dist-public/src/commands/login.js +94 -0
  52. package/dist-public/src/commands/loop.d.ts +16 -0
  53. package/dist-public/src/commands/loop.js +619 -0
  54. package/dist-public/src/commands/reconcile.d.ts +41 -0
  55. package/dist-public/src/commands/reconcile.js +292 -0
  56. package/dist-public/src/commands/runtime.d.ts +1 -0
  57. package/dist-public/src/commands/runtime.js +36 -0
  58. package/dist-public/src/commands/scanRedact.d.ts +8 -0
  59. package/dist-public/src/commands/scanRedact.js +266 -0
  60. package/dist-public/src/commands/setup.d.ts +28 -0
  61. package/dist-public/src/commands/setup.js +398 -0
  62. package/dist-public/src/commands/shared.d.ts +17 -0
  63. package/dist-public/src/commands/shared.js +147 -0
  64. package/dist-public/src/commands/source.d.ts +1 -0
  65. package/dist-public/src/commands/source.js +134 -0
  66. package/dist-public/src/commands/specCmd.d.ts +24 -0
  67. package/dist-public/src/commands/specCmd.js +794 -0
  68. package/dist-public/src/commands/update.d.ts +61 -0
  69. package/dist-public/src/commands/update.js +244 -0
  70. package/dist-public/src/comprehensionSignal.d.ts +20 -0
  71. package/dist-public/src/comprehensionSignal.js +166 -0
  72. package/dist-public/src/conductor/diversity.d.ts +48 -0
  73. package/dist-public/src/conductor/diversity.js +423 -0
  74. package/dist-public/src/conductor/engine.d.ts +7 -0
  75. package/dist-public/src/conductor/engine.js +295 -0
  76. package/dist-public/src/conductor/families/ideate.d.ts +2 -0
  77. package/dist-public/src/conductor/families/ideate.js +255 -0
  78. package/dist-public/src/conductor/families/interview.d.ts +2 -0
  79. package/dist-public/src/conductor/families/interview.js +39 -0
  80. package/dist-public/src/conductor/families/specSwarm.d.ts +2 -0
  81. package/dist-public/src/conductor/families/specSwarm.js +146 -0
  82. package/dist-public/src/conductor/familyDelivery.d.ts +6 -0
  83. package/dist-public/src/conductor/familyDelivery.js +37 -0
  84. package/dist-public/src/conductor/familyPackArtifact.d.ts +4 -0
  85. package/dist-public/src/conductor/familyPackArtifact.js +260 -0
  86. package/dist-public/src/conductor/ideateDecision.d.ts +6 -0
  87. package/dist-public/src/conductor/ideateDecision.js +237 -0
  88. package/dist-public/src/conductor/pack.d.ts +26 -0
  89. package/dist-public/src/conductor/pack.js +75 -0
  90. package/dist-public/src/conductor/types.d.ts +111 -0
  91. package/dist-public/src/conductor/types.js +7 -0
  92. package/dist-public/src/configPath.d.ts +2 -0
  93. package/dist-public/src/configPath.js +7 -0
  94. package/dist-public/src/discoveryArtifacts.d.ts +54 -0
  95. package/dist-public/src/discoveryArtifacts.js +467 -0
  96. package/dist-public/src/discoveryCommand.d.ts +127 -0
  97. package/dist-public/src/discoveryCommand.js +2148 -0
  98. package/dist-public/src/discoveryConnections.d.ts +339 -0
  99. package/dist-public/src/discoveryConnections.js +613 -0
  100. package/dist-public/src/discoveryDocs.d.ts +129 -0
  101. package/dist-public/src/discoveryDocs.js +577 -0
  102. package/dist-public/src/discoveryEvidence.d.ts +59 -0
  103. package/dist-public/src/discoveryEvidence.js +198 -0
  104. package/dist-public/src/discoveryFireflies.d.ts +25 -0
  105. package/dist-public/src/discoveryFireflies.js +551 -0
  106. package/dist-public/src/discoveryGmail.d.ts +12 -0
  107. package/dist-public/src/discoveryGmail.js +466 -0
  108. package/dist-public/src/discoveryGong.d.ts +12 -0
  109. package/dist-public/src/discoveryGong.js +491 -0
  110. package/dist-public/src/discoveryLearningRouting.d.ts +90 -0
  111. package/dist-public/src/discoveryLearningRouting.js +405 -0
  112. package/dist-public/src/discoveryMatching.d.ts +26 -0
  113. package/dist-public/src/discoveryMatching.js +73 -0
  114. package/dist-public/src/discoveryOutlook.d.ts +12 -0
  115. package/dist-public/src/discoveryOutlook.js +492 -0
  116. package/dist-public/src/discoveryProcess.d.ts +221 -0
  117. package/dist-public/src/discoveryProcess.js +703 -0
  118. package/dist-public/src/discoveryProof.d.ts +143 -0
  119. package/dist-public/src/discoveryProof.js +529 -0
  120. package/dist-public/src/discoveryProviders.d.ts +152 -0
  121. package/dist-public/src/discoveryProviders.js +756 -0
  122. package/dist-public/src/discoveryReadiness.d.ts +219 -0
  123. package/dist-public/src/discoveryReadiness.js +672 -0
  124. package/dist-public/src/discoveryReconcile.d.ts +57 -0
  125. package/dist-public/src/discoveryReconcile.js +424 -0
  126. package/dist-public/src/discoverySlack.d.ts +12 -0
  127. package/dist-public/src/discoverySlack.js +452 -0
  128. package/dist-public/src/discoverySources.d.ts +56 -0
  129. package/dist-public/src/discoverySources.js +322 -0
  130. package/dist-public/src/discoverySync.d.ts +52 -0
  131. package/dist-public/src/discoverySync.js +151 -0
  132. package/dist-public/src/discoverySynthesis.d.ts +57 -0
  133. package/dist-public/src/discoverySynthesis.js +215 -0
  134. package/dist-public/src/discoveryTeams.d.ts +12 -0
  135. package/dist-public/src/discoveryTeams.js +516 -0
  136. package/dist-public/src/discoveryZoom.d.ts +12 -0
  137. package/dist-public/src/discoveryZoom.js +523 -0
  138. package/dist-public/src/elicitationSurface.d.ts +13 -0
  139. package/dist-public/src/elicitationSurface.js +77 -0
  140. package/dist-public/src/errorReport.d.ts +99 -0
  141. package/dist-public/src/errorReport.js +443 -0
  142. package/dist-public/src/errorTaxonomy.d.ts +84 -0
  143. package/dist-public/src/errorTaxonomy.js +189 -0
  144. package/dist-public/src/evalCalibration.d.ts +82 -0
  145. package/dist-public/src/evalCalibration.js +169 -0
  146. package/dist-public/src/evalChecks.d.ts +21 -0
  147. package/dist-public/src/evalChecks.js +295 -0
  148. package/dist-public/src/evalCompile.d.ts +56 -0
  149. package/dist-public/src/evalCompile.js +58 -0
  150. package/dist-public/src/evalImprove.d.ts +60 -0
  151. package/dist-public/src/evalImprove.js +175 -0
  152. package/dist-public/src/evalJudge.d.ts +47 -0
  153. package/dist-public/src/evalJudge.js +143 -0
  154. package/dist-public/src/evalLabels.d.ts +100 -0
  155. package/dist-public/src/evalLabels.js +287 -0
  156. package/dist-public/src/evalRecord.d.ts +68 -0
  157. package/dist-public/src/evalRecord.js +165 -0
  158. package/dist-public/src/evalRoast.d.ts +88 -0
  159. package/dist-public/src/evalRoast.js +249 -0
  160. package/dist-public/src/evidenceIntake.d.ts +66 -0
  161. package/dist-public/src/evidenceIntake.js +356 -0
  162. package/dist-public/src/feedback.d.ts +78 -0
  163. package/dist-public/src/feedback.js +294 -0
  164. package/dist-public/src/firefliesClient.d.ts +106 -0
  165. package/dist-public/src/firefliesClient.js +258 -0
  166. package/dist-public/src/firstMoveTensions.d.ts +10 -0
  167. package/dist-public/src/firstMoveTensions.js +93 -0
  168. package/dist-public/src/gitRun.d.ts +21 -0
  169. package/dist-public/src/gitRun.js +50 -0
  170. package/dist-public/src/githubReconcile.d.ts +94 -0
  171. package/dist-public/src/githubReconcile.js +205 -0
  172. package/dist-public/src/gmailNango.d.ts +131 -0
  173. package/dist-public/src/gmailNango.js +329 -0
  174. package/dist-public/src/gongNango.d.ts +118 -0
  175. package/dist-public/src/gongNango.js +308 -0
  176. package/dist-public/src/grammarGate.d.ts +13 -0
  177. package/dist-public/src/grammarGate.js +72 -0
  178. package/dist-public/src/harnessGates.d.ts +65 -0
  179. package/dist-public/src/harnessGates.js +168 -0
  180. package/dist-public/src/humanSurfaceEval.d.ts +19 -0
  181. package/dist-public/src/humanSurfaceEval.js +156 -0
  182. package/dist-public/src/ideate.d.ts +43 -0
  183. package/dist-public/src/ideate.js +255 -0
  184. package/dist-public/src/ideateContext.d.ts +11 -0
  185. package/dist-public/src/ideateContext.js +83 -0
  186. package/dist-public/src/index.d.ts +2 -0
  187. package/dist-public/src/index.js +4 -0
  188. package/dist-public/src/initCommand.d.ts +25 -0
  189. package/dist-public/src/initCommand.js +558 -0
  190. package/dist-public/src/interviewGate.d.ts +25 -0
  191. package/dist-public/src/interviewGate.js +126 -0
  192. package/dist-public/src/jsonFile.d.ts +2 -0
  193. package/dist-public/src/jsonFile.js +22 -0
  194. package/dist-public/src/loopBudget.d.ts +182 -0
  195. package/dist-public/src/loopBudget.js +494 -0
  196. package/dist-public/src/loopContracts.d.ts +35 -0
  197. package/dist-public/src/loopContracts.js +364 -0
  198. package/dist-public/src/machineState.d.ts +1 -0
  199. package/dist-public/src/machineState.js +9 -0
  200. package/dist-public/src/notionNango.d.ts +93 -0
  201. package/dist-public/src/notionNango.js +279 -0
  202. package/dist-public/src/orchestrationResult.d.ts +11 -0
  203. package/dist-public/src/orchestrationResult.js +73 -0
  204. package/dist-public/src/outlookNango.d.ts +124 -0
  205. package/dist-public/src/outlookNango.js +327 -0
  206. package/dist-public/src/packetCorrections.d.ts +40 -0
  207. package/dist-public/src/packetCorrections.js +172 -0
  208. package/dist-public/src/packetGlossary.d.ts +6 -0
  209. package/dist-public/src/packetGlossary.js +42 -0
  210. package/dist-public/src/packetIndex.d.ts +54 -0
  211. package/dist-public/src/packetIndex.js +744 -0
  212. package/dist-public/src/packetIndexEntry.d.ts +3 -0
  213. package/dist-public/src/packetIndexEntry.js +128 -0
  214. package/dist-public/src/packetIndexServe.d.ts +13 -0
  215. package/dist-public/src/packetIndexServe.js +113 -0
  216. package/dist-public/src/packetIndexWorker.d.ts +7 -0
  217. package/dist-public/src/packetIndexWorker.js +45 -0
  218. package/dist-public/src/packetLifecycle.d.ts +30 -0
  219. package/dist-public/src/packetLifecycle.js +127 -0
  220. package/dist-public/src/packetReconcile.d.ts +73 -0
  221. package/dist-public/src/packetReconcile.js +386 -0
  222. package/dist-public/src/packetStatus.d.ts +125 -0
  223. package/dist-public/src/packetStatus.js +770 -0
  224. package/dist-public/src/packetValidation.d.ts +17 -0
  225. package/dist-public/src/packetValidation.js +333 -0
  226. package/dist-public/src/packetVerify.d.ts +73 -0
  227. package/dist-public/src/packetVerify.js +303 -0
  228. package/dist-public/src/packetWrite.d.ts +52 -0
  229. package/dist-public/src/packetWrite.js +448 -0
  230. package/dist-public/src/pitch.d.ts +38 -0
  231. package/dist-public/src/pitch.js +154 -0
  232. package/dist-public/src/processMemo.d.ts +8 -0
  233. package/dist-public/src/processMemo.js +23 -0
  234. package/dist-public/src/productDetect.d.ts +30 -0
  235. package/dist-public/src/productDetect.js +376 -0
  236. package/dist-public/src/profile.d.ts +62 -0
  237. package/dist-public/src/profile.js +334 -0
  238. package/dist-public/src/questionModel.d.ts +46 -0
  239. package/dist-public/src/questionModel.js +74 -0
  240. package/dist-public/src/questionText.d.ts +7 -0
  241. package/dist-public/src/questionText.js +38 -0
  242. package/dist-public/src/redactConfig.d.ts +2 -0
  243. package/dist-public/src/redactConfig.js +11 -0
  244. package/dist-public/src/redactEngine.d.ts +59 -0
  245. package/dist-public/src/redactEngine.js +509 -0
  246. package/dist-public/src/redactGate.d.ts +63 -0
  247. package/dist-public/src/redactGate.js +209 -0
  248. package/dist-public/src/repoRead.d.ts +29 -0
  249. package/dist-public/src/repoRead.js +160 -0
  250. package/dist-public/src/research.d.ts +242 -0
  251. package/dist-public/src/research.js +1314 -0
  252. package/dist-public/src/researchCompletion.d.ts +34 -0
  253. package/dist-public/src/researchCompletion.js +123 -0
  254. package/dist-public/src/researchExecution.d.ts +47 -0
  255. package/dist-public/src/researchExecution.js +309 -0
  256. package/dist-public/src/researchFormat.d.ts +21 -0
  257. package/dist-public/src/researchFormat.js +77 -0
  258. package/dist-public/src/researchGate.d.ts +86 -0
  259. package/dist-public/src/researchGate.js +1036 -0
  260. package/dist-public/src/researchReceipt.d.ts +76 -0
  261. package/dist-public/src/researchReceipt.js +148 -0
  262. package/dist-public/src/researchRender.d.ts +2 -0
  263. package/dist-public/src/researchRender.js +267 -0
  264. package/dist-public/src/researchSigningKey.d.ts +19 -0
  265. package/dist-public/src/researchSigningKey.js +95 -0
  266. package/dist-public/src/riskClassify.d.ts +42 -0
  267. package/dist-public/src/riskClassify.js +149 -0
  268. package/dist-public/src/routines.d.ts +42 -0
  269. package/dist-public/src/routines.js +269 -0
  270. package/dist-public/src/routingPolicy.d.ts +172 -0
  271. package/dist-public/src/routingPolicy.js +646 -0
  272. package/dist-public/src/secretInput.d.ts +8 -0
  273. package/dist-public/src/secretInput.js +89 -0
  274. package/dist-public/src/selfCheck.d.ts +7 -0
  275. package/dist-public/src/selfCheck.js +473 -0
  276. package/dist-public/src/selfCheckCache.d.ts +29 -0
  277. package/dist-public/src/selfCheckCache.js +147 -0
  278. package/dist-public/src/severityClass.d.ts +15 -0
  279. package/dist-public/src/severityClass.js +22 -0
  280. package/dist-public/src/skillClientPolicy.d.ts +8 -0
  281. package/dist-public/src/skillClientPolicy.js +16 -0
  282. package/dist-public/src/skillLocal.d.ts +98 -0
  283. package/dist-public/src/skillLocal.js +463 -0
  284. package/dist-public/src/skillTreeDigest.d.ts +9 -0
  285. package/dist-public/src/skillTreeDigest.js +64 -0
  286. package/dist-public/src/slackNango.d.ts +62 -0
  287. package/dist-public/src/slackNango.js +208 -0
  288. package/dist-public/src/social/arxiv.d.ts +19 -0
  289. package/dist-public/src/social/arxiv.js +96 -0
  290. package/dist-public/src/social/github.d.ts +2 -0
  291. package/dist-public/src/social/github.js +78 -0
  292. package/dist-public/src/social/hackernews.d.ts +2 -0
  293. package/dist-public/src/social/hackernews.js +67 -0
  294. package/dist-public/src/social/index.d.ts +10 -0
  295. package/dist-public/src/social/index.js +79 -0
  296. package/dist-public/src/social/reddit.d.ts +2 -0
  297. package/dist-public/src/social/reddit.js +125 -0
  298. package/dist-public/src/social/types.d.ts +73 -0
  299. package/dist-public/src/social/types.js +61 -0
  300. package/dist-public/src/social/xml.d.ts +10 -0
  301. package/dist-public/src/social/xml.js +49 -0
  302. package/dist-public/src/social/youtube.d.ts +7 -0
  303. package/dist-public/src/social/youtube.js +217 -0
  304. package/dist-public/src/sourceIngress.d.ts +488 -0
  305. package/dist-public/src/sourceIngress.js +1651 -0
  306. package/dist-public/src/specAfter.d.ts +187 -0
  307. package/dist-public/src/specAfter.js +814 -0
  308. package/dist-public/src/specBudget.d.ts +124 -0
  309. package/dist-public/src/specBudget.js +424 -0
  310. package/dist-public/src/specDecisionSignals.d.ts +38 -0
  311. package/dist-public/src/specDecisionSignals.js +121 -0
  312. package/dist-public/src/specLinkedCommits.d.ts +7 -0
  313. package/dist-public/src/specLinkedCommits.js +107 -0
  314. package/dist-public/src/specSections.d.ts +105 -0
  315. package/dist-public/src/specSections.js +718 -0
  316. package/dist-public/src/statusGlyphs.d.ts +18 -0
  317. package/dist-public/src/statusGlyphs.js +75 -0
  318. package/dist-public/src/swarmCommand.d.ts +10 -0
  319. package/dist-public/src/swarmCommand.js +96 -0
  320. package/dist-public/src/teamsNango.d.ts +114 -0
  321. package/dist-public/src/teamsNango.js +301 -0
  322. package/dist-public/src/tokenStore.d.ts +10 -0
  323. package/dist-public/src/tokenStore.js +77 -0
  324. package/dist-public/src/trustEnvelope.d.ts +78 -0
  325. package/dist-public/src/trustEnvelope.js +392 -0
  326. package/dist-public/src/untrustedText.d.ts +6 -0
  327. package/dist-public/src/untrustedText.js +20 -0
  328. package/dist-public/src/updateNotice.d.ts +41 -0
  329. package/dist-public/src/updateNotice.js +290 -0
  330. package/dist-public/src/vendorYaml.d.ts +1 -0
  331. package/dist-public/src/vendorYaml.js +7374 -0
  332. package/dist-public/src/workflowRunActuals.d.ts +67 -0
  333. package/dist-public/src/workflowRunActuals.js +184 -0
  334. package/dist-public/src/zendeskDiscovery.d.ts +12 -0
  335. package/dist-public/src/zendeskDiscovery.js +513 -0
  336. package/dist-public/src/zendeskNango.d.ts +131 -0
  337. package/dist-public/src/zendeskNango.js +344 -0
  338. package/dist-public/src/zoomNango.d.ts +106 -0
  339. package/dist-public/src/zoomNango.js +351 -0
  340. package/docs/CHANGELOG.md +32 -0
  341. package/docs/THIRD_PARTY_NOTICES.md +36 -0
  342. package/package.json +71 -4
  343. package/schemas/bug-capsule-receipt.schema.json +54 -0
  344. package/schemas/bug-capsule.schema.json +189 -0
  345. package/schemas/discovery-evidence-envelope.schema.json +79 -0
  346. package/schemas/discovery-processing-receipt.schema.json +71 -0
  347. package/schemas/discovery-service-contract.schema.json +189 -0
  348. package/skills/AGENTS.md +32 -0
  349. package/skills/README.md +287 -0
  350. package/skills/bug/SKILL.md +49 -0
  351. package/skills/build-preview-spec/SKILL.md +103 -0
  352. package/skills/capture-external-artifact/SKILL.md +23 -0
  353. package/skills/capture-external-artifact/agents/openai.yaml +4 -0
  354. package/skills/capture-external-artifact/references/extractor-libraries.md +27 -0
  355. package/skills/check-spec-health/SKILL.md +45 -0
  356. package/skills/check-spec-health/agents/openai.yaml +4 -0
  357. package/skills/competitive-positioning/SKILL.md +86 -0
  358. package/skills/competitive-positioning/agents/openai.yaml +4 -0
  359. package/skills/cpo-lens/SKILL.md +398 -0
  360. package/skills/cpo-lens/agents/openai.yaml +4 -0
  361. package/skills/create-prd/SKILL.md +26 -0
  362. package/skills/create-prd/agents/openai.yaml +4 -0
  363. package/skills/customer-discovery/SKILL.md +192 -0
  364. package/skills/design-system/SKILL.md +49 -0
  365. package/skills/design-system/agents/openai.yaml +4 -0
  366. package/skills/discussion-guide/SKILL.md +75 -0
  367. package/skills/discussion-guide/agents/openai.yaml +4 -0
  368. package/skills/firecrawl-research-papers/SKILL.md +96 -0
  369. package/skills/firecrawl-research-papers/agents/openai.yaml +4 -0
  370. package/skills/foo-roast/SKILL.md +325 -0
  371. package/skills/generate-gtm-brief/SKILL.md +41 -0
  372. package/skills/generate-gtm-brief/agents/openai.yaml +4 -0
  373. package/skills/generate-gtm-brief/references/gtm-brief-template.md +56 -0
  374. package/skills/gong-quotes/SKILL.md +43 -0
  375. package/skills/gong-quotes/agents/openai.yaml +4 -0
  376. package/skills/grill-me/SKILL.md +27 -0
  377. package/skills/grill-me/agents/openai.yaml +4 -0
  378. package/skills/ideate/SKILL.md +180 -0
  379. package/skills/ideate/references/family-packs.md +5 -0
  380. package/skills/initiative-tracker/SKILL.md +23 -0
  381. package/skills/initiative-tracker/agents/openai.yaml +4 -0
  382. package/skills/interop-review/SKILL.md +25 -0
  383. package/skills/interop-review/agents/openai.yaml +4 -0
  384. package/skills/interview-me/SKILL.md +404 -0
  385. package/skills/interview-me/agents/openai.yaml +4 -0
  386. package/skills/loop-library-audit/SKILL.md +123 -0
  387. package/skills/pitch/SKILL.md +110 -0
  388. package/skills/pitch/references/opportunity-assessment.md +136 -0
  389. package/skills/pitch/references/prfaq-template.md +54 -0
  390. package/skills/pmm-release-briefing/SKILL.md +27 -0
  391. package/skills/pmm-release-briefing/agents/openai.yaml +4 -0
  392. package/skills/pmm-release-briefing/references/variant-generalized.md +16 -0
  393. package/skills/positioning-messaging/SKILL.md +70 -0
  394. package/skills/positioning-messaging/agents/openai.yaml +4 -0
  395. package/skills/positioning-messaging/references/guest-insights.md +1400 -0
  396. package/skills/preview-swarm/SKILL.md +418 -0
  397. package/skills/preview-swarm/agents/openai.yaml +4 -0
  398. package/skills/preview-swarm/references/html-effectiveness-build-previews.md +168 -0
  399. package/skills/product-copywriting/SKILL.md +127 -0
  400. package/skills/product-copywriting/agents/openai.yaml +4 -0
  401. package/skills/product-copywriting/references/foo-voice.md +26 -0
  402. package/skills/product-shape-interview/SKILL.md +219 -0
  403. package/skills/product-shape-interview/agents/openai.yaml +4 -0
  404. package/skills/ready-for-release/SKILL.md +39 -0
  405. package/skills/ready-for-release/agents/openai.yaml +4 -0
  406. package/skills/redact-transcripts/SKILL.md +23 -0
  407. package/skills/redact-transcripts/agents/openai.yaml +4 -0
  408. package/skills/research-brief/SKILL.md +48 -0
  409. package/skills/research-brief/agents/openai.yaml +4 -0
  410. package/skills/research-refresh/SKILL.md +63 -0
  411. package/skills/research-refresh/references/worked-cases.md +44 -0
  412. package/skills/review-loop/SKILL.md +200 -0
  413. package/skills/review-spec/SKILL.md +32 -0
  414. package/skills/review-spec/agents/openai.yaml +4 -0
  415. package/skills/rfc-from-research/SKILL.md +42 -0
  416. package/skills/rfc-from-research/agents/openai.yaml +4 -0
  417. package/skills/rfc-from-research/references/rfc-pattern.md +69 -0
  418. package/skills/skill-registry.yaml +810 -0
  419. package/skills/spec-cleanup/SKILL.md +103 -0
  420. package/skills/spec-cleanup/agents/openai.yaml +4 -0
  421. package/skills/spec-swarm/SKILL.md +87 -0
  422. package/skills/spec-swarm/agents/openai.yaml +4 -0
  423. package/skills/spec-swarm/template/SKILL.template.md +94 -0
  424. package/skills/spec-swarm/template/personas/accessibility-inclusion.md +40 -0
  425. package/skills/spec-swarm/template/personas/ai-technical-pm.md +69 -0
  426. package/skills/spec-swarm/template/personas/analytics-engineering.md +39 -0
  427. package/skills/spec-swarm/template/personas/applied-ai-eval.md +64 -0
  428. package/skills/spec-swarm/template/personas/business-gm-pm.md +67 -0
  429. package/skills/spec-swarm/template/personas/consumer-craft-pm.md +68 -0
  430. package/skills/spec-swarm/template/personas/content-design.md +40 -0
  431. package/skills/spec-swarm/template/personas/cpo.md +42 -0
  432. package/skills/spec-swarm/template/personas/data-science.md +42 -0
  433. package/skills/spec-swarm/template/personas/developer-experience.md +65 -0
  434. package/skills/spec-swarm/template/personas/dx-product.md +70 -0
  435. package/skills/spec-swarm/template/personas/field.md +43 -0
  436. package/skills/spec-swarm/template/personas/finance-cfo.md +40 -0
  437. package/skills/spec-swarm/template/personas/growth-pm.md +67 -0
  438. package/skills/spec-swarm/template/personas/platform-pm.md +67 -0
  439. package/skills/spec-swarm/template/personas/pmm.md +43 -0
  440. package/skills/spec-swarm/template/personas/principal-product-designer.md +42 -0
  441. package/skills/spec-swarm/template/personas/product-ops-program.md +41 -0
  442. package/skills/spec-swarm/template/personas/qa-release.md +41 -0
  443. package/skills/spec-swarm/template/personas/responsible-ai-safety.md +64 -0
  444. package/skills/spec-swarm/template/personas/security-privacy-legal.md +40 -0
  445. package/skills/spec-swarm/template/personas/strategy-competitive.md +41 -0
  446. package/skills/spec-swarm/template/personas/technical-architect.md +42 -0
  447. package/skills/spec-swarm/template/personas/technical-lead.md +43 -0
  448. package/skills/spec-swarm/template/personas/user-research.md +41 -0
  449. package/skills/spec-swarm-accessibility-inclusion/SKILL.md +95 -0
  450. package/skills/spec-swarm-accessibility-inclusion/agents/openai.yaml +4 -0
  451. package/skills/spec-swarm-ai-technical-pm/SKILL.md +124 -0
  452. package/skills/spec-swarm-analytics-engineering/SKILL.md +94 -0
  453. package/skills/spec-swarm-analytics-engineering/agents/openai.yaml +4 -0
  454. package/skills/spec-swarm-applied-ai-eval/SKILL.md +120 -0
  455. package/skills/spec-swarm-business-gm-pm/SKILL.md +122 -0
  456. package/skills/spec-swarm-consumer-craft-pm/SKILL.md +122 -0
  457. package/skills/spec-swarm-content-design/SKILL.md +95 -0
  458. package/skills/spec-swarm-content-design/agents/openai.yaml +4 -0
  459. package/skills/spec-swarm-cpo/SKILL.md +94 -0
  460. package/skills/spec-swarm-cpo/agents/openai.yaml +4 -0
  461. package/skills/spec-swarm-data-science/SKILL.md +95 -0
  462. package/skills/spec-swarm-data-science/agents/openai.yaml +4 -0
  463. package/skills/spec-swarm-developer-experience/SKILL.md +121 -0
  464. package/skills/spec-swarm-dx-product/SKILL.md +126 -0
  465. package/skills/spec-swarm-field/SKILL.md +96 -0
  466. package/skills/spec-swarm-field/agents/openai.yaml +4 -0
  467. package/skills/spec-swarm-finance-cfo/SKILL.md +95 -0
  468. package/skills/spec-swarm-finance-cfo/agents/openai.yaml +4 -0
  469. package/skills/spec-swarm-growth-pm/SKILL.md +122 -0
  470. package/skills/spec-swarm-platform-pm/SKILL.md +122 -0
  471. package/skills/spec-swarm-pmm/SKILL.md +96 -0
  472. package/skills/spec-swarm-pmm/agents/openai.yaml +4 -0
  473. package/skills/spec-swarm-principal-product-designer/SKILL.md +95 -0
  474. package/skills/spec-swarm-principal-product-designer/agents/openai.yaml +4 -0
  475. package/skills/spec-swarm-product-ops-program/SKILL.md +96 -0
  476. package/skills/spec-swarm-product-ops-program/agents/openai.yaml +4 -0
  477. package/skills/spec-swarm-qa-release/SKILL.md +96 -0
  478. package/skills/spec-swarm-qa-release/agents/openai.yaml +4 -0
  479. package/skills/spec-swarm-responsible-ai-safety/SKILL.md +120 -0
  480. package/skills/spec-swarm-security-privacy-legal/SKILL.md +95 -0
  481. package/skills/spec-swarm-security-privacy-legal/agents/openai.yaml +4 -0
  482. package/skills/spec-swarm-strategy-competitive/SKILL.md +96 -0
  483. package/skills/spec-swarm-strategy-competitive/agents/openai.yaml +4 -0
  484. package/skills/spec-swarm-technical-architect/SKILL.md +95 -0
  485. package/skills/spec-swarm-technical-architect/agents/openai.yaml +4 -0
  486. package/skills/spec-swarm-technical-lead/SKILL.md +96 -0
  487. package/skills/spec-swarm-technical-lead/agents/openai.yaml +4 -0
  488. package/skills/spec-swarm-user-research/SKILL.md +95 -0
  489. package/skills/spec-swarm-user-research/agents/openai.yaml +4 -0
  490. package/skills/strategy-check/SKILL.md +170 -0
  491. package/skills/strategy-check/agents/openai.yaml +4 -0
  492. package/skills/study-digest/SKILL.md +41 -0
  493. package/skills/synthetic-customer/SKILL.md +68 -0
  494. package/skills/update-cli-spec/SKILL.md +69 -0
  495. package/skills/update-cli-spec/agents/openai.yaml +4 -0
  496. package/skills/voc-researcher/SKILL.md +45 -0
  497. package/skills/voc-researcher/agents/openai.yaml +4 -0
  498. package/skills-lock.json +35 -0
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: product-copywriting
3
+ description: "Use when working on ThisProduct copy, reducing jargon, explaining the product, editing the static prototype under design system/thisproduct, or deciding whether terms like Spec, Cross-functional Spec, drift, evidence, provenance, source packets, tokens, routing, or agents should appear in user-facing language."
4
+ ---
5
+
6
+ ## Human-facing voice
7
+
8
+ Before writing for a person, load `foo skill product-copywriting/references/foo-voice.md`
9
+ and apply it within this skill's required output format. Keep the evidence record
10
+ and workflow responsibilities intact. If the reference cannot be loaded, report
11
+ the delivery gap and preserve evidence, uncertainty and dissent explicitly.
12
+
13
+ ## Usage
14
+
15
+ Use this skill when its frontmatter description matches the user request. Follow the workflow and constraints below.
16
+
17
+
18
+ # ThisProduct Copywriting
19
+
20
+ Use this skill to make ThisProduct understandable without flattening the product. The working test is: a product leader should be able to explain the screen out loud after reading it once.
21
+
22
+ ## Source Of Truth
23
+
24
+ Before rewriting, read the smallest relevant set:
25
+
26
+ - `AGENTS.md` for product constraints and source boundaries.
27
+ - `README.md` for the current product definition.
28
+ - `docs/prototypes/2026-06-11-thisproduct-jargon-audit.md` for the full jargon backlog.
29
+ - `design system/thisproduct/components.jsx` and `design system/thisproduct/data.js` when changing prototype UI text.
30
+
31
+ Do not import private Obsidian notes, meeting notes, or local context into repo copy unless the user explicitly asks.
32
+
33
+ ## Protected Product Language
34
+
35
+ Keep these terms, but define or contextualize them early:
36
+
37
+ - `ThisProduct`: product name.
38
+ - `Initiative`: the main unit of product work.
39
+ - `Cross-functional Spec`: the core spec object. Use this exact capitalization.
40
+ - `Spec`: product-facing shorthand. Use `Spec`, not `Adaptive Spec Packet`, in UI and marketing copy.
41
+ - `Evidence`: the trust layer behind every claim.
42
+ - `Agent`: acceptable because ThisProduct is about people working with agents.
43
+ - `Drift`: acceptable only after explaining it as work changing from the approved plan.
44
+
45
+ Use repo paths such as `specs/<name>/` only when they are real implementation source references. Product-facing labels should say `Spec`.
46
+
47
+ ## Default Translations
48
+
49
+ Use these replacements unless the source context requires the exact technical term:
50
+
51
+ | Avoid | Prefer |
52
+ |---|---|
53
+ | Adaptive Spec Packet | Spec |
54
+ | Cross-functional spec | Cross-functional Spec |
55
+ | provenance | where this came from |
56
+ | source-backed | with links back to the source |
57
+ | source-agnostic | works across your tools |
58
+ | demo substrate | demo source |
59
+ | source packets | approved source bundles |
60
+ | expected output fixture | expected result |
61
+ | thisproduct graph | initiative map |
62
+ | lens | view |
63
+ | product implication | why this matters |
64
+ | agent decision | what the agent changed |
65
+ | result contract | agent result report |
66
+ | trace | record of what happened |
67
+ | telemetry | usage data or activity data |
68
+ | routing receipts | savings proof |
69
+ | task class | type of work |
70
+ | callsite | AI call |
71
+
72
+ ## Page Jobs
73
+
74
+ Rewrite page by page. Do not try to explain the whole system on every screen.
75
+
76
+ - Home: answer what is happening, what needs attention, and what can be trusted.
77
+ - Initiative Spec: explain the Cross-functional Spec before showing views, requirements, or source links.
78
+ - Drift: say what changed, why it matters, and what the user should do.
79
+ - Spend and Impact: make cost decision-oriented before showing tokens, routing, or ROI.
80
+ - Routing: first say ThisProduct helps spend less on AI calls without lowering quality; only then introduce modes or receipts.
81
+ - Ideas: emphasize grouped inputs and a ranked list; keep scoring methods secondary.
82
+ - Forecast: separate real forecasts from demo forecasts, then say what action changes a date.
83
+ - Activity: keep it as a plain event feed.
84
+
85
+ ## Voice Rules
86
+
87
+ The shared productfoo voice reference loaded above governs human explanations across
88
+ products. The protected ThisProduct terms and prototype paths in this skill are
89
+ local product rules, not a vocabulary to impose on every productfoo answer.
90
+
91
+ - Lead with the user job, then introduce the ThisProduct noun.
92
+ - Prefer concrete nouns and verbs over category language.
93
+ - Keep one idea per section.
94
+ - Show uncertainty directly; do not turn weak evidence into certainty.
95
+ - Preserve source boundaries. Synthetic data must be labeled synthetic.
96
+ - Do not use hype words such as `revolutionary`, `seamless`, `innovative`, or `AI-powered` unless quoted from a source.
97
+ - Do not make token savings the parent thesis. The parent thesis is making product work legible to people and agents.
98
+
99
+ ## Editing Workflow
100
+
101
+ When changing prototype copy:
102
+
103
+ 1. Find visible strings in `design system/thisproduct/components.jsx`, `design system/thisproduct/data.js`, and `design system/thisproduct/app.jsx`.
104
+ 2. Update tests before production copy when behavior or canonical terms change.
105
+ 3. Keep source paths and Proof document routes working.
106
+ 4. Preserve demo-vs-real boundaries; do not invent operating data for ThisProduct dogfood mode.
107
+ 5. Run the prototype checks after editing:
108
+
109
+ ```bash
110
+ node "design system/thisproduct/prototype-smoke.test.mjs"
111
+ node "design system/thisproduct/data-mode.test.mjs"
112
+ node "design system/thisproduct/decision-accordion.test.mjs"
113
+ node "design system/thisproduct/spend-action.test.mjs"
114
+ ```
115
+
116
+ 6. Run a terminology sweep:
117
+
118
+ ```bash
119
+ rg -n "Adaptive Spec Packet|cross-functional spec|Cross-functional spec|Full spec|What this spec is planning" "design system/thisproduct"
120
+ ```
121
+
122
+ Uppercase `Adaptive Spec Packet` should not appear in product-facing prototype copy. Product-facing labels should say `Spec`; repo-path references may use `specs/<name>/` when needed.
123
+
124
+ ## Error Handling
125
+
126
+ - If required files, tools, connectors, credentials, or source artifacts are unavailable, state the blocker clearly and continue only with safe local evidence.
127
+ - If the user request requires missing product judgment or source-boundary approval, ask one focused question before proceeding.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ThisProduct Copywriting"
3
+ short_description: "Plain-language copy rules for ThisProduct"
4
+ default_prompt: "Use $product-copywriting to rewrite the current ThisProduct prototype page in product-facing language."
@@ -0,0 +1,26 @@
1
+ ## productfoo voice for people
2
+
3
+ When briefing a person, give the recommendation, its concrete reason, what is
4
+ uncertain or disputed, and the useful next action. Follow the required output
5
+ format; this guidance changes phrasing, not fields or workflow responsibilities.
6
+
7
+ - Use concrete nouns and verbs. Keep a specialist term when it is more precise,
8
+ and explain it when the reader needs that meaning to decide.
9
+ - Say what you actually inspected and what it supports. Distinguish evidence
10
+ from inference in ordinary sentences: “The test covers X” and “I expect Y,
11
+ but have not checked it.” Name the specific unknown and what would settle it.
12
+ - Keep material dissent, source limits and required approvals in the answer,
13
+ with their original strength. A shorter or warmer answer must not turn an
14
+ unresolved risk into reassurance. Keep citations close to their claims.
15
+ - Be candid and respectful. Dry humor can name frustrating work; aim it at the
16
+ situation, not the person. Describe missing evidence without guessing motives
17
+ or implying deception. Do not invent feelings, experience, checks or praise.
18
+ - Ask the unresolved choice the person needs to make, with your recommendation
19
+ and tradeoff. Use the active workflow's question budget and consultation rules.
20
+ - End with the concrete next step. Skip repeated process narration and stock
21
+ offers to continue; carry out work already authorized by the person.
22
+
23
+ Structured records retain their evidence types, confidence, dissent, owners and
24
+ machine status values. Translate those distinctions for the reader; do not erase
25
+ them. Specialist lenses keep their craft. These rules do not change source
26
+ permissions, expert consultation, sequencing, required questions or output schemas.
@@ -0,0 +1,219 @@
1
+ ---
2
+ name: product-shape-interview
3
+ description: "Run a one-question-at-a-time shaping interview before generating an HTML artifact, scenario prototype, workbench, Build Preview, or visual app exploration from a spec packet, PRD-like spec, approved intake summary, or swarm report. Use when the user wants one solid artifact optimized for a product bet rather than multiple divergent directions, when realistic dummy data is needed to make an app feel real, or when the artifact generator needs a packet-local Shape Brief and exact next generator prompt."
4
+ ---
5
+
6
+ # Product Shape Interview
7
+
8
+ Shape one artifact before generation. This skill decides what one HTML artifact should prove, what scenario it should make feel real, and what generator prompt should run next.
9
+
10
+ ## Usage
11
+
12
+ Use with a spec packet, PRD-like spec, approved `interview-me` intake summary, `spec-swarm` report, or existing artifact critique:
13
+
14
+ ```text
15
+ Use $product-shape-interview on <packet-or-spec-path> before generating an artifact.
16
+ ```
17
+
18
+ If no source artifact is provided, ask for the spec packet, spec path, intake summary, swarm report, or artifact critique before shaping.
19
+
20
+ ## Core Rule
21
+
22
+ Do not generate UI, HTML, Build Previews, scenario prototypes, or mockups during this skill. Produce a Shape Brief first. The next generator must consume that brief.
23
+
24
+ Default away from multiple directions. Recommend one artifact job unless the source material shows comparison itself is the product question.
25
+
26
+ ## Clarity-First Defaults
27
+
28
+ The brief must steer the generator toward a clear artifact, not a dense one. Bake these into `Visual And Interaction Posture` and `Design Review Plan` so the downstream generator inherits them. The artifact has failed if a developer finds it confusing.
29
+
30
+ - One decision per screen, three choices or fewer; trade-offs as a labeled spectrum with exactly one recommendation.
31
+ - Plain language leads; commands, JSON, event schemas, and requirement IDs go behind a "show detail" disclosure, never the default surface.
32
+ - Outcomes shown as plain cards and state chips, not command output.
33
+ - Fix detector P0/P1 before the first show, do not merely report them; treat "busy" or "confusing" as a blocking defect.
34
+
35
+ ## Inputs
36
+
37
+ Read the provided source artifact and extract:
38
+
39
+ - Product bet
40
+ - Primary user, buyer, reviewer, or operator
41
+ - Core workflow or broken decision
42
+ - Product objects and relationships
43
+ - Agent behavior, if any
44
+ - Human approval or steering boundaries
45
+ - Trust, provenance, confidence, dissent, and privacy requirements
46
+ - Existing realistic data hints, source constraints, and fake precision risks
47
+ - Required states: empty, loading, populated, error, stale, ambiguous, rejected, approved, regenerated
48
+ - MVP boundary, explicit non-goals, and open questions
49
+ - Prior critique of generated artifacts, if available
50
+
51
+ Do not use raw private notes, transcripts, or source dumps unless the user explicitly approved them for this shaping run.
52
+
53
+ ## Shaping Interview
54
+
55
+ Before asking the user, inspect the source artifact and decide what is already answered. Ask only questions that require unique product judgment, taste, appetite for risk, source-boundary approval, or a choice between materially valid options.
56
+
57
+ ### Announce and teach (productfoo brand presence, R-004)
58
+
59
+ Before the first question, emit the signature frame and a compact announce-and-teach block so the user knows productfoo has taken over the agent's default behavior and learns the loop in the same beat (full on the first interview of a session, one line thereafter):
60
+
61
+ ```
62
+ ── foo ▸ shape ────────────────────────── specs over vibes ──
63
+ You're in foo: I'll ask a few focused questions, then shape the artifact — not autocomplete a guess.
64
+ I've read what you gave me, so I'll only ask what it can't tell me — about 4 questions.
65
+ Say "go deeper" for more, or "just write it" to skip.
66
+ Progress: Q1 / ~4
67
+ ```
68
+
69
+ Say what is about to happen, in the user's words. Do **not** list the fields a spec contains: "the product bet", "source and approval boundaries", "MVP scope and the validation bar", "what still needs human judgment" are productfoo's filing labels, not a first-time user's language, and a list of them is the machinery showing through on the first screen anyone ever sees. The one thing worth teaching is the loop itself — productfoo reads the source artifact and asks only the gaps (that is the whole point of the preflight above) — so say that, and get to Q1. State one count only, the depth you are actually running, and make the progress counter match it. Name the escape hatches explicitly, and drop the box-drawing when output is piped or read by an agent (R-008).
70
+
71
+ Ask one question at a time. Use numbered options with a recommendation when defensible:
72
+
73
+ ```text
74
+ Question: What should this artifact optimize for first?
75
+
76
+ 1. **End-to-end scenario realism (Recommended)**
77
+ Best when the current artifact does not feel like real software yet.
78
+ 2. Agent behavior and approval
79
+ Best when the product depends on what the agent reads, infers, proposes, and waits on.
80
+ 3. Product model clarity
81
+ Best when the app category, objects, and workflow shape are still unclear.
82
+ 4. Visual application realism
83
+ Best when the product model is settled but the screens need to feel credible.
84
+ ```
85
+
86
+ Rules:
87
+
88
+ - Keep options numbered `1` through `4` when practical.
89
+ - Mark exactly one option with `(Recommended)` when evidence supports it.
90
+ - Bold the recommended option label in Markdown.
91
+ - If no recommendation is defensible, say `No recommendation yet` before the options.
92
+ - Wait for the user's answer before asking the next question.
93
+ - Do not ask for facts that the spec, packet, code, design system, or approved context can answer.
94
+
95
+ High-value shaping questions:
96
+
97
+ - What should the artifact optimize for first: product model, agent behavior, end-to-end workflow, realistic data, visual credibility, or decision export?
98
+ - What kind of artifact should exist: scenario prototype, product model explorer, agent trace player, app mock, decision workbench, or hybrid?
99
+ - What one scenario should the user feel from start to finish?
100
+ - Which object model should anchor the artifact: task, case, packet, source, user journey, decision, queue item, or agent run?
101
+ - What must the agent see, believe, propose, ask approval for, revise, and export?
102
+ - What realistic dummy data would make the product feel real?
103
+ - What states or edge cases must appear so the artifact does not feel fake?
104
+ - What should the human be able to decide after using the artifact?
105
+ - What should stay out of the artifact because it would create fake precision or false product truth?
106
+ - What exact generator should run next?
107
+
108
+ ## Shape Brief Contract
109
+
110
+ Write the accepted brief inside the source packet:
111
+
112
+ ```text
113
+ <packet>/artifacts/shapes/<run-id>/shape.md
114
+ ```
115
+
116
+ If the input is not a packet, write the brief beside the input artifact in the nearest reasonable `artifacts/shapes/<run-id>/shape.md` location and explain the location.
117
+
118
+ Use a timestamped, slugged run ID such as `2026-06-19-scheduling-scenario`.
119
+
120
+ The Shape Brief must include:
121
+
122
+ ```markdown
123
+ # Product Shape Brief
124
+
125
+ Source:
126
+ Run ID:
127
+ Status:
128
+ Created:
129
+
130
+ ## Optimization Target
131
+
132
+ ## Artifact Type
133
+
134
+ ## Primary Scenario
135
+
136
+ ## Primary Reviewer
137
+
138
+ ## Product Model
139
+
140
+ ## Core Objects
141
+
142
+ ## Agent Loop
143
+
144
+ ## Human Decision
145
+
146
+ ## Realistic Dummy Data Contract
147
+
148
+ ## Required States
149
+
150
+ ## Trust And Provenance
151
+
152
+ ## Visual And Interaction Posture
153
+
154
+ ## Design Review Plan
155
+
156
+ ## Non-Goals
157
+
158
+ ## Open Questions
159
+
160
+ ## Generator Prompt
161
+ ```
162
+
163
+ ### Field Guidance
164
+
165
+ - `Optimization Target`: name the main thing the artifact must prove, not a list of all goals.
166
+ - `Artifact Type`: choose one primary type such as `scenario prototype`, `product model explorer`, `agent trace player`, `application mock`, or `decision workbench`.
167
+ - `Primary Scenario`: describe the one workflow slice the artifact must make feel real.
168
+ - `Product Model`: name the app shape, such as queue, cockpit, canvas, wizard, inbox, review room, ledger, timeline, or operating surface.
169
+ - `Core Objects`: list the objects the artifact must make tangible, with relationships.
170
+ - `Agent Loop`: show `read -> infer -> propose -> approval boundary -> revise -> outcome/export` when the product is agentic.
171
+ - `Realistic Dummy Data Contract`: define plausible records, names, statuses, timestamps, source labels, masked/private fields, stale evidence, errors, and edge cases. Avoid gray placeholder bars as primary content.
172
+ - `Required States`: include enough states to make the product behavior credible.
173
+ - `Trust And Provenance`: define what evidence, source boundary, confidence, dissent, or privacy markers must be visible.
174
+ - `Visual And Interaction Posture`: state the design system, density, motion, and app realism expectations without turning the brief into a full design spec. Default to clarity-first: plain language leads, three choices or fewer, and implementation detail (commands, JSON, requirement IDs) sits behind progressive disclosure.
175
+ - `Design Review Plan`: name which post-generation review should run, usually `$impeccable critique <artifact>`, plus `$impeccable audit <artifact>` or `$impeccable polish <artifact>` when the artifact promises responsive, accessible, production-like behavior. Require P0/P1 fixed before the first show, not merely reported. If Impeccable is unavailable, require a manual review gap to be recorded.
176
+ - `Non-Goals`: explicitly forbid four divergent directions unless comparison is the chosen artifact job.
177
+ - `Generator Prompt`: include the exact next prompt an agent can run.
178
+
179
+ ## Generator Prompt Contract
180
+
181
+ End every brief with a directly runnable prompt:
182
+
183
+ ```text
184
+ Use $scenario-workbench on <path-to-shape.md>.
185
+ Generate one HTML artifact optimized for the approved Shape Brief. Do not generate four directions unless the Shape Brief says comparison is the optimization target.
186
+ After generation, run the Shape Brief's Design Review Plan and report the critique snapshot path, score, P0/P1 findings, and remaining gaps.
187
+ ```
188
+
189
+ If `scenario-workbench` does not exist yet, route to the closest available generator and make the gap explicit:
190
+
191
+ ```text
192
+ Use $preview-swarm on <path-to-shape.md>, but treat the Shape Brief as authoritative: generate one scenario workbench, not divergent Build Preview directions.
193
+ After generation, run the Shape Brief's Design Review Plan and report the critique snapshot path, score, P0/P1 findings, and remaining gaps.
194
+ ```
195
+
196
+ ## Event Logging
197
+
198
+ If working inside a spec packet with `events.jsonl`, append an event only after the user accepts the Shape Brief or explicitly asks to record it. The event should point to the shape path and summarize the optimization target. Do not treat the shape as canonical product truth until accepted.
199
+
200
+ ## Output
201
+
202
+ Return:
203
+
204
+ - Shape Brief path
205
+ - Optimization target
206
+ - Artifact type
207
+ - Primary scenario
208
+ - Dummy data contract summary
209
+ - Generator prompt
210
+ - Remaining user-judgment questions, if any
211
+
212
+ ## Error Handling
213
+
214
+ - If the source artifact is missing, ask for the packet, spec path, intake summary, swarm report, or artifact critique before shaping.
215
+ - If the source is too thin to choose an optimization target, route back to `interview-me` before writing a fake Shape Brief.
216
+ - If the user wants immediate artifact generation, explain that this skill is a pre-generation gate and ask whether to skip the gate explicitly.
217
+ - If the artifact should use private sources, ask for source-boundary approval before including private-derived facts in the Shape Brief.
218
+ - If the run is not packet-local, explain where the brief will be written before writing it.
219
+ - If no generator skill exists for the chosen artifact type, write the brief anyway and put the generator gap in the prompt section.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Product Shape Interview"
3
+ short_description: "Shape one artifact before generation."
4
+ default_prompt: "Use $product-shape-interview on this spec packet before generating an artifact."
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: ready-for-release
3
+ description: "Use when a product change needs an evidence-backed Build, Beta, GA, or release-note readiness decision."
4
+ ---
5
+
6
+ # Ready For Release
7
+
8
+ ## Usage
9
+
10
+ Issue a readiness result only from inspected proof. A retrieval failure is a
11
+ blocked assessment, never a readiness verdict.
12
+
13
+ 1. Confirm the release stage and approved packet or local release source.
14
+ 2. Inspect requirement proof, tests, rollout and rollback plan, owner decisions,
15
+ customer impact, documentation, privacy/legal status, and unresolved risks.
16
+ 3. Use approved sanitized evidence or validated research when a readiness claim
17
+ depends on customers or the market. Connector access alone is not approval.
18
+ 4. Return exactly one result: `READY`, `NOT READY`, or `BLOCKED`. `READY` requires
19
+ every stage-critical check to have proof; unknown is not pass.
20
+ 5. List blocking checks, dissent, owners, and exact next actions. Draft release
21
+ notes locally only when explicitly requested; do not send them.
22
+
23
+ ### Source ledger
24
+
25
+ - **Sources used** — proof/reference, approval, retrieval outcome, and receipt status.
26
+ - **Sources omitted** — every optional release-information lane not used and why.
27
+ - **Trust status** — verified proof, approved evidence, owner decision, or unknown.
28
+ - **Limits** — checks not assessable and human sign-offs still required.
29
+
30
+ Optional omissions appear in both the human result and any release artifact.
31
+
32
+ ## Error Handling
33
+
34
+ - On a required retrieval failure, issue no readiness verdict. Return `status:
35
+ blocked`, `did_not_run: release readiness`, `missing: <source>`, `next action:
36
+ <exact recovery step>`, and `exit: nonzero`.
37
+ - If an optional source fails, list it under **Sources omitted** and lower the
38
+ scope or confidence; never replace it with general knowledge.
39
+ - If proof conflicts, return `NOT READY` or `BLOCKED` with the conflict visible.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Ready For Release"
3
+ short_description: "Make an evidence-backed release-readiness decision."
4
+ default_prompt: "Use $ready-for-release for the relevant workflow."
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: redact-transcripts
3
+ description: "Use when transcript handling needs a redaction plan but observing or rewriting the source would require private-file access."
4
+ ---
5
+
6
+ # Redact Transcripts
7
+
8
+ ## Usage
9
+
10
+ This draft keeps its file-ingress boundary. It may provide an in-chat redaction
11
+ checklist or local outline without seeing the transcript; it must stop before
12
+ opening, enumerating, fingerprinting, rewriting, or reporting metadata about a file.
13
+
14
+ The checklist covers direct identifiers, quasi-identifiers, credentials, private
15
+ URLs, company-confidential facts, quoted third parties, and re-identification risk.
16
+ It is not proof that an unseen transcript is safe.
17
+
18
+ ## Error Handling
19
+
20
+ - When a path or upload is supplied, return `status: blocked`, `did_not_run:
21
+ transcript observation`, `missing: safe file-ingress`, `next action: use the
22
+ approved in-memory discovery flow to produce sanitized evidence`, `exit: nonzero`.
23
+ - Do not ask the user to paste raw content into chat as a workaround.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Redact Transcripts"
3
+ short_description: "Plan redaction without observing a private transcript file."
4
+ default_prompt: "Use $redact-transcripts for the relevant workflow."
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: research-brief
3
+ description: "Use when a product question needs a scoped research plan, study brief, hypotheses, participant criteria, or evidence plan before research begins."
4
+ ---
5
+
6
+ # Research Brief
7
+
8
+ ## Usage
9
+
10
+ Create a decision-oriented research plan from explicit intent and approved
11
+ context. Do not inspect a private source merely because a connector can see it.
12
+
13
+ 1. Frame the decision, target segment, known evidence, deadline, and what would
14
+ change as a result of the study.
15
+ 2. Use repo facts and approved sanitized material already in context. Do not
16
+ open, read, or inspect any new local or private material. For connector data,
17
+ require `foo source discover` plus packet-scoped `foo source approve` before
18
+ reading; connector access is not approval.
19
+ 3. Write research questions and falsifiable hypotheses, then choose the smallest
20
+ method and participant set that can answer them.
21
+ 4. Specify recruitment, consent, privacy, analysis, evidence labels, decision
22
+ owner, and stop conditions. Raw transcripts and PII stay out of Git.
23
+ 5. Present a short proposal for human confirmation before the full brief. Return
24
+ in chat by default; write only to an explicitly approved local destination.
25
+
26
+ ### Brief shape
27
+
28
+ Decision · background · hypotheses · questions · method · participants · source
29
+ plan · consent/privacy · analysis · risks · timeline · decisions needed.
30
+
31
+ ### Source ledger
32
+
33
+ - **Sources used** — source class, approval scope, and stable reference.
34
+ - **Sources omitted** — every optional prior-study, customer, or analytics lane not used.
35
+ - **Trust status** — repo fact, approved sanitized evidence, or hypothesis.
36
+ - **Limits** — evidence gaps and decisions that remain with a person.
37
+
38
+ Optional omissions are named in both the human summary and the brief artifact.
39
+
40
+ ## Error Handling
41
+
42
+ - If the decision, required private-source approval, consent, or access is
43
+ missing, do not inspect the private source. Return `status: blocked`, name
44
+ what did not run, give the exact `next action`, and set `exit: nonzero`.
45
+ - If an optional source is unavailable, continue only when the remaining plan
46
+ is still valid and list it under **Sources omitted**.
47
+ - If the requested study would collect unnecessary sensitive data, propose a
48
+ lower-data method and require human approval before proceeding.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Research Brief"
3
+ short_description: "Plan a decision-oriented study from approved context."
4
+ default_prompt: "Use $research-brief for the relevant workflow."
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: research-refresh
3
+ description: "Use when new approved evidence should refresh an existing research brief, digest, or strategic analysis through decision-relevant amendments or an explicit no-change result."
4
+ ---
5
+
6
+ # Research Refresh
7
+
8
+ ## Usage
9
+
10
+ Refresh what the evidence changes about a named decision. Preserve the existing
11
+ artifact's structure; a newer source alone is not a reason to rewrite it.
12
+
13
+ 1. Identify the existing artifact, its decision or working thesis, the currency
14
+ window, and the claims to check. Derive materiality from that decision: an
15
+ affected choice, buying criterion, constraint, confidence, or next evidence
16
+ step. Use criteria already supplied before asking for missing judgment.
17
+ 2. Read repo truth, explicitly approved packet evidence, or approved sanitized
18
+ findings. Research papers must pass `foo research validate <paper.md>` before
19
+ use. If more public research is needed, use the governed research workflow;
20
+ connector access alone never authorizes new private-source reads.
21
+ 3. Compare new evidence against existing claims. Distinguish unchanged,
22
+ superseded, contradicted, newly material, and unresolved claims. An event
23
+ outside the requested window can establish a baseline, but cannot be
24
+ presented as a new development inside it.
25
+ 4. Propose only the smallest decision-relevant amendments. Every proposal names
26
+ the old claim and locator, new evidence and date, relation, changed decision
27
+ implication, and replacement text. Preserve uncertainty and counterevidence;
28
+ a contradiction stays visible even when it changes no recommended action.
29
+ 5. If nothing material changed, return **No material updates in the checked
30
+ scope**, the window and sources checked, omissions, and unresolved claims.
31
+ This is a result of a completed comparison, not reassurance about unchecked
32
+ sources or stale evidence.
33
+ 6. Return proposals in chat by default, or at a requested local destination.
34
+ Apply edits only within the user's requested scope. After editing a governed
35
+ research paper, obtain fresh proof through its research workflow and rerun
36
+ `foo research validate <paper.md>` before downstream use; the old receipt
37
+ binds the old bytes. Evidence updates do not automatically change accepted
38
+ specs, requirements, tasks, or human decisions.
39
+
40
+ ### Review output
41
+
42
+ Lead with the changed implication or scoped no-change result. Follow with a
43
+ small amendment table: **Existing claim · New evidence · Relation · Decision
44
+ implication · Proposed edit**. Keep contradictions and unresolved claims visible.
45
+ Include **Sources used**, **Sources omitted**, **Trust status**, and **Limits**,
46
+ with clickable references, source dates, confidence and dissent. For examples
47
+ of materiality, no-op and incomplete coverage, read
48
+ [the worked cases](references/worked-cases.md).
49
+
50
+ This method is invoked on demand. Scheduling, publishing, and automatic PRs
51
+ are separate work; a refresh does not authorize them.
52
+
53
+ ## Error Handling
54
+
55
+ - If the decision or materiality criterion is missing, use supplied context to
56
+ resolve it or ask one focused question. Do not invent a universal threshold.
57
+ - If required evidence is inaccessible, unapproved, or fails validation, return
58
+ `status: blocked`, name the check that did not run, give the next action, and
59
+ mark the wrapper `exit: nonzero`. Never turn this into a no-change result.
60
+ - If optional sources are missing, continue within the checked scope when the
61
+ remaining evidence supports an honest comparison, and disclose the omissions.
62
+ - If only raw private material is offered, use productfoo's proof-gated discovery
63
+ workflow; do not read it here or request a raw paste as a workaround.
@@ -0,0 +1,44 @@
1
+ # Worked refresh cases
2
+
3
+ These are fictional instruction examples, not observed customer evidence. Use
4
+ them to reason about the decision consequence; do not infer universal thresholds
5
+ or actual skill effectiveness from them.
6
+
7
+ ## A changed constraint warrants an amendment
8
+
9
+ Decision: choose a supplier whose approved deployment region includes Region A.
10
+ Existing claim: supplier supports Region A; the supplied baseline reference
11
+ records that support. New approved evidence: the supplied current reference
12
+ states that new deployments there are unavailable.
13
+
14
+ Propose replacing the availability claim and reopening the affected shortlist
15
+ decision. Cite both supplied references and dates. Do not rewrite unrelated
16
+ capability sections or automatically change the decision itself.
17
+
18
+ ## Routine news yields a scoped no-op
19
+
20
+ Decision: choose a supplier by deployment region and audit requirements. New
21
+ approved evidence: a launch announcement about a cosmetic interface update,
22
+ with no change to either criterion.
23
+
24
+ Return no material updates in the checked scope, including the window and
25
+ announcement reference. Preserve the original analysis. Do not force a new
26
+ recommendation merely to make the refresh look productive.
27
+
28
+ ## Contradiction remains visible without an immediate decision change
29
+
30
+ Decision: shortlist suppliers; deployment coverage is still awaiting verification.
31
+ Two current approved references disagree about Region A availability.
32
+
33
+ Record both claims and their dates as contradictory evidence. Propose a lower
34
+ confidence statement or explicit verification question; do not choose the
35
+ convenient source or omit the conflict because the shortlist has not changed.
36
+
37
+ ## Missing required coverage cannot prove no change
38
+
39
+ Decision: reassess a shortlist after a required compliance check. That required
40
+ source is unavailable or its paper fails validation.
41
+
42
+ Report the incomplete comparison and the next action. Do not report a no-op.
43
+ An unavailable optional source may instead be listed as omitted, with any
44
+ conclusion restricted to the evidence actually checked.