ai-engineering-init 1.1.0

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 (313) hide show
  1. package/.claude/agents/code-reviewer.md +139 -0
  2. package/.claude/agents/project-manager.md +159 -0
  3. package/.claude/audio/completed.wav +0 -0
  4. package/.claude/commands/add-todo.md +255 -0
  5. package/.claude/commands/check.md +210 -0
  6. package/.claude/commands/crud.md +454 -0
  7. package/.claude/commands/dev.md +503 -0
  8. package/.claude/commands/init-docs.md +681 -0
  9. package/.claude/commands/next.md +251 -0
  10. package/.claude/commands/progress.md +242 -0
  11. package/.claude/commands/start.md +199 -0
  12. package/.claude/commands/sync.md +307 -0
  13. package/.claude/commands/update-status.md +428 -0
  14. package/.claude/docs/Mixin/344/275/277/347/224/250/346/214/207/345/215/227.md +299 -0
  15. package/.claude/docs/README.md +167 -0
  16. package/.claude/docs//345/211/215/347/253/257/345/274/200/345/217/221/346/214/207/345/215/227.md +599 -0
  17. package/.claude/docs//345/220/216/347/253/257/345/274/200/345/217/221/346/214/207/345/215/227.md +726 -0
  18. package/.claude/docs//345/267/245/344/275/234/346/265/201/345/274/200/345/217/221/346/214/207/345/215/227.md +714 -0
  19. package/.claude/docs//345/267/245/345/205/267/347/261/273/344/275/277/347/224/250/346/214/207/345/215/227.md +463 -0
  20. package/.claude/docs//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/350/247/204/350/214/203.md +390 -0
  21. package/.claude/docs//346/226/260/345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213/350/247/204/350/214/203.md +688 -0
  22. package/.claude/docs//346/226/260/351/241/271/347/233/256/345/274/200/345/217/221/346/265/201/347/250/213.md +365 -0
  23. package/.claude/docs//346/241/206/346/236/266/350/257/264/346/230/216.md +393 -0
  24. package/.claude/docs//350/267/257/347/224/261/351/205/215/347/275/256/346/214/207/345/215/227.md +246 -0
  25. package/.claude/framework-config.json +73 -0
  26. package/.claude/hooks/pre-tool-use.js +117 -0
  27. package/.claude/hooks/skill-forced-eval.js +167 -0
  28. package/.claude/hooks/stop.js +58 -0
  29. package/.claude/settings.json +41 -0
  30. package/.claude/skills/add-skill/SKILL.md +352 -0
  31. package/.claude/skills/api-development/SKILL.md +560 -0
  32. package/.claude/skills/architecture-design/SKILL.md +756 -0
  33. package/.claude/skills/backend-annotations/SKILL.md +674 -0
  34. package/.claude/skills/banana-image/CHANGELOG.md +37 -0
  35. package/.claude/skills/banana-image/README.md +146 -0
  36. package/.claude/skills/banana-image/SKILL.md +164 -0
  37. package/.claude/skills/banana-image/assets/logo.png +0 -0
  38. package/.claude/skills/banana-image/references/advanced-usage.md +189 -0
  39. package/.claude/skills/banana-image/scripts/apply_template.py +125 -0
  40. package/.claude/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  41. package/.claude/skills/banana-image/scripts/batch_prep.py +82 -0
  42. package/.claude/skills/banana-image/scripts/package-lock.json +1437 -0
  43. package/.claude/skills/banana-image/scripts/package.json +18 -0
  44. package/.claude/skills/banana-image/scripts/requirements.txt +10 -0
  45. package/.claude/skills/banana-image/templates/poster.json +22 -0
  46. package/.claude/skills/banana-image/templates/product.json +17 -0
  47. package/.claude/skills/banana-image/templates/social.json +22 -0
  48. package/.claude/skills/banana-image/templates/thumbnail.json +17 -0
  49. package/.claude/skills/brainstorm/SKILL.md +648 -0
  50. package/.claude/skills/bug-detective/SKILL.md +1206 -0
  51. package/.claude/skills/code-patterns/SKILL.md +590 -0
  52. package/.claude/skills/collaborating-with-codex/SKILL.md +174 -0
  53. package/.claude/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  54. package/.claude/skills/collaborating-with-gemini/SKILL.md +194 -0
  55. package/.claude/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  56. package/.claude/skills/crud-development/SKILL.md +649 -0
  57. package/.claude/skills/data-permission/SKILL.md +599 -0
  58. package/.claude/skills/database-ops/SKILL.md +407 -0
  59. package/.claude/skills/error-handler/SKILL.md +371 -0
  60. package/.claude/skills/file-oss-management/SKILL.md +863 -0
  61. package/.claude/skills/git-workflow/SKILL.md +375 -0
  62. package/.claude/skills/json-serialization/SKILL.md +357 -0
  63. package/.claude/skills/leniu-api-development/SKILL.md +803 -0
  64. package/.claude/skills/leniu-architecture-design/SKILL.md +598 -0
  65. package/.claude/skills/leniu-backend-annotations/SKILL.md +664 -0
  66. package/.claude/skills/leniu-code-patterns/SKILL.md +365 -0
  67. package/.claude/skills/leniu-crud-development/SKILL.md +1110 -0
  68. package/.claude/skills/leniu-data-permission/SKILL.md +256 -0
  69. package/.claude/skills/leniu-database-ops/SKILL.md +426 -0
  70. package/.claude/skills/leniu-error-handler/SKILL.md +462 -0
  71. package/.claude/skills/leniu-java-amount-handling/SKILL.md +461 -0
  72. package/.claude/skills/leniu-java-code-style/SKILL.md +510 -0
  73. package/.claude/skills/leniu-java-concurrent/SKILL.md +400 -0
  74. package/.claude/skills/leniu-java-entity/SKILL.md +751 -0
  75. package/.claude/skills/leniu-java-export/SKILL.md +560 -0
  76. package/.claude/skills/leniu-java-logging/SKILL.md +832 -0
  77. package/.claude/skills/leniu-java-mq/SKILL.md +338 -0
  78. package/.claude/skills/leniu-java-mybatis/SKILL.md +640 -0
  79. package/.claude/skills/leniu-java-report-query-param/SKILL.md +291 -0
  80. package/.claude/skills/leniu-java-task/SKILL.md +367 -0
  81. package/.claude/skills/leniu-java-total-line/SKILL.md +195 -0
  82. package/.claude/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  83. package/.claude/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  84. package/.claude/skills/leniu-mealtime/SKILL.md +215 -0
  85. package/.claude/skills/leniu-redis-cache/SKILL.md +316 -0
  86. package/.claude/skills/leniu-security-guard/SKILL.md +520 -0
  87. package/.claude/skills/leniu-utils-toolkit/SKILL.md +380 -0
  88. package/.claude/skills/openspec-apply-change/SKILL.md +156 -0
  89. package/.claude/skills/openspec-archive-change/SKILL.md +114 -0
  90. package/.claude/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  91. package/.claude/skills/openspec-continue-change/SKILL.md +118 -0
  92. package/.claude/skills/openspec-explore/SKILL.md +290 -0
  93. package/.claude/skills/openspec-ff-change/SKILL.md +101 -0
  94. package/.claude/skills/openspec-new-change/SKILL.md +74 -0
  95. package/.claude/skills/openspec-onboard/SKILL.md +529 -0
  96. package/.claude/skills/openspec-sync-specs/SKILL.md +138 -0
  97. package/.claude/skills/openspec-verify-change/SKILL.md +168 -0
  98. package/.claude/skills/performance-doctor/SKILL.md +627 -0
  99. package/.claude/skills/project-navigator/SKILL.md +305 -0
  100. package/.claude/skills/redis-cache/SKILL.md +839 -0
  101. package/.claude/skills/scheduled-jobs/SKILL.md +633 -0
  102. package/.claude/skills/security-guard/SKILL.md +748 -0
  103. package/.claude/skills/sms-mail/SKILL.md +766 -0
  104. package/.claude/skills/social-login/SKILL.md +668 -0
  105. package/.claude/skills/store-pc/SKILL.md +366 -0
  106. package/.claude/skills/task-tracker/SKILL.md +307 -0
  107. package/.claude/skills/tech-decision/SKILL.md +393 -0
  108. package/.claude/skills/tenant-management/SKILL.md +603 -0
  109. package/.claude/skills/test-development/SKILL.md +755 -0
  110. package/.claude/skills/ui-pc/SKILL.md +438 -0
  111. package/.claude/skills/utils-toolkit/SKILL.md +615 -0
  112. package/.claude/skills/websocket-sse/SKILL.md +716 -0
  113. package/.claude/skills/workflow-engine/SKILL.md +676 -0
  114. package/.claude/templates//345/276/205/345/212/236/346/270/205/345/215/225/346/250/241/346/235/277.md +56 -0
  115. package/.claude/templates//351/234/200/346/261/202/346/226/207/346/241/243/346/250/241/346/235/277.md +85 -0
  116. package/.claude/templates//351/241/271/347/233/256/347/212/266/346/200/201/346/250/241/346/235/277.md +43 -0
  117. package/.codex/skills/add-skill/SKILL.md +352 -0
  118. package/.codex/skills/add-todo/SKILL.md +269 -0
  119. package/.codex/skills/api-development/SKILL.md +693 -0
  120. package/.codex/skills/architecture-design/SKILL.md +628 -0
  121. package/.codex/skills/backend-annotations/SKILL.md +664 -0
  122. package/.codex/skills/banana-image/CHANGELOG.md +37 -0
  123. package/.codex/skills/banana-image/README.md +146 -0
  124. package/.codex/skills/banana-image/SKILL.md +164 -0
  125. package/.codex/skills/banana-image/assets/logo.png +0 -0
  126. package/.codex/skills/banana-image/references/advanced-usage.md +189 -0
  127. package/.codex/skills/banana-image/scripts/apply_template.py +125 -0
  128. package/.codex/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  129. package/.codex/skills/banana-image/scripts/batch_prep.py +82 -0
  130. package/.codex/skills/banana-image/scripts/package-lock.json +1437 -0
  131. package/.codex/skills/banana-image/scripts/package.json +18 -0
  132. package/.codex/skills/banana-image/scripts/requirements.txt +10 -0
  133. package/.codex/skills/banana-image/templates/poster.json +22 -0
  134. package/.codex/skills/banana-image/templates/product.json +17 -0
  135. package/.codex/skills/banana-image/templates/social.json +22 -0
  136. package/.codex/skills/banana-image/templates/thumbnail.json +17 -0
  137. package/.codex/skills/brainstorm/SKILL.md +648 -0
  138. package/.codex/skills/bug-detective/SKILL.md +1206 -0
  139. package/.codex/skills/check/SKILL.md +367 -0
  140. package/.codex/skills/code-patterns/SKILL.md +442 -0
  141. package/.codex/skills/collaborating-with-codex/SKILL.md +174 -0
  142. package/.codex/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  143. package/.codex/skills/collaborating-with-gemini/SKILL.md +194 -0
  144. package/.codex/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  145. package/.codex/skills/crud/SKILL.md +265 -0
  146. package/.codex/skills/crud-development/SKILL.md +637 -0
  147. package/.codex/skills/data-permission/SKILL.md +591 -0
  148. package/.codex/skills/database-ops/SKILL.md +553 -0
  149. package/.codex/skills/dev/SKILL.md +187 -0
  150. package/.codex/skills/error-handler/SKILL.md +361 -0
  151. package/.codex/skills/file-oss-management/SKILL.md +863 -0
  152. package/.codex/skills/git-workflow/SKILL.md +375 -0
  153. package/.codex/skills/init-docs/SKILL.md +194 -0
  154. package/.codex/skills/json-serialization/SKILL.md +357 -0
  155. package/.codex/skills/leniu-api-development/SKILL.md +803 -0
  156. package/.codex/skills/leniu-architecture-design/SKILL.md +594 -0
  157. package/.codex/skills/leniu-backend-annotations/SKILL.md +662 -0
  158. package/.codex/skills/leniu-code-patterns/SKILL.md +365 -0
  159. package/.codex/skills/leniu-crud-development/SKILL.md +1110 -0
  160. package/.codex/skills/leniu-data-permission/SKILL.md +256 -0
  161. package/.codex/skills/leniu-database-ops/SKILL.md +426 -0
  162. package/.codex/skills/leniu-error-handler/SKILL.md +462 -0
  163. package/.codex/skills/leniu-java-amount-handling/SKILL.md +461 -0
  164. package/.codex/skills/leniu-java-code-style/SKILL.md +510 -0
  165. package/.codex/skills/leniu-java-concurrent/SKILL.md +400 -0
  166. package/.codex/skills/leniu-java-entity/SKILL.md +751 -0
  167. package/.codex/skills/leniu-java-export/SKILL.md +560 -0
  168. package/.codex/skills/leniu-java-logging/SKILL.md +832 -0
  169. package/.codex/skills/leniu-java-mq/SKILL.md +338 -0
  170. package/.codex/skills/leniu-java-mybatis/SKILL.md +640 -0
  171. package/.codex/skills/leniu-java-report-query-param/SKILL.md +291 -0
  172. package/.codex/skills/leniu-java-task/SKILL.md +367 -0
  173. package/.codex/skills/leniu-java-total-line/SKILL.md +195 -0
  174. package/.codex/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  175. package/.codex/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  176. package/.codex/skills/leniu-mealtime/SKILL.md +215 -0
  177. package/.codex/skills/leniu-redis-cache/SKILL.md +316 -0
  178. package/.codex/skills/leniu-security-guard/SKILL.md +520 -0
  179. package/.codex/skills/leniu-utils-toolkit/SKILL.md +378 -0
  180. package/.codex/skills/next/SKILL.md +137 -0
  181. package/.codex/skills/openspec-apply-change/SKILL.md +156 -0
  182. package/.codex/skills/openspec-archive-change/SKILL.md +114 -0
  183. package/.codex/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  184. package/.codex/skills/openspec-continue-change/SKILL.md +118 -0
  185. package/.codex/skills/openspec-explore/SKILL.md +290 -0
  186. package/.codex/skills/openspec-ff-change/SKILL.md +101 -0
  187. package/.codex/skills/openspec-new-change/SKILL.md +74 -0
  188. package/.codex/skills/openspec-onboard/SKILL.md +529 -0
  189. package/.codex/skills/openspec-sync-specs/SKILL.md +138 -0
  190. package/.codex/skills/openspec-verify-change/SKILL.md +168 -0
  191. package/.codex/skills/performance-doctor/SKILL.md +627 -0
  192. package/.codex/skills/progress/SKILL.md +193 -0
  193. package/.codex/skills/project-navigator/SKILL.md +286 -0
  194. package/.codex/skills/redis-cache/SKILL.md +829 -0
  195. package/.codex/skills/scheduled-jobs/SKILL.md +633 -0
  196. package/.codex/skills/security-guard/SKILL.md +739 -0
  197. package/.codex/skills/sms-mail/SKILL.md +766 -0
  198. package/.codex/skills/social-login/SKILL.md +668 -0
  199. package/.codex/skills/start/SKILL.md +154 -0
  200. package/.codex/skills/store-pc/SKILL.md +491 -0
  201. package/.codex/skills/sync/SKILL.md +149 -0
  202. package/.codex/skills/task-tracker/SKILL.md +307 -0
  203. package/.codex/skills/tech-decision/SKILL.md +393 -0
  204. package/.codex/skills/tenant-management/SKILL.md +603 -0
  205. package/.codex/skills/test-development/SKILL.md +755 -0
  206. package/.codex/skills/ui-pc/SKILL.md +475 -0
  207. package/.codex/skills/update-status/SKILL.md +159 -0
  208. package/.codex/skills/utils-toolkit/SKILL.md +593 -0
  209. package/.codex/skills/websocket-sse/SKILL.md +716 -0
  210. package/.codex/skills/workflow-engine/SKILL.md +676 -0
  211. package/.cursor/agents/code-reviewer.md +139 -0
  212. package/.cursor/agents/project-manager.md +159 -0
  213. package/.cursor/commands/opsx-apply.md +152 -0
  214. package/.cursor/commands/opsx-archive.md +157 -0
  215. package/.cursor/commands/opsx-bulk-archive.md +242 -0
  216. package/.cursor/commands/opsx-continue.md +114 -0
  217. package/.cursor/commands/opsx-explore.md +174 -0
  218. package/.cursor/commands/opsx-ff.md +94 -0
  219. package/.cursor/commands/opsx-new.md +69 -0
  220. package/.cursor/commands/opsx-onboard.md +525 -0
  221. package/.cursor/commands/opsx-sync.md +134 -0
  222. package/.cursor/commands/opsx-verify.md +164 -0
  223. package/.cursor/mcp.json +22 -0
  224. package/.cursor/skills/add-skill/SKILL.md +352 -0
  225. package/.cursor/skills/api-development/SKILL.md +560 -0
  226. package/.cursor/skills/architecture-design/SKILL.md +756 -0
  227. package/.cursor/skills/backend-annotations/SKILL.md +674 -0
  228. package/.cursor/skills/banana-image/CHANGELOG.md +37 -0
  229. package/.cursor/skills/banana-image/README.md +146 -0
  230. package/.cursor/skills/banana-image/SKILL.md +164 -0
  231. package/.cursor/skills/banana-image/assets/logo.png +0 -0
  232. package/.cursor/skills/banana-image/references/advanced-usage.md +189 -0
  233. package/.cursor/skills/banana-image/scripts/apply_template.py +125 -0
  234. package/.cursor/skills/banana-image/scripts/banana_image_exec.ts +412 -0
  235. package/.cursor/skills/banana-image/scripts/batch_prep.py +82 -0
  236. package/.cursor/skills/banana-image/scripts/package-lock.json +1437 -0
  237. package/.cursor/skills/banana-image/scripts/package.json +18 -0
  238. package/.cursor/skills/banana-image/scripts/requirements.txt +10 -0
  239. package/.cursor/skills/banana-image/templates/poster.json +22 -0
  240. package/.cursor/skills/banana-image/templates/product.json +17 -0
  241. package/.cursor/skills/banana-image/templates/social.json +22 -0
  242. package/.cursor/skills/banana-image/templates/thumbnail.json +17 -0
  243. package/.cursor/skills/brainstorm/SKILL.md +648 -0
  244. package/.cursor/skills/bug-detective/SKILL.md +1206 -0
  245. package/.cursor/skills/code-patterns/SKILL.md +590 -0
  246. package/.cursor/skills/collaborating-with-codex/SKILL.md +174 -0
  247. package/.cursor/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
  248. package/.cursor/skills/collaborating-with-gemini/SKILL.md +194 -0
  249. package/.cursor/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
  250. package/.cursor/skills/crud-development/SKILL.md +649 -0
  251. package/.cursor/skills/data-permission/SKILL.md +599 -0
  252. package/.cursor/skills/database-ops/SKILL.md +407 -0
  253. package/.cursor/skills/error-handler/SKILL.md +371 -0
  254. package/.cursor/skills/file-oss-management/SKILL.md +863 -0
  255. package/.cursor/skills/git-workflow/SKILL.md +375 -0
  256. package/.cursor/skills/json-serialization/SKILL.md +357 -0
  257. package/.cursor/skills/leniu-api-development/SKILL.md +803 -0
  258. package/.cursor/skills/leniu-architecture-design/SKILL.md +598 -0
  259. package/.cursor/skills/leniu-backend-annotations/SKILL.md +664 -0
  260. package/.cursor/skills/leniu-code-patterns/SKILL.md +365 -0
  261. package/.cursor/skills/leniu-crud-development/SKILL.md +1110 -0
  262. package/.cursor/skills/leniu-data-permission/SKILL.md +256 -0
  263. package/.cursor/skills/leniu-database-ops/SKILL.md +426 -0
  264. package/.cursor/skills/leniu-error-handler/SKILL.md +462 -0
  265. package/.cursor/skills/leniu-java-amount-handling/SKILL.md +461 -0
  266. package/.cursor/skills/leniu-java-code-style/SKILL.md +510 -0
  267. package/.cursor/skills/leniu-java-concurrent/SKILL.md +400 -0
  268. package/.cursor/skills/leniu-java-entity/SKILL.md +751 -0
  269. package/.cursor/skills/leniu-java-export/SKILL.md +560 -0
  270. package/.cursor/skills/leniu-java-logging/SKILL.md +832 -0
  271. package/.cursor/skills/leniu-java-mq/SKILL.md +338 -0
  272. package/.cursor/skills/leniu-java-mybatis/SKILL.md +640 -0
  273. package/.cursor/skills/leniu-java-report-query-param/SKILL.md +291 -0
  274. package/.cursor/skills/leniu-java-task/SKILL.md +367 -0
  275. package/.cursor/skills/leniu-java-total-line/SKILL.md +195 -0
  276. package/.cursor/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
  277. package/.cursor/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
  278. package/.cursor/skills/leniu-mealtime/SKILL.md +215 -0
  279. package/.cursor/skills/leniu-redis-cache/SKILL.md +316 -0
  280. package/.cursor/skills/leniu-security-guard/SKILL.md +520 -0
  281. package/.cursor/skills/leniu-utils-toolkit/SKILL.md +380 -0
  282. package/.cursor/skills/openspec-apply-change/SKILL.md +156 -0
  283. package/.cursor/skills/openspec-archive-change/SKILL.md +114 -0
  284. package/.cursor/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  285. package/.cursor/skills/openspec-continue-change/SKILL.md +118 -0
  286. package/.cursor/skills/openspec-explore/SKILL.md +290 -0
  287. package/.cursor/skills/openspec-ff-change/SKILL.md +101 -0
  288. package/.cursor/skills/openspec-new-change/SKILL.md +74 -0
  289. package/.cursor/skills/openspec-onboard/SKILL.md +529 -0
  290. package/.cursor/skills/openspec-sync-specs/SKILL.md +138 -0
  291. package/.cursor/skills/openspec-verify-change/SKILL.md +168 -0
  292. package/.cursor/skills/performance-doctor/SKILL.md +627 -0
  293. package/.cursor/skills/project-navigator/SKILL.md +305 -0
  294. package/.cursor/skills/redis-cache/SKILL.md +839 -0
  295. package/.cursor/skills/scheduled-jobs/SKILL.md +633 -0
  296. package/.cursor/skills/security-guard/SKILL.md +748 -0
  297. package/.cursor/skills/sms-mail/SKILL.md +766 -0
  298. package/.cursor/skills/social-login/SKILL.md +668 -0
  299. package/.cursor/skills/store-pc/SKILL.md +366 -0
  300. package/.cursor/skills/task-tracker/SKILL.md +307 -0
  301. package/.cursor/skills/tech-decision/SKILL.md +393 -0
  302. package/.cursor/skills/tenant-management/SKILL.md +603 -0
  303. package/.cursor/skills/test-development/SKILL.md +755 -0
  304. package/.cursor/skills/ui-pc/SKILL.md +438 -0
  305. package/.cursor/skills/utils-toolkit/SKILL.md +615 -0
  306. package/.cursor/skills/websocket-sse/SKILL.md +716 -0
  307. package/.cursor/skills/workflow-engine/SKILL.md +676 -0
  308. package/AGENTS.md +669 -0
  309. package/CLAUDE.md +205 -0
  310. package/README.md +205 -0
  311. package/bin/index.js +179 -0
  312. package/init.sh +178 -0
  313. package/package.json +27 -0
@@ -0,0 +1,164 @@
1
+ ---
2
+ name: /opsx-verify
3
+ id: opsx-verify
4
+ category: Workflow
5
+ description: Verify implementation matches change artifacts before archiving
6
+ ---
7
+
8
+ Verify that an implementation matches the change artifacts (specs, tasks, design).
9
+
10
+ **Input**: Optionally specify a change name after `/opsx:verify` (e.g., `/opsx:verify add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
11
+
12
+ **Steps**
13
+
14
+ 1. **If no change name provided, prompt for selection**
15
+
16
+ Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.
17
+
18
+ Show changes that have implementation tasks (tasks artifact exists).
19
+ Include the schema used for each change if available.
20
+ Mark changes with incomplete tasks as "(In Progress)".
21
+
22
+ **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.
23
+
24
+ 2. **Check status to understand the schema**
25
+ ```bash
26
+ openspec status --change "<name>" --json
27
+ ```
28
+ Parse the JSON to understand:
29
+ - `schemaName`: The workflow being used (e.g., "spec-driven")
30
+ - Which artifacts exist for this change
31
+
32
+ 3. **Get the change directory and load artifacts**
33
+
34
+ ```bash
35
+ openspec instructions apply --change "<name>" --json
36
+ ```
37
+
38
+ This returns the change directory and context files. Read all available artifacts from `contextFiles`.
39
+
40
+ 4. **Initialize verification report structure**
41
+
42
+ Create a report structure with three dimensions:
43
+ - **Completeness**: Track tasks and spec coverage
44
+ - **Correctness**: Track requirement implementation and scenario coverage
45
+ - **Coherence**: Track design adherence and pattern consistency
46
+
47
+ Each dimension can have CRITICAL, WARNING, or SUGGESTION issues.
48
+
49
+ 5. **Verify Completeness**
50
+
51
+ **Task Completion**:
52
+ - If tasks.md exists in contextFiles, read it
53
+ - Parse checkboxes: `- [ ]` (incomplete) vs `- [x]` (complete)
54
+ - Count complete vs total tasks
55
+ - If incomplete tasks exist:
56
+ - Add CRITICAL issue for each incomplete task
57
+ - Recommendation: "Complete task: <description>" or "Mark as done if already implemented"
58
+
59
+ **Spec Coverage**:
60
+ - If delta specs exist in `openspec/changes/<name>/specs/`:
61
+ - Extract all requirements (marked with "### Requirement:")
62
+ - For each requirement:
63
+ - Search codebase for keywords related to the requirement
64
+ - Assess if implementation likely exists
65
+ - If requirements appear unimplemented:
66
+ - Add CRITICAL issue: "Requirement not found: <requirement name>"
67
+ - Recommendation: "Implement requirement X: <description>"
68
+
69
+ 6. **Verify Correctness**
70
+
71
+ **Requirement Implementation Mapping**:
72
+ - For each requirement from delta specs:
73
+ - Search codebase for implementation evidence
74
+ - If found, note file paths and line ranges
75
+ - Assess if implementation matches requirement intent
76
+ - If divergence detected:
77
+ - Add WARNING: "Implementation may diverge from spec: <details>"
78
+ - Recommendation: "Review <file>:<lines> against requirement X"
79
+
80
+ **Scenario Coverage**:
81
+ - For each scenario in delta specs (marked with "#### Scenario:"):
82
+ - Check if conditions are handled in code
83
+ - Check if tests exist covering the scenario
84
+ - If scenario appears uncovered:
85
+ - Add WARNING: "Scenario not covered: <scenario name>"
86
+ - Recommendation: "Add test or implementation for scenario: <description>"
87
+
88
+ 7. **Verify Coherence**
89
+
90
+ **Design Adherence**:
91
+ - If design.md exists in contextFiles:
92
+ - Extract key decisions (look for sections like "Decision:", "Approach:", "Architecture:")
93
+ - Verify implementation follows those decisions
94
+ - If contradiction detected:
95
+ - Add WARNING: "Design decision not followed: <decision>"
96
+ - Recommendation: "Update implementation or revise design.md to match reality"
97
+ - If no design.md: Skip design adherence check, note "No design.md to verify against"
98
+
99
+ **Code Pattern Consistency**:
100
+ - Review new code for consistency with project patterns
101
+ - Check file naming, directory structure, coding style
102
+ - If significant deviations found:
103
+ - Add SUGGESTION: "Code pattern deviation: <details>"
104
+ - Recommendation: "Consider following project pattern: <example>"
105
+
106
+ 8. **Generate Verification Report**
107
+
108
+ **Summary Scorecard**:
109
+ ```
110
+ ## Verification Report: <change-name>
111
+
112
+ ### Summary
113
+ | Dimension | Status |
114
+ |--------------|------------------|
115
+ | Completeness | X/Y tasks, N reqs|
116
+ | Correctness | M/N reqs covered |
117
+ | Coherence | Followed/Issues |
118
+ ```
119
+
120
+ **Issues by Priority**:
121
+
122
+ 1. **CRITICAL** (Must fix before archive):
123
+ - Incomplete tasks
124
+ - Missing requirement implementations
125
+ - Each with specific, actionable recommendation
126
+
127
+ 2. **WARNING** (Should fix):
128
+ - Spec/design divergences
129
+ - Missing scenario coverage
130
+ - Each with specific recommendation
131
+
132
+ 3. **SUGGESTION** (Nice to fix):
133
+ - Pattern inconsistencies
134
+ - Minor improvements
135
+ - Each with specific recommendation
136
+
137
+ **Final Assessment**:
138
+ - If CRITICAL issues: "X critical issue(s) found. Fix before archiving."
139
+ - If only warnings: "No critical issues. Y warning(s) to consider. Ready for archive (with noted improvements)."
140
+ - If all clear: "All checks passed. Ready for archive."
141
+
142
+ **Verification Heuristics**
143
+
144
+ - **Completeness**: Focus on objective checklist items (checkboxes, requirements list)
145
+ - **Correctness**: Use keyword search, file path analysis, reasonable inference - don't require perfect certainty
146
+ - **Coherence**: Look for glaring inconsistencies, don't nitpick style
147
+ - **False Positives**: When uncertain, prefer SUGGESTION over WARNING, WARNING over CRITICAL
148
+ - **Actionability**: Every issue must have a specific recommendation with file/line references where applicable
149
+
150
+ **Graceful Degradation**
151
+
152
+ - If only tasks.md exists: verify task completion only, skip spec/design checks
153
+ - If tasks + specs exist: verify completeness and correctness, skip design
154
+ - If full artifacts: verify all three dimensions
155
+ - Always note which checks were skipped and why
156
+
157
+ **Output Format**
158
+
159
+ Use clear markdown with:
160
+ - Table for summary scorecard
161
+ - Grouped lists for issues (CRITICAL/WARNING/SUGGESTION)
162
+ - Code references in format: `file.ts:123`
163
+ - Specific, actionable recommendations
164
+ - No vague suggestions like "consider reviewing"
@@ -0,0 +1,22 @@
1
+ {
2
+ "mcpServers": {
3
+ "sequential-thinking": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
6
+ "description": "链式推理 - 深度分析、仔细思考、全面评估时使用"
7
+ },
8
+ "context7": {
9
+ "command": "npx",
10
+ "args": ["-y", "@upstash/context7-mcp"],
11
+ "description": "官方文档查询 - 最佳实践、官方文档、标准写法时使用"
12
+ },
13
+ "github": {
14
+ "command": "npx",
15
+ "args": ["-y", "@modelcontextprotocol/server-github"],
16
+ "env": {
17
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
18
+ },
19
+ "description": "GitHub 集成 - 查询 Issues、PR、仓库信息"
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,352 @@
1
+ ---
2
+ name: add-skill
3
+ description: |
4
+ 当需要为框架增加新技能、为新的模块功能编写技能文档时自动使用此 Skill。
5
+
6
+ 触发场景:
7
+ - 需要为新模块添加技能
8
+ - 需要为新功能编写技能文档
9
+ - 需要扩展框架的技能系统
10
+ - 需要将实现步骤转化为可复用技能
11
+
12
+ 触发词:添加技能、创建技能、新技能、技能开发、写技能、技能文档、skill 创建
13
+ ---
14
+
15
+ # 技能创建指南
16
+
17
+ ## 概述
18
+
19
+ 本指南用于在 RuoYi-Vue-Plus 框架中添加新的技能(Skill)。技能通过 UserPromptSubmit Hook 自动评估和激活,确保 AI 在编码前加载领域专业知识。
20
+
21
+ **技能系统工作原理**:
22
+
23
+ ```
24
+ 用户提交问题
25
+ ↓ skill-forced-eval.js Hook 触发
26
+ 注入技能评估指令
27
+ ↓ AI 评估匹配的技能
28
+ 逐个调用 Skill(技能名)
29
+ ↓ 读取 .claude/skills/{技能名}/SKILL.md
30
+ AI 获得领域知识后开始实现
31
+ ```
32
+
33
+ ---
34
+
35
+ ## YAML 头部规范
36
+
37
+ 每个 SKILL.md 文件**必须**以 YAML 头部开始:
38
+
39
+ ```yaml
40
+ ---
41
+ name: {技能名称}
42
+ description: |
43
+ {第一行:简短描述(一句话说明技能用途或定位)}
44
+
45
+ 触发场景:
46
+ - {场景1}
47
+ - {场景2}
48
+ - {场景3}
49
+ (至少3个场景)
50
+
51
+ 触发词:{关键词1}、{关键词2}、{关键词3}、{关键词4}、{关键词5}
52
+ (至少5个触发词,用中文顿号分隔)
53
+ ---
54
+ ```
55
+
56
+ ### name 字段规范
57
+
58
+ | 规则 | 说明 | 示例 |
59
+ |------|------|------|
60
+ | **格式** | kebab-case(全小写,横线连接) | `json-serialization` |
61
+ | **禁止** | 下划线、驼峰、空格 | ~~`json_serialization`~~, ~~`jsonSerialization`~~ |
62
+ | **长度** | 1-4 个单词 | `ui-pc`, `crud-development`, `redis-cache` |
63
+
64
+ ### description 第一行风格
65
+
66
+ 第一行没有强制格式,参考现有技能的两种常见风格:
67
+
68
+ **风格 A:直述型**(多数技能采用)
69
+ ```yaml
70
+ description: |
71
+ 后端 CRUD 开发规范。基于 RuoYi-Vue-Plus 三层架构。
72
+ 后端安全开发规范。包含 Sa-Token 认证授权、数据脱敏。
73
+ 后端工具类使用指南。包含 MapstructUtils、StringUtils 等。
74
+ ```
75
+
76
+ **风格 B:触发型**
77
+ ```yaml
78
+ description: |
79
+ 当需要进行技术选型、对比方案时自动使用此 Skill。
80
+ 当需要为框架增加新技能时自动使用此 Skill。
81
+ ```
82
+
83
+ ### 实际技能 YAML 头部示例
84
+
85
+ ```yaml
86
+ ---
87
+ name: crud-development
88
+ description: |
89
+ 后端 CRUD 开发规范。基于 RuoYi-Vue-Plus 三层架构(Controller → Service → Mapper),无独立 DAO 层。
90
+
91
+ 触发场景:
92
+ - 新建业务模块的 CRUD 功能
93
+ - 创建 Entity、BO、VO、Service、Mapper、Controller
94
+ - 分页查询、新增、修改、删除、导出
95
+ - 查询条件构建(buildQueryWrapper)
96
+
97
+ 触发词:CRUD、增删改查、新建模块、Entity、BO、VO、Service、Mapper、Controller、分页查询、buildQueryWrapper、@AutoMapper、BaseMapperPlus、TenantEntity
98
+ ---
99
+ ```
100
+
101
+ ```yaml
102
+ ---
103
+ name: redis-cache
104
+ description: |
105
+ 当需要使用Redis缓存、分布式锁、限流等功能时自动使用此Skill。
106
+
107
+ 触发场景:
108
+ - 使用Redis缓存数据
109
+ - 配置Spring Cache缓存注解
110
+ - 实现分布式锁
111
+ - 实现接口限流
112
+
113
+ 触发词:Redis、缓存、Cache、@Cacheable、@CacheEvict、@CachePut、RedisUtils、CacheUtils、分布式锁、RLock、限流、RateLimiter
114
+ ---
115
+ ```
116
+
117
+ ---
118
+
119
+ ## 第 1 步:规划
120
+
121
+ ### 1.1 定义技能属性
122
+
123
+ 创建前先明确:
124
+
125
+ | 属性 | 说明 | 示例 |
126
+ |------|------|------|
127
+ | **名称** | kebab-case 格式 | `payment-gateway` |
128
+ | **类别** | 后端/通用/前端(需 plus-ui) | 后端 |
129
+ | **触发场景** | 至少 3 个具体场景 | 支付接入、退款处理、对账 |
130
+ | **触发词** | 至少 5 个关键词 | 支付、退款、订单、对账、Payment |
131
+ | **参考代码** | 项目中的真实代码位置 | `ruoyi-modules/ruoyi-system/` |
132
+
133
+ ### 1.2 检查范围冲突
134
+
135
+ 查看现有技能列表,确保不与已有技能重叠:
136
+
137
+ **当前已有技能**(`.claude/skills/` 下 33 个):
138
+
139
+ | 分类 | 技能 |
140
+ |------|------|
141
+ | 后端开发 | crud-development, api-development, database-ops, backend-annotations, utils-toolkit, error-handler |
142
+ | 安全权限 | security-guard, data-permission, tenant-management |
143
+ | 中间件 | redis-cache, json-serialization, scheduled-jobs, file-oss-management |
144
+ | 通信集成 | websocket-sse, sms-mail, social-login, workflow-engine |
145
+ | 质量保障 | test-development, bug-detective, performance-doctor, code-patterns |
146
+ | 架构决策 | architecture-design, tech-decision, brainstorm, project-navigator |
147
+ | 工具流程 | git-workflow, task-tracker, add-skill |
148
+ | 前端(需 plus-ui) | ui-pc, store-pc |
149
+ | 特殊功能 | banana-image, collaborating-with-codex, collaborating-with-gemini |
150
+
151
+ 如果新技能与现有技能有交集,在 SKILL.md 中用"注意"段落说明边界:
152
+ ```markdown
153
+ 注意:如果是认证授权(登录、Token、Sa-Token),请使用 security-guard。
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 第 2 步:编写 SKILL.md
159
+
160
+ ### 2.1 文件位置
161
+
162
+ ```
163
+ .claude/skills/{技能名}/SKILL.md
164
+ ```
165
+
166
+ ### 2.2 推荐内容结构
167
+
168
+ ```markdown
169
+ ---
170
+ name: {技能名称}
171
+ description: |
172
+ {描述、触发场景、触发词}
173
+ ---
174
+
175
+ # {技能标题}
176
+
177
+ ## 概述
178
+ {简明介绍,1-2 段}
179
+
180
+ ## 核心工具类/API
181
+ {主要类和方法列表}
182
+
183
+ ## 使用规范
184
+ {最佳实践和规则}
185
+
186
+ ## 代码示例
187
+ {真实代码片段}
188
+
189
+ ## 常见错误
190
+ {正确做法 vs 错误做法对比}
191
+
192
+ ## 注意
193
+ {与其他技能的边界说明}
194
+ ```
195
+
196
+ ### 2.3 内容质量要点
197
+
198
+ - **代码示例必须来自项目实际代码**,不要虚构类名、方法名
199
+ - **包名统一 `org.dromara.*`**,不要出现 `com.ruoyi.*`
200
+ - **三层架构**:Controller → Service → Mapper,无 DAO 层
201
+ - **对象转换用 `MapstructUtils.convert()`**,不要写 BeanUtils
202
+ - 技能不需要固定行数要求,以内容实用为准(实际范围 200-650 行)
203
+
204
+ ### 2.4 不同类型技能的侧重
205
+
206
+ | 类型 | 侧重 | 示例 |
207
+ |------|------|------|
208
+ | 后端开发类 | 代码模板、标准写法、禁止项 | crud-development |
209
+ | 工具类 | API 列表、使用示例、返回值 | utils-toolkit |
210
+ | 中间件类 | 配置方法、集成步骤、注意事项 | redis-cache |
211
+ | 流程类 | 步骤说明、决策树、检查清单 | brainstorm |
212
+
213
+ ---
214
+
215
+ ## 第 3 步:注册技能
216
+
217
+ 技能需要在两个位置注册,才能被系统识别和激活。
218
+
219
+ ### 3.1 在 Hook 中注册
220
+
221
+ **文件**:`.claude/hooks/skill-forced-eval.js`
222
+
223
+ 在 `可用技能(纯后端项目):` 列表中添加一行:
224
+
225
+ ```javascript
226
+ - {技能名}: {触发词,用/分隔}
227
+ ```
228
+
229
+ **示例**:
230
+ ```javascript
231
+ - payment-gateway: 支付/退款/对账/Payment/支付宝/微信支付
232
+ ```
233
+
234
+ **注意**:按逻辑分组插入,不是追加到末尾。
235
+
236
+ ### 3.2 在 AGENTS.md 中注册
237
+
238
+ **文件**:`AGENTS.md` 的"技能清单与触发条件"表格
239
+
240
+ 在对应分类下添加一行:
241
+
242
+ ```markdown
243
+ | `{技能名}` | {触发条件简述} |
244
+ ```
245
+
246
+ **示例**:
247
+ ```markdown
248
+ | `payment-gateway` | 支付接入、退款、对账、支付宝/微信支付 |
249
+ ```
250
+
251
+ ### 3.3 验证注册
252
+
253
+ ```bash
254
+ # 检查 hook 文件
255
+ grep "payment-gateway" .claude/hooks/skill-forced-eval.js
256
+
257
+ # 检查 AGENTS.md
258
+ grep "payment-gateway" AGENTS.md
259
+ ```
260
+
261
+ ---
262
+
263
+ ## 第 4 步:Codex 同步
264
+
265
+ 项目同时支持 Claude Code(`.claude/`)和 Codex CLI(`.codex/`)两个系统。
266
+
267
+ ### 同步步骤
268
+
269
+ ```bash
270
+ # 1. 创建 Codex 目录
271
+ mkdir -p .codex/skills/{技能名}
272
+
273
+ # 2. 复制文件
274
+ cp .claude/skills/{技能名}/SKILL.md .codex/skills/{技能名}/SKILL.md
275
+
276
+ # 3. 验证一致性
277
+ diff .claude/skills/{技能名}/SKILL.md .codex/skills/{技能名}/SKILL.md
278
+ ```
279
+
280
+ **注意**:
281
+ - `.codex/skills/` 中额外存放斜杠命令型技能(如 dev, crud, check 等),这些不需要在 `.claude/` 中创建
282
+ - 普通技能(非斜杠命令)需要保持两个目录一致
283
+
284
+ ---
285
+
286
+ ## 第 5 步:验证
287
+
288
+ ### 完整检查清单
289
+
290
+ **文件**:
291
+ - [ ] `.claude/skills/{技能名}/SKILL.md` 已创建
292
+ - [ ] `.codex/skills/{技能名}/SKILL.md` 已同步
293
+
294
+ **YAML 头部**:
295
+ - [ ] `name` 使用 kebab-case 格式
296
+ - [ ] description 包含触发场景(至少 3 个)
297
+ - [ ] description 包含触发词(至少 5 个)
298
+ - [ ] 各部分之间有空行
299
+
300
+ **注册**:
301
+ - [ ] `.claude/hooks/skill-forced-eval.js` 已添加技能条目
302
+ - [ ] `AGENTS.md` 已添加技能条目
303
+
304
+ **内容**:
305
+ - [ ] 代码示例来自项目实际代码,无虚构内容
306
+ - [ ] 包名使用 `org.dromara.*`
307
+ - [ ] 与现有技能无范围冲突(或已说明边界)
308
+
309
+ ---
310
+
311
+ ## 常见陷阱
312
+
313
+ ### 1. 遗漏注册
314
+
315
+ **症状**:技能文件存在但从不被激活
316
+
317
+ **原因**:只创建了 SKILL.md,没有在 Hook 和 AGENTS.md 中注册
318
+
319
+ **解决**:完成第 3 步的两处注册
320
+
321
+ ### 2. 触发词过于宽泛
322
+
323
+ **症状**:技能在不相关场景被频繁误触发
324
+
325
+ **原因**:触发词太通用(如"开发"、"功能")
326
+
327
+ **解决**:使用具体术语(如"CRUD开发"、"支付接入")
328
+
329
+ ### 3. 代码示例虚构
330
+
331
+ **症状**:AI 参考技能生成的代码使用了不存在的类或方法
332
+
333
+ **原因**:编写技能时没有验证引用的类名、方法名在项目中真实存在
334
+
335
+ **解决**:编写前用 Grep/Glob 搜索确认引用的类和方法确实存在
336
+
337
+ ### 4. 忘记同步到 Codex
338
+
339
+ **症状**:Claude Code 中正常,Codex CLI 中找不到技能
340
+
341
+ **原因**:只在 `.claude/skills/` 创建,未复制到 `.codex/skills/`
342
+
343
+ **解决**:`cp .claude/skills/{技能名}/SKILL.md .codex/skills/{技能名}/SKILL.md`
344
+
345
+ ### 5. 技能范围与现有技能重叠
346
+
347
+ **症状**:同一个问题触发多个技能,指导矛盾
348
+
349
+ **解决**:在 SKILL.md 末尾添加"注意"段落说明边界,例如:
350
+ ```
351
+ 注意:如果是行级数据权限(@DataPermission),请使用 data-permission。
352
+ ```