@codemieai/code 0.0.44 → 0.0.46

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.
Files changed (408) hide show
  1. package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
  2. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  3. package/dist/agents/core/BaseAgentAdapter.js +31 -3
  4. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  5. package/dist/agents/core/metrics/types.d.ts +0 -6
  6. package/dist/agents/core/metrics/types.d.ts.map +1 -1
  7. package/dist/agents/core/session/BaseSessionAdapter.d.ts +0 -6
  8. package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
  9. package/dist/agents/core/types.d.ts +83 -0
  10. package/dist/agents/core/types.d.ts.map +1 -1
  11. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +0 -11
  12. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
  13. package/dist/agents/plugins/claude/claude.plugin-installer.js +0 -32
  14. package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
  15. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  16. package/dist/agents/plugins/claude/claude.plugin.js +10 -1
  17. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  18. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
  19. package/dist/agents/plugins/claude/claude.session.js +1 -28
  20. package/dist/agents/plugins/claude/claude.session.js.map +1 -1
  21. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  22. package/dist/agents/plugins/claude/plugin/README.md +1 -14
  23. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -5
  24. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/SKILL.md +206 -0
  25. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-agent.md +45 -0
  26. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-claude-md-snippet.md +40 -0
  27. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-command.md +30 -0
  28. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-hooks.json +23 -0
  29. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-skill.md +48 -0
  30. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-agent.md +145 -0
  31. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-claude-md-snippet.md +126 -0
  32. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-command.md +170 -0
  33. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-hooks.json +46 -0
  34. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-skill.md +144 -0
  35. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/sample-report.md +223 -0
  36. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +510 -0
  37. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/component-checklists.md +413 -0
  38. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/scripts/scan-repo.sh +162 -0
  39. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
  40. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +3 -78
  41. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
  42. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
  43. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +7 -16
  44. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
  45. package/dist/agents/plugins/claude/sounds-installer.d.ts +1 -1
  46. package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
  47. package/dist/agents/plugins/claude/sounds-installer.js +1 -4
  48. package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
  49. package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -4
  50. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  51. package/dist/agents/plugins/codemie-code.plugin.js +26 -81
  52. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  53. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  54. package/dist/agents/plugins/gemini/gemini.plugin.js +10 -0
  55. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  56. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +1 -8
  57. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
  58. package/dist/agents/plugins/gemini/gemini.session-adapter.js +2 -30
  59. package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
  60. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -1
  61. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +2 -8
  62. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -1
  63. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -1
  64. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +0 -7
  65. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -1
  66. package/dist/agents/plugins/opencode/index.d.ts +1 -1
  67. package/dist/agents/plugins/opencode/index.d.ts.map +1 -1
  68. package/dist/agents/plugins/opencode/index.js.map +1 -1
  69. package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -22
  70. package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
  71. package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
  72. package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
  73. package/dist/agents/plugins/opencode/opencode.session.js +5 -30
  74. package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
  75. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
  76. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +0 -2
  77. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
  78. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +0 -8
  79. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
  80. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +8 -97
  81. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
  82. package/dist/cli/commands/analytics/aggregator.d.ts +0 -8
  83. package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -1
  84. package/dist/cli/commands/analytics/aggregator.js +5 -100
  85. package/dist/cli/commands/analytics/aggregator.js.map +1 -1
  86. package/dist/cli/commands/analytics/data-loader.d.ts +0 -7
  87. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  88. package/dist/cli/commands/analytics/data-loader.js +3 -10
  89. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  90. package/dist/cli/commands/analytics/exporter.d.ts.map +1 -1
  91. package/dist/cli/commands/analytics/exporter.js +0 -12
  92. package/dist/cli/commands/analytics/exporter.js.map +1 -1
  93. package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
  94. package/dist/cli/commands/analytics/formatter.js +0 -9
  95. package/dist/cli/commands/analytics/formatter.js.map +1 -1
  96. package/dist/cli/commands/analytics/types.d.ts +0 -17
  97. package/dist/cli/commands/analytics/types.d.ts.map +1 -1
  98. package/dist/cli/commands/assistants/chat/historyLoader.d.ts +22 -0
  99. package/dist/cli/commands/assistants/chat/historyLoader.d.ts.map +1 -0
  100. package/dist/cli/commands/assistants/chat/historyLoader.js +80 -0
  101. package/dist/cli/commands/assistants/chat/historyLoader.js.map +1 -0
  102. package/dist/cli/commands/assistants/{chat.d.ts → chat/index.d.ts} +1 -1
  103. package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -0
  104. package/dist/cli/commands/assistants/{chat.js → chat/index.js} +54 -45
  105. package/dist/cli/commands/assistants/chat/index.js.map +1 -0
  106. package/dist/cli/commands/assistants/chat/types.d.ts +27 -0
  107. package/dist/cli/commands/assistants/chat/types.d.ts.map +1 -0
  108. package/dist/cli/commands/assistants/chat/types.js +5 -0
  109. package/dist/cli/commands/assistants/chat/types.js.map +1 -0
  110. package/dist/cli/commands/assistants/chat/utils.d.ts +12 -0
  111. package/dist/cli/commands/assistants/chat/utils.d.ts.map +1 -0
  112. package/dist/cli/commands/assistants/chat/utils.js +24 -0
  113. package/dist/cli/commands/assistants/chat/utils.js.map +1 -0
  114. package/dist/cli/commands/assistants/constants.d.ts +1 -0
  115. package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
  116. package/dist/cli/commands/assistants/constants.js.map +1 -1
  117. package/dist/cli/commands/assistants/index.js +2 -2
  118. package/dist/cli/commands/assistants/index.js.map +1 -1
  119. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +1 -1
  120. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +1 -1
  121. package/dist/cli/commands/assistants/setup/index.js +4 -4
  122. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  123. package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -1
  124. package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
  125. package/dist/cli/commands/assistants/setup/selection/index.js +5 -3
  126. package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
  127. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
  128. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +7 -1
  129. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
  130. package/dist/cli/commands/assistants/setup/selection/types.d.ts +2 -0
  131. package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
  132. package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
  133. package/dist/cli/commands/assistants/setup/selection/ui.js +15 -4
  134. package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
  135. package/dist/cli/commands/hook.d.ts.map +1 -1
  136. package/dist/cli/commands/hook.js +22 -6
  137. package/dist/cli/commands/hook.js.map +1 -1
  138. package/dist/cli/commands/plugin.d.ts +16 -0
  139. package/dist/cli/commands/plugin.d.ts.map +1 -0
  140. package/dist/cli/commands/plugin.js +210 -0
  141. package/dist/cli/commands/plugin.js.map +1 -0
  142. package/dist/cli/commands/setup.js +1 -1
  143. package/dist/cli/commands/skill.d.ts.map +1 -1
  144. package/dist/cli/commands/skill.js +3 -1
  145. package/dist/cli/commands/skill.js.map +1 -1
  146. package/dist/cli/commands/sound.d.ts +3 -0
  147. package/dist/cli/commands/sound.d.ts.map +1 -0
  148. package/dist/cli/commands/sound.js +87 -0
  149. package/dist/cli/commands/sound.js.map +1 -0
  150. package/dist/cli/commands/test-metrics.js +3 -5
  151. package/dist/cli/commands/test-metrics.js.map +1 -1
  152. package/dist/cli/index.js +4 -0
  153. package/dist/cli/index.js.map +1 -1
  154. package/dist/env/types.d.ts +8 -0
  155. package/dist/env/types.d.ts.map +1 -1
  156. package/dist/env/types.js.map +1 -1
  157. package/dist/plugins/core/index.d.ts +13 -0
  158. package/dist/plugins/core/index.d.ts.map +1 -0
  159. package/dist/plugins/core/index.js +15 -0
  160. package/dist/plugins/core/index.js.map +1 -0
  161. package/dist/plugins/core/manifest-parser.d.ts +28 -0
  162. package/dist/plugins/core/manifest-parser.d.ts.map +1 -0
  163. package/dist/plugins/core/manifest-parser.js +137 -0
  164. package/dist/plugins/core/manifest-parser.js.map +1 -0
  165. package/dist/plugins/core/plugin-cache.d.ts +65 -0
  166. package/dist/plugins/core/plugin-cache.d.ts.map +1 -0
  167. package/dist/plugins/core/plugin-cache.js +170 -0
  168. package/dist/plugins/core/plugin-cache.js.map +1 -0
  169. package/dist/plugins/core/plugin-loader.d.ts +21 -0
  170. package/dist/plugins/core/plugin-loader.d.ts.map +1 -0
  171. package/dist/plugins/core/plugin-loader.js +55 -0
  172. package/dist/plugins/core/plugin-loader.js.map +1 -0
  173. package/dist/plugins/core/plugin-resolver.d.ts +33 -0
  174. package/dist/plugins/core/plugin-resolver.d.ts.map +1 -0
  175. package/dist/plugins/core/plugin-resolver.js +118 -0
  176. package/dist/plugins/core/plugin-resolver.js.map +1 -0
  177. package/dist/plugins/core/types.d.ts +183 -0
  178. package/dist/plugins/core/types.d.ts.map +1 -0
  179. package/dist/plugins/core/types.js +22 -0
  180. package/dist/plugins/core/types.js.map +1 -0
  181. package/dist/plugins/loaders/agents-loader.d.ts +19 -0
  182. package/dist/plugins/loaders/agents-loader.d.ts.map +1 -0
  183. package/dist/plugins/loaders/agents-loader.js +92 -0
  184. package/dist/plugins/loaders/agents-loader.js.map +1 -0
  185. package/dist/plugins/loaders/hooks-loader.d.ts +27 -0
  186. package/dist/plugins/loaders/hooks-loader.d.ts.map +1 -0
  187. package/dist/plugins/loaders/hooks-loader.js +94 -0
  188. package/dist/plugins/loaders/hooks-loader.js.map +1 -0
  189. package/dist/plugins/loaders/mcp-loader.d.ts +24 -0
  190. package/dist/plugins/loaders/mcp-loader.d.ts.map +1 -0
  191. package/dist/plugins/loaders/mcp-loader.js +86 -0
  192. package/dist/plugins/loaders/mcp-loader.js.map +1 -0
  193. package/dist/plugins/loaders/skills-loader.d.ts +30 -0
  194. package/dist/plugins/loaders/skills-loader.d.ts.map +1 -0
  195. package/dist/plugins/loaders/skills-loader.js +167 -0
  196. package/dist/plugins/loaders/skills-loader.js.map +1 -0
  197. package/dist/providers/plugins/bedrock/bedrock.template.js +1 -1
  198. package/dist/providers/plugins/jwt/jwt.setup-steps.js +1 -1
  199. package/dist/providers/plugins/jwt/jwt.template.js +1 -1
  200. package/dist/providers/plugins/litellm/litellm.template.js +1 -1
  201. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +10 -0
  202. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  203. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +3 -0
  204. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  205. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  206. package/dist/providers/plugins/sso/session/SessionSyncer.js +2 -3
  207. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  208. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts +21 -0
  209. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts.map +1 -0
  210. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js +159 -0
  211. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js.map +1 -0
  212. package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts +24 -0
  213. package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts.map +1 -0
  214. package/dist/providers/plugins/sso/session/processors/conversations/constants.js +36 -0
  215. package/dist/providers/plugins/sso/session/processors/conversations/constants.js.map +1 -0
  216. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts +19 -0
  217. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -0
  218. package/dist/providers/plugins/sso/session/processors/conversations/{conversation-sync-processor.js → syncProcessor.js} +48 -33
  219. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -0
  220. package/dist/providers/plugins/sso/session/processors/conversations/{conversation-types.d.ts → types.d.ts} +14 -2
  221. package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts.map +1 -0
  222. package/dist/providers/plugins/sso/session/processors/conversations/types.js +14 -0
  223. package/dist/providers/plugins/sso/session/processors/conversations/types.js.map +1 -0
  224. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
  225. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +16 -17
  226. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  227. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +6 -5
  228. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
  229. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +40 -39
  230. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  231. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  232. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +2 -6
  233. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  234. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +74 -31
  235. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
  236. package/dist/providers/plugins/sso/sso.template.js +1 -1
  237. package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.d.ts +10 -0
  238. package/dist/skills/core/SkillDiscovery.d.ts.map +1 -0
  239. package/dist/{agents/codemie-code/skills → skills}/core/SkillDiscovery.js +64 -7
  240. package/dist/skills/core/SkillDiscovery.js.map +1 -0
  241. package/dist/skills/core/SkillManager.d.ts.map +1 -0
  242. package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.js +15 -10
  243. package/dist/skills/core/SkillManager.js.map +1 -0
  244. package/dist/{agents/codemie-code/skills → skills}/core/types.d.ts +3 -25
  245. package/dist/skills/core/types.d.ts.map +1 -0
  246. package/dist/skills/core/types.js.map +1 -0
  247. package/dist/{agents/codemie-code/skills → skills}/index.d.ts +3 -3
  248. package/dist/skills/index.d.ts.map +1 -0
  249. package/dist/{agents/codemie-code/skills → skills}/index.js +2 -2
  250. package/dist/skills/index.js.map +1 -0
  251. package/dist/skills/sync/SkillSync.d.ts.map +1 -0
  252. package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.js +5 -3
  253. package/dist/skills/sync/SkillSync.js.map +1 -0
  254. package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.d.ts +2 -12
  255. package/dist/skills/utils/content-loader.d.ts.map +1 -0
  256. package/dist/{agents/codemie-code/skills → skills}/utils/content-loader.js +3 -8
  257. package/dist/skills/utils/content-loader.js.map +1 -0
  258. package/dist/skills/utils/pattern-matcher.d.ts.map +1 -0
  259. package/dist/skills/utils/pattern-matcher.js.map +1 -0
  260. package/dist/utils/extensions-scan.d.ts +27 -0
  261. package/dist/utils/extensions-scan.d.ts.map +1 -0
  262. package/dist/utils/extensions-scan.js +182 -0
  263. package/dist/utils/extensions-scan.js.map +1 -0
  264. package/dist/utils/frontmatter.d.ts.map +1 -0
  265. package/dist/utils/frontmatter.js.map +1 -0
  266. package/package.json +1 -1
  267. package/dist/agents/codemie-code/agent.d.ts +0 -129
  268. package/dist/agents/codemie-code/agent.d.ts.map +0 -1
  269. package/dist/agents/codemie-code/agent.js +0 -1106
  270. package/dist/agents/codemie-code/agent.js.map +0 -1
  271. package/dist/agents/codemie-code/config.d.ts +0 -40
  272. package/dist/agents/codemie-code/config.d.ts.map +0 -1
  273. package/dist/agents/codemie-code/config.js +0 -293
  274. package/dist/agents/codemie-code/config.js.map +0 -1
  275. package/dist/agents/codemie-code/filters.d.ts +0 -91
  276. package/dist/agents/codemie-code/filters.d.ts.map +0 -1
  277. package/dist/agents/codemie-code/filters.js +0 -328
  278. package/dist/agents/codemie-code/filters.js.map +0 -1
  279. package/dist/agents/codemie-code/index.d.ts +0 -93
  280. package/dist/agents/codemie-code/index.d.ts.map +0 -1
  281. package/dist/agents/codemie-code/index.js +0 -359
  282. package/dist/agents/codemie-code/index.js.map +0 -1
  283. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +0 -87
  284. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +0 -1
  285. package/dist/agents/codemie-code/modes/contextAwarePlanning.js +0 -957
  286. package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +0 -1
  287. package/dist/agents/codemie-code/modes/planMode.d.ts +0 -116
  288. package/dist/agents/codemie-code/modes/planMode.d.ts.map +0 -1
  289. package/dist/agents/codemie-code/modes/planMode.js +0 -537
  290. package/dist/agents/codemie-code/modes/planMode.js.map +0 -1
  291. package/dist/agents/codemie-code/prompts.d.ts +0 -47
  292. package/dist/agents/codemie-code/prompts.d.ts.map +0 -1
  293. package/dist/agents/codemie-code/prompts.js +0 -207
  294. package/dist/agents/codemie-code/prompts.js.map +0 -1
  295. package/dist/agents/codemie-code/skills/core/SkillDiscovery.d.ts.map +0 -1
  296. package/dist/agents/codemie-code/skills/core/SkillDiscovery.js.map +0 -1
  297. package/dist/agents/codemie-code/skills/core/SkillManager.d.ts.map +0 -1
  298. package/dist/agents/codemie-code/skills/core/SkillManager.js.map +0 -1
  299. package/dist/agents/codemie-code/skills/core/types.d.ts.map +0 -1
  300. package/dist/agents/codemie-code/skills/core/types.js.map +0 -1
  301. package/dist/agents/codemie-code/skills/index.d.ts.map +0 -1
  302. package/dist/agents/codemie-code/skills/index.js.map +0 -1
  303. package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +0 -1
  304. package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +0 -1
  305. package/dist/agents/codemie-code/skills/utils/content-loader.d.ts.map +0 -1
  306. package/dist/agents/codemie-code/skills/utils/content-loader.js.map +0 -1
  307. package/dist/agents/codemie-code/skills/utils/frontmatter.d.ts.map +0 -1
  308. package/dist/agents/codemie-code/skills/utils/frontmatter.js.map +0 -1
  309. package/dist/agents/codemie-code/skills/utils/pattern-matcher.d.ts.map +0 -1
  310. package/dist/agents/codemie-code/skills/utils/pattern-matcher.js.map +0 -1
  311. package/dist/agents/codemie-code/storage/todoStorage.d.ts +0 -78
  312. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +0 -1
  313. package/dist/agents/codemie-code/storage/todoStorage.js +0 -225
  314. package/dist/agents/codemie-code/storage/todoStorage.js.map +0 -1
  315. package/dist/agents/codemie-code/tokenUtils.d.ts +0 -108
  316. package/dist/agents/codemie-code/tokenUtils.d.ts.map +0 -1
  317. package/dist/agents/codemie-code/tokenUtils.js +0 -220
  318. package/dist/agents/codemie-code/tokenUtils.js.map +0 -1
  319. package/dist/agents/codemie-code/toolMetadata.d.ts +0 -15
  320. package/dist/agents/codemie-code/toolMetadata.d.ts.map +0 -1
  321. package/dist/agents/codemie-code/toolMetadata.js +0 -316
  322. package/dist/agents/codemie-code/toolMetadata.js.map +0 -1
  323. package/dist/agents/codemie-code/tools/assistant-invocation.d.ts +0 -47
  324. package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +0 -1
  325. package/dist/agents/codemie-code/tools/assistant-invocation.js +0 -129
  326. package/dist/agents/codemie-code/tools/assistant-invocation.js.map +0 -1
  327. package/dist/agents/codemie-code/tools/index.d.ts +0 -111
  328. package/dist/agents/codemie-code/tools/index.d.ts.map +0 -1
  329. package/dist/agents/codemie-code/tools/index.js +0 -424
  330. package/dist/agents/codemie-code/tools/index.js.map +0 -1
  331. package/dist/agents/codemie-code/tools/planning.d.ts +0 -54
  332. package/dist/agents/codemie-code/tools/planning.d.ts.map +0 -1
  333. package/dist/agents/codemie-code/tools/planning.js +0 -226
  334. package/dist/agents/codemie-code/tools/planning.js.map +0 -1
  335. package/dist/agents/codemie-code/types.d.ts +0 -459
  336. package/dist/agents/codemie-code/types.d.ts.map +0 -1
  337. package/dist/agents/codemie-code/types.js +0 -59
  338. package/dist/agents/codemie-code/types.js.map +0 -1
  339. package/dist/agents/codemie-code/ui/autocomplete.d.ts +0 -98
  340. package/dist/agents/codemie-code/ui/autocomplete.d.ts.map +0 -1
  341. package/dist/agents/codemie-code/ui/autocomplete.js +0 -145
  342. package/dist/agents/codemie-code/ui/autocomplete.js.map +0 -1
  343. package/dist/agents/codemie-code/ui/keyHandlers.d.ts +0 -112
  344. package/dist/agents/codemie-code/ui/keyHandlers.d.ts.map +0 -1
  345. package/dist/agents/codemie-code/ui/keyHandlers.js +0 -415
  346. package/dist/agents/codemie-code/ui/keyHandlers.js.map +0 -1
  347. package/dist/agents/codemie-code/ui/mentions.d.ts +0 -86
  348. package/dist/agents/codemie-code/ui/mentions.d.ts.map +0 -1
  349. package/dist/agents/codemie-code/ui/mentions.js +0 -122
  350. package/dist/agents/codemie-code/ui/mentions.js.map +0 -1
  351. package/dist/agents/codemie-code/ui/progressTracker.d.ts +0 -125
  352. package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +0 -1
  353. package/dist/agents/codemie-code/ui/progressTracker.js +0 -343
  354. package/dist/agents/codemie-code/ui/progressTracker.js.map +0 -1
  355. package/dist/agents/codemie-code/ui/terminalCodes.d.ts +0 -38
  356. package/dist/agents/codemie-code/ui/terminalCodes.d.ts.map +0 -1
  357. package/dist/agents/codemie-code/ui/terminalCodes.js +0 -42
  358. package/dist/agents/codemie-code/ui/terminalCodes.js.map +0 -1
  359. package/dist/agents/codemie-code/ui/todoPanel.d.ts +0 -112
  360. package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +0 -1
  361. package/dist/agents/codemie-code/ui/todoPanel.js +0 -321
  362. package/dist/agents/codemie-code/ui/todoPanel.js.map +0 -1
  363. package/dist/agents/codemie-code/ui.d.ts +0 -180
  364. package/dist/agents/codemie-code/ui.d.ts.map +0 -1
  365. package/dist/agents/codemie-code/ui.js +0 -1345
  366. package/dist/agents/codemie-code/ui.js.map +0 -1
  367. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +0 -87
  368. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +0 -1
  369. package/dist/agents/codemie-code/utils/progressionEnforcer.js +0 -293
  370. package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +0 -1
  371. package/dist/agents/codemie-code/utils/todoParser.d.ts +0 -41
  372. package/dist/agents/codemie-code/utils/todoParser.d.ts.map +0 -1
  373. package/dist/agents/codemie-code/utils/todoParser.js +0 -305
  374. package/dist/agents/codemie-code/utils/todoParser.js.map +0 -1
  375. package/dist/agents/codemie-code/utils/todoValidator.d.ts +0 -65
  376. package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +0 -1
  377. package/dist/agents/codemie-code/utils/todoValidator.js +0 -249
  378. package/dist/agents/codemie-code/utils/todoValidator.js.map +0 -1
  379. package/dist/agents/codemie-code/validators/planValidator.d.ts +0 -94
  380. package/dist/agents/codemie-code/validators/planValidator.d.ts.map +0 -1
  381. package/dist/agents/codemie-code/validators/planValidator.js +0 -281
  382. package/dist/agents/codemie-code/validators/planValidator.js.map +0 -1
  383. package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +0 -98
  384. package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.ps1 +0 -112
  385. package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.sh +0 -58
  386. package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +0 -26
  387. package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +0 -1
  388. package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +0 -38
  389. package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +0 -1
  390. package/dist/cli/commands/assistants/chat.d.ts.map +0 -1
  391. package/dist/cli/commands/assistants/chat.js.map +0 -1
  392. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +0 -26
  393. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +0 -1
  394. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +0 -146
  395. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +0 -1
  396. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +0 -22
  397. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +0 -1
  398. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +0 -1
  399. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +0 -1
  400. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +0 -7
  401. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +0 -1
  402. /package/dist/{agents/codemie-code/skills → skills}/core/SkillManager.d.ts +0 -0
  403. /package/dist/{agents/codemie-code/skills → skills}/core/types.js +0 -0
  404. /package/dist/{agents/codemie-code/skills → skills}/sync/SkillSync.d.ts +0 -0
  405. /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.d.ts +0 -0
  406. /package/dist/{agents/codemie-code/skills → skills}/utils/pattern-matcher.js +0 -0
  407. /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.d.ts +0 -0
  408. /package/dist/{agents/codemie-code/skills/utils → utils}/frontmatter.js +0 -0
@@ -0,0 +1,145 @@
1
+ ---
2
+ # ✅ GOOD AGENT EXAMPLE
3
+ # Score: ~30/32 pts (Grade A)
4
+ # What makes it good: See inline comments marked ✅
5
+ #
6
+ # ✅ A1.1: Descriptive, domain-specific name
7
+ # ✅ A1.2: Description has "when" and "use" trigger context
8
+ # ✅ A1.3: Model explicitly specified
9
+ # ✅ A1.4: Bash justified with inline comment
10
+ # ✅ A2.1: "You are..." role statement
11
+ # ✅ A2.2: Output format section defined
12
+ # ✅ A2.3: Scope + "When NOT to use"
13
+ # ✅ A2.4: Anti-hallucination section
14
+ # ✅ A3.1: 3+ usage examples
15
+ # ✅ A3.2: Edge cases documented
16
+ # ✅ A3.3: Error handling described
17
+ # ✅ A4.1: Single responsibility (code review only)
18
+ # ✅ A4.3: References related skills/agents
19
+ #
20
+ # ⚠️ Minor gap: A3.4 — integration docs could be more explicit
21
+ ---
22
+ name: code-reviewer
23
+ description: This agent should be used when the user asks to "review my code",
24
+ "check code quality", "review this PR", "look for bugs", "security review",
25
+ or "give feedback on my implementation". Reviews staged or committed changes
26
+ for quality, security, and correctness issues.
27
+ model: claude-sonnet-4-6
28
+ tools: [Read, Grep, Glob, Bash]
29
+ # Bash required for: git diff, git log, running lint checks
30
+
31
+ ---
32
+
33
+ # Code Reviewer Agent
34
+
35
+ Reviews code changes for quality, security, and correctness. Provides structured
36
+ feedback with severity levels and concrete improvement suggestions.
37
+
38
+ ## Role
39
+
40
+ You are a senior code reviewer with expertise in security vulnerabilities,
41
+ performance patterns, and maintainability. Your job is to identify real issues
42
+ that would cause problems in production — not stylistic preferences or micro-
43
+ optimizations. Focus on bugs, security vulnerabilities, logic errors, and
44
+ maintainability problems.
45
+
46
+ ## Scope
47
+
48
+ **Review**: Staged changes (`git diff --cached`), committed changes (`git diff HEAD~1`),
49
+ or specific files provided by the user.
50
+
51
+ **Do NOT review**: Generated files, `node_modules/`, `dist/`, `*.lock` files,
52
+ binary files.
53
+
54
+ **When NOT to use this agent**:
55
+ - Architecture decisions → use `solution-architect` agent
56
+ - Writing tests → use `test-writer` agent
57
+ - Performance profiling → run profiler first, then use this agent on hotspots
58
+
59
+ ## Methodology
60
+
61
+ 1. Identify changed files: `git diff --name-only` or user-provided files
62
+ 2. For each file: read with context (surrounding code, not just diff)
63
+ 3. Evaluate against criteria below
64
+ 4. Generate structured report
65
+
66
+ ### Review Criteria
67
+
68
+ **Security** (Critical — block production):
69
+ - SQL injection, XSS, command injection vectors
70
+ - Hardcoded credentials or secrets in code
71
+ - Unvalidated input at system boundaries (user input, API responses, file reads)
72
+ - Overly permissive CORS, auth bypass patterns
73
+
74
+ **Correctness** (High — likely causes bugs):
75
+ - Off-by-one errors, logic inversions
76
+ - Unhandled exceptions or null/undefined dereferences
77
+ - Race conditions in async code
78
+ - Incorrect error propagation (swallowing errors)
79
+
80
+ **Performance** (Medium — degrades at scale):
81
+ - N+1 query patterns
82
+ - Synchronous I/O in async contexts
83
+ - Unbounded loops or missing pagination
84
+
85
+ **Maintainability** (Low — increases tech debt):
86
+ - Functions >40 lines without clear justification
87
+ - Missing error context in catch blocks
88
+ - Unclear naming in non-trivial logic
89
+
90
+ ## Output Format
91
+
92
+ ```markdown
93
+ ## Code Review: [file or PR title]
94
+
95
+ **Summary**: [1–2 sentence overall assessment]
96
+ **Verdict**: APPROVE / REQUEST CHANGES / BLOCKING
97
+
98
+ ### 🔴 Critical (must fix before merge)
99
+ - **[File:Line]** [Issue]
100
+ - Impact: [what goes wrong in production]
101
+ - Fix: [concrete actionable suggestion]
102
+
103
+ ### 🟡 Important (should fix)
104
+ - **[File:Line]** [Issue]
105
+ - Fix: [suggestion]
106
+
107
+ ### 🔵 Minor (optional polish)
108
+ ...
109
+
110
+ ### ✅ Positives
111
+ [2–3 specific things done well — required, not optional]
112
+ ```
113
+
114
+ ## Source Verification
115
+
116
+ - Base all feedback on actual code seen in the diff — never assume patterns not shown
117
+ - If uncertain whether something is a bug: "This may cause issues if [condition]…"
118
+ - Never invent API signatures, library behaviors, or version requirements
119
+ - Do not cite performance numbers without measurement evidence
120
+
121
+ ## Examples
122
+
123
+ 1. "Review my changes before commit" → run `git diff --cached`, review staged changes
124
+ 2. "Review the auth PR" → run `git diff main...HEAD`, review branch changes
125
+ 3. "Check this file for security issues" → review specified file for security criteria only
126
+ 4. "Quick review" → focus on Critical and High issues only, skip Low
127
+
128
+ ## Edge Cases
129
+
130
+ - **Empty diff**: Warn "No staged/changed files found" and exit
131
+ - **Binary files**: Skip with note "Binary file skipped (not reviewable)"
132
+ - **Very large diffs (>200 files)**: Ask user to scope to specific directories
133
+ - **Generated code** (e.g., `*.generated.ts`): Skip automatically
134
+
135
+ ## Error Handling
136
+
137
+ - If `git` is not available: switch to direct file analysis
138
+ - If file cannot be read: note in report and continue with other files
139
+ - If user provides invalid path: report "File not found: [path]"
140
+
141
+ ## Works With
142
+
143
+ - After review: use `commit-helper` skill for conventional commit message
144
+ - For test gaps found: mention `test-writer` agent for coverage
145
+ - For architecture concerns: escalate to `solution-architect` agent
@@ -0,0 +1,126 @@
1
+ # ✅ GOOD CLAUDE.md SNIPPET EXAMPLE
2
+ # Score: ~27/30 pts (Grade A)
3
+ #
4
+ # ✅ R1.1: Coding standards defined (TypeScript section)
5
+ # ✅ R1.2: Workflow policies explicit (Git, Testing)
6
+ # ✅ R1.3: Critical rules with MANDATORY/NEVER + triggers
7
+ # ✅ R2.1: Actionable — starts with verbs (Use, Run, Add, Never)
8
+ # ✅ R2.2: Trigger conditions stated ("when user says", "for TypeScript files")
9
+ # ✅ R2.3: Explicit prohibitions with examples
10
+ # ✅ R3.1: Organized H2 sections
11
+ # ✅ R3.2: Quick-reference table
12
+ # ✅ R3.3: ✅/❌ pattern examples
13
+ # ✅ R4.2: Technology versions mentioned
14
+ # ✅ R4.3: Project context stated
15
+ #
16
+ # ⚠️ Minor gap: R4.1 — one minor contradiction possible (needs manual check)
17
+
18
+ ---
19
+ # CLAUDE.md — Acme API Service
20
+
21
+ **Project**: REST API backend for Acme platform (Node.js 22, TypeScript 5.4)
22
+ **Team**: Platform Engineering
23
+
24
+ ---
25
+
26
+ ## ⚡ Task Classifier (Scan First)
27
+
28
+ | Keywords in request | Apply policy |
29
+ |--------------------|-------------|
30
+ | "commit", "push", "branch", "PR" | → Git Policy below |
31
+ | "test", "spec", "vitest" | → Testing Policy below |
32
+ | TypeScript, imports, types | → TypeScript Standards below |
33
+ | "deploy", "release", "build" | → Build Policy below |
34
+
35
+ ---
36
+
37
+ ## 🚨 Critical Rules (MANDATORY)
38
+
39
+ 🚨 **NEVER commit to `main` directly.** Always use feature branches.
40
+
41
+ 🚨 **NEVER use `--no-verify` on git hooks.** If a hook fails, fix the underlying issue first.
42
+
43
+ 🚨 **NEVER write tests unless user explicitly asks.** Wait for "write tests", "add coverage", "create specs".
44
+
45
+ 🚨 **ALWAYS use `.js` extensions in TypeScript imports.** TypeScript compiles to ESM. Missing extension = runtime crash.
46
+
47
+ ---
48
+
49
+ ## TypeScript Standards
50
+
51
+ **Imports** — ES modules only:
52
+ ```typescript
53
+ ✅ import { foo } from './utils.js'
54
+ ✅ import type { Bar } from './types.js'
55
+ ❌ import { foo } from './utils' // missing .js extension
56
+ ❌ const { foo } = require('./utils') // CommonJS not allowed
57
+ ```
58
+
59
+ **Types** — strict mode, no `any` shortcuts:
60
+ ```typescript
61
+ ✅ function process(input: unknown): Result { ... }
62
+ ✅ const value = data as UserProfile // explicit assertion
63
+ ❌ function process(input: any) { ... } // defeats type safety
64
+ ```
65
+
66
+ **Async patterns**:
67
+ ```typescript
68
+ ✅ const result = await Promise.all([a(), b()]) // parallel where possible
69
+ ❌ const r1 = await a() // sequential bottleneck
70
+ ❌ const r2 = await b()
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Git Policy
76
+
77
+ **Branch naming**: `<type>/<description>` — e.g., `feat/add-oauth`, `fix/token-refresh`
78
+
79
+ **Commit format**: Conventional Commits:
80
+ ```
81
+ feat(auth): add token refresh on 401 response
82
+ fix(api): handle null user in profile endpoint
83
+ chore: update eslint to v9
84
+ ```
85
+
86
+ **PR requirements**:
87
+ - [ ] Branch is up to date with `main`
88
+ - [ ] All CI checks pass
89
+ - [ ] No `console.log` or debug code
90
+
91
+ **Never do**:
92
+ - ❌ `git push --force` to `main` (destructive, permanently loses history)
93
+ - ❌ `git commit --amend` on published commits (breaks teammates' history)
94
+
95
+ ---
96
+
97
+ ## Testing Policy
98
+
99
+ **MANDATORY**: Write tests ONLY when user explicitly says "write tests", "add coverage", "create unit tests".
100
+
101
+ **Never proactively write or suggest tests.**
102
+
103
+ Test commands:
104
+ ```bash
105
+ npm test # all tests
106
+ npm run test:unit # unit only
107
+ npm run test:coverage # with coverage report
108
+ ```
109
+
110
+ Framework: Vitest 4.x. All tests use dynamic imports for mocking (not static).
111
+
112
+ ---
113
+
114
+ ## Build Policy
115
+
116
+ **Node.js**: >= 22.0.0 required (`node --version`)
117
+ **npm**: bundled with Node — no yarn or pnpm
118
+ **Build output**: `dist/` (gitignored)
119
+
120
+ ```bash
121
+ npm run build # TypeScript → dist/
122
+ npm run lint # ESLint (zero warnings required)
123
+ npm run ci # Full pipeline: lint + build + test
124
+ ```
125
+
126
+ **Before deploying**: All CI checks must pass. No bypassing.
@@ -0,0 +1,170 @@
1
+ ---
2
+ # ✅ GOOD COMMAND EXAMPLE
3
+ # Score: ~19/20 pts (Grade A)
4
+ #
5
+ # ✅ C1.1: Valid frontmatter with name + description
6
+ # ✅ C1.2: argument-hint matches $ARGUMENTS usage
7
+ # ✅ C1.3: Phase-based numbered workflow
8
+ # ✅ C1.4: Usage examples section present
9
+ # ✅ C2.1: Error handling table with failure cases
10
+ # ✅ C2.2: Output format defined
11
+ # ✅ C2.3: Validation gates (confirm before creating)
12
+ # ✅ C2.4: Argument parsing with defaults shown
13
+ #
14
+ # ⚠️ Minor gap: C2.4 — could show more complex argument validation
15
+ name: create-jira-ticket
16
+ description: Create a structured Jira ticket from code context, error analysis, or user description
17
+ argument-hint: "<type> <title> [--priority high|medium|low]"
18
+ ---
19
+
20
+ # Create Jira Ticket
21
+
22
+ Creates a well-structured Jira ticket in the EPM-CDME project based on code
23
+ context, error analysis, or user description. Follows project template with
24
+ acceptance criteria and technical notes.
25
+
26
+ ## Arguments
27
+
28
+ | Argument | Values | Default | Description |
29
+ |----------|--------|---------|-------------|
30
+ | `<type>` | `bug`, `story`, `task`, `epic` | required | Ticket type |
31
+ | `<title>` | string | required | Brief ticket title |
32
+ | `--priority` | `high`, `medium`, `low` | `medium` | Priority level |
33
+
34
+ ## Usage
35
+
36
+ ```bash
37
+ /create-jira-ticket bug "Login fails on mobile Safari"
38
+ /create-jira-ticket story "Add dark mode toggle" --priority high
39
+ /create-jira-ticket task "Update API documentation"
40
+ /create-jira-ticket epic "Authentication system refactor"
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Phase 1: Parse and Validate Arguments
46
+
47
+ Parse `$ARGUMENTS`:
48
+
49
+ 1. Extract `<type>` — first token. If missing or invalid:
50
+ ```
51
+ Valid types: bug, story, task, epic
52
+ What type of ticket? [bug/story/task/epic]
53
+ ```
54
+
55
+ 2. Extract `<title>` — remaining text before flags. If missing:
56
+ ```
57
+ What should the ticket title be?
58
+ ```
59
+
60
+ 3. Extract `--priority` flag. Default: `medium`
61
+
62
+ 4. Validate:
63
+ - [ ] Type is one of: bug, story, task, epic
64
+ - [ ] Title is not empty
65
+ - [ ] Title length ≤ 255 characters (Jira limit)
66
+
67
+ **Abort if**: `JIRA_TOKEN` env var is not set — print:
68
+ ```
69
+ Error: JIRA_TOKEN environment variable is required.
70
+ Set it with: export JIRA_TOKEN=your-token
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Phase 2: Gather Context
76
+
77
+ Collect relevant context based on type:
78
+
79
+ **For `bug`**:
80
+ - Run `git log --oneline -5` to show recent changes
81
+ - Read any error output or stack traces mentioned by user
82
+ - Identify affected file(s) if mentioned
83
+
84
+ **For `story`**:
85
+ - Read related files to understand current implementation
86
+ - Note what's missing vs what's needed
87
+
88
+ **For `task`** or **`epic`**:
89
+ - Review scope from user description
90
+ - Check for related existing tickets if mentioned
91
+
92
+ ---
93
+
94
+ ## Phase 3: Generate Ticket Description
95
+
96
+ Use the EPM-CDME template:
97
+
98
+ ```markdown
99
+ ## Problem Statement
100
+ [Concrete, observable description of the bug or need.
101
+ For bugs: what happens vs what should happen.
102
+ For stories: what capability is missing.]
103
+
104
+ ## Acceptance Criteria
105
+ - [ ] Criterion 1 (testable, pass/fail)
106
+ - [ ] Criterion 2
107
+ - [ ] Criterion 3 (minimum 3 criteria)
108
+
109
+ ## Technical Notes
110
+ [Implementation hints, related files, potential approach, dependencies]
111
+
112
+ ## Priority Justification
113
+ [Why this priority level: high = user-blocking, medium = important, low = nice-to-have]
114
+ ```
115
+
116
+ Checklist before proceeding:
117
+ - [ ] Problem is concrete and observable (not vague)
118
+ - [ ] Acceptance criteria are testable (binary pass/fail)
119
+ - [ ] Technical notes reference actual files or components
120
+ - [ ] Priority matches user impact
121
+
122
+ ---
123
+
124
+ ## Phase 4: Confirm Before Creating
125
+
126
+ Show the draft ticket for user approval:
127
+
128
+ ```
129
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
130
+ Creating Jira Ticket:
131
+ Project: EPM-CDME
132
+ Type: [Bug | Story | Task | Epic]
133
+ Title: [title]
134
+ Priority: [High | Medium | Low]
135
+
136
+ Description preview:
137
+ [first 200 chars of description...]
138
+
139
+ Create ticket? [y/n/edit]
140
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
141
+ ```
142
+
143
+ - If `n`: Print "Cancelled." Exit cleanly.
144
+ - If `edit`: Re-prompt for which field to change.
145
+ - If `y`: Proceed to Phase 5.
146
+
147
+ ---
148
+
149
+ ## Phase 5: Create and Report
150
+
151
+ 1. POST to Jira API using `JIRA_TOKEN`
152
+ 2. On success:
153
+ ```
154
+ ✓ Created: EPM-CDME-1234
155
+ https://jira.example.com/browse/EPM-CDME-1234
156
+ ```
157
+ 3. On failure: see Error Handling
158
+
159
+ ---
160
+
161
+ ## Error Handling
162
+
163
+ | Error | Action |
164
+ |-------|--------|
165
+ | `JIRA_TOKEN` not set | Print setup instructions. Exit without saving draft. |
166
+ | API 401 Unauthorized | "Invalid token. Check JIRA_TOKEN value." |
167
+ | API 403 Forbidden | "No permission for EPM-CDME project. Contact admin." |
168
+ | API 429 Rate Limited | Wait 30s, retry once. If fails again: save draft. |
169
+ | Network unreachable | Save draft to `./jira-ticket-draft.md`, print path. |
170
+ | Title >255 chars | Truncate to 252 chars, append "...", warn user. |
@@ -0,0 +1,46 @@
1
+ {
2
+ "_comment": "✅ GOOD HOOKS EXAMPLE — Score: ~18/20 pts (Grade A)",
3
+ "_notes": {
4
+ "H1.1": "✅ Valid JSON structure",
5
+ "H1.2": "✅ All event types are recognized (PreToolUse, PostToolUse)",
6
+ "H2.1": "✅ No hardcoded credentials — uses env var $AUDIT_WEBHOOK_URL",
7
+ "H2.2": "✅ Bash scripts use set -e and trap for error handling",
8
+ "H3.1": "✅ Matchers are scoped to specific tools (Write|Edit, Bash) not .*",
9
+ "H3.2": "✅ Each hook has a description field explaining its purpose"
10
+ },
11
+ "hooks": [
12
+ {
13
+ "event": "PreToolUse",
14
+ "description": "Block direct file writes to main branch — prevents accidental commits to protected branch",
15
+ "matcher": "Write|Edit",
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "bash -c 'set -e; trap \"echo Hook check failed >&2\" ERR; BRANCH=$(git branch --show-current 2>/dev/null || echo \"\"); if [ \"$BRANCH\" = \"main\" ] || [ \"$BRANCH\" = \"master\" ]; then echo \"ERROR: Direct writes to $BRANCH are blocked. Create a feature branch first.\" >&2; exit 1; fi'"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "event": "PostToolUse",
25
+ "description": "Run ESLint after TypeScript file modifications to catch issues immediately",
26
+ "matcher": "Edit|Write",
27
+ "hooks": [
28
+ {
29
+ "type": "command",
30
+ "command": "bash -c 'set -e; trap \"echo Lint hook failed on line $LINENO >&2\" ERR; FILE=$(echo \"$CLAUDE_TOOL_OUTPUT\" | grep -o \"[^ ]*\\.ts\" | head -1 || true); if [ -n \"$FILE\" ] && [ -f \"$FILE\" ]; then npx eslint \"$FILE\" --max-warnings=0 --quiet 2>&1 | tail -10; fi'"
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "event": "PostToolUse",
36
+ "description": "Log tool usage for audit trail — posts to team webhook for compliance tracking",
37
+ "matcher": "Bash",
38
+ "hooks": [
39
+ {
40
+ "type": "command",
41
+ "command": "bash -c 'set -e; if [ -n \"$AUDIT_WEBHOOK_URL\" ]; then curl -sf -X POST \"$AUDIT_WEBHOOK_URL\" -H \"Content-Type: application/json\" -d \"{\\\"event\\\": \\\"bash_used\\\", \\\"session\\\": \\\"$CLAUDE_SESSION_ID\\\"}\" > /dev/null 2>&1 || true; fi'"
42
+ }
43
+ ]
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,144 @@
1
+ ---
2
+ # ✅ GOOD SKILL EXAMPLE
3
+ # Score: ~30/32 pts (Grade A)
4
+ # What makes it good: See inline comments marked ✅
5
+ #
6
+ # ✅ S1.1: Named SKILL.md in skills/ directory
7
+ # ✅ S1.2: name is [a-z0-9-]+ pattern
8
+ # ✅ S1.3: Description >20 chars, third-person, specific triggers
9
+ # ✅ S1.4: allowed-tools explicitly specified
10
+ # ✅ S2.1: Step-by-step methodology
11
+ # ✅ S2.2: Output format section defined
12
+ # ✅ S2.3: Concrete examples provided
13
+ # ✅ S2.4: Actionable checklists present
14
+ # ✅ S3.1: No absolute paths
15
+ # ✅ S3.2: No secrets
16
+ # ✅ S4.1: Single focused purpose
17
+ # ✅ S4.2: "When to use" section present
18
+ #
19
+ # ⚠️ Minor gap: S3.4 — no dependencies section (would add 1 pt)
20
+ ---
21
+ name: commit-helper
22
+ description: This skill should be used when the user asks to "commit my changes",
23
+ "create a conventional commit", "write a commit message", "stage and commit files",
24
+ or wants to follow conventional commits format. Guides through staged file review,
25
+ semantic commit message generation, and commit creation with pre-commit validation.
26
+ allowed-tools: [Read, Bash, Glob]
27
+ version: 1.0.0
28
+
29
+ ---
30
+
31
+ # Commit Helper
32
+
33
+ Guides staged commit creation following the Conventional Commits specification.
34
+ Generates semantic commit messages based on diff analysis and confirms before committing.
35
+
36
+ ## When to Use
37
+
38
+ Use this skill when:
39
+ - User has staged changes and wants a commit message
40
+ - User wants to follow conventional commits format automatically
41
+ - User needs to review staged changes before committing
42
+ - User says "commit", "create a commit", "stage and commit"
43
+
44
+ Do NOT use this skill for:
45
+ - Pushing to remote (that's a separate action requiring user confirmation)
46
+ - Creating pull requests (use `pr-creator` skill)
47
+ - Branch management operations
48
+
49
+ ## Methodology
50
+
51
+ ### Step 1: Review Staged Changes
52
+
53
+ 1. Run `git status` to list staged and unstaged files
54
+ 2. Run `git diff --cached` to review the full staged diff
55
+ 3. If no files staged: warn user and exit — do not commit unstaged work
56
+
57
+ ### Step 2: Determine Commit Type
58
+
59
+ Map changes to conventional commit types:
60
+
61
+ | Type | When to use |
62
+ |------|-------------|
63
+ | `feat` | New feature or behavior added |
64
+ | `fix` | Bug fix |
65
+ | `refactor` | Code change that neither fixes a bug nor adds feature |
66
+ | `docs` | Documentation only |
67
+ | `test` | Adding or updating tests |
68
+ | `chore` | Build process, tooling, dependencies |
69
+ | `ci` | CI/CD pipeline changes |
70
+ | `perf` | Performance improvement |
71
+
72
+ ### Step 3: Generate Commit Message
73
+
74
+ Format:
75
+ ```
76
+ <type>(<scope>): <description>
77
+
78
+ [optional body]
79
+
80
+ [optional footer]
81
+ ```
82
+
83
+ Checklist:
84
+ - [ ] Type is lowercase and from the table above
85
+ - [ ] Scope is the module, component, or area affected
86
+ - [ ] Description is imperative mood ("add" not "added"), lowercase, <72 chars, no period
87
+ - [ ] Body explains WHY (not WHAT — the diff shows WHAT)
88
+ - [ ] Breaking changes use `feat!:` or `fix!:` and include `BREAKING CHANGE:` footer
89
+
90
+ ### Step 4: Confirm and Commit
91
+
92
+ Show the proposed commit for user approval:
93
+ ```
94
+ Staged files:
95
+ modified: src/auth/login.ts
96
+ modified: src/auth/token.ts
97
+
98
+ Proposed commit:
99
+ fix(auth): refresh OAuth token before expiry on 401 response
100
+
101
+ Tokens were silently expiring mid-session causing user logout.
102
+ Refresh is now triggered proactively when token age > 80% of TTL.
103
+
104
+ Commit? [y/n/edit]
105
+ ```
106
+
107
+ - [ ] User confirmed `y` before running `git commit`
108
+ - [ ] If user says `edit`: re-prompt for message
109
+ - [ ] Never use `--no-verify` unless user explicitly requests it
110
+
111
+ ## Output Format
112
+
113
+ ```
114
+ Staged: [list of files]
115
+
116
+ Proposed message:
117
+ [type(scope): description]
118
+
119
+ [body if needed]
120
+
121
+ ✓ Committed: [hash] [message]
122
+ ```
123
+
124
+ ## Error Handling
125
+
126
+ | Situation | Action |
127
+ |-----------|--------|
128
+ | No staged files | Print: "No staged files. Use `git add` first." Exit. |
129
+ | User cancels | Print: "Commit cancelled." Exit cleanly. |
130
+ | Pre-commit hook fails | Print hook output, do NOT retry, suggest fixing the issue |
131
+ | `git commit` fails | Show error message, do not suppress it |
132
+
133
+ ## Examples
134
+
135
+ ```bash
136
+ # User: "commit my changes"
137
+ → Run git status + diff, generate message, show for confirmation
138
+
139
+ # User: "commit the auth fix as a hotfix"
140
+ → Use type=fix, analyze staged auth files, generate message
141
+
142
+ # User: "commit with message 'update readme'"
143
+ → Use user's message, format to conventional commits if needed
144
+ ```