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,278 @@
1
+ # Reference: [Skill Domain]
2
+
3
+ Complete reference documentation for [Skill Name].
4
+
5
+ ---
6
+
7
+ ## API Reference
8
+
9
+ ### Function/Command 1: `function_name(param1, param2)`
10
+
11
+ [Description of what this function does]
12
+
13
+ **Parameters**:
14
+ - `param1` (type): Description of parameter 1
15
+ - `param2` (type): Description of parameter 2
16
+
17
+ **Returns**:
18
+ - Type: [Return type]
19
+ - Description: [What is returned]
20
+
21
+ **Example**:
22
+ ```python
23
+ result = function_name("value1", "value2")
24
+ print(result)
25
+ # Output: [example output]
26
+ ```
27
+
28
+ **Raises**:
29
+ - `ErrorType`: When this error occurs
30
+ - `AnotherError`: When that error occurs
31
+
32
+ ---
33
+
34
+ ### Function/Command 2: `another_function(arg1)`
35
+
36
+ [Description]
37
+
38
+ **Parameters**:
39
+ - `arg1`: Description
40
+
41
+ **Returns**: Description
42
+
43
+ **Example**:
44
+ ```
45
+ code example
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Configuration
51
+
52
+ ### Configuration File Format
53
+
54
+ ```yaml
55
+ # Example configuration
56
+ key1: value1
57
+ section:
58
+ nested_key: nested_value
59
+ list:
60
+ - item1
61
+ - item2
62
+ ```
63
+
64
+ ### Available Options
65
+
66
+ | Option | Type | Default | Description |
67
+ |--------|------|---------|-------------|
68
+ | `option1` | string | "default" | Description of option 1 |
69
+ | `option2` | number | 10 | Description of option 2 |
70
+ | `option3` | boolean | true | Description of option 3 |
71
+
72
+ ### Configuration Examples
73
+
74
+ **Minimal Configuration**:
75
+ ```yaml
76
+ required_option: value
77
+ ```
78
+
79
+ **Production Configuration**:
80
+ ```yaml
81
+ option1: production_value
82
+ option2: 100
83
+ option3: false
84
+ section:
85
+ nested_value: production_specific
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Data Models
91
+
92
+ ### Model 1: [Model Name]
93
+
94
+ ```
95
+ Class/Type definition here
96
+ Field 1: type - description
97
+ Field 2: type - description
98
+ Field 3: type - description
99
+ ```
100
+
101
+ **Example**:
102
+ ```json
103
+ {
104
+ "field1": "value",
105
+ "field2": 123,
106
+ "field3": true
107
+ }
108
+ ```
109
+
110
+ ### Model 2: [Model Name]
111
+
112
+ [Similar structure]
113
+
114
+ ---
115
+
116
+ ## Edge Cases & Limitations
117
+
118
+ ### Known Limitations
119
+
120
+ 1. **Limitation 1**
121
+ - Description
122
+ - Impact
123
+ - Workaround (if available)
124
+
125
+ 2. **Limitation 2**
126
+ - Description
127
+ - Impact
128
+ - Workaround
129
+
130
+ ### Boundary Conditions
131
+
132
+ | Condition | Behavior | Handling |
133
+ |-----------|----------|----------|
134
+ | Empty input | Returns default | Validate before calling |
135
+ | Maximum size exceeded | Throws error | Check size limits first |
136
+ | Timeout | Operation fails | Set timeout threshold |
137
+
138
+ ### Workarounds
139
+
140
+ **Workaround 1**: [For limitation 1]
141
+ ```
142
+ Implementation workaround code
143
+ ```
144
+
145
+ **Workaround 2**: [For limitation 2]
146
+ ```
147
+ Implementation workaround code
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Performance Considerations
153
+
154
+ ### Time Complexity
155
+
156
+ - Operation 1: O(n) — Description
157
+ - Operation 2: O(n log n) — Description
158
+ - Operation 3: O(1) — Description
159
+
160
+ ### Space Complexity
161
+
162
+ - Operation 1: O(n) — Description
163
+ - Operation 2: O(1) — Description
164
+
165
+ ### Optimization Tips
166
+
167
+ 1. **Tip 1**: How to optimize performance in scenario 1
168
+ 2. **Tip 2**: How to optimize performance in scenario 2
169
+ 3. **Tip 3**: Caching strategy or batching approach
170
+
171
+ ### Benchmarks (if applicable)
172
+
173
+ | Operation | Small (1K) | Medium (1M) | Large (1G) |
174
+ |-----------|-----------|-----------|-----------|
175
+ | Read | 10ms | 100ms | 1s |
176
+ | Write | 20ms | 200ms | 2s |
177
+ | Process | 50ms | 500ms | 5s |
178
+
179
+ ---
180
+
181
+ ## Error Handling
182
+
183
+ ### Common Errors
184
+
185
+ **Error 1: [Error Name]**
186
+ - Cause: [What causes this error]
187
+ - Solution: [How to fix it]
188
+ - Example:
189
+ ```
190
+ Error message example
191
+ ```
192
+
193
+ **Error 2: [Error Name]**
194
+ - Cause: [What causes this error]
195
+ - Solution: [How to fix it]
196
+
197
+ ### Error Codes
198
+
199
+ | Code | Meaning | Recovery |
200
+ |------|---------|----------|
201
+ | 0 | Success | Continue |
202
+ | 1 | General error | Check logs |
203
+ | 2 | Invalid input | Validate input |
204
+ | 3 | Resource not found | Check resource exists |
205
+
206
+ ---
207
+
208
+ ## Compatibility
209
+
210
+ ### Supported Versions
211
+
212
+ - Framework/Language version X.Y+
213
+ - Dependency 1 version A.B+
214
+ - Dependency 2 version C.D+
215
+
216
+ ### Known Incompatibilities
217
+
218
+ - Version X.Y is not supported due to [reason]
219
+ - Older frameworks may have [limitation]
220
+
221
+ ---
222
+
223
+ ## Security Considerations
224
+
225
+ ### Input Validation
226
+
227
+ - All user input must be [validated/sanitized]
228
+ - Maximum length limits: [specify limits]
229
+ - Allowed characters: [specify]
230
+
231
+ ### Secrets Management
232
+
233
+ - Never hardcode secrets
234
+ - Use environment variables
235
+ - Validate API keys before use
236
+
237
+ ### Common Vulnerabilities to Avoid
238
+
239
+ 1. [Vulnerability 1] — How to prevent it
240
+ 2. [Vulnerability 2] — How to prevent it
241
+
242
+ ---
243
+
244
+ ## Glossary
245
+
246
+ - **Term 1**: Definition with context
247
+ - **Term 2**: Definition with context
248
+ - **Term 3**: Definition with context
249
+ - **Acronym 1**: What it stands for and means
250
+ - **Acronym 2**: What it stands for and means
251
+
252
+ ---
253
+
254
+ ## Related Resources
255
+
256
+ - [SKILL.md](SKILL.md) — Main framework and concepts
257
+ - [examples.md](examples.md) — Real-world usage examples
258
+ - [External resource](https://example.com) — External documentation
259
+
260
+ ---
261
+
262
+ ## Version & History
263
+
264
+ **Current Version**: 0.1.0
265
+ **Last Updated**: 2025-10-22
266
+
267
+ ### Changelog
268
+
269
+ #### v0.1.0 (2025-10-22)
270
+ - Initial reference documentation
271
+ - API documentation added
272
+ - Configuration options documented
273
+
274
+ ---
275
+
276
+ **Status**: Active
277
+ **Maintainer**: [Your Name]
278
+ **Framework**: MoAI-ADK + Claude Code Skills
@@ -0,0 +1,303 @@
1
+ #!/bin/bash
2
+ #
3
+ # Script Template: [Script Purpose]
4
+ # Description: [What this script does in one sentence]
5
+ # Usage: ./script-name.sh [ARGS]
6
+ #
7
+ # This is a template for creating production-ready Bash scripts
8
+ # with proper error handling, validation, and logging.
9
+ #
10
+
11
+ set -euo pipefail
12
+
13
+ # ============================================================================
14
+ # CONFIGURATION
15
+ # ============================================================================
16
+
17
+ # Script metadata
18
+ SCRIPT_NAME="$(basename "$0")"
19
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
20
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
21
+
22
+ # Color codes for output
23
+ readonly RED='\033[0;31m'
24
+ readonly GREEN='\033[0;32m'
25
+ readonly YELLOW='\033[1;33m'
26
+ readonly BLUE='\033[0;34m'
27
+ readonly NC='\033[0m' # No Color
28
+
29
+ # Configuration variables
30
+ readonly LOG_LEVEL="${LOG_LEVEL:-INFO}" # DEBUG, INFO, WARN, ERROR
31
+ readonly MAX_RETRIES="${MAX_RETRIES:-3}"
32
+ readonly RETRY_DELAY="${RETRY_DELAY:-2}"
33
+
34
+ # ============================================================================
35
+ # LOGGING FUNCTIONS
36
+ # ============================================================================
37
+
38
+ log_debug() {
39
+ [[ "$LOG_LEVEL" == "DEBUG" ]] && echo -e "${BLUE}[DEBUG]${NC} $*" >&2
40
+ return 0
41
+ }
42
+
43
+ log_info() {
44
+ echo -e "${GREEN}[INFO]${NC} $*"
45
+ }
46
+
47
+ log_warn() {
48
+ echo -e "${YELLOW}[WARN]${NC} $*" >&2
49
+ }
50
+
51
+ log_error() {
52
+ echo -e "${RED}[ERROR]${NC} $*" >&2
53
+ }
54
+
55
+ log_success() {
56
+ echo -e "${GREEN}✓${NC} $*"
57
+ }
58
+
59
+ # ============================================================================
60
+ # ERROR HANDLING
61
+ # ============================================================================
62
+
63
+ # Trap errors and clean up
64
+ trap 'on_error $? $LINENO' ERR
65
+
66
+ on_error() {
67
+ local exit_code=$1
68
+ local line_number=$2
69
+ log_error "Script failed with exit code $exit_code on line $line_number"
70
+ cleanup
71
+ exit "$exit_code"
72
+ }
73
+
74
+ # Trap signals for graceful shutdown
75
+ trap 'on_interrupt' INT TERM
76
+
77
+ on_interrupt() {
78
+ log_warn "Script interrupted"
79
+ cleanup
80
+ exit 130
81
+ }
82
+
83
+ cleanup() {
84
+ log_debug "Running cleanup..."
85
+ # Add cleanup operations here (e.g., remove temp files, close connections)
86
+ # Example:
87
+ # [[ -n "${TEMP_FILE:-}" ]] && rm -f "$TEMP_FILE"
88
+ }
89
+
90
+ # ============================================================================
91
+ # VALIDATION FUNCTIONS
92
+ # ============================================================================
93
+
94
+ validate_arg() {
95
+ local arg_name=$1
96
+ local arg_value=$2
97
+
98
+ if [[ -z "$arg_value" ]]; then
99
+ log_error "Argument '$arg_name' is required but was not provided"
100
+ print_usage
101
+ exit 1
102
+ fi
103
+ }
104
+
105
+ validate_file() {
106
+ local file_path=$1
107
+
108
+ if [[ ! -f "$file_path" ]]; then
109
+ log_error "File not found: $file_path"
110
+ return 1
111
+ fi
112
+
113
+ if [[ ! -r "$file_path" ]]; then
114
+ log_error "File is not readable: $file_path"
115
+ return 1
116
+ fi
117
+
118
+ return 0
119
+ }
120
+
121
+ validate_directory() {
122
+ local dir_path=$1
123
+
124
+ if [[ ! -d "$dir_path" ]]; then
125
+ log_error "Directory not found: $dir_path"
126
+ return 1
127
+ fi
128
+
129
+ if [[ ! -w "$dir_path" ]]; then
130
+ log_error "Directory is not writable: $dir_path"
131
+ return 1
132
+ fi
133
+
134
+ return 0
135
+ }
136
+
137
+ validate_command() {
138
+ local cmd=$1
139
+
140
+ if ! command -v "$cmd" &> /dev/null; then
141
+ log_error "Required command not found: $cmd"
142
+ return 1
143
+ fi
144
+
145
+ return 0
146
+ }
147
+
148
+ # ============================================================================
149
+ # RETRY LOGIC
150
+ # ============================================================================
151
+
152
+ retry() {
153
+ local max_attempts=$1
154
+ shift
155
+ local cmd=("$@")
156
+ local attempt=1
157
+
158
+ while [[ $attempt -le $max_attempts ]]; do
159
+ log_debug "Attempt $attempt of $max_attempts: ${cmd[*]}"
160
+
161
+ if "${cmd[@]}"; then
162
+ return 0
163
+ fi
164
+
165
+ if [[ $attempt -lt $max_attempts ]]; then
166
+ log_warn "Command failed, retrying in ${RETRY_DELAY}s..."
167
+ sleep "$RETRY_DELAY"
168
+ fi
169
+
170
+ ((attempt++))
171
+ done
172
+
173
+ log_error "Command failed after $max_attempts attempts: ${cmd[*]}"
174
+ return 1
175
+ }
176
+
177
+ # ============================================================================
178
+ # MAIN FUNCTIONS
179
+ # ============================================================================
180
+
181
+ print_usage() {
182
+ cat << EOF
183
+ Usage: $SCRIPT_NAME [OPTIONS] [ARGUMENTS]
184
+
185
+ Description:
186
+ [Describe what this script does]
187
+
188
+ Options:
189
+ -h, --help Show this help message
190
+ -v, --verbose Enable verbose (debug) output
191
+ -d, --dry-run Show what would be done without doing it
192
+
193
+ Arguments:
194
+ ARG1 [Description of argument 1]
195
+ ARG2 [Description of argument 2]
196
+
197
+ Examples:
198
+ # Basic usage
199
+ $SCRIPT_NAME arg1 arg2
200
+
201
+ # With verbose output
202
+ $SCRIPT_NAME -v arg1 arg2
203
+
204
+ # Dry run to preview changes
205
+ $SCRIPT_NAME --dry-run arg1 arg2
206
+
207
+ Exit Codes:
208
+ 0 Success
209
+ 1 General error
210
+ 2 Invalid arguments
211
+ 130 Interrupted by user
212
+
213
+ Notes:
214
+ [Any additional notes about the script]
215
+
216
+ See Also:
217
+ [Reference to related documentation or scripts]
218
+ EOF
219
+ }
220
+
221
+ parse_args() {
222
+ local dry_run=false
223
+
224
+ while [[ $# -gt 0 ]]; do
225
+ case $1 in
226
+ -h | --help)
227
+ print_usage
228
+ exit 0
229
+ ;;
230
+ -v | --verbose)
231
+ export LOG_LEVEL="DEBUG"
232
+ log_debug "Debug mode enabled"
233
+ shift
234
+ ;;
235
+ -d | --dry-run)
236
+ dry_run=true
237
+ log_info "Dry run mode enabled"
238
+ shift
239
+ ;;
240
+ -*)
241
+ log_error "Unknown option: $1"
242
+ print_usage
243
+ exit 2
244
+ ;;
245
+ *)
246
+ # Positional arguments
247
+ break
248
+ ;;
249
+ esac
250
+ done
251
+
252
+ # Store remaining arguments
253
+ readonly ARGS=("$@")
254
+ readonly DRY_RUN=$dry_run
255
+
256
+ # Validate required arguments
257
+ if [[ ${#ARGS[@]} -lt 1 ]]; then
258
+ log_error "Missing required argument"
259
+ print_usage
260
+ exit 2
261
+ fi
262
+ }
263
+
264
+ main() {
265
+ log_info "Starting $SCRIPT_NAME"
266
+
267
+ # Validate prerequisites
268
+ validate_command "grep" || exit 1
269
+ validate_command "sed" || exit 1
270
+
271
+ # Extract arguments
272
+ local arg1="${ARGS[0]}"
273
+ local arg2="${ARGS[1]:-}"
274
+
275
+ log_debug "arg1: $arg1"
276
+ log_debug "arg2: $arg2"
277
+
278
+ # Validate arguments
279
+ validate_arg "arg1" "$arg1"
280
+
281
+ # Main logic here
282
+ if [[ "$DRY_RUN" == "true" ]]; then
283
+ log_info "[DRY RUN] Would process: $arg1"
284
+ return 0
285
+ fi
286
+
287
+ # Example: Do something with retries
288
+ retry "$MAX_RETRIES" \
289
+ grep -r "pattern" "$arg1"
290
+
291
+ # Success
292
+ log_success "Operation completed successfully"
293
+ return 0
294
+ }
295
+
296
+ # ============================================================================
297
+ # ENTRY POINT
298
+ # ============================================================================
299
+
300
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
301
+ parse_args "$@"
302
+ main
303
+ fi
@@ -0,0 +1,129 @@
1
+ # moai-spec-authoring Skill
2
+
3
+ **Version**: 1.0.0
4
+ **Created**: 2025-10-23
5
+ **Status**: Active
6
+ **Tier**: Foundation
7
+
8
+ ## Overview
9
+
10
+ Comprehensive guide for authoring high-quality MoAI-ADK SPEC documents with proper metadata, EARS syntax, and best practices.
11
+
12
+ ## Key Features
13
+
14
+ - **7 Required + 9 Optional Metadata Fields**: Complete reference with examples
15
+ - **5 EARS Patterns**: Ubiquitous, Event-driven, State-driven, Optional, Constraints
16
+ - **Version Lifecycle**: Semantic versioning from draft to production
17
+ - **TAG Integration**: @SPEC, @TEST, @CODE, @DOC chain management
18
+ - **Validation Tools**: Pre-submission checklist and automated scripts
19
+ - **Common Pitfalls**: Prevention strategies for 7 major issues
20
+
21
+ ## Quick Links
22
+
23
+ - [5-Step Quick Start](#quick-start-5-step-spec-creation)
24
+ - [Metadata Reference](#metadata-reference)
25
+ - [EARS Syntax Guide](#ears-requirement-syntax)
26
+ - [Validation Checklist](#pre-submission-validation-checklist)
27
+ - [Common Pitfalls](#common-pitfalls--prevention)
28
+
29
+ ## Usage
30
+
31
+ ### Automatic Activation
32
+
33
+ This Skill automatically loads during:
34
+ - `/alfred:1-plan` command execution
35
+ - SPEC document creation requests
36
+ - Requirement clarification discussions
37
+
38
+ ### Manual Reference
39
+
40
+ Access detailed sections for:
41
+ - Learning SPEC authoring best practices
42
+ - Validating existing SPEC documents
43
+ - Troubleshooting metadata issues
44
+ - Understanding EARS syntax patterns
45
+
46
+ ## File Structure
47
+
48
+ ```
49
+ .claude/skills/moai-spec-authoring/
50
+ ├── SKILL.md # Complete Skill documentation (1,300 lines)
51
+ └── README.md # This file
52
+ ```
53
+
54
+ ## Integration
55
+
56
+ Works seamlessly with:
57
+ - `spec-builder` agent - SPEC generation
58
+ - `moai-foundation-ears` - EARS syntax patterns
59
+ - `moai-foundation-specs` - Metadata validation
60
+ - `moai-foundation-tags` - TAG system integration
61
+
62
+ ## Validation Command
63
+
64
+ ```bash
65
+ # Validate SPEC metadata
66
+ rg "^(id|version|status|created|updated|author|priority):" .moai/specs/SPEC-AUTH-001/spec.md
67
+
68
+ # Check duplicate IDs
69
+ rg "@SPEC:AUTH-001" -n .moai/specs/
70
+
71
+ # Full TAG chain scan
72
+ rg '@(SPEC|TEST|CODE|DOC):AUTH-001' -n
73
+ ```
74
+
75
+ ## Example SPEC Structure
76
+
77
+ ```markdown
78
+ ---
79
+ id: AUTH-001
80
+ version: 0.0.1
81
+ status: draft
82
+ created: 2025-10-23
83
+ updated: 2025-10-23
84
+ author: @YourHandle
85
+ priority: high
86
+ ---
87
+
88
+ # @SPEC:AUTH-001: JWT Authentication System
89
+
90
+ ## HISTORY
91
+ ### v0.0.1 (2025-10-23)
92
+ - **INITIAL**: JWT authentication SPEC draft
93
+
94
+ ## Environment
95
+ **Runtime**: Node.js 20.x
96
+
97
+ ## Assumptions
98
+ 1. User storage: PostgreSQL
99
+ 2. Secret management: Environment variables
100
+
101
+ ## Requirements
102
+
103
+ ### Ubiquitous Requirements
104
+ **UR-001**: The system shall provide JWT-based authentication.
105
+
106
+ ### Event-driven Requirements
107
+ **ER-001**: WHEN a user submits valid credentials, the system shall issue a JWT token.
108
+
109
+ ### State-driven Requirements
110
+ **SR-001**: WHILE a user is authenticated, the system shall allow access to protected resources.
111
+
112
+ ### Optional Features
113
+ **OF-001**: WHERE MFA is enabled, the system can require OTP verification.
114
+
115
+ ### Constraints
116
+ **C-001**: IF a token is expired, the system shall deny access.
117
+ ```
118
+
119
+ ## Support
120
+
121
+ For questions or issues:
122
+ 1. Consult `SKILL.md` for comprehensive documentation
123
+ 2. Invoke `/alfred:1-plan` for guided SPEC creation
124
+ 3. Reference existing SPECs in `.moai/specs/` for examples
125
+
126
+ ---
127
+
128
+ **Maintained By**: MoAI-ADK Team
129
+ **Last Updated**: 2025-10-23