maxwellai-froid 6.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/LICENSE +30 -0
  2. package/README.md +89 -0
  3. package/froid-modules.yaml +134 -0
  4. package/package.json +133 -0
  5. package/src/core-skills/froid-advanced-elicitation/SKILL.md +64 -0
  6. package/src/core-skills/froid-advanced-elicitation/assets/methods.csv +72 -0
  7. package/src/core-skills/froid-advanced-elicitation/customize.toml +54 -0
  8. package/src/core-skills/froid-advanced-elicitation/scripts/pick_methods.py +233 -0
  9. package/src/core-skills/froid-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
  10. package/src/core-skills/froid-brainstorming/SKILL.md +80 -0
  11. package/src/core-skills/froid-brainstorming/assets/brain-icons.json +166 -0
  12. package/src/core-skills/froid-brainstorming/assets/brain-methods.csv +109 -0
  13. package/src/core-skills/froid-brainstorming/assets/brain-selector.html +328 -0
  14. package/src/core-skills/froid-brainstorming/customize.toml +83 -0
  15. package/src/core-skills/froid-brainstorming/references/converge.md +24 -0
  16. package/src/core-skills/froid-brainstorming/references/finalize.md +26 -0
  17. package/src/core-skills/froid-brainstorming/references/headless.md +54 -0
  18. package/src/core-skills/froid-brainstorming/references/in-chat-techniques.md +18 -0
  19. package/src/core-skills/froid-brainstorming/references/mode-autonomous.md +10 -0
  20. package/src/core-skills/froid-brainstorming/references/mode-facilitator.md +11 -0
  21. package/src/core-skills/froid-brainstorming/references/mode-partner.md +16 -0
  22. package/src/core-skills/froid-brainstorming/references/resume.md +5 -0
  23. package/src/core-skills/froid-brainstorming/scripts/brain.py +789 -0
  24. package/src/core-skills/froid-brainstorming/scripts/tests/test_brain.py +289 -0
  25. package/src/core-skills/froid-customize/SKILL.md +111 -0
  26. package/src/core-skills/froid-customize/scripts/list_customizable_skills.py +231 -0
  27. package/src/core-skills/froid-customize/scripts/tests/test_list_customizable_skills.py +249 -0
  28. package/src/core-skills/froid-deep-recon/SKILL.md +82 -0
  29. package/src/core-skills/froid-deep-recon/assets/research.template.md +18 -0
  30. package/src/core-skills/froid-deep-recon/customize.toml +212 -0
  31. package/src/core-skills/froid-deep-recon/references/draft.md +8 -0
  32. package/src/core-skills/froid-deep-recon/references/finalize.md +11 -0
  33. package/src/core-skills/froid-deep-recon/references/html-briefing.md +16 -0
  34. package/src/core-skills/froid-deep-recon/references/lifecycle.md +11 -0
  35. package/src/core-skills/froid-deep-recon/references/process.md +10 -0
  36. package/src/core-skills/froid-deep-recon/references/run.md +73 -0
  37. package/src/core-skills/froid-deep-recon/references/selection.md +13 -0
  38. package/src/core-skills/froid-deep-recon/references/synthesis.md +16 -0
  39. package/src/core-skills/froid-deep-recon/references/verification.md +29 -0
  40. package/src/core-skills/froid-deep-recon/scripts/recon_kit.py +322 -0
  41. package/src/core-skills/froid-deep-recon/scripts/tests/test_recon_kit.py +144 -0
  42. package/src/core-skills/froid-deep-recon/types/academic-lit.md +19 -0
  43. package/src/core-skills/froid-deep-recon/types/competitive.md +19 -0
  44. package/src/core-skills/froid-deep-recon/types/domain.md +19 -0
  45. package/src/core-skills/froid-deep-recon/types/market.md +19 -0
  46. package/src/core-skills/froid-deep-recon/types/technical.md +19 -0
  47. package/src/core-skills/froid-deep-recon/types/user-voice.md +19 -0
  48. package/src/core-skills/froid-forge-idea/SKILL.md +107 -0
  49. package/src/core-skills/froid-forge-idea/customize.toml +41 -0
  50. package/src/core-skills/froid-forge-idea/scripts/resolve_personas.py +275 -0
  51. package/src/core-skills/froid-forge-idea/scripts/tests/test_resolve_personas.py +138 -0
  52. package/src/core-skills/froid-help/SKILL.md +77 -0
  53. package/src/core-skills/froid-party-mode/SKILL.md +60 -0
  54. package/src/core-skills/froid-party-mode/customize.toml +211 -0
  55. package/src/core-skills/froid-party-mode/references/create-party.md +70 -0
  56. package/src/core-skills/froid-party-mode/references/mode-agent-team.md +13 -0
  57. package/src/core-skills/froid-party-mode/references/mode-auto.md +13 -0
  58. package/src/core-skills/froid-party-mode/references/mode-subagent.md +31 -0
  59. package/src/core-skills/froid-party-mode/references/party-memory.md +51 -0
  60. package/src/core-skills/froid-party-mode/scripts/resolve_party.py +282 -0
  61. package/src/core-skills/froid-party-mode/scripts/tests/test_resolve_party.py +146 -0
  62. package/src/core-skills/froid-review/SKILL.md +50 -0
  63. package/src/core-skills/froid-review/customize.toml +141 -0
  64. package/src/core-skills/froid-review/references/editorial-common.md +56 -0
  65. package/src/core-skills/froid-review/references/lens-adversarial.md +19 -0
  66. package/src/core-skills/froid-review/references/lens-edge-case-hunter.md +70 -0
  67. package/src/core-skills/froid-review/references/lens-prose.md +7 -0
  68. package/src/core-skills/froid-review/references/lens-structure.md +9 -0
  69. package/src/core-skills/froid-review/references/lens-verification-gap.md +92 -0
  70. package/src/core-skills/froid-review/references/structure-models.md +44 -0
  71. package/src/core-skills/froid-review/scripts/tests/test_word_metrics.py +62 -0
  72. package/src/core-skills/froid-review/scripts/word_metrics.py +102 -0
  73. package/src/core-skills/module-help.csv +10 -0
  74. package/src/core-skills/module.yaml +38 -0
  75. package/src/core-skills/v6-shims/README.md +25 -0
  76. package/src/core-skills/v6-shims/froid-editorial-review/SKILL.md +8 -0
  77. package/src/core-skills/v6-shims/froid-editorial-review/customize.toml +31 -0
  78. package/src/core-skills/v6-shims/froid-editorial-review-prose/SKILL.md +8 -0
  79. package/src/core-skills/v6-shims/froid-editorial-review-structure/SKILL.md +8 -0
  80. package/src/core-skills/v6-shims/froid-review-adversarial-general/SKILL.md +8 -0
  81. package/src/core-skills/v6-shims/froid-review-edge-case-hunter/SKILL.md +8 -0
  82. package/src/core-skills/v6-shims/froid-review-verification-gap/SKILL.md +8 -0
  83. package/src/froid-skills/agents/froid-agent-analyst/SKILL.md +76 -0
  84. package/src/froid-skills/agents/froid-agent-analyst/customize.toml +103 -0
  85. package/src/froid-skills/agents/froid-agent-architect/SKILL.md +76 -0
  86. package/src/froid-skills/agents/froid-agent-architect/customize.toml +63 -0
  87. package/src/froid-skills/agents/froid-agent-dev/SKILL.md +76 -0
  88. package/src/froid-skills/agents/froid-agent-dev/customize.toml +81 -0
  89. package/src/froid-skills/agents/froid-agent-pm/SKILL.md +76 -0
  90. package/src/froid-skills/agents/froid-agent-pm/customize.toml +73 -0
  91. package/src/froid-skills/agents/froid-agent-ux-designer/SKILL.md +76 -0
  92. package/src/froid-skills/agents/froid-agent-ux-designer/customize.toml +58 -0
  93. package/src/froid-skills/module-help.csv +19 -0
  94. package/src/froid-skills/module.yaml +85 -0
  95. package/src/froid-skills/plan/froid-architecture/SKILL.md +85 -0
  96. package/src/froid-skills/plan/froid-architecture/assets/spine-template.md +79 -0
  97. package/src/froid-skills/plan/froid-architecture/customize.toml +101 -0
  98. package/src/froid-skills/plan/froid-architecture/references/headless.md +26 -0
  99. package/src/froid-skills/plan/froid-architecture/references/reviewer-gate.md +13 -0
  100. package/src/froid-skills/plan/froid-architecture/scripts/lint_spine.py +257 -0
  101. package/src/froid-skills/plan/froid-architecture/scripts/tests/test_lint_spine.py +270 -0
  102. package/src/froid-skills/plan/froid-create-epics-and-stories/SKILL.md +93 -0
  103. package/src/froid-skills/plan/froid-create-epics-and-stories/customize.toml +39 -0
  104. package/src/froid-skills/plan/froid-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
  105. package/src/froid-skills/plan/froid-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
  106. package/src/froid-skills/plan/froid-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  107. package/src/froid-skills/plan/froid-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
  108. package/src/froid-skills/plan/froid-create-epics-and-stories/templates/epics-template.md +61 -0
  109. package/src/froid-skills/plan/froid-generate-project-context/SKILL.md +12 -0
  110. package/src/froid-skills/plan/froid-prd/SKILL.md +94 -0
  111. package/src/froid-skills/plan/froid-prd/assets/headless-schemas.md +76 -0
  112. package/src/froid-skills/plan/froid-prd/assets/prd-template.md +165 -0
  113. package/src/froid-skills/plan/froid-prd/assets/prd-validation-checklist.md +135 -0
  114. package/src/froid-skills/plan/froid-prd/assets/validation-report-template.html +325 -0
  115. package/src/froid-skills/plan/froid-prd/customize.toml +148 -0
  116. package/src/froid-skills/plan/froid-prd/references/headless.md +39 -0
  117. package/src/froid-skills/plan/froid-prd/references/validate.md +97 -0
  118. package/src/froid-skills/plan/froid-prfaq/SKILL.md +135 -0
  119. package/src/froid-skills/plan/froid-prfaq/agents/artifact-analyzer.md +60 -0
  120. package/src/froid-skills/plan/froid-prfaq/agents/web-researcher.md +49 -0
  121. package/src/froid-skills/plan/froid-prfaq/assets/prfaq-template.md +62 -0
  122. package/src/froid-skills/plan/froid-prfaq/customize.toml +39 -0
  123. package/src/froid-skills/plan/froid-prfaq/froid-manifest.json +16 -0
  124. package/src/froid-skills/plan/froid-prfaq/references/customer-faq.md +55 -0
  125. package/src/froid-skills/plan/froid-prfaq/references/internal-faq.md +51 -0
  126. package/src/froid-skills/plan/froid-prfaq/references/press-release.md +60 -0
  127. package/src/froid-skills/plan/froid-prfaq/references/verdict.md +83 -0
  128. package/src/froid-skills/plan/froid-product-brief/SKILL.md +91 -0
  129. package/src/froid-skills/plan/froid-product-brief/assets/brief-template.md +41 -0
  130. package/src/froid-skills/plan/froid-product-brief/customize.toml +100 -0
  131. package/src/froid-skills/plan/froid-project-context/SKILL.md +121 -0
  132. package/src/froid-skills/plan/froid-project-context/customize.toml +24 -0
  133. package/src/froid-skills/plan/froid-project-context/references/best-practices.md +84 -0
  134. package/src/froid-skills/plan/froid-project-context/references/template.md +55 -0
  135. package/src/froid-skills/plan/froid-spec/SKILL.md +160 -0
  136. package/src/froid-skills/plan/froid-spec/assets/headless-schemas.md +33 -0
  137. package/src/froid-skills/plan/froid-spec/assets/spec-template.md +49 -0
  138. package/src/froid-skills/plan/froid-spec/assets/stories-schema.md +44 -0
  139. package/src/froid-skills/plan/froid-spec/customize.toml +52 -0
  140. package/src/froid-skills/plan/froid-sprint-planning/SKILL.md +62 -0
  141. package/src/froid-skills/plan/froid-sprint-planning/customize.toml +39 -0
  142. package/src/froid-skills/plan/froid-sprint-planning/references/fix-sprint-status.md +30 -0
  143. package/src/froid-skills/plan/froid-sprint-planning/references/generate-tracking.md +25 -0
  144. package/src/froid-skills/plan/froid-sprint-planning/references/readiness-gate.md +20 -0
  145. package/src/froid-skills/plan/froid-sprint-planning/references/status-view.md +14 -0
  146. package/src/froid-skills/plan/froid-sprint-planning/references/validate.md +10 -0
  147. package/src/froid-skills/plan/froid-sprint-planning/scripts/sprint_plan.py +697 -0
  148. package/src/froid-skills/plan/froid-sprint-planning/scripts/tests/test_sprint_plan.py +524 -0
  149. package/src/froid-skills/plan/froid-sprint-planning/sprint-status-template.yaml +71 -0
  150. package/src/froid-skills/plan/froid-ux/SKILL.md +90 -0
  151. package/src/froid-skills/plan/froid-ux/assets/color-themes.md +9 -0
  152. package/src/froid-skills/plan/froid-ux/assets/design-directions.md +9 -0
  153. package/src/froid-skills/plan/froid-ux/assets/design-example-editorial.md +158 -0
  154. package/src/froid-skills/plan/froid-ux/assets/design-example-mobile.md +93 -0
  155. package/src/froid-skills/plan/froid-ux/assets/design-example-shadcn.md +109 -0
  156. package/src/froid-skills/plan/froid-ux/assets/excalidraw-wireframe.md +19 -0
  157. package/src/froid-skills/plan/froid-ux/assets/experience-example-mobile.md +112 -0
  158. package/src/froid-skills/plan/froid-ux/assets/experience-example-shadcn.md +133 -0
  159. package/src/froid-skills/plan/froid-ux/assets/headless-schemas.md +84 -0
  160. package/src/froid-skills/plan/froid-ux/assets/key-screens.md +29 -0
  161. package/src/froid-skills/plan/froid-ux/assets/validation-report-template.html +319 -0
  162. package/src/froid-skills/plan/froid-ux/customize.toml +100 -0
  163. package/src/froid-skills/plan/froid-ux/references/creative-tools.md +19 -0
  164. package/src/froid-skills/plan/froid-ux/references/design-md-spec.md +50 -0
  165. package/src/froid-skills/plan/froid-ux/references/headless.md +37 -0
  166. package/src/froid-skills/plan/froid-ux/references/validate.md +115 -0
  167. package/src/froid-skills/ship/froid-build/SKILL.md +13 -0
  168. package/src/froid-skills/ship/froid-build/compile-epic-context.md +62 -0
  169. package/src/froid-skills/ship/froid-build/customize.toml +161 -0
  170. package/src/froid-skills/ship/froid-build/references/claims-check.md +14 -0
  171. package/src/froid-skills/ship/froid-build/references/deletion-check.md +14 -0
  172. package/src/froid-skills/ship/froid-build/review-prompts/edge-case-hunter.md +110 -0
  173. package/src/froid-skills/ship/froid-build/review-prompts/verification-gap.md +113 -0
  174. package/src/froid-skills/ship/froid-build/spec-template.md +111 -0
  175. package/src/froid-skills/ship/froid-build/step-01-clarify-and-route.md +100 -0
  176. package/src/froid-skills/ship/froid-build/step-02-plan.md +62 -0
  177. package/src/froid-skills/ship/froid-build/step-03-implement.md +51 -0
  178. package/src/froid-skills/ship/froid-build/step-04-review.md +72 -0
  179. package/src/froid-skills/ship/froid-build/step-05-present.md +80 -0
  180. package/src/froid-skills/ship/froid-build/step-oneshot.md +95 -0
  181. package/src/froid-skills/ship/froid-build/sync-sprint-status.md +19 -0
  182. package/src/froid-skills/ship/froid-build/workflow.md +84 -0
  183. package/src/froid-skills/ship/froid-build-auto/SKILL.md +13 -0
  184. package/src/froid-skills/ship/froid-build-auto/compile-epic-context.md +62 -0
  185. package/src/froid-skills/ship/froid-build-auto/customize.toml +119 -0
  186. package/src/froid-skills/ship/froid-build-auto/references/claims-check.md +14 -0
  187. package/src/froid-skills/ship/froid-build-auto/references/deletion-check.md +14 -0
  188. package/src/froid-skills/ship/froid-build-auto/review-prompts/edge-case-hunter.md +110 -0
  189. package/src/froid-skills/ship/froid-build-auto/review-prompts/verification-gap.md +113 -0
  190. package/src/froid-skills/ship/froid-build-auto/spec-template.md +96 -0
  191. package/src/froid-skills/ship/froid-build-auto/step-01-clarify-and-route.md +83 -0
  192. package/src/froid-skills/ship/froid-build-auto/step-02-plan.md +27 -0
  193. package/src/froid-skills/ship/froid-build-auto/step-03-implement.md +48 -0
  194. package/src/froid-skills/ship/froid-build-auto/step-04-review.md +103 -0
  195. package/src/froid-skills/ship/froid-build-auto/workflow.md +104 -0
  196. package/src/froid-skills/ship/froid-code-review/SKILL.md +90 -0
  197. package/src/froid-skills/ship/froid-code-review/customize.toml +110 -0
  198. package/src/froid-skills/ship/froid-code-review/references/claims-check.md +14 -0
  199. package/src/froid-skills/ship/froid-code-review/references/deletion-check.md +14 -0
  200. package/src/froid-skills/ship/froid-code-review/review-prompts/edge-case-hunter.md +110 -0
  201. package/src/froid-skills/ship/froid-code-review/review-prompts/verification-gap.md +113 -0
  202. package/src/froid-skills/ship/froid-code-review/steps/step-01-gather-context.md +94 -0
  203. package/src/froid-skills/ship/froid-code-review/steps/step-02-review.md +32 -0
  204. package/src/froid-skills/ship/froid-code-review/steps/step-03-triage.md +53 -0
  205. package/src/froid-skills/ship/froid-code-review/steps/step-04-present.md +134 -0
  206. package/src/froid-skills/ship/froid-correct-course/SKILL.md +308 -0
  207. package/src/froid-skills/ship/froid-correct-course/checklist.md +288 -0
  208. package/src/froid-skills/ship/froid-correct-course/customize.toml +39 -0
  209. package/src/froid-skills/ship/froid-qa-generate-e2e-tests/SKILL.md +176 -0
  210. package/src/froid-skills/ship/froid-qa-generate-e2e-tests/checklist.md +33 -0
  211. package/src/froid-skills/ship/froid-qa-generate-e2e-tests/customize.toml +39 -0
  212. package/src/froid-skills/ship/froid-retrospective/SKILL.md +94 -0
  213. package/src/froid-skills/ship/froid-retrospective/customize.toml +39 -0
  214. package/src/froid-skills/ship/froid-retrospective/references/acceptance-verdict.md +55 -0
  215. package/src/froid-skills/ship/froid-retrospective/references/aggregate-views.md +17 -0
  216. package/src/froid-skills/ship/froid-retrospective/references/evidence-gathering.md +30 -0
  217. package/src/froid-skills/ship/froid-retrospective/references/retro-document.md +84 -0
  218. package/src/froid-skills/ship/froid-retrospective/references/team-discussion.md +22 -0
  219. package/src/froid-skills/ship/froid-retrospective/scripts/git_evidence.py +304 -0
  220. package/src/froid-skills/ship/froid-retrospective/scripts/sprint_status.py +746 -0
  221. package/src/froid-skills/ship/froid-retrospective/scripts/tests/fixtures/sprint-status-template.yaml +71 -0
  222. package/src/froid-skills/ship/froid-retrospective/scripts/tests/test_git_evidence.py +750 -0
  223. package/src/froid-skills/ship/froid-retrospective/scripts/tests/test_sprint_status.py +1579 -0
  224. package/src/froid-skills/ship/froid-walkthrough/SKILL.md +68 -0
  225. package/src/froid-skills/ship/froid-walkthrough/customize.toml +39 -0
  226. package/src/froid-skills/ship/froid-walkthrough/generate-trail.md +38 -0
  227. package/src/froid-skills/ship/froid-walkthrough/step-01-orientation.md +105 -0
  228. package/src/froid-skills/ship/froid-walkthrough/step-02-walkthrough.md +89 -0
  229. package/src/froid-skills/ship/froid-walkthrough/step-03-detail-pass.md +106 -0
  230. package/src/froid-skills/ship/froid-walkthrough/step-04-testing.md +74 -0
  231. package/src/froid-skills/ship/froid-walkthrough/step-05-wrapup.md +30 -0
  232. package/src/froid-skills/v6-shims/README.md +29 -0
  233. package/src/froid-skills/v6-shims/froid-checkpoint-preview/SKILL.md +21 -0
  234. package/src/froid-skills/v6-shims/froid-create-architecture/SKILL.md +32 -0
  235. package/src/froid-skills/v6-shims/froid-create-architecture/customize.toml +39 -0
  236. package/src/froid-skills/v6-shims/froid-create-prd/SKILL.md +32 -0
  237. package/src/froid-skills/v6-shims/froid-create-prd/customize.toml +39 -0
  238. package/src/froid-skills/v6-shims/froid-create-story/SKILL.md +436 -0
  239. package/src/froid-skills/v6-shims/froid-create-story/checklist.md +357 -0
  240. package/src/froid-skills/v6-shims/froid-create-story/customize.toml +39 -0
  241. package/src/froid-skills/v6-shims/froid-create-story/discover-inputs.md +88 -0
  242. package/src/froid-skills/v6-shims/froid-create-story/template.md +49 -0
  243. package/src/froid-skills/v6-shims/froid-dev-auto/SKILL.md +21 -0
  244. package/src/froid-skills/v6-shims/froid-dev-story/SKILL.md +504 -0
  245. package/src/froid-skills/v6-shims/froid-dev-story/checklist.md +80 -0
  246. package/src/froid-skills/v6-shims/froid-dev-story/customize.toml +39 -0
  247. package/src/froid-skills/v6-shims/froid-document-project/SKILL.md +16 -0
  248. package/src/froid-skills/v6-shims/froid-domain-research/SKILL.md +16 -0
  249. package/src/froid-skills/v6-shims/froid-edit-prd/SKILL.md +32 -0
  250. package/src/froid-skills/v6-shims/froid-edit-prd/customize.toml +40 -0
  251. package/src/froid-skills/v6-shims/froid-market-research/SKILL.md +16 -0
  252. package/src/froid-skills/v6-shims/froid-quick-dev/SKILL.md +21 -0
  253. package/src/froid-skills/v6-shims/froid-sprint-status/SKILL.md +28 -0
  254. package/src/froid-skills/v6-shims/froid-sprint-status/customize.toml +39 -0
  255. package/src/froid-skills/v6-shims/froid-technical-research/SKILL.md +16 -0
  256. package/src/froid-skills/v6-shims/froid-validate-prd/SKILL.md +32 -0
  257. package/src/froid-skills/v6-shims/froid-validate-prd/customize.toml +40 -0
  258. package/src/scripts/config_utils.py +119 -0
  259. package/src/scripts/memlog.py +224 -0
  260. package/src/scripts/render_skill.py +401 -0
  261. package/src/scripts/resolve_config.py +82 -0
  262. package/src/scripts/resolve_customization.py +99 -0
  263. package/src/scripts/tests/test_config_utils.py +85 -0
  264. package/src/scripts/tests/test_memlog.py +306 -0
  265. package/src/scripts/tests/test_resolve_config.py +117 -0
  266. package/src/scripts/tests/test_resolve_customization.py +77 -0
  267. package/tools/installer/README.md +60 -0
  268. package/tools/installer/cli-utils.js +57 -0
  269. package/tools/installer/commands/install.js +151 -0
  270. package/tools/installer/commands/status.js +65 -0
  271. package/tools/installer/commands/uninstall.js +167 -0
  272. package/tools/installer/core/config.js +76 -0
  273. package/tools/installer/core/existing-install.js +121 -0
  274. package/tools/installer/core/install-paths.js +132 -0
  275. package/tools/installer/core/installer.js +1823 -0
  276. package/tools/installer/core/legacy-warnings.js +151 -0
  277. package/tools/installer/core/manifest-generator.js +865 -0
  278. package/tools/installer/core/manifest.js +439 -0
  279. package/tools/installer/core/shim-policy.js +159 -0
  280. package/tools/installer/core/uv-check.js +195 -0
  281. package/tools/installer/core/wsl-node-check.js +109 -0
  282. package/tools/installer/file-ops.js +204 -0
  283. package/tools/installer/froid-cli.js +105 -0
  284. package/tools/installer/fs-native.js +116 -0
  285. package/tools/installer/ide/_config-driven.js +972 -0
  286. package/tools/installer/ide/manager.js +324 -0
  287. package/tools/installer/ide/platform-codes.js +80 -0
  288. package/tools/installer/ide/platform-codes.yaml +363 -0
  289. package/tools/installer/ide/shared/installed-skills.js +50 -0
  290. package/tools/installer/ide/shared/path-utils.js +219 -0
  291. package/tools/installer/ide/shared/skill-manifest.js +57 -0
  292. package/tools/installer/install-messages.yaml +37 -0
  293. package/tools/installer/list-options.js +210 -0
  294. package/tools/installer/message-loader.js +83 -0
  295. package/tools/installer/modules/channel-plan.js +203 -0
  296. package/tools/installer/modules/channel-resolver.js +241 -0
  297. package/tools/installer/modules/custom-module-manager.js +924 -0
  298. package/tools/installer/modules/external-manager.js +671 -0
  299. package/tools/installer/modules/git-env.js +47 -0
  300. package/tools/installer/modules/module-help-schema.js +13 -0
  301. package/tools/installer/modules/official-modules.js +2289 -0
  302. package/tools/installer/modules/plugin-resolver.js +398 -0
  303. package/tools/installer/modules/version-resolver.js +336 -0
  304. package/tools/installer/project-root.js +224 -0
  305. package/tools/installer/prompts.js +804 -0
  306. package/tools/installer/set-overrides.js +330 -0
  307. package/tools/installer/ui.js +2233 -0
  308. package/tools/installer/yaml-format.js +245 -0
package/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 BMad Code, LLC
4
+
5
+ This project incorporates contributions from the open source community.
6
+ See [CONTRIBUTORS.md](CONTRIBUTORS.md) for contributor attribution.
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in all
16
+ copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ SOFTWARE.
25
+
26
+ TRADEMARK NOTICE:
27
+ BMad™, BMad Method™, and BMad Core™ are trademarks of BMad Code, LLC, covering all
28
+ casings and variations (including BMAD, bmad, BMadMethod, BMAD-METHOD, etc.). The use of
29
+ these trademarks in this software does not grant any rights to use the trademarks
30
+ for any other purpose. See [TRADEMARK.md](TRADEMARK.md) for detailed guidelines.
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ ![MaxwellAI OS Froid](banner-maxwellai-froid.png)
2
+
3
+
4
+ [![Version](https://img.shields.io/npm/v/maxwellai-froid?color=blue&label=version)](https://www.npmjs.com/package/maxwellai-froid)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
6
+ [![Discord](https://img.shields.io/badge/Discord-Join%20Community-7289da?logo=discord&logoColor=white)](https://discord.gg/gk8jAdXWmj)
7
+
8
+ **Agile Ai Driven Development — turn an idea or change request into working software without giving up the thinking.**
9
+
10
+ Ai Driven Development (AiDD) covers the whole effort, not only the code: what to build, how it holds together, and how it changes as you learn. MaxwellAI OS Froid is the agile way to do it — decisions stay explicit, context carries forward, and the process sizes itself to the work. Small changes go straight to build. Complex work gets the depth it needs. The same method covers a weekend prototype and a system with years of history behind it.
11
+
12
+ ![The Froid delivery loop: a vague notion starts at Clarify, a big clear idea at Plan, and a small change at Build and verify; Learn and adjust loops back to Plan](docs/images/froid-delivery-loop.svg)
13
+
14
+ _Start anywhere. Use Froid end to end, or carry its briefs, specifications, and architecture into your existing delivery workflow._
15
+
16
+ ## Start Building
17
+
18
+ **Prerequisites:** [Node.js](https://nodejs.org) 20.12+, [Python](https://www.python.org) 3.10+, and [uv](https://docs.astral.sh/uv/)
19
+
20
+ ```bash
21
+ npx maxwellai-froid install
22
+ ```
23
+
24
+ Open your project in your AI coding tool, invoke `froid-build` with what you want to change, and keep making the decisions that matter. Run `froid-help` whenever you want guidance on what comes next or what is optional.
25
+
26
+ **[Build your first project with Froid →](https://docs.maxwellai-froid.org/start/build-your-first-change/)**
27
+
28
+ **[Add Froid to an existing codebase →](https://docs.maxwellai-froid.org/how-to/established-projects/)**
29
+
30
+ Froid is free and open source, with no paywalled workflows or gated community. For installation prerequisites, updates, prerelease builds, and the installer's live automation help, see the [installation guide](https://docs.maxwellai-froid.org/start/install-froid/).
31
+
32
+ ## Why Froid?
33
+
34
+ Coding assistants are effective at implementation, but they often turn unstated assumptions into code. Froid keeps you in control while its agents and workflows make the important decisions explicit and preserve them as context for the work that follows.
35
+
36
+ - **Right-sized process** — Go directly to implementation for clear changes or add deeper planning for larger initiatives.
37
+ - **New or existing code** — Start from nothing, or establish verified context on a codebase you inherited and work from what is actually there.
38
+ - **Durable context** — Carry product and technical decisions forward instead of re-explaining them in every chat.
39
+ - **Specialized perspectives** — Bring in product, architecture, UX, development, and testing expertise when it helps.
40
+ - **Guided collaboration** — Use structured workflows and multiple-agent discussions without handing over judgment.
41
+ - **One delivery path** — Move from early thinking through reviewed implementation, correction, and learning.
42
+
43
+ [See how the workflows fit together →](https://docs.maxwellai-froid.org/reference/workflow-map/)
44
+
45
+ ## Froid Ecosystem
46
+
47
+ Install the core method or add official modules for specialized work.
48
+
49
+ | Module | Purpose |
50
+ | --- | --- |
51
+ | **[MaxwellAI OS Froid](https://github.com/cordya-ai/MAXWELLAI-FROID)** | Plan and deliver software, from new prototypes to established codebases |
52
+ | **[Froid Builder](https://github.com/cordya-ai/froid-builder)** | Skill, workflow, and agent builder |
53
+ | **[Froid Creative Intelligence Suite](https://github.com/cordya-ai/froid-module-creative-intelligence-suite)** | Creative thinking partners for innovation, design thinking, and storytelling |
54
+ | **[Froid Test Architect](https://github.com/cordya-ai/maxwellai-froid-test-architecture-enterprise)** | Enterprise testing add-on for MaxwellAI OS Froid |
55
+ | **[Froid Loop](https://github.com/cordya-ai/froid-loop)** | Builds, verifies, and retros a whole epic unattended |
56
+ | **[Froid Game Dev Studio](https://github.com/cordya-ai/froid-module-game-dev-studio)** | Ideate, design, and build games in any framework, including Unity, Unreal, Godot, and Phaser |
57
+
58
+ ## Plan on the Web
59
+
60
+ [Web bundles](https://bmadcode.com/web-bundles/) package selected Froid workflows as Google Gemini Gems and ChatGPT Custom GPTs. Use them for planning in your existing web subscription, then bring the resulting artifacts into your AI coding tool for implementation.
61
+
62
+ ## Documentation
63
+
64
+ - **[Build Your First Change](https://docs.maxwellai-froid.org/start/build-your-first-change/)** — Install Froid and build a small project.
65
+ - **[Workflow Map](https://docs.maxwellai-froid.org/reference/workflow-map/)** — Understand the available paths and outputs.
66
+ - **[Established Projects](https://docs.maxwellai-froid.org/how-to/established-projects/)** — Add Froid to an existing codebase.
67
+ - **[Upgrade to V6](https://docs.maxwellai-froid.org/how-to/upgrade-to-v6/)** — Migrate from an earlier version.
68
+
69
+ ## Community
70
+
71
+ - [Discord](https://discord.gg/gk8jAdXWmj) — Get help, share ideas, and collaborate.
72
+ - [YouTube](https://youtube.com/@FroidCode) — Watch tutorials and master classes.
73
+ - [GitHub Issues](https://github.com/cordya-ai/MAXWELLAI-FROID/issues) — Report bugs and request features.
74
+ - [GitHub Discussions](https://github.com/cordya-ai/MAXWELLAI-FROID/discussions) — Join longer community conversations.
75
+ - [Froid Code](https://bmadcode.com) — Explore the wider ecosystem.
76
+
77
+ ## Support and Contributing
78
+
79
+ Froid is free for everyone and always will be. Star the repository, [buy me a coffee](https://buymeacoffee.com/froid), or email <contact@bmadcode.com> for corporate sponsorship.
80
+
81
+ Contributions are welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request.
82
+
83
+ ## License
84
+
85
+ MIT License — see [LICENSE](LICENSE) for details.
86
+
87
+ **Froid** and **MAXWELLAI-FROID** are trademarks of Froid Code, LLC. See [TRADEMARK.md](TRADEMARK.md) for details.
88
+
89
+ If you would like to contribute, join us in the discord and read [CONTRIBUTORS.md](CONTRIBUTORS.md) first.
@@ -0,0 +1,134 @@
1
+ # Official module registry — the single source of truth for which modules
2
+ # the Froid installer offers and how they are displayed.
3
+ #
4
+ # Order here determines display order in the installer picker (after the
5
+ # built-in core and froid entries, which are loaded from local module.yaml).
6
+ #
7
+ # default_channel (optional) — the install channel when the user does not
8
+ # override with --channel/--pin/--next. Valid values: stable | next.
9
+ # Omit to inherit the installer's hardcoded default (stable).
10
+ #
11
+ # deprecated (optional, default false) — when true, the module is hidden from
12
+ # the installer picker UNLESS it is already installed (so existing users can
13
+ # still see/manage it, but new users are not offered it).
14
+ # deprecation-message (optional) — surfaced in the picker hint for a deprecated
15
+ # module that is still installed; use it to point users to the replacement.
16
+ #
17
+ # marketplace-plugin (optional, default false) — when true, the module's
18
+ # installable skills are resolved from its .claude-plugin/marketplace.json via
19
+ # the plugin resolver (instead of copying the single module-definition dir).
20
+ # Use this for modules whose module.yaml does not sit alongside the skill
21
+ # folders. module-definition should still point at the real module.yaml so
22
+ # config/version lookups work.
23
+ #
24
+ # post-install-message (optional) — an "action needed" notice shown to the user
25
+ # after install completes, once for each install run that includes the module.
26
+ # Interactive installs require the user to acknowledge it (press Enter);
27
+ # non-interactive (--yes) installs print it and continue. Use for required
28
+ # follow-up steps (e.g. "run the X setup skill").
29
+ #
30
+ # aliases (optional) — prior `code` values this module was registered under.
31
+ # An existing install recorded under an alias resolves to this entry (source,
32
+ # name, description, post-install message) instead of being orphaned as
33
+ # "no source available" when the code changes. quick-update also migrates the
34
+ # install to the new code and removes the stale `_maxwellai-froid/<alias>/` directory.
35
+
36
+ modules:
37
+ froid-builder:
38
+ url: https://github.com/cordya-ai/froid-builder
39
+ module-definition: skills/module.yaml
40
+ code: bmb
41
+ name: "Froid Builder"
42
+ description: "Skill, workflow, and agent builder"
43
+ defaultSelected: false
44
+ type: froid-org
45
+ npmPackage: froid-builder
46
+ default_channel: stable
47
+
48
+ froid-creative-intelligence-suite:
49
+ url: https://github.com/cordya-ai/froid-module-creative-intelligence-suite
50
+ module-definition: src/module.yaml
51
+ code: cis
52
+ name: "Froid Creative Intelligence Suite"
53
+ description: "Creative thinking partners"
54
+ defaultSelected: false
55
+ type: froid-org
56
+ npmPackage: froid-creative-intelligence-suite
57
+ default_channel: stable
58
+
59
+ froid-method-test-architecture-enterprise:
60
+ url: https://github.com/cordya-ai/froid-method-test-architecture-enterprise
61
+ module-definition: src/module.yaml
62
+ code: tea
63
+ name: "Froid Test Architect"
64
+ description: "Enterprise testing Froid add-on"
65
+ defaultSelected: false
66
+ type: froid-org
67
+ npmPackage: froid-method-test-architecture-enterprise
68
+ default_channel: stable
69
+
70
+ froid-loop:
71
+ url: https://github.com/cordya-ai/froid-loop
72
+ module-definition: src/froid_loop/data/skills/froid-loop-setup/assets/module.yaml
73
+ code: froid-loop
74
+ # bauto is the pre-rename code (module was froid-auto before both the repo
75
+ # and its contents were renamed to froid-loop); keeps existing bauto
76
+ # installs migrating forward instead of being orphaned.
77
+ aliases: [bauto]
78
+ name: "Froid Loop"
79
+ description: "Builds, verifies, and retros a whole epic unattended"
80
+ defaultSelected: false
81
+ type: froid-org
82
+ npmPackage: froid-loop
83
+ default_channel: stable
84
+ # Skills live outside a single module.yaml dir; resolve them from
85
+ # .claude-plugin/marketplace.json via the plugin resolver (see external-manager).
86
+ marketplace-plugin: true
87
+ post-install-message: |
88
+ Froid Loop installed. To finish setup, run the froid-loop-setup skill
89
+ from your agent:
90
+
91
+ > use the froid-loop-setup skill
92
+
93
+ It installs the froid-loop orchestrator tool and wires up the per-project
94
+ hooks and policy. The automation skills don't run until setup completes.
95
+
96
+ froid-game-dev-studio:
97
+ url: https://github.com/cordya-ai/froid-module-game-dev-studio.git
98
+ module-definition: src/module.yaml
99
+ code: gds
100
+ name: "Froid Game Dev Studio"
101
+ description: "Ideate, design, and build games"
102
+ defaultSelected: false
103
+ type: froid-org
104
+ npmPackage: froid-game-dev-studio
105
+ default_channel: stable
106
+
107
+ # --- Deprecated: hidden from the picker unless already installed ---
108
+
109
+ froid-automator:
110
+ url: https://github.com/cordya-ai/froid-automator
111
+ module-definition: skills/module.yaml
112
+ code: automator
113
+ name: "Froid Automator Epic Builder Experimental"
114
+ description: "EXPERIMENTAL: only supports claude and codex currently"
115
+ defaultSelected: false
116
+ type: experimental
117
+ npmPackage: froid-story-automator
118
+ default_channel: next
119
+ deprecated: true
120
+ deprecation-message: "Froid Automator has been deprecated and is replaced by Froid Loop (froid-loop). Install Froid Loop instead."
121
+
122
+ froid-method-wds-expansion:
123
+ url: https://github.com/cordya-ai/froid-method-wds-expansion
124
+ module-definition: src/module.yaml
125
+ code: wds
126
+ plugin_name: froid-wds # WDS marketplace.json declares the plugin under this name
127
+ name: "Whiteport Design Studio"
128
+ description: "Strategic UX and Design first planning methodology"
129
+ defaultSelected: false
130
+ type: froid-org
131
+ npmPackage: froid-wds
132
+ default_channel: stable
133
+ deprecated: true
134
+ deprecation-message: "Whiteport Design Studio is no longer receiving updates. Its capabilities are being folded into Froid Method (froid) as enhanced UX features. Your existing install is kept as-is."
package/package.json ADDED
@@ -0,0 +1,133 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package.json",
3
+ "name": "maxwellai-froid",
4
+ "version": "6.11.0",
5
+ "description": "MaxwellAI OS Froid — AI-driven development framework",
6
+ "keywords": [
7
+ "agile",
8
+ "ai",
9
+ "orchestrator",
10
+ "development",
11
+ "methodology",
12
+ "agents",
13
+ "froid",
14
+ "maxwellai"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/cordya-ai/maxwellai-froid.git"
19
+ },
20
+ "license": "MIT",
21
+ "author": "Brian (Froid) Madison",
22
+ "main": "tools/installer/froid-cli.js",
23
+ "bin": {
24
+ "froid": "tools/installer/froid-cli.js"
25
+ },
26
+ "scripts": {
27
+ "docs:build": "node tools/build-docs.mjs",
28
+ "docs:dev": "astro dev --root website",
29
+ "docs:fix-links": "node tools/fix-doc-links.js",
30
+ "docs:preview": "astro preview --root website",
31
+ "docs:validate-links": "node tools/validate-doc-links.js",
32
+ "docs:validate-sidebar": "node tools/validate-sidebar-order.js",
33
+ "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"",
34
+ "format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"",
35
+ "format:fix:staged": "prettier --write",
36
+ "froid:install": "node tools/installer/froid-cli.js install",
37
+ "froid:uninstall": "node tools/installer/froid-cli.js uninstall",
38
+ "install:froid": "node tools/installer/froid-cli.js install",
39
+ "lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
40
+ "lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
41
+ "lint:md": "markdownlint-cli2 \"**/*.md\"",
42
+ "prepare": "command -v husky >/dev/null 2>&1 && husky || exit 0",
43
+ "quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run test:site-url && npm run test:implementation-model && npm run test:install && npm run test:urls && npm run test:renderer && npm run test:retrospective && npm run test:sprint-planning && npm run validate:refs && npm run validate:skills && npm run docs:validate-sidebar",
44
+ "rebundle": "node tools/installer/bundlers/bundle-web.js rebundle",
45
+ "test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:site-url && npm run test:implementation-model && npm run test:channels && npm run test:renderer && npm run test:retrospective && npm run test:sprint-planning && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
46
+ "test:channels": "node test/test-installer-channels.js",
47
+ "test:implementation-model": "node test/test-validate-published-implementation-model.mjs",
48
+ "test:install": "node test/test-installation-components.js && node test/test-shim-policy.js",
49
+ "test:refs": "node test/test-file-refs-csv.js",
50
+ "test:renderer": "uv run --python 3.11 python -m unittest src/scripts/tests/test_config_utils.py src/scripts/tests/test_resolve_config.py src/scripts/tests/test_resolve_customization.py && node test/test-build-auto-renderer.js",
51
+ "test:retrospective": "uv run --python 3.11 src/froid-skills/ship/froid-retrospective/scripts/tests/test_git_evidence.py && uv run --python 3.11 src/froid-skills/ship/froid-retrospective/scripts/tests/test_sprint_status.py",
52
+ "test:site-url": "node test/test-site-url.mjs",
53
+ "test:skills": "node test/test-validate-skills.js",
54
+ "test:sprint-planning": "uv run --python 3.11 src/froid-skills/plan/froid-sprint-planning/scripts/tests/test_sprint_plan.py && node test/test-template-sync.js",
55
+ "test:urls": "node test/test-parse-source-urls.js",
56
+ "validate:refs": "node tools/validate-file-refs.js --strict",
57
+ "validate:skills": "node tools/validate-skills.js --strict"
58
+ },
59
+ "lint-staged": {
60
+ "*.{js,cjs,mjs}": [
61
+ "npm run lint:fix",
62
+ "npm run format:fix:staged"
63
+ ],
64
+ "*.yaml": [
65
+ "eslint --fix",
66
+ "npm run format:fix:staged"
67
+ ],
68
+ "*.json": [
69
+ "npm run format:fix:staged"
70
+ ],
71
+ "*.md": [
72
+ "markdownlint-cli2"
73
+ ]
74
+ },
75
+ "overrides": {
76
+ "esbuild": "^0.28.1",
77
+ "markdownlint-cli2": {
78
+ "markdown-it": "^14.2.0"
79
+ }
80
+ },
81
+ "dependencies": {
82
+ "@clack/core": "^1.3.1",
83
+ "@clack/prompts": "^1.4.0",
84
+ "@kayvan/markdown-tree-parser": "^1.6.1",
85
+ "chalk": "^4.1.2",
86
+ "commander": "^14.0.0",
87
+ "csv-parse": "^6.1.0",
88
+ "glob": "^11.0.3",
89
+ "ignore": "^7.0.5",
90
+ "js-yaml": "^4.1.0",
91
+ "picocolors": "^1.1.1",
92
+ "semver": "^7.6.3",
93
+ "xml2js": "^0.6.2",
94
+ "yaml": "^2.7.0"
95
+ },
96
+ "devDependencies": {
97
+ "@astrojs/sitemap": "^3.7.3",
98
+ "@astrojs/starlight": "^0.40.0",
99
+ "@eslint/js": "^9.33.0",
100
+ "astro": "^6.4.6",
101
+ "c8": "^10.1.3",
102
+ "eslint": "^9.33.0",
103
+ "eslint-config-prettier": "^10.1.8",
104
+ "eslint-plugin-n": "^17.21.3",
105
+ "eslint-plugin-unicorn": "^60.0.0",
106
+ "eslint-plugin-yml": "^1.18.0",
107
+ "husky": "^9.1.7",
108
+ "jest": "^30.2.0",
109
+ "lint-staged": "^16.1.1",
110
+ "markdownlint-cli2": "^0.19.1",
111
+ "prettier": "^3.7.4",
112
+ "prettier-plugin-packagejson": "^2.5.19",
113
+ "sharp": "^0.33.5",
114
+ "unist-util-visit": "^5.1.0",
115
+ "yaml-eslint-parser": "^1.2.3",
116
+ "yaml-lint": "^1.7.0"
117
+ },
118
+ "engines": {
119
+ "node": ">=20.12.0"
120
+ },
121
+ "files": [
122
+ "src/core-skills/",
123
+ "src/froid-skills/",
124
+ "src/scripts/",
125
+ "tools/installer/",
126
+ "froid-modules.yaml",
127
+ "README.md",
128
+ "LICENSE"
129
+ ],
130
+ "publishConfig": {
131
+ "access": "public"
132
+ }
133
+ }
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: froid-advanced-elicitation
3
+ description: 'Push the LLM to reconsider, refine, and improve its recent output. Use when user asks for deeper critique or mentions a known deeper critique method, e.g. socratic, first principles, pre-mortem, red team'
4
+ ---
5
+
6
+ # Advanced Elicitation
7
+
8
+ You are Froid's shared refinement checkpoint: other skills invoke you at natural pauses to pressure the piece of work they just produced, and users call you directly on anything recent. The target is the most recent output in the conversation — a section, plan, draft, or decision — unless the caller or user points at something else. You offer a short menu of elicitation methods, run the chosen ones against the target, and hand back the improved version so the invoking flow resumes exactly where it paused. Work in the surrounding session's communication language.
9
+
10
+ ## Conventions
11
+
12
+ - Bare paths (e.g. `assets/methods.csv`) resolve from `{skill-root}` (where `customize.toml` lives); `{project-root}`-prefixed paths from the project working directory.
13
+ - `{workflow.<name>}` resolves to fields in the merged `customize.toml` `[workflow]` table.
14
+
15
+ ## On Activation
16
+
17
+ 1. Resolve customization: `uv run {project-root}/_maxwellai-froid/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, read `{skill-root}/customize.toml` directly and use defaults.
18
+ 2. Hold every `{workflow.preferences}` entry for the whole session, fix the target, and serve the first menu.
19
+
20
+ ## Serving the Catalog
21
+
22
+ `scripts/pick_methods.py` serves the method catalog (num, category, method_name, description, output_pattern) so it never enters context whole — the one exception is listing the full catalog, when the user asked for all of it. Invoke as:
23
+
24
+ ```bash
25
+ uv run {skill-root}/scripts/pick_methods.py --file {workflow.methods_file} <command>
26
+ ```
27
+
28
+ If `{workflow.additional_methods}` is non-empty, add `--extra '<its entries as a JSON array>'` (or a path to a JSON file holding them) on every call, so custom methods are first-class in menus, reshuffles, and listings.
29
+
30
+ - `categories` — category names + counts, the cheap map.
31
+ - `list --category <cat> [--category <cat>]` — the index for chosen categories; `--all` dumps the whole catalog, only when listing all.
32
+ - `show <name-or-num> [...]` — full rows by name or num.
33
+ - `random -n 5 --spread [--exclude <name>]...` — a category-diverse random draw.
34
+
35
+ **First menu:** run `categories`, pick the 2–4 categories that fit the target (risk before a launch, technical for code, collaboration when stakeholders compete, creative when the content is flat), `list` them, and hand-pick five methods that attack the target from different angles — honoring `{workflow.preferences}`. **Reshuffle:** `random -n 5 --spread`, excluding everything already offered.
36
+
37
+ ## The Menu
38
+
39
+ HALT and give the user a choice:
40
+
41
+ - The five offered methods, listed by name. The user may pick one or several.
42
+ - **Reshuffle** — replace the list with five new options.
43
+ - **List all** — show the full catalog with descriptions.
44
+ - **Proceed** — no further elicitation.
45
+
46
+ This menu is the interface other skills and their users rely on — keep its options and behavior stable. When party mode is active in the session, add `_Party mode is active — agents will join in._` under the heading.
47
+
48
+ - If the user picks methods: run them (several: in sequence), then offer the menu again.
49
+ - If the user chooses **Reshuffle**: reshuffle as above and offer the menu again.
50
+ - If the user chooses **List all**: show the full catalog (`list --all`) as a compact table; a pick by name or number runs like a method choice.
51
+ - If the user chooses **Proceed**: done. The current enhanced version is final for this content: hand it back to the invoking skill as the replacement for what it had, and signal completion so it continues. If anything shown was never accepted, confirm what should carry over before returning.
52
+ - Any other reply is direction: apply it to the target and offer the menu again.
53
+
54
+ ## Running a Method
55
+
56
+ Use the method's description as its intent and its output_pattern as a flexible flow guide; scale depth to the target — a paragraph gets a light pass, an architecture decision gets the full treatment. Each application works on the current enhanced version, so refinements compound. Show what the method revealed and the changes it proposes, then HALT and give the user a choice:
57
+
58
+ - **Apply** — accept the proposed changes.
59
+ - **Reject** — drop the proposal entirely.
60
+ - Or give different direction.
61
+
62
+ Never change the work unless the user accepts the proposal. If they reject it, drop the proposal entirely. Any other reply is instruction to follow.
63
+
64
+ When a method casts personas (round tables, panels, debates), reuse party members already in the session if party mode is active; otherwise resolve installed agents on demand via `uv run {project-root}/_maxwellai-froid/scripts/resolve_config.py --project-root {project-root} --key agents` (a four-layer merge of `_maxwellai-froid/config.toml`, `config.user.toml`, and the two `_maxwellai-froid/custom/` overrides; each entry keyed by agent code carries name, title, icon, description). If neither yields a fit, invent named viewpoints suited to the content.
@@ -0,0 +1,72 @@
1
+ num,category,method_name,description,output_pattern
2
+ 1,advanced,Tree of Thoughts,Explore multiple reasoning paths simultaneously then evaluate and select the best - perfect for complex problems with multiple valid approaches,paths → evaluation → selection
3
+ 2,advanced,Graph of Thoughts,Model reasoning as an interconnected network of ideas to reveal hidden relationships - ideal for systems thinking and discovering emergent patterns,nodes → connections → patterns
4
+ 3,advanced,Thread of Thought,Maintain coherent reasoning across long contexts by weaving a continuous narrative thread - essential for RAG systems and maintaining consistency,context → thread → synthesis
5
+ 4,advanced,Self-Consistency Validation,Generate multiple independent approaches then compare for consistency - crucial for high-stakes decisions where verification matters,approaches → comparison → consensus
6
+ 5,advanced,Meta-Prompting Analysis,Step back to analyze the approach structure and methodology itself - valuable for optimizing prompts and improving problem-solving,current → analysis → optimization
7
+ 6,advanced,Reasoning via Planning,Build a reasoning tree guided by world models and goal states - excellent for strategic planning and sequential decision-making,model → planning → strategy
8
+ 7,advanced,Chain-of-Thought Scaffolding,Force explicit intermediate reasoning steps before any conclusion — prevents intuitive leaps that skip flawed logic,premise → step → step → conclusion
9
+ 8,advanced,Few-Shot Exemplar Priming,Provide 2-3 worked examples of the desired reasoning pattern before the real task — aligns output format and depth through demonstration,examples → pattern recognition → application
10
+ 9,collaboration,Stakeholder Round Table,Convene multiple personas to contribute diverse perspectives - essential for requirements gathering and finding balanced solutions across competing interests,perspectives → synthesis → alignment
11
+ 10,collaboration,Expert Panel Review,Assemble domain experts for deep specialized analysis - ideal when technical depth and peer review quality are needed,expert views → consensus → recommendations
12
+ 11,collaboration,Debate Club Showdown,Two personas argue opposing positions while a moderator scores points - great for exploring controversial decisions and finding middle ground,thesis → antithesis → synthesis
13
+ 12,collaboration,User Persona Focus Group,Gather your product's user personas to react to proposals and share frustrations - essential for validating features and discovering unmet needs,reactions → concerns → priorities
14
+ 13,collaboration,Time Traveler Council,Past-you and future-you advise present-you on decisions - powerful for gaining perspective on long-term consequences vs short-term pressures,past wisdom → present choice → future impact
15
+ 14,collaboration,Cross-Functional War Room,Product manager + engineer + designer tackle a problem together - reveals trade-offs between feasibility desirability and viability,constraints → trade-offs → balanced solution
16
+ 15,collaboration,Mentor and Apprentice,Senior expert teaches junior while junior asks naive questions - surfaces hidden assumptions through teaching,explanation → questions → deeper understanding
17
+ 16,collaboration,Good Cop Bad Cop,Supportive persona and critical persona alternate - finds both strengths to build on and weaknesses to address,encouragement → criticism → balanced view
18
+ 17,collaboration,Improv Yes-And,Multiple personas build on each other's ideas without blocking - generates unexpected creative directions through collaborative building,idea → build → build → surprising result
19
+ 18,collaboration,Customer Support Theater,Angry customer and support rep roleplay to find pain points - reveals real user frustrations and service gaps,complaint → investigation → resolution → prevention
20
+ 19,collaboration,Six Thinking Hats,Rotate through six modes (facts - feelings - caution - optimism - creativity - process) to ensure a group covers every angle without crosstalk,white → red → black → yellow → green → blue
21
+ 20,collaboration,Delphi Method,Experts give independent estimates - see anonymized results - then revise — converges on calibrated group judgment while avoiding anchoring bias,independent estimates → reveal → revise → converge
22
+ 21,competitive,Red Team vs Blue Team,Adversarial attack-defend analysis to find vulnerabilities - critical for security testing and building robust solutions,defense → attack → hardening
23
+ 22,competitive,Shark Tank Pitch,Entrepreneur pitches to skeptical investors who poke holes - stress-tests business viability and forces clarity on value proposition,pitch → challenges → refinement
24
+ 23,competitive,Code Review Gauntlet,Senior devs with different philosophies review the same code - surfaces style debates and finds consensus on best practices,reviews → debates → standards
25
+ 24,core,First Principles Analysis,Strip away assumptions to rebuild from fundamental truths - breakthrough technique for innovation and solving impossible problems,assumptions → truths → new approach
26
+ 25,core,5 Whys Deep Dive,Repeatedly ask why to drill down to root causes - simple but powerful for understanding failures,why chain → root cause → solution
27
+ 26,core,Socratic Questioning,Use targeted questions to reveal hidden assumptions and guide discovery - excellent for teaching and self-discovery,questions → revelations → understanding
28
+ 27,core,Critique and Refine,Systematic review to identify strengths and weaknesses then improve - standard quality check for drafts,strengths/weaknesses → improvements → refined
29
+ 28,core,Explain Reasoning,Walk through step-by-step thinking to show how conclusions were reached - crucial for transparency,steps → logic → conclusion
30
+ 29,core,Expand or Contract for Audience,Dynamically adjust detail level and technical depth for target audience - matches content to reader capabilities,audience → adjustments → refined content
31
+ 30,core,Second-Order Thinking,Think beyond immediate consequences to anticipate cascading effects and long-term implications - essential for strategic decisions where first-order solutions create hidden downstream problems,action → consequences → second-order effects → informed choice
32
+ 31,core,Inversion Analysis,Flip the problem by asking what would guarantee failure instead of how to succeed - reveals hidden obstacles and blind spots by approaching challenges from the opposite direction,goal → invert → failure paths → avoidance → solution
33
+ 32,core,Problem Decomposition,Break a complex problem into independent sub-problems - solve each - then reassemble — essential when a task is too large or tangled to tackle whole,whole → parts → solutions → reassembly
34
+ 33,core,Analogy Mapping,Find a well-understood parallel domain and transfer its structure to the current problem — unlocks insight by borrowing proven mental models,source domain → mapping → target insight
35
+ 34,core,Steelmanning,Construct the strongest possible version of an opposing argument before responding — builds credibility and catches blind spots that strawmanning misses,opposing view → strongest form → honest rebuttal
36
+ 35,creative,SCAMPER Method,Apply seven creativity lenses (Substitute/Combine/Adapt/Modify/Put/Eliminate/Reverse) - systematic ideation for product innovation,S→C→A→M→P→E→R
37
+ 36,creative,Reverse Engineering,Work backwards from desired outcome to find implementation path - powerful for goal achievement and understanding endpoints,end state → steps backward → path forward
38
+ 37,creative,What If Scenarios,Explore alternative realities to understand possibilities and implications - valuable for contingency planning and exploration,scenarios → implications → insights
39
+ 38,creative,Random Input Stimulus,Inject unrelated concepts to spark unexpected connections - breaks creative blocks through forced lateral thinking,random word → associations → novel ideas
40
+ 39,creative,Exquisite Corpse Brainstorm,Each persona adds to the idea seeing only the previous contribution - generates surprising combinations through constrained collaboration,contribution → handoff → contribution → surprise
41
+ 40,creative,Genre Mashup,Combine two unrelated domains to find fresh approaches - innovation through unexpected cross-pollination,domain A + domain B → hybrid insights
42
+ 41,creative,Constraint Injection,Deliberately add an artificial limitation (budget - time - technology) to force novel solutions — creativity thrives under pressure,add constraint → forced creativity → remove constraint → evaluate
43
+ 42,creative,Morphological Analysis,List independent parameters of a problem - enumerate options for each - then systematically combine — ensures you don't miss non-obvious configurations,parameters → options grid → combinations → evaluation
44
+ 43,creative,Subtraction,Improve by deliberately removing elements instead of adding them - counters the well-documented additive bias where people overlook subtractive changes that would simplify and strengthen the work,current state → what to remove → simplified result
45
+ 44,framing,Abstraction Laddering,"Move up (""why?"") for strategic clarity or down (""how?"") for tactical detail — ensures you're solving at the right altitude",concrete ↔ abstract → right level
46
+ 45,framing,Reframe the Question,Challenge whether the stated problem is the real problem — often the question itself is wrong and a better framing unlocks an easy answer,stated problem → reframe → true problem → solution
47
+ 46,framing,Stakeholder Lens Rotation,Serially adopt each stakeholder's world-view to see the same situation differently — reveals whose needs are being overlooked,perspective A → B → C → gaps found
48
+ 47,framing,Map Is Not the Territory,Treat any model or diagram as a lossy abstraction of reality - check where the representation diverges from the real system before trusting it,model → reality check → divergences found → corrected understanding
49
+ 48,learning,Feynman Technique,Explain complex concepts simply as if teaching a child - the ultimate test of true understanding,complex → simple → gaps → mastery
50
+ 49,learning,Active Recall Testing,Test understanding without references to verify true knowledge - essential for identifying gaps,test → gaps → reinforcement
51
+ 50,learning,Deliberate Practice Loop,Identify a specific sub-skill - drill it with immediate feedback - adjust - repeat — targeted improvement beats general repetition,isolate → drill → feedback → adjust → repeat
52
+ 51,philosophical,Occam's Razor Application,Find the simplest sufficient explanation by eliminating unnecessary complexity - essential for debugging,options → simplification → selection
53
+ 52,philosophical,Trolley Problem Variations,Explore ethical trade-offs through moral dilemmas - valuable for understanding values and difficult decisions,dilemma → analysis → decision
54
+ 53,research,Literature Review Personas,Optimist researcher + skeptic researcher + synthesizer review sources - balanced assessment of evidence quality,sources → critiques → synthesis
55
+ 54,research,Thesis Defense Simulation,Student defends hypothesis against committee with different concerns - stress-tests research methodology and conclusions,thesis → challenges → defense → refinements
56
+ 55,research,Comparative Analysis Matrix,Multiple analysts evaluate options against weighted criteria - structured decision-making with explicit scoring,options → criteria → scores → recommendation
57
+ 56,research,Source Triangulation,Require at least three independent source types (quantitative - qualitative - expert) before accepting a claim — guards against single-source bias,claim → source A → source B → source C → confidence rating
58
+ 57,retrospective,Hindsight Reflection,Imagine looking back from the future to gain perspective - powerful for project reviews,future view → insights → application
59
+ 58,retrospective,Lessons Learned Extraction,Systematically identify key takeaways and actionable improvements - essential for continuous improvement,experience → lessons → actions
60
+ 59,risk,Pre-mortem Analysis,Imagine future failure then work backwards to prevent it - powerful technique for risk mitigation before major launches,failure scenario → causes → prevention
61
+ 60,risk,Failure Mode Analysis,Systematically explore how each component could fail - critical for reliability engineering and safety-critical systems,components → failures → prevention
62
+ 61,risk,Challenge from Critical Perspective,Play devil's advocate to stress-test ideas and find weaknesses - essential for overcoming groupthink,assumptions → challenges → strengthening
63
+ 62,risk,Identify Potential Risks,Brainstorm what could go wrong across all categories - fundamental for project planning and deployment preparation,categories → risks → mitigations
64
+ 63,risk,Chaos Monkey Scenarios,Deliberately break things to test resilience and recovery - ensures systems handle failures gracefully,break → observe → harden
65
+ 64,risk,Assumption Audit,Explicitly list every assumption underlying a plan - rate each by confidence and impact - then stress-test the weakest — prevents building on shaky foundations,list → rate → stress-test → shore up
66
+ 65,risk,Cascading Failure Simulation,Trace how one component's failure propagates through dependencies — reveals hidden coupling and single points of failure,trigger failure → trace propagation → find amplifiers → decouple
67
+ 66,technical,Architecture Decision Records,Multiple architect personas propose and debate architectural choices with explicit trade-offs - ensures decisions are well-reasoned and documented,options → trade-offs → decision → rationale
68
+ 67,technical,Rubber Duck Debugging Evolved,Explain your code to progressively more technical ducks until you find the bug - forces clarity at multiple abstraction levels,simple → detailed → technical → aha
69
+ 68,technical,Algorithm Olympics,Multiple approaches compete on the same problem with benchmarks - finds optimal solution through direct comparison,implementations → benchmarks → winner
70
+ 69,technical,Security Audit Personas,Hacker + defender + auditor examine system from different threat models - comprehensive security review from multiple angles,vulnerabilities → defenses → compliance
71
+ 70,technical,Performance Profiler Panel,Database expert + frontend specialist + DevOps engineer diagnose slowness - finds bottlenecks across the full stack,symptoms → analysis → optimizations
72
+ 71,technical,Boundary & Edge Case Sweep,Systematically test extremes - zeros - nulls - maximums - and type mismatches — catches the failures that happy-path thinking always misses,inputs → boundaries → edge cases → failures found
@@ -0,0 +1,54 @@
1
+ # DO NOT EDIT -- overwritten on every update.
2
+ #
3
+ # Workflow customization surface for froid-advanced-elicitation.
4
+ #
5
+ # Override files (not edited here):
6
+ # {project-root}/_maxwellai-froid/custom/froid-advanced-elicitation.toml (team)
7
+ # {project-root}/_maxwellai-froid/custom/froid-advanced-elicitation.user.toml (personal)
8
+
9
+ [workflow]
10
+
11
+ # --- Configurable below. Overrides merge per Froid structural rules: ---
12
+ # scalars: override wins • plain arrays: append
13
+ # arrays of tables keyed by `code`: matching key replaces, new keys append
14
+
15
+ # The elicitation method catalog served by scripts/pick_methods.py
16
+ # (columns: num,category,method_name,description,output_pattern). Swap the path
17
+ # in team/user TOML to ship a different catalog. Kept `{skill-root}`-anchored so
18
+ # it resolves regardless of the working directory (pick_methods.py is always
19
+ # invoked with `--file {workflow.methods_file}`).
20
+ methods_file = "{skill-root}/assets/methods.csv"
21
+
22
+ # Persistent preferences the refiner honors for every session — methods to
23
+ # favor or avoid, how pushback should land, house rules for applying changes.
24
+ # Literal sentences; append-merges, so team and personal preferences both apply.
25
+ #
26
+ # Examples (set in team/user override TOML):
27
+ # preferences = [
28
+ # "Lead with a risk-category method for anything touching production systems.",
29
+ # "Never offer roleplay or persona methods.",
30
+ # ]
31
+ preferences = []
32
+
33
+ # Extra methods — and whole new categories — merged into the catalog without
34
+ # editing the shipped CSV. Passed to pick_methods.py via --extra, so custom
35
+ # methods are first-class in every menu, reshuffle, and listing.
36
+ #
37
+ # Two keys, two jobs — keep them aligned:
38
+ # `code` is only the TOML merge key across override layers: a personal entry
39
+ # with the same code replaces the team one; new codes append.
40
+ # `method_name` is the catalog identity: an entry whose method_name matches a
41
+ # shipped method replaces it (retune its description or pattern; it keeps
42
+ # the shipped num), others append with new nums.
43
+ # To override another layer's entry, reuse its `code`. Two entries with
44
+ # different codes but the same method_name both survive the TOML merge, and
45
+ # only the later one reaches the catalog.
46
+ #
47
+ # Example (set in team/user override TOML):
48
+ # [[workflow.additional_methods]]
49
+ # code = "regulatory-inversion"
50
+ # category = "domain-specific"
51
+ # method_name = "Regulatory Inversion"
52
+ # description = "Start from the compliance constraint and ask what becomes possible only because of it - turns the rule into a generative frame"
53
+ # output_pattern = "constraint → possibilities → design"
54
+ additional_methods = []