moai-adk 0.10.1__py3-none-any.whl → 0.11.0__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 (245) hide show
  1. moai_adk/core/project/phase_executor.py +4 -0
  2. moai_adk/core/tags/ci_validator.py +33 -3
  3. moai_adk/core/template_engine.py +6 -2
  4. moai_adk/templates/.github/workflows/moai-gitflow.yml +6 -1
  5. moai_adk/templates/.github/workflows/release.yml +6 -2
  6. moai_adk/templates/.github/workflows/tag-validation.yml +53 -8
  7. moai_adk/templates/CLAUDE.md +458 -67
  8. {moai_adk-0.10.1.dist-info → moai_adk-0.11.0.dist-info}/METADATA +28 -13
  9. moai_adk-0.11.0.dist-info/RECORD +77 -0
  10. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
  11. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
  12. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
  13. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
  14. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -350
  15. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -273
  16. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
  17. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
  18. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -287
  19. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -287
  20. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -326
  21. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
  22. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1189
  23. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -728
  24. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -545
  25. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -683
  26. moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
  27. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -209
  28. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -750
  29. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
  30. moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +0 -102
  31. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -102
  32. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -108
  33. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -102
  34. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -102
  35. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
  36. moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
  37. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
  38. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -756
  39. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -198
  40. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
  41. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
  42. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -25
  43. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -175
  44. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -90
  45. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
  46. moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +0 -102
  47. moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +0 -102
  48. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -120
  49. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
  50. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
  51. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
  52. moai_adk/templates/.claude/settings.json +0 -144
  53. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  54. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  55. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  56. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  57. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  58. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  59. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  60. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  61. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  62. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  63. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  64. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  65. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  66. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  67. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  68. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  69. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  70. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  71. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  72. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  73. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  74. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  75. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  76. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  77. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  78. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  79. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  80. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  81. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  82. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  83. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  84. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  85. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  86. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  87. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  88. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  89. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  90. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  91. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  92. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
  93. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
  94. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
  95. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  96. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  97. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  98. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  99. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  100. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  101. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
  102. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
  103. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
  104. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  105. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  106. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  107. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -124
  108. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
  109. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
  110. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  111. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  112. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  113. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  114. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  115. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  116. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  117. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  118. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  119. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  120. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  121. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  122. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  123. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  124. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  125. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  126. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  127. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  128. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  129. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  130. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  131. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  132. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  133. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  134. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
  135. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  136. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  137. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  138. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  139. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  140. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  141. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  142. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  143. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  144. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  145. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  146. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  147. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  148. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  149. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  150. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  151. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  152. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  153. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  154. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  155. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
  156. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  157. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  158. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
  159. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  160. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  161. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  162. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  163. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  164. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -124
  165. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
  166. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
  167. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -124
  168. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
  169. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
  170. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  171. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  172. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  173. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
  174. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
  175. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
  176. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -123
  177. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  178. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  179. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -431
  180. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
  181. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
  182. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
  183. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  184. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  185. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
  186. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  187. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  188. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -124
  189. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
  190. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
  191. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -123
  192. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
  193. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
  194. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  195. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  196. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  197. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  198. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  199. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  200. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
  201. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
  202. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
  203. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -127
  204. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
  205. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
  206. moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -482
  207. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -278
  208. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  209. moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -477
  210. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  211. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  212. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  213. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  214. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -271
  215. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  216. moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -583
  217. moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -526
  218. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -465
  219. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -328
  220. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -312
  221. moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  222. moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -285
  223. moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -278
  224. moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -303
  225. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
  226. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -219
  227. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -161
  228. moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
  229. moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
  230. moai_adk/templates/.moai/config.json +0 -113
  231. moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -208
  232. moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -369
  233. moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -539
  234. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
  235. moai_adk/templates/.moai/memory/ISSUE-LABEL-MAPPING.md +0 -150
  236. moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -218
  237. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -330
  238. moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
  239. moai_adk/templates/.moai/project/product.md +0 -161
  240. moai_adk/templates/.moai/project/structure.md +0 -156
  241. moai_adk/templates/.moai/project/tech.md +0 -227
  242. moai_adk-0.10.1.dist-info/RECORD +0 -309
  243. {moai_adk-0.10.1.dist-info → moai_adk-0.11.0.dist-info}/WHEEL +0 -0
  244. {moai_adk-0.10.1.dist-info → moai_adk-0.11.0.dist-info}/entry_points.txt +0 -0
  245. {moai_adk-0.10.1.dist-info → moai_adk-0.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,307 +0,0 @@
1
- ---
2
- name: moai-cc-commands
3
- description: "Designing Slash Commands for Claude Code. Create and optimize slash commands with proper argument parsing, tool permissions, and agent orchestration. Use when building workflow entry points, automation commands, or user-facing shortcuts."
4
- allowed-tools: "Read, Write, Edit, Glob, Bash"
5
- ---
6
-
7
- ## Skill Metadata
8
-
9
- | Field | Value |
10
- | ----- | ----- |
11
- | Version | 1.0.0 |
12
- | Tier | Ops |
13
- | Auto-load | When designing slash commands |
14
-
15
- ## What It Does
16
-
17
- Slash command 설계 및 최적화 방법을 제공합니다. Argument parsing, tool permissions, agent orchestration을 포함한 command 구조를 다룹니다.
18
-
19
- ## When to Use
20
-
21
- - 새로운 slash command를 생성할 때
22
- - 기존 command를 최적화하거나 리팩토링할 때
23
- - Workflow entry point를 설계할 때
24
- - User-facing automation을 구축할 때
25
-
26
-
27
- # Designing Slash Commands
28
-
29
- Slash commands are user-facing entry points that orchestrate sub-agents, manage approvals, and coordinate multi-step workflows. They follow the Plan → Execute → Sync cadence.
30
-
31
- ## Command File Structure
32
-
33
- **Location**: `.claude/commands/`
34
-
35
- ```yaml
36
- ---
37
- name: command-name
38
- description: Brief description of what the command does
39
- argument-hint: "[param1] [param2] [optional-param]"
40
- tools: Read, Write, Task, Bash(git:*)
41
- model: sonnet
42
- ---
43
-
44
- # Command Title
45
-
46
- Brief description of functionality.
47
-
48
- ## Usage
49
-
50
- - `/command-name param1 param2` — Basic usage
51
- - Parameter descriptions
52
- - Expected behavior
53
-
54
- ## Agent Orchestration
55
-
56
- 1. Call specific agent for task
57
- 2. Handle results
58
- 3. Provide user feedback
59
- ```
60
-
61
- ## Command Design Patterns
62
-
63
- ### Pattern 1: Planning Command
64
- ```yaml
65
- ---
66
- name: /alfred:1-plan
67
- description: Write SPEC requirements in EARS syntax
68
- argument-hint: "[title]"
69
- tools: Read, Write, Task
70
- model: sonnet
71
- ---
72
-
73
- # SPEC Planning Command
74
-
75
- Initiates SPEC authoring via spec-builder sub-agent.
76
-
77
- ## Usage
78
-
79
- `/alfred:1-plan "User authentication system"`
80
-
81
- ## Agent Orchestration
82
-
83
- 1. Invoke spec-builder agent
84
- 2. Gather requirements via EARS patterns
85
- 3. Create SPEC file in `.moai/specs/`
86
- 4. Suggest next step: `/alfred:2-run`
87
- ```
88
-
89
- ### Pattern 2: Code Review Command
90
- ```yaml
91
- ---
92
- name: /review-code
93
- description: Trigger automated code review with quality analysis
94
- argument-hint: "[file-pattern] [--strict]"
95
- tools: Read, Glob, Grep, Task
96
- model: sonnet
97
- ---
98
-
99
- # Code Review Command
100
-
101
- Analyzes code quality against TRUST 5 principles.
102
-
103
- ## Usage
104
-
105
- - `/review-code src/**/*.ts` — Review TypeScript files
106
- - `/review-code . --strict` — Strict mode (fail on warnings)
107
-
108
- ## Agent Orchestration
109
-
110
- 1. Scan files matching pattern
111
- 2. Invoke code-reviewer agent
112
- 3. Generate report with findings
113
- 4. Suggest fixes with severity levels
114
- ```
115
-
116
- ### Pattern 3: Deployment Command
117
- ```yaml
118
- ---
119
- name: /deploy
120
- description: Deploy application with safety gates
121
- argument-hint: "[env] [--force]"
122
- tools: Read, Write, Task, Bash(git:*)
123
- model: haiku
124
- ---
125
-
126
- # Deployment Command
127
-
128
- Orchestrates multi-step deployment with approval gates.
129
-
130
- ## Usage
131
-
132
- - `/deploy staging` — Deploy to staging
133
- - `/deploy production --force` — Force production deploy
134
-
135
- ## Agent Orchestration
136
-
137
- 1. Validate deployment readiness
138
- 2. Run pre-deployment checks
139
- 3. Ask for user approval
140
- 4. Execute deployment
141
- 5. Monitor post-deployment
142
- ```
143
-
144
- ## Argument Parsing Pattern
145
-
146
- ```bash
147
- # Inside command execution
148
- $ARGUMENTS # Entire argument string
149
- $1, $2, $3 # Individual arguments
150
- $@ # All arguments as array
151
-
152
- # Example: /my-command arg1 arg2 --flag
153
- # $ARGUMENTS = "arg1 arg2 --flag"
154
- # $1 = "arg1"
155
- # $2 = "arg2"
156
- # $3 = "--flag"
157
- ```
158
-
159
- ## High-Freedom: Orchestration Strategies
160
-
161
- ### Sequential Execution
162
- ```
163
- Command: /plan-and-implement
164
- ├─ Phase 1: spec-builder (SPEC creation)
165
- └─ Phase 2: code-builder (TDD implementation)
166
- ```
167
-
168
- ### Parallel Execution
169
- ```
170
- Command: /analyze-project
171
- ├─ Agent 1: security-auditor (vulnerability scan)
172
- ├─ Agent 2: performance-analyzer (bottleneck detection)
173
- └─ Agent 3: architecture-reviewer (design review)
174
- ```
175
-
176
- ### Conditional Branching
177
- ```
178
- Command: /fix-errors
179
- ├─ Check: Are tests failing?
180
- │ ├─ YES → debug-helper agent
181
- │ └─ NO → suggest next steps
182
- ```
183
-
184
- ## Medium-Freedom: Command Templates
185
-
186
- ### Status Check Command
187
- ```yaml
188
- name: /status
189
- description: Show project status summary
190
- argument-hint: "[--verbose]"
191
- tools: Read, Bash(git:*)
192
- model: haiku
193
- ---
194
-
195
- # Status Check
196
-
197
- Displays project health: SPEC status, test results, Git state.
198
-
199
- ## Checks
200
-
201
- 1. SPEC completeness
202
- 2. Test coverage
203
- 3. Git branch status
204
- 4. Recent commits
205
- 5. TODO items
206
- ```
207
-
208
- ### Bulk Operation Command
209
- ```yaml
210
- name: /migrate
211
- description: Run migration across multiple files
212
- argument-hint: "[from] [to] [--preview]"
213
- tools: Read, Glob, Bash
214
- model: sonnet
215
- ---
216
-
217
- # Migration Command
218
-
219
- Migrates code patterns across project.
220
-
221
- ## Usage
222
-
223
- - `/migrate v1-api v2-api --preview` — Show changes without applying
224
- - `/migrate v1-api v2-api` — Apply migration
225
- ```
226
-
227
- ## Low-Freedom: Safety & Approval Patterns
228
-
229
- ### Approval Gate Pattern
230
- ```bash
231
- # Inside command execution
232
-
233
- echo "🔴 This action is destructive. Review carefully:"
234
- echo " • Will delete 10 files"
235
- echo " • Cannot be undone"
236
- echo ""
237
- read -p "Type 'yes' to confirm: " confirm
238
-
239
- if [[ "$confirm" != "yes" ]]; then
240
- echo "❌ Cancelled"
241
- exit 1
242
- fi
243
-
244
- # Execute dangerous operation
245
- ```
246
-
247
- ### Dry-Run Pattern
248
- ```bash
249
- if [[ "${3:-}" == "--preview" ]]; then
250
- echo "🔍 Preview mode (no changes)"
251
- # Show what would happen
252
- exit 0
253
- fi
254
-
255
- # Execute actual changes
256
- ```
257
-
258
- ## Command Registry
259
-
260
- ```bash
261
- # List all commands
262
- /commands
263
-
264
- # View command details
265
- /commands view /deploy
266
-
267
- # Create new command
268
- /commands create
269
-
270
- # Edit command
271
- /commands edit /deploy
272
-
273
- # Delete command
274
- /commands delete /deploy
275
- ```
276
-
277
- ## Command Validation Checklist
278
-
279
- - [ ] `name` is kebab-case (e.g., `/review-code`)
280
- - [ ] `description` clearly explains purpose
281
- - [ ] `argument-hint` shows expected parameters
282
- - [ ] `tools` list is minimal and justified
283
- - [ ] `model` is `haiku` or `sonnet`
284
- - [ ] Agent orchestration is clearly defined
285
- - [ ] Arguments are properly parsed
286
- - [ ] Safety gates are in place for dangerous operations
287
- - [ ] Feedback to user is clear and actionable
288
-
289
- ## Best Practices
290
-
291
- ✅ **DO**:
292
- - Design commands around workflows, not tools
293
- - Use agents for complex logic
294
- - Include preview/dry-run modes for risky operations
295
- - Provide clear feedback at each step
296
- - Link to next command in suggestions
297
-
298
- ❌ **DON'T**:
299
- - Make commands do too much (limit to 1 coherent workflow)
300
- - Require multiple parameters without defaults
301
- - Skip approval gates for destructive operations
302
- - Leave users guessing what happened
303
-
304
- ---
305
-
306
- **Reference**: Claude Code Slash Commands documentation
307
- **Version**: 1.0.0
@@ -1,21 +0,0 @@
1
- ---
2
- name: command-name
3
- description: Brief description of what the command does
4
- argument-hint: "[param1] [param2]"
5
- tools: Read, Write, Task
6
- model: sonnet
7
- ---
8
-
9
- # Command Title
10
-
11
- Brief description of functionality.
12
-
13
- ## Usage
14
-
15
- `/command-name param1 param2` — Basic usage
16
-
17
- ## Agent Orchestration
18
-
19
- 1. Call specific agent for task
20
- 2. Handle results
21
- 3. Provide user feedback
@@ -1,252 +0,0 @@
1
- ---
2
- name: moai-cc-hooks
3
- description: "Configuring Claude Code Hooks System. Design, implement, and manage PreToolUse/PostToolUse/SessionStart/Notification/Stop hooks. Use when enforcing safety checks, auto-formatting, running linters, or triggering automated workflows based on development events."
4
- allowed-tools: "Read, Write, Edit, Glob, Bash"
5
- ---
6
-
7
- ## Skill Metadata
8
-
9
- | Field | Value |
10
- | ----- | ----- |
11
- | Version | 1.0.0 |
12
- | Tier | Ops |
13
- | Auto-load | When configuring hook system |
14
-
15
- ## What It Does
16
-
17
- Hook system 설정 및 관리를 위한 전체 가이드를 제공합니다. PreToolUse, PostToolUse, SessionStart 등 다양한 hook type의 설계와 구현 방법을 다룹니다.
18
-
19
- ## When to Use
20
-
21
- - Safety check나 validation hook을 추가할 때
22
- - Auto-formatting이나 linting을 자동화할 때
23
- - Session lifecycle event에 응답하는 로직을 작성할 때
24
- - 개발 이벤트 기반 workflow를 트리거할 때
25
-
26
-
27
- # Configuring Claude Code Hooks System
28
-
29
- Hooks are lightweight (<100ms) automated scripts triggered by Claude Code lifecycle events. They enforce guardrails, run quality checks, and seed context without blocking user workflow.
30
-
31
- ## Hook Types & Events
32
-
33
- | Hook Type | Trigger Event | Execution Time | Use Cases |
34
- |-----------|---------------|-----------------|-----------|
35
- | **PreToolUse** | Before tool execution (Read, Edit, Bash, etc.) | <100ms | Command validation, permission checks, safety gates |
36
- | **PostToolUse** | After tool execution succeeds | <100ms | Auto-formatting, linting, permission restoration |
37
- | **SessionStart** | Session initialization | <500ms | Project summary, context seeding, status card |
38
- | **Notification** | User notification event | N/A | macOS notifications, alerts, wait status |
39
- | **Stop** | Session termination | N/A | Cleanup, final checks, task summary |
40
-
41
- ## Hook Configuration in settings.json
42
-
43
- ### High-Freedom Approach: Events-Driven Hooks
44
-
45
- ```json
46
- {
47
- "hooks": {
48
- "PreToolUse": [
49
- {
50
- "matcher": "Bash",
51
- "hooks": [
52
- {
53
- "type": "command",
54
- "command": "node ~/.claude/hooks/pre-bash-validator.js"
55
- }
56
- ]
57
- },
58
- {
59
- "matcher": "Edit|Write",
60
- "hooks": [
61
- {
62
- "type": "command",
63
- "command": "bash ~/.claude/hooks/pre-edit-guard.sh"
64
- }
65
- ]
66
- }
67
- ],
68
- "PostToolUse": [
69
- {
70
- "matcher": "Edit",
71
- "hooks": [
72
- {
73
- "type": "command",
74
- "command": "bash ~/.claude/hooks/post-edit-lint.sh"
75
- }
76
- ]
77
- }
78
- ],
79
- "SessionStart": [
80
- {
81
- "matcher": "*",
82
- "hooks": [
83
- {
84
- "type": "command",
85
- "command": "node ~/.claude/hooks/session-status-card.js"
86
- }
87
- ]
88
- }
89
- ]
90
- }
91
- }
92
- ```
93
-
94
- ## Medium-Freedom: Hook Patterns
95
-
96
- ### Pattern 1: Pre-Command Validation
97
- ```bash
98
- #!/bin/bash
99
- # pre-bash-validator.sh: Block dangerous patterns
100
-
101
- FORBIDDEN_PATTERNS=(
102
- "rm -rf /"
103
- "sudo rm"
104
- "chmod 777 /"
105
- "eval \$(curl"
106
- )
107
-
108
- COMMAND="$1"
109
- for pattern in "${FORBIDDEN_PATTERNS[@]}"; do
110
- if [[ "$COMMAND" =~ $pattern ]]; then
111
- echo "🔴 Blocked: $pattern detected" >&2
112
- exit 2 # Block execution
113
- fi
114
- done
115
-
116
- exit 0 # Allow execution
117
- ```
118
-
119
- ### Pattern 2: Post-Edit Auto-Formatting
120
- ```bash
121
- #!/bin/bash
122
- # post-edit-format.sh: Auto-format after edits
123
-
124
- FILE="$1"
125
- EXT="${FILE##*.}"
126
-
127
- case "$EXT" in
128
- js|ts)
129
- npx prettier --write "$FILE" 2>/dev/null
130
- ;;
131
- py)
132
- python3 -m black "$FILE" 2>/dev/null
133
- ;;
134
- go)
135
- gofmt -w "$FILE" 2>/dev/null
136
- ;;
137
- esac
138
-
139
- exit 0
140
- ```
141
-
142
- ### Pattern 3: SessionStart Status Card
143
- ```bash
144
- #!/bin/bash
145
- # session-status-card.sh: Show project status
146
-
147
- echo "🚀 Claude Code Session Started"
148
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
149
-
150
- if [ -f ".moai/config.json" ]; then
151
- PROJECT=$(jq -r '.name' .moai/config.json 2>/dev/null || echo "Unknown")
152
- echo "📦 Project: $PROJECT"
153
- echo "🏗️ Framework: $(jq -r '.tech_stack' .moai/config.json 2>/dev/null || echo "Auto-detect")"
154
- fi
155
-
156
- echo "📋 Recent SPECS:"
157
- ls .moai/specs/ 2>/dev/null | head -3 | sed 's/^/ ✓ /'
158
-
159
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
160
- ```
161
-
162
- ## Low-Freedom: Security-Focused Hook Scripts
163
-
164
- ### Permission Preservation Hook
165
- ```bash
166
- #!/bin/bash
167
- set -euo pipefail
168
- # preserve-permissions.sh: Save/restore file permissions
169
-
170
- HOOK_TYPE="${1:-pre}" # 'pre' or 'post'
171
- FILE="${2:-.}"
172
-
173
- PERMS_FILE="/tmp/perms_${FILE//\//_}.txt"
174
-
175
- if [[ "$HOOK_TYPE" == "pre" ]]; then
176
- stat -c "%a %u:%g" "$FILE" > "$PERMS_FILE" 2>/dev/null || true
177
- exit 0
178
- elif [[ "$HOOK_TYPE" == "post" ]]; then
179
- if [[ -f "$PERMS_FILE" ]]; then
180
- SAVED_PERMS=$(cat "$PERMS_FILE")
181
- chmod ${SAVED_PERMS%% *} "$FILE" 2>/dev/null || true
182
- rm "$PERMS_FILE"
183
- fi
184
- exit 0
185
- fi
186
- ```
187
-
188
- ### Dangerous Command Blocker
189
- ```python
190
- #!/usr/bin/env python3
191
- import json
192
- import sys
193
- import re
194
-
195
- BLOCKED_PATTERNS = [
196
- (r"rm\s+-rf\s+/", "Blocking rm -rf /"),
197
- (r"sudo\s+rm", "Blocking sudo rm without confirmation"),
198
- (r">\s*/etc/\w+", "Blocking writes to system files"),
199
- (r"curl.*\|\s*bash", "Blocking curl | bash (code injection risk)"),
200
- ]
201
-
202
- try:
203
- data = json.load(sys.stdin)
204
- command = data.get("tool_input", {}).get("command", "")
205
-
206
- for pattern, msg in BLOCKED_PATTERNS:
207
- if re.search(pattern, command):
208
- print(f"🔴 BLOCKED: {msg}", file=sys.stderr)
209
- sys.exit(2) # Block
210
-
211
- sys.exit(0) # Allow
212
- except Exception as e:
213
- print(f"Hook error: {e}", file=sys.stderr)
214
- sys.exit(0) # Allow on error (fail open)
215
- ```
216
-
217
- ## Hook Exit Codes
218
-
219
- | Code | Meaning | Behavior |
220
- |------|---------|----------|
221
- | `0` | Success | Tool proceeds normally |
222
- | `1` | Warning + Stderr | Warning logged, tool proceeds |
223
- | `2` | Blocked + Error | Tool execution blocked |
224
-
225
- ## Best Practices
226
-
227
- ✅ **DO**:
228
- - Keep hook scripts < 100ms execution time
229
- - Use specific matchers (not wildcard `*` unless necessary)
230
- - Log errors clearly to stderr
231
- - Test hooks before deploying to team
232
-
233
- ❌ **DON'T**:
234
- - Make network calls in PreToolUse hooks
235
- - Block common operations (use warnings instead)
236
- - Write to user files from hooks
237
- - Create complex logic (delegate to sub-agents)
238
-
239
- ## Hook Validation Checklist
240
-
241
- - [ ] All scripts have proper shebang (`#!/bin/bash` or `#!/usr/bin/env python3`)
242
- - [ ] Scripts are executable: `chmod +x hook.sh`
243
- - [ ] Exit codes are correct (0, 1, or 2)
244
- - [ ] Paths are absolute (not relative)
245
- - [ ] Tested for < 100ms latency
246
- - [ ] Error messages are user-friendly
247
- - [ ] No hardcoded secrets or credentials
248
-
249
- ---
250
-
251
- **Reference**: Context7 Claude Code Hooks documentation
252
- **Version**: 1.0.0
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
- # Pre-Bash Command Validator (from Context7 official docs)
3
- set -euo pipefail
4
-
5
- FORBIDDEN=(
6
- "rm -rf /"
7
- "sudo rm"
8
- "chmod 777"
9
- "eval.*curl"
10
- )
11
-
12
- COMMAND="${1:-}"
13
- for pattern in "${FORBIDDEN[@]}"; do
14
- if [[ "$COMMAND" =~ $pattern ]]; then
15
- echo "🔴 BLOCKED: $pattern" >&2
16
- exit 2
17
- fi
18
- done
19
- exit 0
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
- # Preserve file permissions (from Context7 official docs)
3
- set -euo pipefail
4
-
5
- HOOK_TYPE="${1:-pre}"
6
- FILE="${2:-.}"
7
- PERMS_FILE="/tmp/perms_${FILE//\//_}.txt"
8
-
9
- if [[ "$HOOK_TYPE" == "pre" ]]; then
10
- stat -c "%a %u:%g" "$FILE" > "$PERMS_FILE" 2>/dev/null || true
11
- exit 0
12
- elif [[ "$HOOK_TYPE" == "post" ]]; then
13
- if [[ -f "$PERMS_FILE" ]]; then
14
- SAVED=$(cat "$PERMS_FILE")
15
- chmod ${SAVED%% *} "$FILE" 2>/dev/null || true
16
- rm "$PERMS_FILE"
17
- fi
18
- exit 0
19
- fi
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env python3
2
- # @CODE:HOOK-BASH-001 | SPEC: TBD | TEST: tests/hooks/test_bash_validation.py
3
- # Bash command validator (from Context7 official docs)
4
- import json
5
- import re
6
- import sys
7
-
8
- BLOCKED = [
9
- (r"rm\s+-rf\s+/", "Blocking rm -rf /"),
10
- (r"sudo\s+rm", "Blocking sudo rm"),
11
- (r">\s*/etc/\w+", "Blocking writes to /etc"),
12
- (r"curl.*\|\s*bash", "Blocking curl | bash"),
13
- ]
14
-
15
- try:
16
- data = json.load(sys.stdin)
17
- cmd = data.get("tool_input", {}).get("command", "")
18
- for pattern, msg in BLOCKED:
19
- if re.search(pattern, cmd):
20
- print(f"🔴 {msg}", file=sys.stderr)
21
- sys.exit(2)
22
- sys.exit(0)
23
- except Exception:
24
- sys.exit(0)