@ggailabs/cli-context 0.5.6 → 1.0.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.

Potentially problematic release.


This version of @ggailabs/cli-context might be problematic. Click here for more details.

Files changed (282) hide show
  1. package/dist/.context/docs/GENESIS_SYSTEM_PROMPT.md +62 -0
  2. package/dist/.context/eng/agents/architect.md +15 -0
  3. package/dist/.context/eng/agents/backend_typescript.md +1000 -0
  4. package/dist/.context/eng/agents/bug_hunter.md +49 -0
  5. package/dist/.context/eng/agents/code_reviewer.md +313 -0
  6. package/dist/.context/eng/agents/devops_specialist.md +718 -0
  7. package/dist/.context/eng/agents/frontend_specialist.md +1027 -0
  8. package/dist/.context/eng/agents/qa_specialist.md +1234 -0
  9. package/dist/.context/eng/agents/security_reviewer.md +382 -0
  10. package/dist/.context/eng/agents/ui_specialist.md +16 -0
  11. package/dist/.context/eng/docs/AGENT_HANDOFF_PROMPT.md +44 -0
  12. package/dist/.context/eng/docs/GENESIS_DESIGN_SYSTEM.md +15 -0
  13. package/dist/.context/eng/docs/GG_METHODOLOGY.md +48 -0
  14. package/dist/.context/eng/docs/OPERATIONS_LOG.md +30 -0
  15. package/dist/.context/eng/docs/PROJECT_MAP.md +35 -0
  16. package/dist/.context/eng/docs/standards/devops.md +0 -0
  17. package/dist/.context/eng/docs/standards/frontend.md +0 -0
  18. package/dist/.context/eng/docs/standards/typescript.md +12 -0
  19. package/dist/.context/eng/skills/agent_logging.md +18 -0
  20. package/dist/.context/eng/skills/brainstorming.md +227 -0
  21. package/dist/.context/eng/skills/exploring_codebase.md +1217 -0
  22. package/dist/.context/eng/skills/patterns/compliance_check.md +246 -0
  23. package/dist/.context/eng/skills/patterns/coverage_table.md +401 -0
  24. package/dist/.context/eng/skills/patterns/exit_criteria.md +31 -0
  25. package/dist/.context/eng/skills/patterns/failure_recovery.md +74 -0
  26. package/dist/.context/eng/skills/patterns/quality_gate.md +295 -0
  27. package/dist/.context/eng/skills/patterns/standards_workflow.md +391 -0
  28. package/dist/.context/eng/skills/patterns/state_tracking.md +30 -0
  29. package/dist/.context/eng/skills/patterns/task_tracking.md +38 -0
  30. package/dist/.context/eng/skills/previce.md +45 -0
  31. package/dist/.context/eng/skills/tdd.md +421 -0
  32. package/dist/.context/eng/skills/writing_plans.md +105 -0
  33. package/dist/.context/plans/.gitkeep +0 -0
  34. package/dist/.context/pt-br/agents/architect.md +69 -0
  35. package/dist/.context/pt-br/agents/backend_typescript.md +1000 -0
  36. package/dist/.context/pt-br/agents/bug_hunter.md +49 -0
  37. package/dist/.context/pt-br/agents/code_reviewer.md +313 -0
  38. package/dist/.context/pt-br/agents/devops_specialist.md +718 -0
  39. package/dist/.context/pt-br/agents/frontend_specialist.md +1027 -0
  40. package/dist/.context/pt-br/agents/qa_specialist.md +1234 -0
  41. package/dist/.context/pt-br/agents/security_reviewer.md +382 -0
  42. package/dist/.context/pt-br/agents/ui_specialist.md +55 -0
  43. package/dist/.context/pt-br/docs/AGENT_HANDOFF_PROMPT.md +44 -0
  44. package/dist/.context/pt-br/docs/GENESIS_DESIGN_SYSTEM.md +88 -0
  45. package/dist/.context/pt-br/docs/GG_METHODOLOGY.md +48 -0
  46. package/dist/.context/pt-br/docs/OPERATIONS_LOG.md +30 -0
  47. package/dist/.context/pt-br/docs/PROJECT_MAP.md +37 -0
  48. package/dist/.context/pt-br/docs/standards/devops.md +707 -0
  49. package/dist/.context/pt-br/docs/standards/frontend.md +748 -0
  50. package/dist/.context/pt-br/docs/standards/typescript.md +1150 -0
  51. package/dist/.context/pt-br/skills/agent_logging.md +36 -0
  52. package/dist/.context/pt-br/skills/brainstorming.md +227 -0
  53. package/dist/.context/pt-br/skills/exploring_codebase.md +1217 -0
  54. package/dist/.context/pt-br/skills/patterns/compliance_check.md +246 -0
  55. package/dist/.context/pt-br/skills/patterns/coverage_table.md +401 -0
  56. package/dist/.context/pt-br/skills/patterns/exit_criteria.md +31 -0
  57. package/dist/.context/pt-br/skills/patterns/failure_recovery.md +74 -0
  58. package/dist/.context/pt-br/skills/patterns/quality_gate.md +295 -0
  59. package/dist/.context/pt-br/skills/patterns/standards_workflow.md +391 -0
  60. package/dist/.context/pt-br/skills/patterns/state_tracking.md +30 -0
  61. package/dist/.context/pt-br/skills/patterns/task_tracking.md +38 -0
  62. package/dist/.context/pt-br/skills/previce.md +45 -0
  63. package/dist/.context/pt-br/skills/tdd.md +421 -0
  64. package/dist/.context/pt-br/skills/writing_plans.md +105 -0
  65. package/dist/.context/workflow/.gitkeep +0 -0
  66. package/dist/commands/init.js +140 -0
  67. package/dist/commands/monitor.js +34 -0
  68. package/dist/index.js +20 -568
  69. package/dist/services/monitor-service.js +340 -0
  70. package/dist/services/scaffolder.js +164 -0
  71. package/package.json +16 -58
  72. package/LICENSE +0 -21
  73. package/README.md +0 -195
  74. package/dist/generators/agents/agentConfig.d.ts +0 -4
  75. package/dist/generators/agents/agentConfig.d.ts.map +0 -1
  76. package/dist/generators/agents/agentConfig.js +0 -180
  77. package/dist/generators/agents/agentConfig.js.map +0 -1
  78. package/dist/generators/agents/agentGenerator.d.ts +0 -9
  79. package/dist/generators/agents/agentGenerator.d.ts.map +0 -1
  80. package/dist/generators/agents/agentGenerator.js +0 -97
  81. package/dist/generators/agents/agentGenerator.js.map +0 -1
  82. package/dist/generators/agents/agentTypes.d.ts +0 -4
  83. package/dist/generators/agents/agentTypes.d.ts.map +0 -1
  84. package/dist/generators/agents/agentTypes.js +0 -25
  85. package/dist/generators/agents/agentTypes.js.map +0 -1
  86. package/dist/generators/agents/index.d.ts +0 -4
  87. package/dist/generators/agents/index.d.ts.map +0 -1
  88. package/dist/generators/agents/index.js +0 -12
  89. package/dist/generators/agents/index.js.map +0 -1
  90. package/dist/generators/agents/templates/index.d.ts +0 -4
  91. package/dist/generators/agents/templates/index.d.ts.map +0 -1
  92. package/dist/generators/agents/templates/index.js +0 -8
  93. package/dist/generators/agents/templates/index.js.map +0 -1
  94. package/dist/generators/agents/templates/indexTemplate.d.ts +0 -3
  95. package/dist/generators/agents/templates/indexTemplate.d.ts.map +0 -1
  96. package/dist/generators/agents/templates/indexTemplate.js +0 -36
  97. package/dist/generators/agents/templates/indexTemplate.js.map +0 -1
  98. package/dist/generators/agents/templates/playbookTemplate.d.ts +0 -4
  99. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +0 -1
  100. package/dist/generators/agents/templates/playbookTemplate.js +0 -99
  101. package/dist/generators/agents/templates/playbookTemplate.js.map +0 -1
  102. package/dist/generators/agents/templates/types.d.ts +0 -14
  103. package/dist/generators/agents/templates/types.d.ts.map +0 -1
  104. package/dist/generators/agents/templates/types.js +0 -3
  105. package/dist/generators/agents/templates/types.js.map +0 -1
  106. package/dist/generators/documentation/documentationGenerator.d.ts +0 -15
  107. package/dist/generators/documentation/documentationGenerator.d.ts.map +0 -1
  108. package/dist/generators/documentation/documentationGenerator.js +0 -188
  109. package/dist/generators/documentation/documentationGenerator.js.map +0 -1
  110. package/dist/generators/documentation/guideRegistry.d.ts +0 -6
  111. package/dist/generators/documentation/guideRegistry.d.ts.map +0 -1
  112. package/dist/generators/documentation/guideRegistry.js +0 -82
  113. package/dist/generators/documentation/guideRegistry.js.map +0 -1
  114. package/dist/generators/documentation/index.d.ts +0 -2
  115. package/dist/generators/documentation/index.d.ts.map +0 -1
  116. package/dist/generators/documentation/index.js +0 -6
  117. package/dist/generators/documentation/index.js.map +0 -1
  118. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +0 -2
  119. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +0 -1
  120. package/dist/generators/documentation/templates/apiReferenceTemplate.js +0 -490
  121. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +0 -1
  122. package/dist/generators/documentation/templates/architectureTemplate.d.ts +0 -3
  123. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +0 -1
  124. package/dist/generators/documentation/templates/architectureTemplate.js +0 -66
  125. package/dist/generators/documentation/templates/architectureTemplate.js.map +0 -1
  126. package/dist/generators/documentation/templates/common.d.ts +0 -7
  127. package/dist/generators/documentation/templates/common.d.ts.map +0 -1
  128. package/dist/generators/documentation/templates/common.js +0 -58
  129. package/dist/generators/documentation/templates/common.js.map +0 -1
  130. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts +0 -3
  131. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +0 -1
  132. package/dist/generators/documentation/templates/dataFlowTemplate.js +0 -40
  133. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +0 -1
  134. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts +0 -2
  135. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +0 -1
  136. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +0 -44
  137. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +0 -1
  138. package/dist/generators/documentation/templates/glossaryTemplate.d.ts +0 -3
  139. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +0 -1
  140. package/dist/generators/documentation/templates/glossaryTemplate.js +0 -41
  141. package/dist/generators/documentation/templates/glossaryTemplate.js.map +0 -1
  142. package/dist/generators/documentation/templates/index.d.ts +0 -15
  143. package/dist/generators/documentation/templates/index.d.ts.map +0 -1
  144. package/dist/generators/documentation/templates/index.js +0 -30
  145. package/dist/generators/documentation/templates/index.js.map +0 -1
  146. package/dist/generators/documentation/templates/indexTemplate.d.ts +0 -3
  147. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +0 -1
  148. package/dist/generators/documentation/templates/indexTemplate.js +0 -42
  149. package/dist/generators/documentation/templates/indexTemplate.js.map +0 -1
  150. package/dist/generators/documentation/templates/migrationTemplate.d.ts +0 -2
  151. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +0 -1
  152. package/dist/generators/documentation/templates/migrationTemplate.js +0 -422
  153. package/dist/generators/documentation/templates/migrationTemplate.js.map +0 -1
  154. package/dist/generators/documentation/templates/onboardingTemplate.d.ts +0 -2
  155. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +0 -1
  156. package/dist/generators/documentation/templates/onboardingTemplate.js +0 -431
  157. package/dist/generators/documentation/templates/onboardingTemplate.js.map +0 -1
  158. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts +0 -3
  159. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +0 -1
  160. package/dist/generators/documentation/templates/projectOverviewTemplate.js +0 -65
  161. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +0 -1
  162. package/dist/generators/documentation/templates/securityTemplate.d.ts +0 -2
  163. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +0 -1
  164. package/dist/generators/documentation/templates/securityTemplate.js +0 -39
  165. package/dist/generators/documentation/templates/securityTemplate.js.map +0 -1
  166. package/dist/generators/documentation/templates/testingTemplate.d.ts +0 -2
  167. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +0 -1
  168. package/dist/generators/documentation/templates/testingTemplate.js +0 -45
  169. package/dist/generators/documentation/templates/testingTemplate.js.map +0 -1
  170. package/dist/generators/documentation/templates/toolingTemplate.d.ts +0 -2
  171. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +0 -1
  172. package/dist/generators/documentation/templates/toolingTemplate.js +0 -42
  173. package/dist/generators/documentation/templates/toolingTemplate.js.map +0 -1
  174. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +0 -2
  175. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +0 -1
  176. package/dist/generators/documentation/templates/troubleshootingTemplate.js +0 -292
  177. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +0 -1
  178. package/dist/generators/documentation/templates/types.d.ts +0 -23
  179. package/dist/generators/documentation/templates/types.d.ts.map +0 -1
  180. package/dist/generators/documentation/templates/types.js +0 -3
  181. package/dist/generators/documentation/templates/types.js.map +0 -1
  182. package/dist/generators/plans/index.d.ts +0 -2
  183. package/dist/generators/plans/index.d.ts.map +0 -1
  184. package/dist/generators/plans/index.js +0 -6
  185. package/dist/generators/plans/index.js.map +0 -1
  186. package/dist/generators/plans/planGenerator.d.ts +0 -22
  187. package/dist/generators/plans/planGenerator.d.ts.map +0 -1
  188. package/dist/generators/plans/planGenerator.js +0 -109
  189. package/dist/generators/plans/planGenerator.js.map +0 -1
  190. package/dist/generators/plans/templates/indexTemplate.d.ts +0 -3
  191. package/dist/generators/plans/templates/indexTemplate.d.ts.map +0 -1
  192. package/dist/generators/plans/templates/indexTemplate.js +0 -37
  193. package/dist/generators/plans/templates/indexTemplate.js.map +0 -1
  194. package/dist/generators/plans/templates/planTemplate.d.ts +0 -3
  195. package/dist/generators/plans/templates/planTemplate.d.ts.map +0 -1
  196. package/dist/generators/plans/templates/planTemplate.js +0 -166
  197. package/dist/generators/plans/templates/planTemplate.js.map +0 -1
  198. package/dist/generators/plans/templates/types.d.ts +0 -19
  199. package/dist/generators/plans/templates/types.d.ts.map +0 -1
  200. package/dist/generators/plans/templates/types.js +0 -3
  201. package/dist/generators/plans/templates/types.js.map +0 -1
  202. package/dist/generators/shared/contextGenerator.d.ts +0 -7
  203. package/dist/generators/shared/contextGenerator.d.ts.map +0 -1
  204. package/dist/generators/shared/contextGenerator.js +0 -13
  205. package/dist/generators/shared/contextGenerator.js.map +0 -1
  206. package/dist/generators/shared/directoryTemplateHelpers.d.ts +0 -2
  207. package/dist/generators/shared/directoryTemplateHelpers.d.ts.map +0 -1
  208. package/dist/generators/shared/directoryTemplateHelpers.js +0 -12
  209. package/dist/generators/shared/directoryTemplateHelpers.js.map +0 -1
  210. package/dist/generators/shared/generatorUtils.d.ts +0 -16
  211. package/dist/generators/shared/generatorUtils.d.ts.map +0 -1
  212. package/dist/generators/shared/generatorUtils.js +0 -119
  213. package/dist/generators/shared/generatorUtils.js.map +0 -1
  214. package/dist/generators/shared/index.d.ts +0 -4
  215. package/dist/generators/shared/index.d.ts.map +0 -1
  216. package/dist/generators/shared/index.js +0 -10
  217. package/dist/generators/shared/index.js.map +0 -1
  218. package/dist/index.d.ts +0 -9
  219. package/dist/index.d.ts.map +0 -1
  220. package/dist/index.js.map +0 -1
  221. package/dist/prompts/defaults.d.ts +0 -3
  222. package/dist/prompts/defaults.d.ts.map +0 -1
  223. package/dist/prompts/defaults.js +0 -95
  224. package/dist/prompts/defaults.js.map +0 -1
  225. package/dist/services/baseLLMClient.d.ts +0 -12
  226. package/dist/services/baseLLMClient.d.ts.map +0 -1
  227. package/dist/services/baseLLMClient.js +0 -80
  228. package/dist/services/baseLLMClient.js.map +0 -1
  229. package/dist/services/fill/fillService.d.ts +0 -46
  230. package/dist/services/fill/fillService.d.ts.map +0 -1
  231. package/dist/services/fill/fillService.js +0 -254
  232. package/dist/services/fill/fillService.js.map +0 -1
  233. package/dist/services/init/initService.d.ts +0 -37
  234. package/dist/services/init/initService.d.ts.map +0 -1
  235. package/dist/services/init/initService.js +0 -167
  236. package/dist/services/init/initService.js.map +0 -1
  237. package/dist/services/llmClientFactory.d.ts +0 -8
  238. package/dist/services/llmClientFactory.d.ts.map +0 -1
  239. package/dist/services/llmClientFactory.js +0 -23
  240. package/dist/services/llmClientFactory.js.map +0 -1
  241. package/dist/services/openRouterClient.d.ts +0 -9
  242. package/dist/services/openRouterClient.d.ts.map +0 -1
  243. package/dist/services/openRouterClient.js +0 -49
  244. package/dist/services/openRouterClient.js.map +0 -1
  245. package/dist/services/plan/planService.d.ts +0 -57
  246. package/dist/services/plan/planService.d.ts.map +0 -1
  247. package/dist/services/plan/planService.js +0 -334
  248. package/dist/services/plan/planService.js.map +0 -1
  249. package/dist/services/shared/llmConfig.d.ts +0 -22
  250. package/dist/services/shared/llmConfig.d.ts.map +0 -1
  251. package/dist/services/shared/llmConfig.js +0 -38
  252. package/dist/services/shared/llmConfig.js.map +0 -1
  253. package/dist/types.d.ts +0 -65
  254. package/dist/types.d.ts.map +0 -1
  255. package/dist/types.js +0 -3
  256. package/dist/types.js.map +0 -1
  257. package/dist/utils/cliUI.d.ts +0 -27
  258. package/dist/utils/cliUI.d.ts.map +0 -1
  259. package/dist/utils/cliUI.js +0 -252
  260. package/dist/utils/cliUI.js.map +0 -1
  261. package/dist/utils/fileMapper.d.ts +0 -11
  262. package/dist/utils/fileMapper.d.ts.map +0 -1
  263. package/dist/utils/fileMapper.js +0 -146
  264. package/dist/utils/fileMapper.js.map +0 -1
  265. package/dist/utils/gitService.d.ts +0 -50
  266. package/dist/utils/gitService.d.ts.map +0 -1
  267. package/dist/utils/gitService.js +0 -470
  268. package/dist/utils/gitService.js.map +0 -1
  269. package/dist/utils/i18n.d.ts +0 -171
  270. package/dist/utils/i18n.d.ts.map +0 -1
  271. package/dist/utils/i18n.js +0 -381
  272. package/dist/utils/i18n.js.map +0 -1
  273. package/dist/utils/promptLoader.d.ts +0 -12
  274. package/dist/utils/promptLoader.d.ts.map +0 -1
  275. package/dist/utils/promptLoader.js +0 -81
  276. package/dist/utils/promptLoader.js.map +0 -1
  277. package/dist/utils/versionChecker.d.ts +0 -15
  278. package/dist/utils/versionChecker.d.ts.map +0 -1
  279. package/dist/utils/versionChecker.js +0 -49
  280. package/dist/utils/versionChecker.js.map +0 -1
  281. package/prompts/update_plan_prompt.md +0 -41
  282. package/prompts/update_scaffold_prompt.md +0 -47
@@ -0,0 +1,227 @@
1
+ ---
2
+ name: ring:brainstorming
3
+ description: |
4
+ Socratic design refinement - transforms rough ideas into validated designs through
5
+ structured questioning, alternative exploration, and incremental validation.
6
+
7
+ trigger: |
8
+ - New feature or product idea (requirements unclear)
9
+ - User says "plan", "design", or "architect" something
10
+ - Multiple approaches seem possible
11
+ - Design hasn't been validated by user
12
+
13
+ skip_when: |
14
+ - Design already complete and validated → use ring:writing-plans
15
+ - Have detailed plan ready to execute → use ring:executing-plans
16
+ - Just need task breakdown from existing design → use ring:writing-plans
17
+
18
+ sequence:
19
+ before: [ring:writing-plans, ring:using-git-worktrees]
20
+
21
+ related:
22
+ similar: [ring:writing-plans]
23
+ ---
24
+
25
+ # Brainstorming Ideas Into Designs
26
+
27
+ ## Overview
28
+
29
+ Transform rough ideas into fully-formed designs through structured questioning and alternative exploration.
30
+
31
+ **Core principle:** Research first, ask targeted questions to fill gaps, explore alternatives, present design incrementally for validation.
32
+
33
+ **Announce at start:** "I'm using the ring:brainstorming skill to refine your idea into a design."
34
+
35
+ ## Quick Reference
36
+
37
+ | Phase | Key Activities | Tool Usage | Output |
38
+ |-------|---------------|------------|--------|
39
+ | **Prep: Autonomous Recon** | Inspect repo/docs/commits, form initial model | Native tools (ls, cat, git log, etc.) | Draft understanding to confirm |
40
+ | **1. Understanding** | Share findings, ask only for missing context | AskUserQuestion for real decisions | Purpose, constraints, criteria (confirmed) |
41
+ | **2. Exploration** | Propose 2-3 approaches | AskUserQuestion for approach selection | Architecture options with trade-offs |
42
+ | **3. Design Presentation** | Present in 200-300 word sections | Open-ended questions | Complete design with validation |
43
+ | **4. Design Documentation** | Write design document | writing-clearly-and-concisely skill | Design doc in docs/plans/ |
44
+ | **5. Worktree Setup** | Set up isolated workspace | ring:using-git-worktrees skill | Ready development environment |
45
+ | **6. Planning Handoff** | Create implementation plan | ring:writing-plans skill | Detailed task breakdown |
46
+
47
+ ## The Process
48
+
49
+ Copy this checklist to track progress:
50
+
51
+ ```
52
+ Brainstorming Progress:
53
+ - [ ] Prep: Autonomous Recon (repo/docs/commits reviewed, initial model shared)
54
+ - [ ] Phase 1: Understanding (purpose, constraints, criteria gathered)
55
+ - [ ] Phase 2: Exploration (2-3 approaches proposed and evaluated)
56
+ - [ ] Phase 3: Design Presentation (design validated in sections)
57
+ - [ ] Phase 4: Design Documentation (design written to docs/plans/)
58
+ - [ ] Phase 5: Worktree Setup (if implementing)
59
+ - [ ] Phase 6: Planning Handoff (if implementing)
60
+ ```
61
+
62
+ ### Prep: Autonomous Recon
63
+
64
+ **MANDATORY evidence (paste ALL):** `ls -la`, `git log --oneline -10`, `head -50 README.md`, `find . -name "*test*" | wc -l`, check package.json/requirements.txt/go.mod.
65
+
66
+ **Only after ALL evidence pasted:** Form your model and share findings. **Skip any = not following skill.**
67
+
68
+ ### Question Budget
69
+
70
+ **Maximum 3 questions per phase.** More = insufficient research.
71
+
72
+ Question count:
73
+ - Phase 1: ___/3
74
+ - Phase 2: ___/3
75
+ - Phase 3: ___/3
76
+
77
+ Hit limit? Do research instead of asking.
78
+
79
+ ### Phase 1: Understanding
80
+ - Share your synthesized understanding first, then invite corrections or additions.
81
+ - Ask one focused question at a time, only for gaps you cannot close yourself.
82
+ - **Use AskUserQuestion tool** only when you need the human to make a decision among real alternatives.
83
+ - Gather: Purpose, constraints, success criteria (confirmed or amended by your partner)
84
+
85
+ **Example summary + targeted question:**
86
+ ```
87
+ Based on the README and yesterday's commit, we're expanding localization to dashboard and billing emails; admin console is still untouched. Only gap I see is whether support responses need localization in this iteration. Did I miss anything important?
88
+ ```
89
+
90
+ ### Phase Lock Rules
91
+
92
+ **CRITICAL:** Once you enter a phase, you CANNOT skip ahead.
93
+
94
+ - Asked a question? → WAIT for answer before solutions
95
+ - Proposed approaches? → WAIT for selection before design
96
+ - Started design? → COMPLETE before documentation
97
+
98
+ **Violations:**
99
+ - "While you consider that, here's my design..." → WRONG
100
+ - "I'll proceed with option 1 unless..." → WRONG
101
+ - "Moving forward with the assumption..." → WRONG
102
+
103
+ **WAIT means WAIT. No assumptions.**
104
+
105
+ ### Phase 2: Exploration
106
+ - Propose 2-3 different approaches
107
+ - For each: Core architecture, trade-offs, complexity assessment, and your recommendation
108
+ - **Use AskUserQuestion tool** to present approaches when you truly need a judgement call
109
+ - Lead with the option you prefer and explain why; invite disagreement if your partner sees it differently
110
+ - Own prioritization: if the repo makes priorities clear, state them and proceed rather than asking
111
+
112
+ **Example using AskUserQuestion:**
113
+ ```
114
+ Question: "Which architectural approach should we use?"
115
+ Options:
116
+ - "Direct API calls with retry logic" (simple, synchronous, easier to debug) ← recommended for current scope
117
+ - "Event-driven with message queue" (scalable, complex setup, eventual consistency)
118
+ - "Hybrid with background jobs" (balanced, moderate complexity, best of both)
119
+
120
+ I recommend the direct API approach because it matches existing patterns and minimizes new infrastructure. Let me know if you see a blocker that pushes us toward the other options.
121
+ ```
122
+
123
+ ### Phase 3: Design Presentation
124
+ - Present in coherent sections; use ~200-300 words when introducing new material, shorter summaries once alignment is obvious
125
+ - Cover: Architecture, components, data flow, error handling, testing
126
+ - Check in at natural breakpoints rather than after every paragraph: "Stop me if this diverges from what you expect."
127
+ - Use open-ended questions to allow freeform feedback
128
+ - Assume ownership and proceed unless your partner redirects you
129
+
130
+ **Design Acceptance Gate:**
131
+
132
+ Design is NOT approved until human EXPLICITLY says one of:
133
+ - "Approved" / "Looks good" / "Proceed"
134
+ - "Let's implement that" / "Ship it"
135
+ - "Yes" (in response to "Shall I proceed?")
136
+
137
+ **These do NOT mean approval:**
138
+ - Silence / No response
139
+ - "Interesting" / "I see" / "Hmm"
140
+ - Questions about the design
141
+ - "What about X?" (that's requesting changes)
142
+
143
+ **No explicit approval = keep refining**
144
+
145
+ ### Phase 4: Design Documentation
146
+ After validating the design, write it to a permanent document:
147
+ - **File location:** `docs/plans/YYYY-MM-DD-<topic>-design.md` (use actual date and descriptive topic)
148
+ - **RECOMMENDED SUB-SKILL:** Use elements-of-style:writing-clearly-and-concisely (if available) for documentation quality
149
+ - **Content:** Capture the design as discussed and validated in Phase 3, organized into sections that emerged from the conversation
150
+ - Commit the design document to git before proceeding
151
+
152
+ ### Phase 5: Worktree Setup (for implementation)
153
+ When design is approved and implementation will follow:
154
+ - Announce: "I'm using the ring:using-git-worktrees skill to set up an isolated workspace."
155
+ - **REQUIRED SUB-SKILL:** Use ring:using-git-worktrees
156
+ - Follow that skill's process for directory selection, safety verification, and setup
157
+ - Return here when worktree ready
158
+
159
+ ### Phase 6: Planning Handoff
160
+ Ask: "Ready to create the implementation plan?"
161
+
162
+ When your human partner confirms (any affirmative response):
163
+ - Announce: "I'm using the ring:writing-plans skill to create the implementation plan."
164
+ - **REQUIRED SUB-SKILL:** Use ring:writing-plans
165
+ - Create detailed plan in the worktree
166
+
167
+ ## Question Patterns
168
+
169
+ ### When to Use AskUserQuestion Tool
170
+
171
+ **Use AskUserQuestion when:**
172
+ - You need your partner to make a judgement call among real alternatives
173
+ - You have a recommendation and can explain why it’s your preference
174
+ - Prioritization is ambiguous and cannot be inferred from existing materials
175
+
176
+ **Best practices:**
177
+ - State your preferred option and rationale inside the question so your partner can agree or redirect
178
+ - If you know the answer from repo/docs, state it as fact and proceed—no question needed
179
+ - When priorities are spelled out, acknowledge them and proceed rather than delegating the choice back to your partner
180
+
181
+ ### When to Use Open-Ended Questions
182
+
183
+ **Use open-ended questions for:**
184
+ - Phase 3: Design validation ("Does this look right so far?")
185
+ - When you need detailed feedback or explanation
186
+ - When partner should describe their own requirements
187
+ - When structured options would limit creative input
188
+
189
+ Frame them to confirm or expand your current understanding rather than reopening settled topics.
190
+
191
+ **Example decision flow:**
192
+ - "What authentication method?" → Use AskUserQuestion (2-4 options)
193
+ - "Does this design handle your use case?" → Open-ended (validation)
194
+
195
+ ## When to Revisit Earlier Phases
196
+
197
+ | Trigger | Action |
198
+ |---------|--------|
199
+ | New constraint revealed | → Return to Phase 1 |
200
+ | Partner questions approach | → Return to Phase 2 |
201
+ | Requirements unclear | → Return to Phase 1 |
202
+ | Something doesn't make sense | → Go back and clarify |
203
+
204
+ **Avoid forcing forward linearly** when going backward would give better results.
205
+
206
+ ## Required Patterns
207
+
208
+ This skill uses these universal patterns:
209
+ - **State Tracking:** See `skills/shared-patterns/state-tracking.md`
210
+ - **Failure Recovery:** See `skills/shared-patterns/failure-recovery.md`
211
+ - **Exit Criteria:** See `skills/shared-patterns/exit-criteria.md`
212
+ - **TodoWrite:** See `skills/shared-patterns/todowrite-integration.md`
213
+
214
+ Apply ALL patterns when using this skill.
215
+
216
+ ## Key Principles
217
+
218
+ | Principle | Application |
219
+ |-----------|-------------|
220
+ | **One question at a time** | Phase 1: Single targeted question only for gaps you can’t close yourself |
221
+ | **Structured choices** | Use AskUserQuestion tool for 2-4 options with trade-offs |
222
+ | **YAGNI ruthlessly** | Remove unnecessary features from all designs |
223
+ | **Explore alternatives** | Always propose 2-3 approaches before settling |
224
+ | **Incremental validation** | Present design in sections, validate each |
225
+ | **Flexible progression** | Go backward when needed - flexibility > rigidity |
226
+ | **Own the initiative** | Recommend priorities and next steps; ask if you should proceed only when requirements conflict |
227
+ | **Announce usage** | State skill usage at start of session |