@heyai-rules/pilo-masterkit 1.2.2 → 3.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 (594) hide show
  1. package/.agent/agents/architect.md +211 -211
  2. package/.agent/agents/build-error-resolver.md +114 -114
  3. package/.agent/agents/chief-of-staff.md +151 -151
  4. package/.agent/agents/code-reviewer.md +237 -237
  5. package/.agent/agents/cpp-build-resolver.md +90 -90
  6. package/.agent/agents/cpp-reviewer.md +72 -72
  7. package/.agent/agents/csharp-reviewer.md +101 -0
  8. package/.agent/agents/dart-build-resolver.md +201 -0
  9. package/.agent/agents/database-reviewer.md +91 -91
  10. package/.agent/agents/doc-updater.md +107 -107
  11. package/.agent/agents/docs-lookup.md +68 -68
  12. package/.agent/agents/e2e-runner.md +107 -107
  13. package/.agent/agents/flutter-reviewer.md +243 -243
  14. package/.agent/agents/gan-evaluator.md +209 -0
  15. package/.agent/agents/gan-generator.md +131 -0
  16. package/.agent/agents/gan-planner.md +99 -0
  17. package/.agent/agents/go-build-resolver.md +94 -94
  18. package/.agent/agents/go-reviewer.md +76 -76
  19. package/.agent/agents/harness-optimizer.md +35 -35
  20. package/.agent/agents/healthcare-reviewer.md +83 -0
  21. package/.agent/agents/java-build-resolver.md +153 -153
  22. package/.agent/agents/java-reviewer.md +92 -92
  23. package/.agent/agents/kotlin-build-resolver.md +118 -118
  24. package/.agent/agents/kotlin-reviewer.md +159 -159
  25. package/.agent/agents/loop-operator.md +36 -36
  26. package/.agent/agents/opensource-forker.md +198 -0
  27. package/.agent/agents/opensource-packager.md +249 -0
  28. package/.agent/agents/opensource-sanitizer.md +188 -0
  29. package/.agent/agents/performance-optimizer.md +392 -133
  30. package/.agent/agents/personas/athena-agent/agent.json +10 -0
  31. package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +189 -0
  32. package/.agent/agents/personas/athena-agent/context-files/agents.md +55 -0
  33. package/.agent/agents/personas/athena-agent/context-files/identity.md +23 -0
  34. package/.agent/agents/personas/athena-agent/context-files/soul.md +51 -0
  35. package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +15 -0
  36. package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +37 -0
  37. package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +45 -0
  38. package/.agent/agents/personas/da-vinci-agent/agent.json +10 -0
  39. package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +55 -0
  40. package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +23 -0
  41. package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +51 -0
  42. package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +15 -0
  43. package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +189 -0
  44. package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +37 -0
  45. package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +45 -0
  46. package/.agent/agents/personas/duong-tang-agent/agent.json +10 -0
  47. package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +55 -0
  48. package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +23 -0
  49. package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +51 -0
  50. package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +15 -0
  51. package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +189 -0
  52. package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +37 -0
  53. package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +45 -0
  54. package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -0
  55. package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +55 -0
  56. package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +23 -0
  57. package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +51 -0
  58. package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +15 -0
  59. package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +189 -0
  60. package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +37 -0
  61. package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +45 -0
  62. package/.agent/agents/personas/mihata-agent/agent.json +10 -0
  63. package/.agent/agents/personas/mihata-agent/context-files/agents.md +55 -0
  64. package/.agent/agents/personas/mihata-agent/context-files/identity.md +23 -0
  65. package/.agent/agents/personas/mihata-agent/context-files/soul.md +51 -0
  66. package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +15 -0
  67. package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +189 -0
  68. package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +37 -0
  69. package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +45 -0
  70. package/.agent/agents/personas/tesla-agent/agent.json +10 -0
  71. package/.agent/agents/personas/tesla-agent/context-files/agents.md +55 -0
  72. package/.agent/agents/personas/tesla-agent/context-files/identity.md +23 -0
  73. package/.agent/agents/personas/tesla-agent/context-files/soul.md +51 -0
  74. package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +15 -0
  75. package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +189 -0
  76. package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +37 -0
  77. package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +45 -0
  78. package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -0
  79. package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +55 -0
  80. package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +23 -0
  81. package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +51 -0
  82. package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +15 -0
  83. package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +189 -0
  84. package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +37 -0
  85. package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +45 -0
  86. package/.agent/agents/personas/venti-agent/agent.json +10 -0
  87. package/.agent/agents/personas/venti-agent/context-files/agents.md +55 -0
  88. package/.agent/agents/personas/venti-agent/context-files/identity.md +23 -0
  89. package/.agent/agents/personas/venti-agent/context-files/soul.md +51 -0
  90. package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +15 -0
  91. package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +37 -0
  92. package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +45 -0
  93. package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +189 -0
  94. package/.agent/agents/planner.md +212 -212
  95. package/.agent/agents/python-reviewer.md +98 -98
  96. package/.agent/agents/pytorch-build-resolver.md +120 -120
  97. package/.agent/agents/refactor-cleaner.md +85 -85
  98. package/.agent/agents/rust-build-resolver.md +148 -148
  99. package/.agent/agents/rust-reviewer.md +94 -94
  100. package/.agent/agents/security-reviewer.md +108 -108
  101. package/.agent/agents/tdd-guide.md +91 -91
  102. package/.agent/agents/typescript-reviewer.md +112 -112
  103. package/.agent/contexts/dev.md +20 -0
  104. package/.agent/contexts/research.md +26 -0
  105. package/.agent/contexts/review.md +22 -0
  106. package/.agent/hooks/hooks.json +395 -0
  107. package/.agent/hooks/readme.md +222 -0
  108. package/.agent/mcp-configs/mcp-servers.json +181 -0
  109. package/.agent/rules/common/agents.md +50 -0
  110. package/.agent/rules/common/code-review.md +124 -0
  111. package/.agent/rules/common/coding-style.md +48 -0
  112. package/.agent/rules/common/development-workflow.md +44 -0
  113. package/.agent/rules/common/git-workflow.md +24 -0
  114. package/.agent/rules/common/hooks.md +30 -0
  115. package/.agent/rules/common/patterns.md +31 -0
  116. package/.agent/rules/common/performance.md +55 -0
  117. package/.agent/rules/common/security.md +29 -0
  118. package/.agent/rules/common/testing.md +29 -0
  119. package/.agent/rules/cpp/coding-style.md +44 -0
  120. package/.agent/rules/cpp/hooks.md +39 -0
  121. package/.agent/rules/cpp/patterns.md +51 -0
  122. package/.agent/rules/cpp/security.md +51 -0
  123. package/.agent/rules/cpp/testing.md +44 -0
  124. package/.agent/rules/csharp/coding-style.md +72 -0
  125. package/.agent/rules/csharp/hooks.md +25 -0
  126. package/.agent/rules/csharp/patterns.md +50 -0
  127. package/.agent/rules/csharp/security.md +58 -0
  128. package/.agent/rules/csharp/testing.md +46 -0
  129. package/.agent/rules/dart/coding-style.md +159 -0
  130. package/.agent/rules/dart/hooks.md +66 -0
  131. package/.agent/rules/dart/patterns.md +261 -0
  132. package/.agent/rules/dart/security.md +135 -0
  133. package/.agent/rules/dart/testing.md +215 -0
  134. package/.agent/rules/golang/coding-style.md +32 -0
  135. package/.agent/rules/golang/hooks.md +17 -0
  136. package/.agent/rules/golang/patterns.md +45 -0
  137. package/.agent/rules/golang/security.md +34 -0
  138. package/.agent/rules/golang/testing.md +31 -0
  139. package/.agent/rules/java/coding-style.md +114 -0
  140. package/.agent/rules/java/hooks.md +18 -0
  141. package/.agent/rules/java/patterns.md +146 -0
  142. package/.agent/rules/java/security.md +100 -0
  143. package/.agent/rules/java/testing.md +131 -0
  144. package/.agent/rules/kotlin/coding-style.md +86 -0
  145. package/.agent/rules/kotlin/hooks.md +17 -0
  146. package/.agent/rules/kotlin/patterns.md +146 -0
  147. package/.agent/rules/kotlin/security.md +82 -0
  148. package/.agent/rules/kotlin/testing.md +128 -0
  149. package/.agent/rules/perl/coding-style.md +46 -0
  150. package/.agent/rules/perl/hooks.md +22 -0
  151. package/.agent/rules/perl/patterns.md +76 -0
  152. package/.agent/rules/perl/security.md +69 -0
  153. package/.agent/rules/perl/testing.md +54 -0
  154. package/.agent/rules/php/coding-style.md +40 -0
  155. package/.agent/rules/php/hooks.md +24 -0
  156. package/.agent/rules/php/patterns.md +33 -0
  157. package/.agent/rules/php/security.md +37 -0
  158. package/.agent/rules/php/testing.md +39 -0
  159. package/.agent/rules/python/coding-style.md +42 -0
  160. package/.agent/rules/python/hooks.md +19 -0
  161. package/.agent/rules/python/patterns.md +39 -0
  162. package/.agent/rules/python/security.md +30 -0
  163. package/.agent/rules/python/testing.md +38 -0
  164. package/.agent/rules/readme.md +111 -0
  165. package/.agent/rules/rust/coding-style.md +151 -0
  166. package/.agent/rules/rust/hooks.md +16 -0
  167. package/.agent/rules/rust/patterns.md +168 -0
  168. package/.agent/rules/rust/security.md +141 -0
  169. package/.agent/rules/rust/testing.md +154 -0
  170. package/.agent/rules/swift/coding-style.md +47 -0
  171. package/.agent/rules/swift/hooks.md +20 -0
  172. package/.agent/rules/swift/patterns.md +66 -0
  173. package/.agent/rules/swift/security.md +33 -0
  174. package/.agent/rules/swift/testing.md +45 -0
  175. package/.agent/rules/typescript/coding-style.md +199 -0
  176. package/.agent/rules/typescript/hooks.md +22 -0
  177. package/.agent/rules/typescript/patterns.md +52 -0
  178. package/.agent/rules/typescript/security.md +28 -0
  179. package/.agent/rules/typescript/testing.md +18 -0
  180. package/.agent/rules/web/coding-style.md +96 -0
  181. package/.agent/rules/web/design-quality.md +63 -0
  182. package/.agent/rules/web/hooks.md +120 -0
  183. package/.agent/rules/web/patterns.md +79 -0
  184. package/.agent/rules/web/performance.md +64 -0
  185. package/.agent/rules/web/security.md +57 -0
  186. package/.agent/rules/web/testing.md +55 -0
  187. package/.agent/rules/zh/agents.md +50 -0
  188. package/.agent/rules/zh/code-review.md +124 -0
  189. package/.agent/rules/zh/coding-style.md +48 -0
  190. package/.agent/rules/zh/development-workflow.md +44 -0
  191. package/.agent/rules/zh/git-workflow.md +24 -0
  192. package/.agent/rules/zh/hooks.md +30 -0
  193. package/.agent/rules/zh/patterns.md +31 -0
  194. package/.agent/rules/zh/performance.md +55 -0
  195. package/.agent/rules/zh/readme.md +108 -0
  196. package/.agent/rules/zh/security.md +29 -0
  197. package/.agent/rules/zh/testing.md +29 -0
  198. package/.agent/skills/agent-eval/SKILL.md +145 -0
  199. package/.agent/skills/agent-harness-construction/SKILL.md +73 -0
  200. package/.agent/skills/agent-payment-x402/SKILL.md +178 -0
  201. package/.agent/skills/agentic-engineering/SKILL.md +63 -0
  202. package/.agent/skills/ai-first-engineering/SKILL.md +51 -0
  203. package/.agent/skills/ai-regression-testing/SKILL.md +385 -0
  204. package/.agent/skills/android-clean-architecture/SKILL.md +339 -0
  205. package/.agent/skills/api-design/SKILL.md +523 -0
  206. package/.agent/skills/architecture-decision-records/SKILL.md +179 -0
  207. package/.agent/skills/article-writing/SKILL.md +79 -0
  208. package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -0
  209. package/.agent/skills/autonomous-loops/SKILL.md +610 -0
  210. package/.agent/skills/backend-patterns/SKILL.md +598 -0
  211. package/.agent/skills/benchmark/SKILL.md +93 -0
  212. package/.agent/skills/blueprint/SKILL.md +105 -0
  213. package/.agent/skills/brand-voice/SKILL.md +97 -0
  214. package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -0
  215. package/.agent/skills/browser-qa/SKILL.md +87 -0
  216. package/.agent/skills/bun-runtime/SKILL.md +84 -0
  217. package/.agent/skills/canary-watch/SKILL.md +99 -0
  218. package/.agent/skills/carrier-relationship-management/SKILL.md +212 -0
  219. package/.agent/skills/ck/SKILL.md +147 -0
  220. package/.agent/skills/ck/commands/forget.mjs +44 -0
  221. package/.agent/skills/ck/commands/info.mjs +24 -0
  222. package/.agent/skills/ck/commands/init.mjs +143 -0
  223. package/.agent/skills/ck/commands/list.mjs +40 -0
  224. package/.agent/skills/ck/commands/migrate.mjs +202 -0
  225. package/.agent/skills/ck/commands/resume.mjs +36 -0
  226. package/.agent/skills/ck/commands/save.mjs +210 -0
  227. package/.agent/skills/ck/commands/shared.mjs +387 -0
  228. package/.agent/skills/ck/hooks/session-start.mjs +224 -0
  229. package/.agent/skills/claude-api/SKILL.md +337 -0
  230. package/.agent/skills/claude-devfleet/SKILL.md +103 -0
  231. package/.agent/skills/click-path-audit/SKILL.md +244 -0
  232. package/.agent/skills/clickhouse-io/SKILL.md +439 -0
  233. package/.agent/skills/codebase-onboarding/SKILL.md +233 -0
  234. package/.agent/skills/coding-standards/SKILL.md +530 -0
  235. package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  236. package/.agent/skills/configure-ecc/SKILL.md +367 -0
  237. package/.agent/skills/connections-optimizer/SKILL.md +189 -0
  238. package/.agent/skills/content-engine/SKILL.md +131 -0
  239. package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -0
  240. package/.agent/skills/context-budget/SKILL.md +135 -0
  241. package/.agent/skills/continuous-agent-loop/SKILL.md +45 -0
  242. package/.agent/skills/continuous-learning/SKILL.md +119 -0
  243. package/.agent/skills/continuous-learning/config.json +18 -0
  244. package/.agent/skills/continuous-learning/evaluate-session.sh +69 -0
  245. package/.agent/skills/continuous-learning-v2/SKILL.md +365 -0
  246. package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -0
  247. package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -0
  248. package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  249. package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
  250. package/.agent/skills/continuous-learning-v2/config.json +8 -0
  251. package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -0
  252. package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
  253. package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  254. package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -0
  255. package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  256. package/.agent/skills/cpp-coding-standards/SKILL.md +723 -0
  257. package/.agent/skills/cpp-testing/SKILL.md +324 -0
  258. package/.agent/skills/crosspost/SKILL.md +111 -0
  259. package/.agent/skills/csharp-testing/SKILL.md +321 -0
  260. package/.agent/skills/customer-billing-ops/SKILL.md +140 -0
  261. package/.agent/skills/customs-trade-compliance/SKILL.md +263 -0
  262. package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -0
  263. package/.agent/skills/data-scraper-agent/SKILL.md +764 -0
  264. package/.agent/skills/database-migrations/SKILL.md +429 -0
  265. package/.agent/skills/deep-research/SKILL.md +155 -0
  266. package/.agent/skills/deployment-patterns/SKILL.md +427 -0
  267. package/.agent/skills/design-system/SKILL.md +82 -0
  268. package/.agent/skills/django-patterns/SKILL.md +734 -0
  269. package/.agent/skills/django-security/SKILL.md +593 -0
  270. package/.agent/skills/django-tdd/SKILL.md +729 -0
  271. package/.agent/skills/django-verification/SKILL.md +469 -0
  272. package/.agent/skills/dmux-workflows/SKILL.md +191 -0
  273. package/.agent/skills/docker-patterns/SKILL.md +364 -0
  274. package/.agent/skills/documentation-lookup/SKILL.md +90 -0
  275. package/.agent/skills/dotnet-patterns/SKILL.md +321 -0
  276. package/.agent/skills/e2e-testing/SKILL.md +326 -0
  277. package/.agent/skills/energy-procurement/SKILL.md +228 -0
  278. package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -0
  279. package/.agent/skills/eval-harness/SKILL.md +270 -0
  280. package/.agent/skills/exa-search/SKILL.md +103 -0
  281. package/.agent/skills/fal-ai-media/SKILL.md +284 -0
  282. package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -0
  283. package/.agent/skills/foundation-models-on-device/SKILL.md +243 -0
  284. package/.agent/skills/frontend-patterns/SKILL.md +642 -0
  285. package/.agent/skills/frontend-slides/SKILL.md +184 -0
  286. package/.agent/skills/frontend-slides/style-presets.md +330 -0
  287. package/.agent/skills/gan-style-harness/SKILL.md +278 -0
  288. package/.agent/skills/git-workflow/SKILL.md +715 -0
  289. package/.agent/skills/golang-patterns/SKILL.md +674 -0
  290. package/.agent/skills/golang-testing/SKILL.md +720 -0
  291. package/.agent/skills/google-workspace-ops/SKILL.md +95 -0
  292. package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  293. package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -0
  294. package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -0
  295. package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -0
  296. package/.agent/skills/hexagonal-architecture/SKILL.md +276 -0
  297. package/.agent/skills/inventory-demand-planning/SKILL.md +247 -0
  298. package/.agent/skills/investor-materials/SKILL.md +96 -0
  299. package/.agent/skills/investor-outreach/SKILL.md +91 -0
  300. package/.agent/skills/iterative-retrieval/SKILL.md +211 -0
  301. package/.agent/skills/java-coding-standards/SKILL.md +147 -0
  302. package/.agent/skills/jira-integration/SKILL.md +293 -0
  303. package/.agent/skills/jpa-patterns/SKILL.md +151 -0
  304. package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  305. package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  306. package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  307. package/.agent/skills/kotlin-patterns/SKILL.md +711 -0
  308. package/.agent/skills/kotlin-testing/SKILL.md +824 -0
  309. package/.agent/skills/laravel-patterns/SKILL.md +415 -0
  310. package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -0
  311. package/.agent/skills/laravel-security/SKILL.md +285 -0
  312. package/.agent/skills/laravel-tdd/SKILL.md +283 -0
  313. package/.agent/skills/laravel-verification/SKILL.md +179 -0
  314. package/.agent/skills/lead-intelligence/SKILL.md +321 -0
  315. package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  316. package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  317. package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  318. package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  319. package/.agent/skills/liquid-glass-design/SKILL.md +279 -0
  320. package/.agent/skills/logistics-exception-management/SKILL.md +222 -0
  321. package/.agent/skills/manim-video/SKILL.md +89 -0
  322. package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -0
  323. package/.agent/skills/market-research/SKILL.md +75 -0
  324. package/.agent/skills/mcp-builder/SKILL.md +173 -113
  325. package/.agent/skills/mcp-builder/license.txt +202 -0
  326. package/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
  327. package/.agent/skills/mcp-builder/reference/mcp-best-practices.md +249 -0
  328. package/.agent/skills/mcp-builder/reference/node-mcp-server.md +970 -0
  329. package/.agent/skills/mcp-builder/reference/python-mcp-server.md +719 -0
  330. package/.agent/skills/mcp-builder/scripts/connections.py +151 -0
  331. package/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
  332. package/.agent/skills/mcp-builder/scripts/example-evaluation.xml +22 -0
  333. package/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
  334. package/.agent/skills/mcp-server-patterns/SKILL.md +67 -0
  335. package/.agent/skills/nanoclaw-repl/SKILL.md +33 -0
  336. package/.agent/skills/nestjs-patterns/SKILL.md +230 -0
  337. package/.agent/skills/nextjs-turbopack/SKILL.md +44 -0
  338. package/.agent/skills/nutrient-document-processing/SKILL.md +167 -0
  339. package/.agent/skills/nuxt4-patterns/SKILL.md +100 -0
  340. package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -0
  341. package/.agent/skills/openclaw-persona-forge/gacha.py +224 -0
  342. package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -0
  343. package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  344. package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  345. package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  346. package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  347. package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  348. package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -0
  349. package/.agent/skills/opensource-pipeline/SKILL.md +255 -0
  350. package/.agent/skills/perl-patterns/SKILL.md +504 -0
  351. package/.agent/skills/perl-security/SKILL.md +503 -0
  352. package/.agent/skills/perl-testing/SKILL.md +475 -0
  353. package/.agent/skills/plankton-code-quality/SKILL.md +236 -0
  354. package/.agent/skills/postgres-patterns/SKILL.md +147 -0
  355. package/.agent/skills/product-lens/SKILL.md +85 -0
  356. package/.agent/skills/production-scheduling/SKILL.md +238 -0
  357. package/.agent/skills/project-flow-ops/SKILL.md +111 -0
  358. package/.agent/skills/project-guidelines-example/SKILL.md +349 -0
  359. package/.agent/skills/prompt-optimizer/SKILL.md +397 -0
  360. package/.agent/skills/python-patterns/SKILL.md +622 -313
  361. package/.agent/skills/python-testing/SKILL.md +816 -0
  362. package/.agent/skills/pytorch-patterns/SKILL.md +396 -0
  363. package/.agent/skills/quality-nonconformance/SKILL.md +260 -0
  364. package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  365. package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  366. package/.agent/skills/remotion-video-creation/SKILL.md +43 -0
  367. package/.agent/skills/remotion-video-creation/rules/3d.md +86 -0
  368. package/.agent/skills/remotion-video-creation/rules/animations.md +29 -0
  369. package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  370. package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  371. package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  372. package/.agent/skills/remotion-video-creation/rules/assets.md +78 -0
  373. package/.agent/skills/remotion-video-creation/rules/audio.md +172 -0
  374. package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  375. package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -0
  376. package/.agent/skills/remotion-video-creation/rules/charts.md +58 -0
  377. package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -0
  378. package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -0
  379. package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  380. package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -0
  381. package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  382. package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  383. package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  384. package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -0
  385. package/.agent/skills/remotion-video-creation/rules/images.md +130 -0
  386. package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  387. package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -0
  388. package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  389. package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  390. package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -0
  391. package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -0
  392. package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -0
  393. package/.agent/skills/remotion-video-creation/rules/timing.md +179 -0
  394. package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  395. package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -0
  396. package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -0
  397. package/.agent/skills/remotion-video-creation/rules/videos.md +171 -0
  398. package/.agent/skills/repo-scan/SKILL.md +78 -0
  399. package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -0
  400. package/.agent/skills/rules-distill/SKILL.md +264 -0
  401. package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -0
  402. package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -0
  403. package/.agent/skills/rust-patterns/SKILL.md +499 -0
  404. package/.agent/skills/rust-testing/SKILL.md +500 -0
  405. package/.agent/skills/safety-guard/SKILL.md +75 -0
  406. package/.agent/skills/santa-method/SKILL.md +306 -0
  407. package/.agent/skills/search-first/SKILL.md +161 -0
  408. package/.agent/skills/security-review/SKILL.md +495 -0
  409. package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
  410. package/.agent/skills/security-scan/SKILL.md +165 -0
  411. package/.agent/skills/skill-comply/SKILL.md +58 -0
  412. package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -0
  413. package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -0
  414. package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -0
  415. package/.agent/skills/skill-comply/prompts/classifier.md +24 -0
  416. package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -0
  417. package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -0
  418. package/.agent/skills/skill-comply/pyproject.toml +15 -0
  419. package/.agent/skills/skill-comply/scripts/classifier.py +85 -0
  420. package/.agent/skills/skill-comply/scripts/grader.py +122 -0
  421. package/.agent/skills/skill-comply/scripts/init.py +0 -0
  422. package/.agent/skills/skill-comply/scripts/parser.py +107 -0
  423. package/.agent/skills/skill-comply/scripts/report.py +170 -0
  424. package/.agent/skills/skill-comply/scripts/run.py +127 -0
  425. package/.agent/skills/skill-comply/scripts/runner.py +161 -0
  426. package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -0
  427. package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -0
  428. package/.agent/skills/skill-comply/scripts/utils.py +13 -0
  429. package/.agent/skills/skill-comply/tests/test-grader.py +137 -0
  430. package/.agent/skills/skill-comply/tests/test-parser.py +90 -0
  431. package/.agent/skills/skill-creator/SKILL.md +485 -0
  432. package/.agent/skills/skill-creator/agents/analyzer.md +274 -0
  433. package/.agent/skills/skill-creator/agents/comparator.md +202 -0
  434. package/.agent/skills/skill-creator/agents/grader.md +223 -0
  435. package/.agent/skills/skill-creator/assets/eval-review.html +146 -0
  436. package/.agent/skills/skill-creator/eval-viewer/generate-review.py +471 -0
  437. package/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  438. package/.agent/skills/skill-creator/license.txt +202 -0
  439. package/.agent/skills/skill-creator/references/schemas.md +430 -0
  440. package/.agent/skills/skill-creator/scripts/aggregate-benchmark.py +401 -0
  441. package/.agent/skills/skill-creator/scripts/generate-report.py +326 -0
  442. package/.agent/skills/skill-creator/scripts/improve-description.py +247 -0
  443. package/.agent/skills/skill-creator/scripts/init.py +0 -0
  444. package/.agent/skills/skill-creator/scripts/package-skill.py +136 -0
  445. package/.agent/skills/skill-creator/scripts/quick-validate.py +103 -0
  446. package/.agent/skills/skill-creator/scripts/run-eval.py +310 -0
  447. package/.agent/skills/skill-creator/scripts/run-loop.py +328 -0
  448. package/.agent/skills/skill-creator/scripts/utils.py +47 -0
  449. package/.agent/skills/skill-stocktake/SKILL.md +193 -0
  450. package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  451. package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -0
  452. package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -0
  453. package/.agent/skills/social-graph-ranker/SKILL.md +154 -0
  454. package/.agent/skills/springboot-patterns/SKILL.md +314 -0
  455. package/.agent/skills/springboot-security/SKILL.md +272 -0
  456. package/.agent/skills/springboot-tdd/SKILL.md +158 -0
  457. package/.agent/skills/springboot-verification/SKILL.md +231 -0
  458. package/.agent/skills/strategic-compact/SKILL.md +131 -0
  459. package/.agent/skills/strategic-compact/suggest-compact.sh +54 -0
  460. package/.agent/skills/swift-actor-persistence/SKILL.md +143 -0
  461. package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -0
  462. package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -0
  463. package/.agent/skills/swiftui-patterns/SKILL.md +259 -0
  464. package/.agent/skills/tdd-workflow/SKILL.md +412 -98
  465. package/.agent/skills/team-builder/SKILL.md +168 -0
  466. package/.agent/skills/token-budget-advisor/SKILL.md +133 -0
  467. package/.agent/skills/ui-demo/SKILL.md +465 -0
  468. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -26
  469. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -97
  470. package/.agent/skills/ui-ux-pro-max/data/landing.csv +28 -28
  471. package/.agent/skills/ui-ux-pro-max/data/products.csv +96 -96
  472. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  473. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  474. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  475. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  476. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  477. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  478. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  479. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  480. package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -68
  481. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  482. package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -114
  483. package/.agent/skills/verification-loop/SKILL.md +126 -0
  484. package/.agent/skills/video-editing/SKILL.md +310 -0
  485. package/.agent/skills/videodb/SKILL.md +374 -0
  486. package/.agent/skills/videodb/reference/api-reference.md +550 -0
  487. package/.agent/skills/videodb/reference/capture-reference.md +407 -0
  488. package/.agent/skills/videodb/reference/capture.md +101 -0
  489. package/.agent/skills/videodb/reference/editor.md +443 -0
  490. package/.agent/skills/videodb/reference/generative.md +331 -0
  491. package/.agent/skills/videodb/reference/rtstream-reference.md +564 -0
  492. package/.agent/skills/videodb/reference/rtstream.md +65 -0
  493. package/.agent/skills/videodb/reference/search.md +230 -0
  494. package/.agent/skills/videodb/reference/streaming.md +406 -0
  495. package/.agent/skills/videodb/reference/use-cases.md +118 -0
  496. package/.agent/skills/videodb/scripts/ws-listener.py +282 -0
  497. package/.agent/skills/visa-doc-translate/SKILL.md +117 -0
  498. package/.agent/skills/visa-doc-translate/readme.md +86 -0
  499. package/.agent/skills/workspace-surface-audit/SKILL.md +125 -0
  500. package/.agent/skills/x-api/SKILL.md +230 -0
  501. package/.agent/tasks/two-track-merge-contract.md +29 -0
  502. package/.agent/workflows/aside.md +164 -164
  503. package/.agent/workflows/build-fix.md +62 -62
  504. package/.agent/workflows/checkpoint.md +74 -74
  505. package/.agent/workflows/claw.md +23 -51
  506. package/.agent/workflows/clean-memory.md +34 -0
  507. package/.agent/workflows/code-review.md +289 -40
  508. package/.agent/workflows/context-budget.md +23 -29
  509. package/.agent/workflows/cpp-build.md +173 -173
  510. package/.agent/workflows/cpp-review.md +132 -132
  511. package/.agent/workflows/cpp-test.md +251 -251
  512. package/.agent/workflows/devfleet.md +23 -92
  513. package/.agent/workflows/docs.md +23 -31
  514. package/.agent/workflows/e2e.md +268 -365
  515. package/.agent/workflows/eval.md +23 -120
  516. package/.agent/workflows/evolve.md +178 -178
  517. package/.agent/workflows/flutter-build.md +164 -0
  518. package/.agent/workflows/flutter-review.md +116 -0
  519. package/.agent/workflows/flutter-test.md +144 -0
  520. package/.agent/workflows/gan-build.md +99 -0
  521. package/.agent/workflows/gan-design.md +35 -0
  522. package/.agent/workflows/go-build.md +183 -183
  523. package/.agent/workflows/go-review.md +148 -148
  524. package/.agent/workflows/go-test.md +268 -268
  525. package/.agent/workflows/gradle-build.md +70 -70
  526. package/.agent/workflows/harness-audit.md +73 -71
  527. package/.agent/workflows/instinct-export.md +66 -66
  528. package/.agent/workflows/instinct-import.md +114 -114
  529. package/.agent/workflows/instinct-status.md +59 -59
  530. package/.agent/workflows/jira.md +106 -0
  531. package/.agent/workflows/kotlin-build.md +174 -174
  532. package/.agent/workflows/kotlin-review.md +140 -140
  533. package/.agent/workflows/kotlin-test.md +312 -312
  534. package/.agent/workflows/learn-eval.md +116 -116
  535. package/.agent/workflows/learn.md +70 -70
  536. package/.agent/workflows/loop-start.md +32 -32
  537. package/.agent/workflows/loop-status.md +24 -24
  538. package/.agent/workflows/model-route.md +26 -26
  539. package/.agent/workflows/multi-backend.md +158 -158
  540. package/.agent/workflows/multi-execute.md +315 -315
  541. package/.agent/workflows/multi-frontend.md +158 -158
  542. package/.agent/workflows/multi-plan.md +268 -268
  543. package/.agent/workflows/multi-workflow.md +191 -191
  544. package/.agent/workflows/orchestrate.md +135 -231
  545. package/.agent/workflows/plan.md +117 -115
  546. package/.agent/workflows/pm2.md +272 -272
  547. package/.agent/workflows/projects.md +39 -39
  548. package/.agent/workflows/promote.md +41 -41
  549. package/.agent/workflows/prompt-optimize.md +23 -38
  550. package/.agent/workflows/prp-commit.md +112 -0
  551. package/.agent/workflows/prp-implement.md +385 -0
  552. package/.agent/workflows/prp-plan.md +502 -0
  553. package/.agent/workflows/prp-pr.md +184 -0
  554. package/.agent/workflows/prp-prd.md +447 -0
  555. package/.agent/workflows/prune.md +31 -31
  556. package/.agent/workflows/python-review.md +297 -297
  557. package/.agent/workflows/quality-gate.md +29 -29
  558. package/.agent/workflows/refactor-clean.md +80 -80
  559. package/.agent/workflows/resume-session.md +156 -156
  560. package/.agent/workflows/rules-distill.md +20 -11
  561. package/.agent/workflows/rust-build.md +187 -187
  562. package/.agent/workflows/rust-review.md +142 -142
  563. package/.agent/workflows/rust-test.md +308 -308
  564. package/.agent/workflows/santa-loop.md +175 -0
  565. package/.agent/workflows/save-session.md +275 -275
  566. package/.agent/workflows/sessions.md +333 -333
  567. package/.agent/workflows/setup-pm.md +80 -80
  568. package/.agent/workflows/skill-create.md +174 -174
  569. package/.agent/workflows/skill-health.md +54 -54
  570. package/.agent/workflows/tdd.md +231 -328
  571. package/.agent/workflows/test-coverage.md +69 -69
  572. package/.agent/workflows/update-codemaps.md +72 -72
  573. package/.agent/workflows/update-docs.md +84 -84
  574. package/.agent/workflows/verify.md +23 -59
  575. package/LICENSE +176 -176
  576. package/README.md +28 -20
  577. package/RELEASE.md +32 -36
  578. package/package.json +87 -79
  579. package/scripts/release-check.js +55 -55
  580. package/src/bin/cli.js +399 -53
  581. package/src/lib/installer.js +360 -114
  582. package/src/lib/manifests/stacks.js +122 -0
  583. package/src/lib/slash-commands.js +28 -0
  584. package/src/templates/claude/CLAUDE.en.md +42 -0
  585. package/src/templates/claude/CLAUDE.md +42 -0
  586. package/src/templates/claude/CLAUDE.vi.md +42 -0
  587. package/src/templates/codex/AGENTS.en.md +40 -0
  588. package/src/templates/codex/AGENTS.md +40 -0
  589. package/src/templates/codex/AGENTS.vi.md +40 -0
  590. package/src/templates/cursor/pilo-masterkit.mdc +20 -0
  591. package/src/templates/gemini/GEMINI.en.md +56 -0
  592. package/src/templates/gemini/GEMINI.md +56 -0
  593. package/src/templates/gemini/GEMINI.vi.md +56 -0
  594. package/src/templates/github/copilot-instructions.md +16 -0
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: java-coding-standards
3
+ description: "Java coding standards for Spring Boot services: naming, immutability, Optional usage, streams, exceptions, generics, and project layout."
4
+ origin: ECC
5
+ ---
6
+
7
+ # Java Coding Standards
8
+
9
+ Standards for readable, maintainable Java (17+) code in Spring Boot services.
10
+
11
+ ## When to Activate
12
+
13
+ - Writing or reviewing Java code in Spring Boot projects
14
+ - Enforcing naming, immutability, or exception handling conventions
15
+ - Working with records, sealed classes, or pattern matching (Java 17+)
16
+ - Reviewing use of Optional, streams, or generics
17
+ - Structuring packages and project layout
18
+
19
+ ## Core Principles
20
+
21
+ - Prefer clarity over cleverness
22
+ - Immutable by default; minimize shared mutable state
23
+ - Fail fast with meaningful exceptions
24
+ - Consistent naming and package structure
25
+
26
+ ## Naming
27
+
28
+ ```java
29
+ // PASS: Classes/Records: PascalCase
30
+ public class MarketService {}
31
+ public record Money(BigDecimal amount, Currency currency) {}
32
+
33
+ // PASS: Methods/fields: camelCase
34
+ private final MarketRepository marketRepository;
35
+ public Market findBySlug(String slug) {}
36
+
37
+ // PASS: Constants: UPPER_SNAKE_CASE
38
+ private static final int MAX_PAGE_SIZE = 100;
39
+ ```
40
+
41
+ ## Immutability
42
+
43
+ ```java
44
+ // PASS: Favor records and final fields
45
+ public record MarketDto(Long id, String name, MarketStatus status) {}
46
+
47
+ public class Market {
48
+ private final Long id;
49
+ private final String name;
50
+ // getters only, no setters
51
+ }
52
+ ```
53
+
54
+ ## Optional Usage
55
+
56
+ ```java
57
+ // PASS: Return Optional from find* methods
58
+ Optional<Market> market = marketRepository.findBySlug(slug);
59
+
60
+ // PASS: Map/flatMap instead of get()
61
+ return market
62
+ .map(MarketResponse::from)
63
+ .orElseThrow(() -> new EntityNotFoundException("Market not found"));
64
+ ```
65
+
66
+ ## Streams Best Practices
67
+
68
+ ```java
69
+ // PASS: Use streams for transformations, keep pipelines short
70
+ List<String> names = markets.stream()
71
+ .map(Market::name)
72
+ .filter(Objects::nonNull)
73
+ .toList();
74
+
75
+ // FAIL: Avoid complex nested streams; prefer loops for clarity
76
+ ```
77
+
78
+ ## Exceptions
79
+
80
+ - Use unchecked exceptions for domain errors; wrap technical exceptions with context
81
+ - Create domain-specific exceptions (e.g., `MarketNotFoundException`)
82
+ - Avoid broad `catch (Exception ex)` unless rethrowing/logging centrally
83
+
84
+ ```java
85
+ throw new MarketNotFoundException(slug);
86
+ ```
87
+
88
+ ## Generics and Type Safety
89
+
90
+ - Avoid raw types; declare generic parameters
91
+ - Prefer bounded generics for reusable utilities
92
+
93
+ ```java
94
+ public <T extends Identifiable> Map<Long, T> indexById(Collection<T> items) { ... }
95
+ ```
96
+
97
+ ## Project Structure (Maven/Gradle)
98
+
99
+ ```
100
+ src/main/java/com/example/app/
101
+ config/
102
+ controller/
103
+ service/
104
+ repository/
105
+ domain/
106
+ dto/
107
+ util/
108
+ src/main/resources/
109
+ application.yml
110
+ src/test/java/... (mirrors main)
111
+ ```
112
+
113
+ ## Formatting and Style
114
+
115
+ - Use 2 or 4 spaces consistently (project standard)
116
+ - One public top-level type per file
117
+ - Keep methods short and focused; extract helpers
118
+ - Order members: constants, fields, constructors, public methods, protected, private
119
+
120
+ ## Code Smells to Avoid
121
+
122
+ - Long parameter lists → use DTO/builders
123
+ - Deep nesting → early returns
124
+ - Magic numbers → named constants
125
+ - Static mutable state → prefer dependency injection
126
+ - Silent catch blocks → log and act or rethrow
127
+
128
+ ## Logging
129
+
130
+ ```java
131
+ private static final Logger log = LoggerFactory.getLogger(MarketService.class);
132
+ log.info("fetch_market slug={}", slug);
133
+ log.error("failed_fetch_market slug={}", slug, ex);
134
+ ```
135
+
136
+ ## Null Handling
137
+
138
+ - Accept `@Nullable` only when unavoidable; otherwise use `@NonNull`
139
+ - Use Bean Validation (`@NotNull`, `@NotBlank`) on inputs
140
+
141
+ ## Testing Expectations
142
+
143
+ - JUnit 5 + AssertJ for fluent assertions
144
+ - Mockito for mocking; avoid partial mocks where possible
145
+ - Favor deterministic tests; no hidden sleeps
146
+
147
+ **Remember**: Keep code intentional, typed, and observable. Optimize for maintainability over micro-optimizations unless proven necessary.
@@ -0,0 +1,293 @@
1
+ ---
2
+ name: jira-integration
3
+ description: Use this skill when retrieving Jira tickets, analyzing requirements, updating ticket status, adding comments, or transitioning issues. Provides Jira API patterns via MCP or direct REST calls.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Jira Integration Skill
8
+
9
+ Retrieve, analyze, and update Jira tickets directly from your AI coding workflow. Supports both **MCP-based** (recommended) and **direct REST API** approaches.
10
+
11
+ ## When to Activate
12
+
13
+ - Fetching a Jira ticket to understand requirements
14
+ - Extracting testable acceptance criteria from a ticket
15
+ - Adding progress comments to a Jira issue
16
+ - Transitioning a ticket status (To Do → In Progress → Done)
17
+ - Linking merge requests or branches to a Jira issue
18
+ - Searching for issues by JQL query
19
+
20
+ ## Prerequisites
21
+
22
+ ### Option A: MCP Server (Recommended)
23
+
24
+ Install the `mcp-atlassian` MCP server. This exposes Jira tools directly to your AI agent.
25
+
26
+ **Requirements:**
27
+ - Python 3.10+
28
+ - `uvx` (from `uv`), installed via your package manager or the official `uv` installation documentation
29
+
30
+ **Add to your MCP config** (e.g., `~/.claude.json` → `mcpServers`):
31
+
32
+ ```json
33
+ {
34
+ "jira": {
35
+ "command": "uvx",
36
+ "args": ["mcp-atlassian==0.21.0"],
37
+ "env": {
38
+ "JIRA_URL": "https://YOUR_ORG.atlassian.net",
39
+ "JIRA_EMAIL": "your.email@example.com",
40
+ "JIRA_API_TOKEN": "your-api-token"
41
+ },
42
+ "description": "Jira issue tracking — search, create, update, comment, transition"
43
+ }
44
+ }
45
+ ```
46
+
47
+ > **Security:** Never hardcode secrets. Prefer setting `JIRA_URL`, `JIRA_EMAIL`, and `JIRA_API_TOKEN` in your system environment (or a secrets manager). Only use the MCP `env` block for local, uncommitted config files.
48
+
49
+ **To get a Jira API token:**
50
+ 1. Go to <https://id.atlassian.com/manage-profile/security/api-tokens>
51
+ 2. Click **Create API token**
52
+ 3. Copy the token — store it in your environment, never in source code
53
+
54
+ ### Option B: Direct REST API
55
+
56
+ If MCP is not available, use the Jira REST API v3 directly via `curl` or a helper script.
57
+
58
+ **Required environment variables:**
59
+
60
+ | Variable | Description |
61
+ |----------|-------------|
62
+ | `JIRA_URL` | Your Jira instance URL (e.g., `https://yourorg.atlassian.net`) |
63
+ | `JIRA_EMAIL` | Your Atlassian account email |
64
+ | `JIRA_API_TOKEN` | API token from id.atlassian.com |
65
+
66
+ Store these in your shell environment, secrets manager, or an untracked local env file. Do not commit them to the repo.
67
+
68
+ ## MCP Tools Reference
69
+
70
+ When the `mcp-atlassian` MCP server is configured, these tools are available:
71
+
72
+ | Tool | Purpose | Example |
73
+ |------|---------|---------|
74
+ | `jira_search` | JQL queries | `project = PROJ AND status = "In Progress"` |
75
+ | `jira_get_issue` | Fetch full issue details by key | `PROJ-1234` |
76
+ | `jira_create_issue` | Create issues (Task, Bug, Story, Epic) | New bug report |
77
+ | `jira_update_issue` | Update fields (summary, description, assignee) | Change assignee |
78
+ | `jira_transition_issue` | Change status | Move to "In Review" |
79
+ | `jira_add_comment` | Add comments | Progress update |
80
+ | `jira_get_sprint_issues` | List issues in a sprint | Active sprint review |
81
+ | `jira_create_issue_link` | Link issues (Blocks, Relates to) | Dependency tracking |
82
+ | `jira_get_issue_development_info` | See linked PRs, branches, commits | Dev context |
83
+
84
+ > **Tip:** Always call `jira_get_transitions` before transitioning — transition IDs vary per project workflow.
85
+
86
+ ## Direct REST API Reference
87
+
88
+ ### Fetch a Ticket
89
+
90
+ ```bash
91
+ curl -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
92
+ -H "Content-Type: application/json" \
93
+ "$JIRA_URL/rest/api/3/issue/PROJ-1234" | jq '{
94
+ key: .key,
95
+ summary: .fields.summary,
96
+ status: .fields.status.name,
97
+ priority: .fields.priority.name,
98
+ type: .fields.issuetype.name,
99
+ assignee: .fields.assignee.displayName,
100
+ labels: .fields.labels,
101
+ description: .fields.description
102
+ }'
103
+ ```
104
+
105
+ ### Fetch Comments
106
+
107
+ ```bash
108
+ curl -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
109
+ -H "Content-Type: application/json" \
110
+ "$JIRA_URL/rest/api/3/issue/PROJ-1234?fields=comment" | jq '.fields.comment.comments[] | {
111
+ author: .author.displayName,
112
+ created: .created[:10],
113
+ body: .body
114
+ }'
115
+ ```
116
+
117
+ ### Add a Comment
118
+
119
+ ```bash
120
+ curl -s -X POST -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
121
+ -H "Content-Type: application/json" \
122
+ -d '{
123
+ "body": {
124
+ "version": 1,
125
+ "type": "doc",
126
+ "content": [{
127
+ "type": "paragraph",
128
+ "content": [{"type": "text", "text": "Your comment here"}]
129
+ }]
130
+ }
131
+ }' \
132
+ "$JIRA_URL/rest/api/3/issue/PROJ-1234/comment"
133
+ ```
134
+
135
+ ### Transition a Ticket
136
+
137
+ ```bash
138
+ # 1. Get available transitions
139
+ curl -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
140
+ "$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions" | jq '.transitions[] | {id, name: .name}'
141
+
142
+ # 2. Execute transition (replace TRANSITION_ID)
143
+ curl -s -X POST -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
144
+ -H "Content-Type: application/json" \
145
+ -d '{"transition": {"id": "TRANSITION_ID"}}' \
146
+ "$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions"
147
+ ```
148
+
149
+ ### Search with JQL
150
+
151
+ ```bash
152
+ curl -s -G -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
153
+ --data-urlencode "jql=project = PROJ AND status = 'In Progress'" \
154
+ "$JIRA_URL/rest/api/3/search"
155
+ ```
156
+
157
+ ## Analyzing a Ticket
158
+
159
+ When retrieving a ticket for development or test automation, extract:
160
+
161
+ ### 1. Testable Requirements
162
+ - **Functional requirements** — What the feature does
163
+ - **Acceptance criteria** — Conditions that must be met
164
+ - **Testable behaviors** — Specific actions and expected outcomes
165
+ - **User roles** — Who uses this feature and their permissions
166
+ - **Data requirements** — What data is needed
167
+ - **Integration points** — APIs, services, or systems involved
168
+
169
+ ### 2. Test Types Needed
170
+ - **Unit tests** — Individual functions and utilities
171
+ - **Integration tests** — API endpoints and service interactions
172
+ - **E2E tests** — User-facing UI flows
173
+ - **API tests** — Endpoint contracts and error handling
174
+
175
+ ### 3. Edge Cases & Error Scenarios
176
+ - Invalid inputs (empty, too long, special characters)
177
+ - Unauthorized access
178
+ - Network failures or timeouts
179
+ - Concurrent users or race conditions
180
+ - Boundary conditions
181
+ - Missing or null data
182
+ - State transitions (back navigation, refresh, etc.)
183
+
184
+ ### 4. Structured Analysis Output
185
+
186
+ ```
187
+ Ticket: PROJ-1234
188
+ Summary: [ticket title]
189
+ Status: [current status]
190
+ Priority: [High/Medium/Low]
191
+ Test Types: Unit, Integration, E2E
192
+
193
+ Requirements:
194
+ 1. [requirement 1]
195
+ 2. [requirement 2]
196
+
197
+ Acceptance Criteria:
198
+ - [ ] [criterion 1]
199
+ - [ ] [criterion 2]
200
+
201
+ Test Scenarios:
202
+ - Happy Path: [description]
203
+ - Error Case: [description]
204
+ - Edge Case: [description]
205
+
206
+ Test Data Needed:
207
+ - [data item 1]
208
+ - [data item 2]
209
+
210
+ Dependencies:
211
+ - [dependency 1]
212
+ - [dependency 2]
213
+ ```
214
+
215
+ ## Updating Tickets
216
+
217
+ ### When to Update
218
+
219
+ | Workflow Step | Jira Update |
220
+ |---|---|
221
+ | Start work | Transition to "In Progress" |
222
+ | Tests written | Comment with test coverage summary |
223
+ | Branch created | Comment with branch name |
224
+ | PR/MR created | Comment with link, link issue |
225
+ | Tests passing | Comment with results summary |
226
+ | PR/MR merged | Transition to "Done" or "In Review" |
227
+
228
+ ### Comment Templates
229
+
230
+ **Starting Work:**
231
+ ```
232
+ Starting implementation for this ticket.
233
+ Branch: feat/PROJ-1234-feature-name
234
+ ```
235
+
236
+ **Tests Implemented:**
237
+ ```
238
+ Automated tests implemented:
239
+
240
+ Unit Tests:
241
+ - [test file 1] — [what it covers]
242
+ - [test file 2] — [what it covers]
243
+
244
+ Integration Tests:
245
+ - [test file] — [endpoints/flows covered]
246
+
247
+ All tests passing locally. Coverage: XX%
248
+ ```
249
+
250
+ **PR Created:**
251
+ ```
252
+ Pull request created:
253
+ [PR Title](https://github.com/org/repo/pull/XXX)
254
+
255
+ Ready for review.
256
+ ```
257
+
258
+ **Work Complete:**
259
+ ```
260
+ Implementation complete.
261
+
262
+ PR merged: [link]
263
+ Test results: All passing (X/Y)
264
+ Coverage: XX%
265
+ ```
266
+
267
+ ## Security Guidelines
268
+
269
+ - **Never hardcode** Jira API tokens in source code or skill files
270
+ - **Always use** environment variables or a secrets manager
271
+ - **Add `.env`** to `.gitignore` in every project
272
+ - **Rotate tokens** immediately if exposed in git history
273
+ - **Use least-privilege** API tokens scoped to required projects
274
+ - **Validate** that credentials are set before making API calls — fail fast with a clear message
275
+
276
+ ## Troubleshooting
277
+
278
+ | Error | Cause | Fix |
279
+ |---|---|---|
280
+ | `401 Unauthorized` | Invalid or expired API token | Regenerate at id.atlassian.com |
281
+ | `403 Forbidden` | Token lacks project permissions | Check token scopes and project access |
282
+ | `404 Not Found` | Wrong ticket key or base URL | Verify `JIRA_URL` and ticket key |
283
+ | `spawn uvx ENOENT` | IDE cannot find `uvx` on PATH | Use full path (e.g., `~/.local/bin/uvx`) or set PATH in `~/.zprofile` |
284
+ | Connection timeout | Network/VPN issue | Check VPN connection and firewall rules |
285
+
286
+ ## Best Practices
287
+
288
+ - Update Jira as you go, not all at once at the end
289
+ - Keep comments concise but informative
290
+ - Link rather than copy — point to PRs, test reports, and dashboards
291
+ - Use @mentions if you need input from others
292
+ - Check linked issues to understand full feature scope before starting
293
+ - If acceptance criteria are vague, ask for clarification before writing code
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: jpa-patterns
3
+ description: JPA/Hibernate patterns for entity design, relationships, query optimization, transactions, auditing, indexing, pagination, and pooling in Spring Boot.
4
+ origin: ECC
5
+ ---
6
+
7
+ # JPA/Hibernate Patterns
8
+
9
+ Use for data modeling, repositories, and performance tuning in Spring Boot.
10
+
11
+ ## When to Activate
12
+
13
+ - Designing JPA entities and table mappings
14
+ - Defining relationships (@OneToMany, @ManyToOne, @ManyToMany)
15
+ - Optimizing queries (N+1 prevention, fetch strategies, projections)
16
+ - Configuring transactions, auditing, or soft deletes
17
+ - Setting up pagination, sorting, or custom repository methods
18
+ - Tuning connection pooling (HikariCP) or second-level caching
19
+
20
+ ## Entity Design
21
+
22
+ ```java
23
+ @Entity
24
+ @Table(name = "markets", indexes = {
25
+ @Index(name = "idx_markets_slug", columnList = "slug", unique = true)
26
+ })
27
+ @EntityListeners(AuditingEntityListener.class)
28
+ public class MarketEntity {
29
+ @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
30
+ private Long id;
31
+
32
+ @Column(nullable = false, length = 200)
33
+ private String name;
34
+
35
+ @Column(nullable = false, unique = true, length = 120)
36
+ private String slug;
37
+
38
+ @Enumerated(EnumType.STRING)
39
+ private MarketStatus status = MarketStatus.ACTIVE;
40
+
41
+ @CreatedDate private Instant createdAt;
42
+ @LastModifiedDate private Instant updatedAt;
43
+ }
44
+ ```
45
+
46
+ Enable auditing:
47
+ ```java
48
+ @Configuration
49
+ @EnableJpaAuditing
50
+ class JpaConfig {}
51
+ ```
52
+
53
+ ## Relationships and N+1 Prevention
54
+
55
+ ```java
56
+ @OneToMany(mappedBy = "market", cascade = CascadeType.ALL, orphanRemoval = true)
57
+ private List<PositionEntity> positions = new ArrayList<>();
58
+ ```
59
+
60
+ - Default to lazy loading; use `JOIN FETCH` in queries when needed
61
+ - Avoid `EAGER` on collections; use DTO projections for read paths
62
+
63
+ ```java
64
+ @Query("select m from MarketEntity m left join fetch m.positions where m.id = :id")
65
+ Optional<MarketEntity> findWithPositions(@Param("id") Long id);
66
+ ```
67
+
68
+ ## Repository Patterns
69
+
70
+ ```java
71
+ public interface MarketRepository extends JpaRepository<MarketEntity, Long> {
72
+ Optional<MarketEntity> findBySlug(String slug);
73
+
74
+ @Query("select m from MarketEntity m where m.status = :status")
75
+ Page<MarketEntity> findByStatus(@Param("status") MarketStatus status, Pageable pageable);
76
+ }
77
+ ```
78
+
79
+ - Use projections for lightweight queries:
80
+ ```java
81
+ public interface MarketSummary {
82
+ Long getId();
83
+ String getName();
84
+ MarketStatus getStatus();
85
+ }
86
+ Page<MarketSummary> findAllBy(Pageable pageable);
87
+ ```
88
+
89
+ ## Transactions
90
+
91
+ - Annotate service methods with `@Transactional`
92
+ - Use `@Transactional(readOnly = true)` for read paths to optimize
93
+ - Choose propagation carefully; avoid long-running transactions
94
+
95
+ ```java
96
+ @Transactional
97
+ public Market updateStatus(Long id, MarketStatus status) {
98
+ MarketEntity entity = repo.findById(id)
99
+ .orElseThrow(() -> new EntityNotFoundException("Market"));
100
+ entity.setStatus(status);
101
+ return Market.from(entity);
102
+ }
103
+ ```
104
+
105
+ ## Pagination
106
+
107
+ ```java
108
+ PageRequest page = PageRequest.of(pageNumber, pageSize, Sort.by("createdAt").descending());
109
+ Page<MarketEntity> markets = repo.findByStatus(MarketStatus.ACTIVE, page);
110
+ ```
111
+
112
+ For cursor-like pagination, include `id > :lastId` in JPQL with ordering.
113
+
114
+ ## Indexing and Performance
115
+
116
+ - Add indexes for common filters (`status`, `slug`, foreign keys)
117
+ - Use composite indexes matching query patterns (`status, created_at`)
118
+ - Avoid `select *`; project only needed columns
119
+ - Batch writes with `saveAll` and `hibernate.jdbc.batch_size`
120
+
121
+ ## Connection Pooling (HikariCP)
122
+
123
+ Recommended properties:
124
+ ```
125
+ spring.datasource.hikari.maximum-pool-size=20
126
+ spring.datasource.hikari.minimum-idle=5
127
+ spring.datasource.hikari.connection-timeout=30000
128
+ spring.datasource.hikari.validation-timeout=5000
129
+ ```
130
+
131
+ For PostgreSQL LOB handling, add:
132
+ ```
133
+ spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
134
+ ```
135
+
136
+ ## Caching
137
+
138
+ - 1st-level cache is per EntityManager; avoid keeping entities across transactions
139
+ - For read-heavy entities, consider second-level cache cautiously; validate eviction strategy
140
+
141
+ ## Migrations
142
+
143
+ - Use Flyway or Liquibase; never rely on Hibernate auto DDL in production
144
+ - Keep migrations idempotent and additive; avoid dropping columns without plan
145
+
146
+ ## Testing Data Access
147
+
148
+ - Prefer `@DataJpaTest` with Testcontainers to mirror production
149
+ - Assert SQL efficiency using logs: set `logging.level.org.hibernate.SQL=DEBUG` and `logging.level.org.hibernate.orm.jdbc.bind=TRACE` for parameter values
150
+
151
+ **Remember**: Keep entities lean, queries intentional, and transactions short. Prevent N+1 with fetch strategies and projections, and index for your read/write paths.