moai-adk 0.4.5__py3-none-any.whl → 0.4.8__py3-none-any.whl

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 moai-adk might be problematic. Click here for more details.

Files changed (229) hide show
  1. moai_adk/__init__.py +1 -1
  2. moai_adk/core/project/initializer.py +12 -5
  3. moai_adk/templates/.claude/agents/alfred/cc-manager.md +188 -954
  4. moai_adk/templates/.claude/agents/alfred/debug-helper.md +4 -5
  5. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +2 -2
  6. moai_adk/templates/.claude/agents/alfred/git-manager.md +2 -2
  7. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +3 -3
  8. moai_adk/templates/.claude/agents/alfred/project-manager.md +6 -6
  9. moai_adk/templates/.claude/agents/alfred/quality-gate.md +4 -6
  10. moai_adk/templates/.claude/agents/alfred/skill-factory.md +829 -0
  11. moai_adk/templates/.claude/agents/alfred/spec-builder.md +2 -2
  12. moai_adk/templates/.claude/agents/alfred/tag-agent.md +2 -2
  13. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +3 -3
  14. moai_adk/templates/.claude/agents/alfred/trust-checker.md +5 -5
  15. moai_adk/templates/.claude/commands/alfred/0-project.md +98 -42
  16. moai_adk/templates/.claude/commands/alfred/1-plan.md +7 -7
  17. moai_adk/templates/.claude/commands/alfred/2-run.md +36 -36
  18. moai_adk/templates/.claude/commands/alfred/3-sync.md +10 -10
  19. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +14 -1
  20. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +115 -33
  21. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +8 -9
  22. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +6 -6
  23. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +5 -4
  24. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +1 -1
  25. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +1 -1
  26. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +1 -1
  27. moai_adk/templates/.claude/settings.json +42 -2
  28. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +76 -66
  29. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +29 -0
  30. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +28 -0
  31. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +86 -59
  32. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +29 -0
  33. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +29 -0
  34. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +480 -0
  35. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +257 -0
  36. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +120 -0
  37. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
  38. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
  39. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
  40. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +78 -62
  41. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +29 -0
  42. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +28 -0
  43. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +78 -55
  44. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +29 -0
  45. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +28 -0
  46. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +78 -64
  47. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +29 -0
  48. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +28 -0
  49. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +249 -0
  50. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
  51. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +278 -0
  52. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
  53. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +287 -0
  54. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
  55. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +232 -0
  56. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
  57. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
  58. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
  59. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +179 -0
  60. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
  61. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +296 -0
  62. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
  63. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +243 -0
  64. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
  65. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +271 -0
  66. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
  67. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
  68. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
  69. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
  70. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
  71. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
  72. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
  73. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
  74. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
  75. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
  76. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
  77. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
  78. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
  79. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
  80. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
  81. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
  82. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +98 -73
  83. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
  84. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
  85. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
  86. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
  87. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
  88. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
  89. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
  90. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
  91. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
  92. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
  93. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
  94. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
  95. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
  96. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
  97. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +656 -60
  98. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1107 -0
  99. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1533 -0
  100. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
  101. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
  102. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
  103. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
  104. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
  105. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
  106. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
  107. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
  108. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
  109. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +77 -62
  110. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
  111. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
  112. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +88 -56
  113. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
  114. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
  115. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
  116. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
  117. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
  118. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
  119. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
  120. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
  121. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
  122. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
  123. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
  124. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
  125. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  126. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
  127. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
  128. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
  129. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
  130. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
  131. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
  132. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
  133. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +97 -74
  134. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
  135. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
  136. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +86 -61
  137. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
  138. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
  139. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +98 -74
  140. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
  141. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
  142. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +87 -61
  143. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
  144. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
  145. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +88 -59
  146. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
  147. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
  148. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +98 -73
  149. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
  150. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
  151. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +86 -61
  152. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
  153. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
  154. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +388 -53
  155. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
  156. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
  157. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
  158. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
  159. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
  160. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
  161. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
  162. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
  163. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +98 -74
  164. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
  165. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
  166. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +97 -74
  167. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
  168. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
  169. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
  170. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
  171. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
  172. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
  173. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
  174. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
  175. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +97 -73
  176. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
  177. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
  178. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +90 -59
  179. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
  180. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
  181. moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +482 -0
  182. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +278 -0
  183. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
  184. moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +477 -0
  185. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
  186. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
  187. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
  188. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
  189. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +560 -0
  190. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
  191. moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +583 -0
  192. moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +526 -0
  193. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +465 -0
  194. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +328 -0
  195. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +312 -0
  196. moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
  197. moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +285 -0
  198. moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +278 -0
  199. moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +303 -0
  200. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +129 -0
  201. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +1300 -0
  202. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +161 -0
  203. moai_adk/templates/CLAUDE.md +121 -81
  204. moai_adk-0.4.8.dist-info/METADATA +1553 -0
  205. moai_adk-0.4.8.dist-info/RECORD +265 -0
  206. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +0 -112
  207. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
  208. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
  209. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
  210. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
  211. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
  212. moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
  213. moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
  214. moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
  215. moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
  216. moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
  217. moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
  218. moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
  219. moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
  220. moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
  221. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
  222. moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
  223. moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
  224. moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
  225. moai_adk-0.4.5.dist-info/METADATA +0 -369
  226. moai_adk-0.4.5.dist-info/RECORD +0 -152
  227. {moai_adk-0.4.5.dist-info → moai_adk-0.4.8.dist-info}/WHEEL +0 -0
  228. {moai_adk-0.4.5.dist-info → moai_adk-0.4.8.dist-info}/entry_points.txt +0 -0
  229. {moai_adk-0.4.5.dist-info → moai_adk-0.4.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,257 @@
1
+ # moai-alfred-interactive-questions - Working Examples
2
+
3
+ _Last updated: 2025-10-23_
4
+
5
+ ## Example 1: Simple Confirmation
6
+
7
+ **Scenario**: Destructive operation (delete 50 user records)
8
+
9
+ ```typescript
10
+ const answer = await AskUserQuestion({
11
+ questions: [{
12
+ question: "This will permanently delete 50 user records. Continue?",
13
+ header: "Confirm",
14
+ multiSelect: false,
15
+ options: [
16
+ { label: "Yes, proceed", description: "Irreversible operation. Delete now." },
17
+ { label: "No, cancel", description: "Abort and return." }
18
+ ]
19
+ }]
20
+ });
21
+
22
+ if (answer["Confirm"] === "Yes, proceed") {
23
+ // Execute deletion
24
+ }
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Example 2: Implementation Approach
30
+
31
+ **Scenario**: "Add a completion page" (vague)
32
+
33
+ ```typescript
34
+ const answer = await AskUserQuestion({
35
+ questions: [
36
+ {
37
+ question: "How should the completion page be implemented?",
38
+ header: "Approach",
39
+ multiSelect: false,
40
+ options: [
41
+ { label: "New public route", description: "Separate page at /competition-closed" },
42
+ { label: "Modify /end page", description: "Add conditional logic to existing page" },
43
+ { label: "Environment flag", description: "Use NEXT_PUBLIC_COMPETITION_CLOSED" }
44
+ ]
45
+ },
46
+ {
47
+ question: "For logged-in participants?",
48
+ header: "Behavior",
49
+ multiSelect: false,
50
+ options: [
51
+ { label: "Show results", description: "Redirect to /end with full history" },
52
+ { label: "Show message", description: "'Competition concluded' only" }
53
+ ]
54
+ }
55
+ ]
56
+ });
57
+
58
+ const approach = answer["Approach"];
59
+ const behavior = answer["Behavior"];
60
+ // Proceed with confirmed specifications
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Example 3: Multi-Select (Independent Features)
66
+
67
+ **Scenario**: "Which testing frameworks?"
68
+
69
+ ```typescript
70
+ const answer = await AskUserQuestion({
71
+ questions: [{
72
+ question: "Which testing frameworks to include?",
73
+ header: "Test Tools",
74
+ multiSelect: true, // User can select multiple
75
+ options: [
76
+ { label: "Unit tests (Vitest)", description: "Fast unit testing." },
77
+ { label: "E2E tests (Playwright)", description: "Browser automation." },
78
+ { label: "Visual regression", description: "Screenshot comparison." }
79
+ ]
80
+ }]
81
+ });
82
+
83
+ const selectedTools = answer["Test Tools"]; // ["Unit tests (Vitest)", "E2E tests (Playwright)"]
84
+ // Install selected frameworks
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Example 4: Sequential Questions (Conditional)
90
+
91
+ **Scenario**: Q2 depends on Q1 answer
92
+
93
+ ```typescript
94
+ // Question 1
95
+ const q1 = await AskUserQuestion({
96
+ questions: [{
97
+ question: "Enable authentication?",
98
+ header: "Auth",
99
+ options: [
100
+ { label: "Yes", description: "User login required." },
101
+ { label: "No", description: "Public access." }
102
+ ]
103
+ }]
104
+ });
105
+
106
+ // Question 2 (only if Q1 = "Yes")
107
+ if (q1["Auth"] === "Yes") {
108
+ const q2 = await AskUserQuestion({
109
+ questions: [{
110
+ question: "Which auth provider?",
111
+ header: "Provider",
112
+ options: [
113
+ { label: "JWT + email", description: "Traditional email/password." },
114
+ { label: "OAuth", description: "Third-party login (Google, GitHub)." }
115
+ ]
116
+ }]
117
+ });
118
+
119
+ const provider = q2["Provider"];
120
+ // Setup authentication
121
+ }
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Example 5: Feature Selection
127
+
128
+ **Scenario**: "Which i18n library?"
129
+
130
+ ```typescript
131
+ const answer = await AskUserQuestion({
132
+ questions: [{
133
+ question: "Which i18n library?",
134
+ header: "Library",
135
+ multiSelect: false,
136
+ options: [
137
+ { label: "next-intl", description: "Next.js 15+ native, best DX." },
138
+ { label: "react-i18next", description: "Popular, flexible, more setup." },
139
+ { label: "Format.js", description: "ICU format, complex but powerful." }
140
+ ]
141
+ }]
142
+ });
143
+
144
+ const library = answer["Library"]; // "next-intl"
145
+ // Install and configure library
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Example 6: Error Recovery
151
+
152
+ **Scenario**: 3 tests failed, ask how to proceed
153
+
154
+ ```typescript
155
+ const answer = await AskUserQuestion({
156
+ questions: [{
157
+ question: "3 tests failed in auth.test.ts. How should we proceed?",
158
+ header: "Test Failure",
159
+ multiSelect: false,
160
+ options: [
161
+ { label: "Debug immediately", description: "Stop and fix now." },
162
+ { label: "Skip tests", description: "NOT RECOMMENDED - continues with failing tests." },
163
+ { label: "Rollback changes", description: "Revert to last passing commit." }
164
+ ]
165
+ }]
166
+ });
167
+
168
+ if (answer["Test Failure"] === "Debug immediately") {
169
+ // Trigger debug workflow
170
+ } else if (answer["Test Failure"] === "Rollback changes") {
171
+ // Rollback git changes
172
+ }
173
+ ```
174
+
175
+ ---
176
+
177
+ ## Example 7: /alfred:1-plan Integration
178
+
179
+ **Scenario**: spec-builder detects ambiguous SPEC title
180
+
181
+ ```typescript
182
+ // Inside spec-builder
183
+ function shouldAskForClarification(title: string): boolean {
184
+ return title.length < 20 || title.includes("feature/add/implement");
185
+ }
186
+
187
+ if (shouldAskForClarification(userTitle)) {
188
+ const answer = await AskUserQuestion({
189
+ questions: [{
190
+ question: "Can you clarify what this SPEC should cover?",
191
+ header: "Scope",
192
+ options: [
193
+ { label: "Authentication system", description: "User login, JWT tokens, refresh logic." },
194
+ { label: "UI components", description: "Reusable components library." },
195
+ { label: "API endpoints", description: "REST API implementation." }
196
+ ]
197
+ }]
198
+ });
199
+
200
+ specTitle = answer["Scope"];
201
+ }
202
+ ```
203
+
204
+ ---
205
+
206
+ ## Example 8: /alfred:2-run Integration
207
+
208
+ **Scenario**: code-builder detects multiple implementation paths
209
+
210
+ ```typescript
211
+ // Inside code-builder
212
+ if (multipleValidImplementationPaths) {
213
+ const answer = await AskUserQuestion({
214
+ questions: [{
215
+ question: "How should we implement JWT storage?",
216
+ header: "Storage",
217
+ options: [
218
+ { label: "HttpOnly cookie", description: "Most secure, no JS access." },
219
+ { label: "LocalStorage", description: "Accessible but vulnerable to XSS." },
220
+ { label: "Memory + refresh", description: "Balance between security and UX." }
221
+ ]
222
+ }]
223
+ });
224
+
225
+ const storageStrategy = answer["Storage"];
226
+ implementWithStrategy(storageStrategy);
227
+ }
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Example 9: /alfred:3-sync Integration
233
+
234
+ **Scenario**: doc-syncer asks about sync mode
235
+
236
+ ```typescript
237
+ // Inside doc-syncer
238
+ const answer = await AskUserQuestion({
239
+ questions: [{
240
+ question: "Which sync mode?",
241
+ header: "Mode",
242
+ multiSelect: false,
243
+ options: [
244
+ { label: "auto", description: "Smart detection, sync affected docs only." },
245
+ { label: "force", description: "Regenerate all docs from scratch." },
246
+ { label: "status", description: "Show status without making changes." }
247
+ ]
248
+ }]
249
+ });
250
+
251
+ const syncMode = answer["Mode"];
252
+ runSync(syncMode);
253
+ ```
254
+
255
+ ---
256
+
257
+ For detailed guidance, see **SKILL.md** and **reference.md**
@@ -0,0 +1,120 @@
1
+ # moai-alfred-interactive-questions - Quick Reference
2
+
3
+ _Last updated: 2025-10-23_
4
+
5
+ ## AskUserQuestion API Essentials
6
+
7
+ ### Minimal Template
8
+
9
+ ```typescript
10
+ const answer = await AskUserQuestion({
11
+ questions: [
12
+ {
13
+ question: "Your question here?",
14
+ header: "Short label", // max 12 chars
15
+ multiSelect: false, // or true for multi-select
16
+ options: [
17
+ {
18
+ label: "Option 1", // 1-5 words
19
+ description: "Why you'd pick this option."
20
+ },
21
+ {
22
+ label: "Option 2",
23
+ description: "Alternative with different implications."
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ });
29
+
30
+ // Access result
31
+ const choice = answer["Short label"]; // "Option 1" or ["Option 1", "Option 2"]
32
+ ```
33
+
34
+ ---
35
+
36
+ ## When to Ask (Checklist)
37
+
38
+ - [ ] User intent is ambiguous
39
+ - [ ] Multiple valid implementation paths exist
40
+ - [ ] Trade-off decision (speed vs quality, simple vs complete)
41
+ - [ ] Risky/destructive operation needs approval
42
+ - [ ] Feature scope needs definition
43
+
44
+ ---
45
+
46
+ ## Top 5 Patterns
47
+
48
+ | Pattern | Use When | Example |
49
+ |---------|----------|---------|
50
+ | **Implementation Approach** | "Add feature X" without specifics | New component vs extend existing |
51
+ | **Confirmation** | Destructive action (delete, migrate) | "Delete 50 records. Proceed?" |
52
+ | **Feature Selection** | "Which framework/library?" | next-intl vs react-i18next |
53
+ | **Multi-Select** | Independent combinable features | Unit + E2E + Visual tests |
54
+ | **Sequential** | Dependent questions (Q2 depends on Q1) | Enable auth? → Which provider? |
55
+
56
+ ---
57
+
58
+ ## Key Constraints
59
+
60
+ | What | Max | Why |
61
+ |------|-----|-----|
62
+ | Questions | 4 | Avoid fatigue |
63
+ | Options | 4 | Prevent choice paralysis |
64
+ | Header length | 12 chars | TUI layout |
65
+ | Label length | 5 words | Quick scanning |
66
+ | Nesting depth | 2 levels | Keep linear flow |
67
+
68
+ ---
69
+
70
+ ## Integration Points
71
+
72
+ ### spec-builder (`/alfred:1-plan`)
73
+ Ask when SPEC title/scope is vague
74
+
75
+ ### code-builder (`/alfred:2-run`)
76
+ Ask when implementation approach unclear or multiple paths exist
77
+
78
+ ### doc-syncer (`/alfred:3-sync`)
79
+ Ask when sync mode or documentation scope unclear
80
+
81
+ ---
82
+
83
+ ## Error Handling
84
+
85
+ ```typescript
86
+ // User cancels (ESC)
87
+ try {
88
+ const answer = await AskUserQuestion({...});
89
+ } catch (error) {
90
+ // Fallback or abort
91
+ }
92
+
93
+ // Validate custom input ("Other" option)
94
+ if (!VALID_OPTIONS.includes(answer["Header"])) {
95
+ validateCustomInput(answer["Header"]);
96
+ }
97
+ ```
98
+
99
+ ---
100
+
101
+ ## Best Practices (Quick)
102
+
103
+ ✅ **DO**:
104
+ - Be specific ("Which database?" not "What should we use?")
105
+ - Provide context (file names, scope, impact)
106
+ - Explain trade-offs
107
+ - Order logically (safest first)
108
+ - Batch related questions
109
+
110
+ ❌ **DON'T**:
111
+ - Overuse (only when ambiguous)
112
+ - Too many options (2-4 max)
113
+ - Skip descriptions
114
+ - Hide implications
115
+ - Make destructive default
116
+ - Manually add "Other" (auto-provided)
117
+
118
+ ---
119
+
120
+ For full details, see **SKILL.md**
@@ -1,99 +1,113 @@
1
1
  ---
2
-
3
2
  name: moai-alfred-language-detection
4
- description: Detects the project’s primary language/runtime and recommends default testing tooling when initializing or planning workflows. Use when sizing up the project language and default tooling.
3
+ version: 2.0.0
4
+ created: 2025-10-22
5
+ updated: 2025-10-22
6
+ status: active
7
+ description: Auto-detects project language and framework from package.json, pyproject.toml, etc.
8
+ keywords: ['language', 'detection', 'framework', 'auto']
5
9
  allowed-tools:
6
10
  - Read
7
- - Write
8
- - Edit
9
11
  - Bash
10
- - TodoWrite
11
12
  ---
12
13
 
13
- # Alfred Language Detection
14
+ # Alfred Language Detection Skill
14
15
 
15
16
  ## Skill Metadata
17
+
16
18
  | Field | Value |
17
19
  | ----- | ----- |
18
- | Allowed tools | Read (read_file), Write (write_file), Edit (edit_file), Bash (terminal), TodoWrite (todo_write) |
19
- | Auto-load | /alfred:0-project bootstrap |
20
- | Trigger cues | Repository language probing, framework detection, tooling recommendation via Alfred. |
21
-
22
- ## What it does
23
-
24
- Automatically detects project's primary language and framework by scanning configuration files, then recommends appropriate testing tools and linters.
25
-
26
- ## When to use
27
-
28
- - Activates when Alfred needs to detect project languages or recommend toolchains.
29
- - "Detect language", "Check project language", "Recommend testing tools"
30
- - Automatically invoked by `/alfred:0-project`, `/alfred:2-run`
31
- - Setting up new project
32
-
33
- ## How it works
34
-
35
- **Configuration File Scanning**:
36
- - `package.json` → TypeScript/JavaScript (Jest/Vitest, ESLint/Biome)
37
- - `pyproject.toml` → Python (pytest, ruff, black)
38
- - `Cargo.toml` → Rust (cargo test, clippy, rustfmt)
39
- - `go.mod` → Go (go test, golint, gofmt)
40
- - `Gemfile` → Ruby (RSpec, RuboCop)
41
- - `pubspec.yaml` → Dart/Flutter (flutter test, dart analyze)
42
- - `build.gradle` → Java/Kotlin (JUnit, Checkstyle)
43
- - `Package.swift` → Swift (XCTest, SwiftLint)
44
-
45
- **Toolchain Recommendation**:
46
- ```json
47
- {
48
- "language": "Python",
49
- "test_framework": "pytest",
50
- "linter": "ruff",
51
- "formatter": "black",
52
- "type_checker": "mypy",
53
- "package_manager": "uv"
54
- }
55
- ```
56
-
57
- **Framework Detection**:
58
- - **Python**: FastAPI, Django, Flask
59
- - **TypeScript**: React, Next.js, Vue
60
- - **Java**: Spring Boot, Quarkus
61
-
62
- **Supported Languages**: Python, TypeScript, Java, Go, Rust, Ruby, Dart, Swift, Kotlin, PHP, C#, C++, Elixir, Scala, Clojure (20+ languages)
20
+ | **Skill Name** | moai-alfred-language-detection |
21
+ | **Version** | 2.0.0 (2025-10-22) |
22
+ | **Allowed tools** | Read (read_file), Bash (terminal) |
23
+ | **Auto-load** | On demand when keywords detected |
24
+ | **Tier** | Alfred |
63
25
 
64
- ## Best Practices
65
- - The text shown to the user is written using TUI/report expressions.
66
- - When running the tool, a summary of commands and results are recorded.
26
+ ---
67
27
 
68
- ## Examples
69
- ```markdown
70
- - Call this skill inside the /alfred command to generate a report.
71
- - Add summary to Completion Report.
72
- ```
28
+ ## What It Does
29
+
30
+ Auto-detects project language and framework from package.json, pyproject.toml, etc.
31
+
32
+ **Key capabilities**:
33
+ - ✅ Best practices enforcement for alfred domain
34
+ - ✅ TRUST 5 principles integration
35
+ - ✅ Latest tool versions (2025-10-22)
36
+ - ✅ TDD workflow support
37
+
38
+ ---
39
+
40
+ ## When to Use
41
+
42
+ **Automatic triggers**:
43
+ - Related code discussions and file patterns
44
+ - SPEC implementation (`/alfred:2-run`)
45
+ - Code review requests
46
+
47
+ **Manual invocation**:
48
+ - Review code for TRUST 5 compliance
49
+ - Design new features
50
+ - Troubleshoot issues
51
+
52
+ ---
73
53
 
74
54
  ## Inputs
75
- - MoAI-ADK project context (`.moai/project/`, `.claude/` templates, etc.).
76
- - Parameters passed from user commands or higher commands.
55
+
56
+ - Language-specific source directories
57
+ - Configuration files
58
+ - Test suites and sample data
77
59
 
78
60
  ## Outputs
79
- - Reports, checklists or recommendations for your Alfred workflow.
80
- - Structured data for subsequent subagent calls.
61
+
62
+ - Test/lint execution plan
63
+ - TRUST 5 review checkpoints
64
+ - Migration guidance
81
65
 
82
66
  ## Failure Modes
83
- - When required input documents are missing or permissions are limited.
84
- - When disruptive changes are required without user approval.
67
+
68
+ - When required tools are not installed
69
+ - When dependencies are missing
70
+ - When test coverage falls below 85%
85
71
 
86
72
  ## Dependencies
87
- - Cooperation with higher-level agents such as cc-manager and project-manager is required.
88
73
 
89
- ## References
90
- - GitHub Linguist. "Programmatic language detection." https://github.com/github-linguist/linguist (accessed 2025-03-29).
91
- - JetBrains. "Project language insights." https://www.jetbrains.com/help/idea/project-tool-window.html (accessed 2025-03-29).
74
+ - Access to project files via Read/Bash tools
75
+ - Integration with `moai-foundation-langs` for language detection
76
+ - Integration with `moai-foundation-trust` for quality gates
77
+
78
+ ---
79
+
80
+ ## References (Latest Documentation)
81
+
82
+ _Documentation links updated 2025-10-22_
83
+
84
+ ---
92
85
 
93
86
  ## Changelog
94
- - 2025-03-29: Added input/output/failure response to Alfred-specific skills.
95
87
 
96
- ## Works well with
88
+ - **v2.0.0** (2025-10-22): Major update with latest tool versions, comprehensive best practices, TRUST 5 integration
89
+ - **v1.0.0** (2025-03-29): Initial Skill release
90
+
91
+ ---
92
+
93
+ ## Works Well With
94
+
95
+ - `moai-foundation-trust` (quality gates)
96
+ - `moai-alfred-code-reviewer` (code review)
97
+ - `moai-essentials-debug` (debugging support)
98
+
99
+ ---
100
+
101
+ ## Best Practices
97
102
 
98
- - alfred-trust-validation (language-specific tool verification)
99
- - alfred-code-reviewer (language-specific review criteria)
103
+ **DO**:
104
+ - Follow alfred best practices
105
+ - Use latest stable tool versions
106
+ - Maintain test coverage ≥85%
107
+ - Document all public APIs
108
+
109
+ ❌ **DON'T**:
110
+ - Skip quality gates
111
+ - Use deprecated tools
112
+ - Ignore security warnings
113
+ - Mix testing frameworks
@@ -0,0 +1,29 @@
1
+ # moai-alfred-language-detection - Working Examples
2
+
3
+ _Last updated: 2025-10-22_
4
+
5
+ ## Example 1: Basic Setup
6
+
7
+ ```bash
8
+ # Setup commands
9
+ # ...
10
+ ```
11
+
12
+ ## Example 2: TDD Workflow
13
+
14
+ ```bash
15
+ # RED: Write failing test
16
+ # GREEN: Implement feature
17
+ # REFACTOR: Improve code
18
+ ```
19
+
20
+ ## Example 3: Quality Gate
21
+
22
+ ```bash
23
+ # Run quality checks
24
+ # Verify coverage ≥85%
25
+ ```
26
+
27
+ ---
28
+
29
+ _For more examples, see SKILL.md reference section_
@@ -0,0 +1,28 @@
1
+ # moai-alfred-language-detection - CLI Reference
2
+
3
+ _Last updated: 2025-10-22_
4
+
5
+ ## Quick Reference
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ # Installation commands
11
+ ```
12
+
13
+ ### Common Commands
14
+
15
+ ```bash
16
+ # Test
17
+ # Lint
18
+ # Format
19
+ # Build
20
+ ```
21
+
22
+ ## Tool Versions (2025-10-22)
23
+
24
+ _No specific tool versions (workflow/process Skill)_
25
+
26
+ ---
27
+
28
+ _For detailed usage, see SKILL.md_