moai-adk 0.15.1__py3-none-any.whl → 0.25.4__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 (417) hide show
  1. moai_adk/__init__.py +1 -2
  2. moai_adk/__main__.py +85 -2
  3. moai_adk/cli/__init__.py +0 -1
  4. moai_adk/cli/commands/__init__.py +0 -1
  5. moai_adk/cli/commands/analyze.py +127 -0
  6. moai_adk/cli/commands/backup.py +5 -3
  7. moai_adk/cli/commands/doctor.py +35 -11
  8. moai_adk/cli/commands/improve_user_experience.py +348 -0
  9. moai_adk/cli/commands/init.py +150 -23
  10. moai_adk/cli/commands/language.py +269 -0
  11. moai_adk/cli/commands/migrate.py +158 -0
  12. moai_adk/cli/commands/status.py +13 -12
  13. moai_adk/cli/commands/update.py +364 -60
  14. moai_adk/cli/commands/validate_links.py +118 -0
  15. moai_adk/cli/main.py +3 -2
  16. moai_adk/cli/prompts/init_prompts.py +79 -82
  17. moai_adk/core/__init__.py +0 -1
  18. moai_adk/core/analysis/__init__.py +9 -0
  19. moai_adk/core/analysis/session_analyzer.py +439 -0
  20. moai_adk/core/claude_integration.py +421 -0
  21. moai_adk/core/command_helpers.py +270 -0
  22. moai_adk/core/config/__init__.py +6 -0
  23. moai_adk/core/config/auto_spec_config.py +346 -0
  24. moai_adk/core/config/migration.py +133 -12
  25. moai_adk/core/context_manager.py +279 -0
  26. moai_adk/core/diagnostics/slash_commands.py +0 -1
  27. moai_adk/core/error_recovery_system.py +1289 -0
  28. moai_adk/core/git/__init__.py +0 -1
  29. moai_adk/core/git/branch.py +0 -1
  30. moai_adk/core/git/branch_manager.py +4 -4
  31. moai_adk/core/git/checkpoint.py +1 -5
  32. moai_adk/core/git/commit.py +0 -1
  33. moai_adk/core/git/event_detector.py +3 -5
  34. moai_adk/core/git/manager.py +0 -1
  35. moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
  36. moai_adk/core/integration/__init__.py +22 -0
  37. moai_adk/core/integration/engine.py +169 -0
  38. moai_adk/core/integration/integration_tester.py +225 -0
  39. moai_adk/core/integration/models.py +88 -0
  40. moai_adk/core/integration/utils.py +211 -0
  41. moai_adk/core/issue_creator.py +28 -18
  42. moai_adk/core/language_config.py +202 -0
  43. moai_adk/core/language_validator.py +556 -0
  44. moai_adk/core/mcp/setup.py +113 -0
  45. moai_adk/core/migration/__init__.py +18 -0
  46. moai_adk/core/migration/backup_manager.py +208 -0
  47. moai_adk/core/migration/file_migrator.py +218 -0
  48. moai_adk/core/migration/version_detector.py +143 -0
  49. moai_adk/core/migration/version_migrator.py +228 -0
  50. moai_adk/core/performance/__init__.py +6 -0
  51. moai_adk/core/performance/cache_system.py +318 -0
  52. moai_adk/core/performance/parallel_processor.py +116 -0
  53. moai_adk/core/project/__init__.py +0 -1
  54. moai_adk/core/project/backup_utils.py +2 -7
  55. moai_adk/core/project/checker.py +3 -3
  56. moai_adk/core/project/detector.py +20 -40
  57. moai_adk/core/project/initializer.py +42 -17
  58. moai_adk/core/project/phase_executor.py +415 -58
  59. moai_adk/core/project/validator.py +6 -25
  60. moai_adk/core/quality/__init__.py +1 -1
  61. moai_adk/core/quality/trust_checker.py +64 -110
  62. moai_adk/core/quality/validators/__init__.py +1 -1
  63. moai_adk/core/quality/validators/base_validator.py +1 -1
  64. moai_adk/core/rollback_manager.py +993 -0
  65. moai_adk/core/session_manager.py +667 -0
  66. moai_adk/core/spec/confidence_scoring.py +749 -0
  67. moai_adk/core/spec/ears_template_engine.py +1182 -0
  68. moai_adk/core/spec/quality_validator.py +721 -0
  69. moai_adk/core/spec_status_manager.py +488 -0
  70. moai_adk/core/template/__init__.py +0 -1
  71. moai_adk/core/template/backup.py +41 -1
  72. moai_adk/core/template/config.py +11 -12
  73. moai_adk/core/template/languages.py +0 -1
  74. moai_adk/core/template/merger.py +79 -22
  75. moai_adk/core/template/processor.py +614 -40
  76. moai_adk/core/template_engine.py +36 -27
  77. moai_adk/foundation/git/commit_templates.py +565 -0
  78. moai_adk/foundation/trust/trust_principles.py +725 -0
  79. moai_adk/foundation/trust/validation_checklist.py +1678 -0
  80. moai_adk/statusline/__init__.py +38 -0
  81. moai_adk/statusline/alfred_detector.py +107 -0
  82. moai_adk/statusline/config.py +364 -0
  83. moai_adk/statusline/enhanced_output_style_detector.py +364 -0
  84. moai_adk/statusline/git_collector.py +190 -0
  85. moai_adk/statusline/main.py +228 -0
  86. moai_adk/statusline/metrics_tracker.py +78 -0
  87. moai_adk/statusline/renderer.py +327 -0
  88. moai_adk/statusline/update_checker.py +135 -0
  89. moai_adk/statusline/version_reader.py +647 -0
  90. moai_adk/templates/.git-hooks/pre-commit +66 -0
  91. moai_adk/templates/.git-hooks/pre-push +116 -4
  92. moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
  93. moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
  94. moai_adk/templates/.gitignore +44 -0
  95. moai_adk/templates/.mcp.json +22 -0
  96. moai_adk/templates/CLAUDE.md +450 -1071
  97. moai_adk/utils/__init__.py +0 -1
  98. moai_adk/utils/banner.py +0 -1
  99. moai_adk/utils/common.py +308 -0
  100. moai_adk/utils/link_validator.py +249 -0
  101. moai_adk/utils/logger.py +4 -9
  102. moai_adk/utils/safe_file_reader.py +210 -0
  103. moai_adk/utils/user_experience.py +531 -0
  104. moai_adk-0.25.4.dist-info/METADATA +2279 -0
  105. moai_adk-0.25.4.dist-info/RECORD +112 -0
  106. moai_adk/core/tags/__init__.py +0 -86
  107. moai_adk/core/tags/ci_validator.py +0 -463
  108. moai_adk/core/tags/cli.py +0 -283
  109. moai_adk/core/tags/generator.py +0 -109
  110. moai_adk/core/tags/inserter.py +0 -99
  111. moai_adk/core/tags/mapper.py +0 -126
  112. moai_adk/core/tags/parser.py +0 -76
  113. moai_adk/core/tags/pre_commit_validator.py +0 -393
  114. moai_adk/core/tags/reporter.py +0 -956
  115. moai_adk/core/tags/tags.py +0 -149
  116. moai_adk/core/tags/validator.py +0 -897
  117. moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
  118. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
  119. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
  120. moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
  121. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
  122. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
  123. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
  124. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
  125. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
  126. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
  127. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
  128. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
  129. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
  130. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
  131. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
  132. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
  133. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
  134. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
  135. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
  136. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
  137. moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
  138. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
  139. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -136
  140. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
  141. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
  142. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
  143. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
  144. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
  145. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
  146. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
  147. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
  148. moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
  149. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
  150. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
  151. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
  152. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
  153. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
  154. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
  155. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
  156. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
  157. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
  158. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
  159. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
  160. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -161
  161. moai_adk/templates/.claude/settings.json +0 -144
  162. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
  163. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
  164. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
  165. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
  166. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
  167. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
  168. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
  169. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
  170. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
  171. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
  172. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
  173. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
  174. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  175. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  176. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  177. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
  178. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
  179. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
  180. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  181. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  182. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  183. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
  184. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
  185. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
  186. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  187. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  188. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  189. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
  190. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
  191. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
  192. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  193. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  194. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  195. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
  196. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
  197. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
  198. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
  199. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
  200. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
  201. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
  202. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
  203. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
  204. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
  205. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
  206. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
  207. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
  208. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
  209. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
  210. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
  211. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
  212. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
  213. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
  214. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
  215. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
  216. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
  217. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
  218. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
  219. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  220. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  221. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  222. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  223. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  224. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  225. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
  226. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
  227. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
  228. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  229. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  230. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  231. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
  232. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  233. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  234. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  235. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  236. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  237. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  238. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  239. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  240. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  241. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  242. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  243. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  244. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  245. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  246. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  247. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  248. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
  249. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
  250. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
  251. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
  252. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
  253. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  254. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
  255. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  256. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  257. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  258. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  259. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
  260. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  261. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
  262. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
  263. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
  264. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
  265. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
  266. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  267. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
  268. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
  269. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
  270. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  271. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  272. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
  273. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
  274. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
  275. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
  276. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
  277. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
  278. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  279. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  280. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  281. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  282. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  283. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  284. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +0 -123
  285. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
  286. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
  287. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  288. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  289. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  290. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +0 -128
  291. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
  292. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
  293. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  294. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  295. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  296. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  297. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  298. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  299. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  300. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  301. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  302. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  303. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  304. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  305. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  306. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  307. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  308. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  309. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  310. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  311. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  312. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  313. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  314. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  315. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  316. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  317. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
  318. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  319. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  320. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  321. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  322. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  323. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  324. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  325. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  326. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  327. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  328. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  329. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  330. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  331. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  332. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  333. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  334. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  335. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  336. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  337. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  338. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
  339. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  340. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  341. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
  342. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  343. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  344. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  345. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  346. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  347. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
  348. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
  349. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
  350. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
  351. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
  352. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
  353. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  354. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  355. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  356. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
  357. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
  358. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
  359. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
  360. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  361. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  362. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
  363. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
  364. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
  365. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
  366. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  367. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  368. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
  369. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  370. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  371. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
  372. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
  373. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
  374. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
  375. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
  376. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
  377. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  378. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  379. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  380. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  381. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  382. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  383. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
  384. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
  385. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
  386. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
  387. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
  388. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
  389. moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
  390. moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
  391. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
  392. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
  393. moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
  394. moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
  395. moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
  396. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
  397. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
  398. moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
  399. moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
  400. moai_adk/templates/.github/workflows/release.yml +0 -118
  401. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
  402. moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
  403. moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
  404. moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
  405. moai_adk/templates/.github/workflows/tag-report.yml +0 -269
  406. moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
  407. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
  408. moai_adk/templates/.moai/config.json +0 -115
  409. moai_adk/templates/workflows/go-tag-validation.yml +0 -30
  410. moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
  411. moai_adk/templates/workflows/python-tag-validation.yml +0 -42
  412. moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
  413. moai_adk-0.15.1.dist-info/METADATA +0 -3094
  414. moai_adk-0.15.1.dist-info/RECORD +0 -365
  415. {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/WHEEL +0 -0
  416. {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
  417. {moai_adk-0.15.1.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,328 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
-
4
- # Skill Structure Generator
5
- # Creates standardized directory structure for new Skills
6
- # Usage: ./generate-structure.sh skill-name "Skill Display Name"
7
-
8
- # Color codes
9
- GREEN='\033[0;32m'
10
- BLUE='\033[0;34m'
11
- YELLOW='\033[1;33m'
12
- NC='\033[0m'
13
-
14
- # Arguments
15
- SKILL_DIR="${1:-.}"
16
- SKILL_NAME="${2:-New Skill}"
17
-
18
- if [[ "$SKILL_DIR" == "." ]]; then
19
- echo -e "${YELLOW}⚠ Usage: generate-structure.sh <skill-dir> <display-name>${NC}"
20
- echo -e "Example: generate-structure.sh my-new-skill \"Processing CSV Files\""
21
- exit 1
22
- fi
23
-
24
- # Normalize skill directory name (kebab-case)
25
- SKILL_DIR=$(echo "$SKILL_DIR" | tr '[:upper:]' '[:lower:]' | sed 's/ /-/g')
26
-
27
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
28
- echo -e "${BLUE}Skill Structure Generator${NC}"
29
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
30
- echo
31
-
32
- # Create directories
33
- echo -e "${GREEN}Creating directories...${NC}"
34
- mkdir -p "$SKILL_DIR/scripts"
35
- mkdir -p "$SKILL_DIR/templates"
36
- echo -e "${GREEN}✓ Directories created${NC}"
37
- echo
38
-
39
- # Create SKILL.md if not exists
40
- if [[ ! -f "$SKILL_DIR/SKILL.md" ]]; then
41
- cat > "$SKILL_DIR/SKILL.md" << 'EOF'
42
- ---
43
- name: "Skill Name Here"
44
- description: "What this Skill does and when to use it. Include 3+ discoverable keywords and trigger scenarios."
45
- allowed-tools: "Tool1, Tool2"
46
- ---
47
-
48
- # [Skill Name]
49
-
50
- > **Quick Reference**: Links to supporting files go here.
51
-
52
- ---
53
-
54
- ## Overview
55
-
56
- Describe what this Skill provides and its core purpose.
57
-
58
- ## Quick Start
59
-
60
- Provide the fastest path to getting started with this Skill.
61
-
62
- ## Main Framework
63
-
64
- ### Section 1: High Freedom (Principles)
65
-
66
- Provide principles, considerations, and trade-offs.
67
-
68
- ### Section 2: Medium Freedom (Patterns)
69
-
70
- Include pseudocode, flowcharts, and pattern examples.
71
-
72
- ### Section 3: Low Freedom (Scripts)
73
-
74
- Provide ready-to-use scripts with error handling.
75
-
76
- ## See Also
77
-
78
- - [reference.md](reference.md) for detailed reference
79
- - [examples.md](examples.md) for real-world scenarios
80
- - `scripts/` for automation utilities
81
- - `templates/` for reusable templates
82
-
83
- ---
84
-
85
- **Version**: 0.1.0
86
- **Status**: Draft
87
- **Last Updated**: 2025-10-22
88
- EOF
89
- echo -e "${GREEN}✓ Created SKILL.md${NC}"
90
- else
91
- echo -e "${YELLOW}⊘ SKILL.md already exists${NC}"
92
- fi
93
- echo
94
-
95
- # Create reference.md if not exists
96
- if [[ ! -f "$SKILL_DIR/reference.md" ]]; then
97
- cat > "$SKILL_DIR/reference.md" << 'EOF'
98
- # Reference: [Skill Name]
99
-
100
- This document provides detailed reference information for [Skill Name].
101
-
102
- ## API Reference
103
-
104
- ### Function/Command 1
105
-
106
- Description of what it does.
107
-
108
- **Parameters**:
109
- - `param1`: Description
110
- - `param2`: Description
111
-
112
- **Returns**: Description of return value
113
-
114
- **Example**:
115
- ```
116
- code example here
117
- ```
118
-
119
- ## Configuration
120
-
121
- ### Available Options
122
-
123
- - Option 1: Description
124
- - Option 2: Description
125
-
126
- ### Configuration Format
127
-
128
- ```yaml
129
- example: configuration
130
- structure: here
131
- ```
132
-
133
- ## Edge Cases
134
-
135
- ### Known Limitations
136
-
137
- - Limitation 1
138
- - Limitation 2
139
-
140
- ### Workarounds
141
-
142
- - Workaround for limitation 1
143
- - Workaround for limitation 2
144
-
145
- ## Performance Considerations
146
-
147
- - Consideration 1
148
- - Consideration 2
149
-
150
- ## Glossary
151
-
152
- - **Term 1**: Definition
153
- - **Term 2**: Definition
154
-
155
- ## Related Resources
156
-
157
- - [SKILL.md](SKILL.md) for main framework
158
- - [examples.md](examples.md) for usage examples
159
-
160
- ---
161
-
162
- **Version**: 0.1.0
163
- **Last Updated**: 2025-10-22
164
- EOF
165
- echo -e "${GREEN}✓ Created reference.md${NC}"
166
- else
167
- echo -e "${YELLOW}⊘ reference.md already exists${NC}"
168
- fi
169
- echo
170
-
171
- # Create examples.md if not exists
172
- if [[ ! -f "$SKILL_DIR/examples.md" ]]; then
173
- cat > "$SKILL_DIR/examples.md" << 'EOF'
174
- # Examples: [Skill Name]
175
-
176
- Real-world examples demonstrating [Skill Name] in practice.
177
-
178
- ## Example 1: Basic Usage
179
-
180
- **Scenario**: [Describe a basic scenario]
181
-
182
- **Code**:
183
- ```
184
- example code here
185
- ```
186
-
187
- **Expected Output**:
188
- ```
189
- expected output here
190
- ```
191
-
192
- ## Example 2: Intermediate Pattern
193
-
194
- **Scenario**: [Describe an intermediate scenario]
195
-
196
- **Code**:
197
- ```
198
- example code here
199
- ```
200
-
201
- **Expected Output**:
202
- ```
203
- expected output here
204
- ```
205
-
206
- ## Example 3: Advanced Use Case
207
-
208
- **Scenario**: [Describe an advanced scenario]
209
-
210
- **Code**:
211
- ```
212
- example code here
213
- ```
214
-
215
- **Expected Output**:
216
- ```
217
- expected output here
218
- ```
219
-
220
- ## Example 4: Edge Case
221
-
222
- **Scenario**: [Describe an edge case or unusual scenario]
223
-
224
- **Code**:
225
- ```
226
- example code here
227
- ```
228
-
229
- **Expected Output**:
230
- ```
231
- expected output here
232
- ```
233
-
234
- ## Common Patterns
235
-
236
- ### Pattern 1
237
- Description and example of a common pattern.
238
-
239
- ### Pattern 2
240
- Description and example of another common pattern.
241
-
242
- ## See Also
243
-
244
- - [SKILL.md](SKILL.md) for framework and concepts
245
- - [reference.md](reference.md) for API details
246
-
247
- ---
248
-
249
- **Version**: 0.1.0
250
- **Last Updated**: 2025-10-22
251
- EOF
252
- echo -e "${GREEN}✓ Created examples.md${NC}"
253
- else
254
- echo -e "${YELLOW}⊘ examples.md already exists${NC}"
255
- fi
256
- echo
257
-
258
- # Create sample script template
259
- if [[ ! -f "$SKILL_DIR/scripts/.gitkeep" && ! -f "$SKILL_DIR/scripts"/*.sh ]]; then
260
- touch "$SKILL_DIR/scripts/.gitkeep"
261
- echo -e "${GREEN}✓ Created scripts/.gitkeep${NC}"
262
- else
263
- echo -e "${YELLOW}⊘ scripts directory already has content${NC}"
264
- fi
265
- echo
266
-
267
- # Create sample template
268
- if [[ ! -f "$SKILL_DIR/templates/.gitkeep" && ! -f "$SKILL_DIR/templates"/* ]]; then
269
- touch "$SKILL_DIR/templates/.gitkeep"
270
- echo -e "${GREEN}✓ Created templates/.gitkeep${NC}"
271
- else
272
- echo -e "${YELLOW}⊘ templates directory already has content${NC}"
273
- fi
274
- echo
275
-
276
- # Create .gitignore if not exists
277
- if [[ ! -f "$SKILL_DIR/.gitignore" ]]; then
278
- cat > "$SKILL_DIR/.gitignore" << 'EOF'
279
- # Temporary files
280
- *.tmp
281
- *.temp
282
- .DS_Store
283
-
284
- # IDE
285
- .vscode/
286
- .idea/
287
- *.swp
288
- *.swo
289
-
290
- # Python
291
- __pycache__/
292
- *.py[cod]
293
- .pytest_cache/
294
- .coverage
295
-
296
- # Node
297
- node_modules/
298
- .npm
299
- EOF
300
- echo -e "${GREEN}✓ Created .gitignore${NC}"
301
- fi
302
- echo
303
-
304
- # Display summary
305
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
306
- echo -e "${GREEN}✅ Skill Structure Created${NC}"
307
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
308
- echo
309
- echo "Directory: $SKILL_DIR"
310
- echo "Files created:"
311
- echo " ✓ SKILL.md (main content template)"
312
- echo " ✓ reference.md (supporting reference)"
313
- echo " ✓ examples.md (usage examples)"
314
- echo " ✓ scripts/ (for utility scripts)"
315
- echo " ✓ templates/ (for reusable templates)"
316
- echo " ✓ .gitignore (version control)"
317
- echo
318
- echo -e "${BLUE}Next Steps:${NC}"
319
- echo "1. Edit SKILL.md with your Skill content"
320
- echo "2. Update metadata (name, description, allowed-tools)"
321
- echo "3. Add examples to examples.md"
322
- echo "4. Create scripts in scripts/ directory"
323
- echo "5. Run validation: ../../scripts/validate-skill.sh $SKILL_DIR"
324
- echo
325
- echo -e "${BLUE}Documentation:${NC}"
326
- echo "- See SKILL.md for content guidelines"
327
- echo "- See templates/ for example structures"
328
- echo
@@ -1,312 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
-
4
- # Skill Validation Script
5
- # Validates Skill packages against MoAI-ADK quality standards
6
- # Usage: ./validate-skill.sh /path/to/skill-name
7
-
8
- SKILL_PATH="${1:-.}"
9
- SCORE=0
10
- MAX_SCORE=85
11
- WARNINGS=0
12
-
13
- # Color codes
14
- GREEN='\033[0;32m'
15
- RED='\033[0;31m'
16
- YELLOW='\033[1;33m'
17
- BLUE='\033[0;34m'
18
- NC='\033[0m' # No Color
19
-
20
- # Functions
21
- log_pass() {
22
- echo -e "${GREEN}✓${NC} $1"
23
- ((SCORE+=1))
24
- }
25
-
26
- log_fail() {
27
- echo -e "${RED}✗${NC} $1"
28
- }
29
-
30
- log_warn() {
31
- echo -e "${YELLOW}⚠${NC} $1"
32
- ((WARNINGS+=1))
33
- }
34
-
35
- log_info() {
36
- echo -e "${BLUE}ℹ${NC} $1"
37
- }
38
-
39
- # Header
40
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
41
- echo -e "${BLUE}Skill Validation: $(basename "$SKILL_PATH")${NC}"
42
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
43
- echo
44
-
45
- # === METADATA COMPLETENESS (8 points) ===
46
- echo -e "${BLUE}[Metadata Completeness]${NC}"
47
-
48
- if [[ ! -f "$SKILL_PATH/SKILL.md" ]]; then
49
- log_fail "SKILL.md not found"
50
- exit 1
51
- fi
52
-
53
- # Check name field
54
- if grep -q "^name:" "$SKILL_PATH/SKILL.md"; then
55
- NAME=$(grep "^name:" "$SKILL_PATH/SKILL.md" | sed 's/^name: *"\(.*\)"/\1/')
56
- NAME_LEN=${#NAME}
57
- if [[ $NAME_LEN -le 64 ]]; then
58
- log_pass "name field present and within limit ($NAME_LEN chars)"
59
- ((SCORE+=2))
60
- else
61
- log_fail "name field exceeds 64 characters ($NAME_LEN chars)"
62
- fi
63
- else
64
- log_fail "name field missing"
65
- fi
66
-
67
- # Check description field
68
- if grep -q "^description:" "$SKILL_PATH/SKILL.md"; then
69
- log_pass "description field present"
70
- ((SCORE+=2))
71
- DESC=$(grep "^description:" "$SKILL_PATH/SKILL.md" | sed 's/^description: *"\(.*\)"/\1/')
72
- DESC_LEN=${#DESC}
73
- if [[ $DESC_LEN -le 1024 ]]; then
74
- log_pass "description within limit ($DESC_LEN chars)"
75
- ((SCORE+=1))
76
- else
77
- log_fail "description exceeds 1024 characters"
78
- fi
79
- else
80
- log_fail "description field missing"
81
- fi
82
-
83
- # Check allowed-tools field
84
- if grep -q "^allowed-tools:" "$SKILL_PATH/SKILL.md"; then
85
- log_pass "allowed-tools field present"
86
- ((SCORE+=2))
87
- else
88
- log_warn "allowed-tools field missing (recommended)"
89
- fi
90
-
91
- # Check YAML validity
92
- if head -n 10 "$SKILL_PATH/SKILL.md" | grep -q "^---$"; then
93
- log_pass "YAML frontmatter starts with ---"
94
- ((SCORE+=1))
95
- else
96
- log_fail "YAML frontmatter missing ---"
97
- fi
98
-
99
- echo
100
-
101
- # === CONTENT QUALITY (16 points) ===
102
- echo -e "${BLUE}[Content Quality]${NC}"
103
-
104
- # Check file size
105
- LINE_COUNT=$(wc -l < "$SKILL_PATH/SKILL.md")
106
- if [[ $LINE_COUNT -le 500 ]]; then
107
- log_pass "SKILL.md within size limit ($LINE_COUNT lines)"
108
- ((SCORE+=2))
109
- else
110
- log_fail "SKILL.md exceeds 500 lines ($LINE_COUNT lines)"
111
- fi
112
-
113
- # Check for examples
114
- if grep -q "^##.*[Ee]xample" "$SKILL_PATH/SKILL.md"; then
115
- EXAMPLE_COUNT=$(grep -c "^###" "$SKILL_PATH/SKILL.md" || echo 0)
116
- if [[ $EXAMPLE_COUNT -ge 1 ]]; then
117
- log_pass "Examples found ($EXAMPLE_COUNT examples)"
118
- ((SCORE+=2))
119
- else
120
- log_warn "Few examples found"
121
- fi
122
- else
123
- log_warn "No examples section detected"
124
- fi
125
-
126
- # Check for relative paths
127
- if grep -q "\[.*\](.*)" "$SKILL_PATH/SKILL.md"; then
128
- if grep -q "\[.*\](\.\./\|http\|/\|~" "$SKILL_PATH/SKILL.md"; then
129
- log_warn "Some links may use absolute or external paths"
130
- ((WARNINGS+=1))
131
- else
132
- log_pass "Links use relative paths"
133
- ((SCORE+=2))
134
- fi
135
- else
136
- log_pass "No external links detected"
137
- ((SCORE+=2))
138
- fi
139
-
140
- # Check for Windows paths
141
- if grep -q "\\\\" "$SKILL_PATH/SKILL.md"; then
142
- log_fail "Windows-style paths detected (use forward slashes)"
143
- else
144
- log_pass "No Windows-style paths"
145
- ((SCORE+=1))
146
- fi
147
-
148
- # Check for glossary/terminology
149
- if grep -q "[Gg]lossary\|[Tt]ermino" "$SKILL_PATH/SKILL.md"; then
150
- log_pass "Glossary or terminology section present"
151
- ((SCORE+=1))
152
- else
153
- log_warn "No glossary detected"
154
- fi
155
-
156
- # Check for time-sensitive data
157
- if grep -q "20[0-9][0-9]-[0-9][0-9]-[0-9][0-9]\|today\|current date" "$SKILL_PATH/SKILL.md"; then
158
- log_fail "Time-sensitive information detected"
159
- else
160
- log_pass "No time-sensitive data"
161
- ((SCORE+=1))
162
- fi
163
-
164
- echo
165
-
166
- # === FILE STRUCTURE (6 points) ===
167
- echo -e "${BLUE}[File Structure]${NC}"
168
-
169
- # Check directory depth
170
- MAX_DEPTH=$(find "$SKILL_PATH" -type d | sed "s|$SKILL_PATH||" | grep -v "^$" | awk -F/ '{print NF}' | sort -rn | head -1)
171
- if [[ -z $MAX_DEPTH ]]; then
172
- MAX_DEPTH=1
173
- fi
174
-
175
- if [[ $MAX_DEPTH -le 2 ]]; then
176
- log_pass "Directory structure flat (max depth: $MAX_DEPTH)"
177
- ((SCORE+=2))
178
- else
179
- log_fail "Directory structure too nested (max depth: $MAX_DEPTH)"
180
- fi
181
-
182
- # Check for common subdirs
183
- if [[ -d "$SKILL_PATH/scripts" ]]; then
184
- SCRIPT_COUNT=$(find "$SKILL_PATH/scripts" -type f | wc -l)
185
- log_pass "scripts/ directory present ($SCRIPT_COUNT files)"
186
- ((SCORE+=1))
187
- fi
188
-
189
- if [[ -d "$SKILL_PATH/templates" ]]; then
190
- TEMPLATE_COUNT=$(find "$SKILL_PATH/templates" -type f | wc -l)
191
- log_pass "templates/ directory present ($TEMPLATE_COUNT files)"
192
- ((SCORE+=1))
193
- fi
194
-
195
- # Check for supporting docs
196
- if [[ -f "$SKILL_PATH/reference.md" ]]; then
197
- log_pass "reference.md found"
198
- ((SCORE+=1))
199
- fi
200
-
201
- if [[ -f "$SKILL_PATH/examples.md" ]]; then
202
- log_pass "examples.md found"
203
- ((SCORE+=1))
204
- fi
205
-
206
- echo
207
-
208
- # === MARKDOWN VALIDITY (3 points) ===
209
- echo -e "${BLUE}[Markdown Validity]${NC}"
210
-
211
- # Check for proper headers
212
- if grep -q "^#" "$SKILL_PATH/SKILL.md"; then
213
- log_pass "Headers detected"
214
- ((SCORE+=1))
215
- else
216
- log_warn "No headers found"
217
- fi
218
-
219
- # Check for code blocks
220
- if grep -q "^\`\`\`" "$SKILL_PATH/SKILL.md"; then
221
- log_pass "Code blocks present"
222
- ((SCORE+=1))
223
- else
224
- log_warn "No code blocks found"
225
- fi
226
-
227
- # Check for lists
228
- if grep -q "^- \|^ - " "$SKILL_PATH/SKILL.md"; then
229
- log_pass "Lists present"
230
- ((SCORE+=1))
231
- else
232
- log_warn "No lists detected"
233
- fi
234
-
235
- echo
236
-
237
- # === SCRIPT VALIDITY (if present) ===
238
- if [[ -d "$SKILL_PATH/scripts" ]]; then
239
- echo -e "${BLUE}[Script Validation]${NC}"
240
-
241
- for script in "$SKILL_PATH"/scripts/*; do
242
- if [[ -f "$script" && ! "$script" =~ \.gitkeep$ ]]; then
243
- SCRIPT_NAME=$(basename "$script")
244
-
245
- # Check shebang
246
- if head -n 1 "$script" | grep -q "^#!/"; then
247
- log_pass "$SCRIPT_NAME has shebang"
248
- ((SCORE+=1))
249
- else
250
- log_warn "$SCRIPT_NAME missing shebang"
251
- fi
252
-
253
- # Check for error handling (Bash scripts)
254
- if [[ "$script" =~ \.sh$ ]]; then
255
- if grep -q "set -euo pipefail\|set -e" "$script"; then
256
- log_pass "$SCRIPT_NAME has error handling"
257
- ((SCORE+=1))
258
- else
259
- log_warn "$SCRIPT_NAME lacks error handling"
260
- fi
261
- fi
262
- fi
263
- done
264
- echo
265
- fi
266
-
267
- # === SECURITY CHECK ===
268
- echo -e "${BLUE}[Security Check]${NC}"
269
-
270
- # Check for credentials
271
- if grep -q "password\|api_key\|secret\|token.*=" "$SKILL_PATH/SKILL.md" -i; then
272
- log_warn "Potential credentials detected in SKILL.md"
273
- ((WARNINGS+=1))
274
- else
275
- log_pass "No obvious credentials"
276
- ((SCORE+=1))
277
- fi
278
-
279
- # Check for no email
280
- if grep -q "[a-z0-9._%+-]*@[a-z0-9.-]*\.[a-z]" "$SKILL_PATH/SKILL.md"; then
281
- log_warn "Email addresses found (privacy concern?)"
282
- ((WARNINGS+=1))
283
- else
284
- log_pass "No email addresses"
285
- ((SCORE+=1))
286
- fi
287
-
288
- echo
289
-
290
- # === SUMMARY ===
291
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
292
- echo -e "Score: ${BLUE}$SCORE${NC}/$MAX_SCORE"
293
- if [[ $WARNINGS -gt 0 ]]; then
294
- echo -e "Warnings: ${YELLOW}$WARNINGS${NC}"
295
- fi
296
- echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
297
-
298
- # Determine pass/fail
299
- if [[ $SCORE -ge 70 ]]; then
300
- echo -e "${GREEN}✅ PASS${NC}"
301
- if [[ $SCORE -ge 85 ]]; then
302
- echo -e "${GREEN}Ready for publication${NC}"
303
- exit 0
304
- else
305
- echo -e "${YELLOW}Minor issues detected; review warnings${NC}"
306
- exit 0
307
- fi
308
- else
309
- echo -e "${RED}❌ FAIL${NC}"
310
- echo -e "${RED}Needs significant improvements${NC}"
311
- exit 1
312
- fi