@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,215 @@
1
+ ---
2
+ paths:
3
+ - "**/*.dart"
4
+ - "**/pubspec.yaml"
5
+ - "**/analysis_options.yaml"
6
+ ---
7
+ # Dart/Flutter Testing
8
+
9
+ > This file extends [common/testing.md](../common/testing.md) with Dart and Flutter-specific content.
10
+
11
+ ## Test Framework
12
+
13
+ - **flutter_test** / **dart:test** — built-in test runner
14
+ - **mockito** (with `@GenerateMocks`) or **mocktail** (no codegen) for mocking
15
+ - **bloc_test** for BLoC/Cubit unit tests
16
+ - **fake_async** for controlling time in unit tests
17
+ - **integration_test** for end-to-end device tests
18
+
19
+ ## Test Types
20
+
21
+ | Type | Tool | Location | When to Write |
22
+ |------|------|----------|---------------|
23
+ | Unit | `dart:test` | `test/unit/` | All domain logic, state managers, repositories |
24
+ | Widget | `flutter_test` | `test/widget/` | All widgets with meaningful behavior |
25
+ | Golden | `flutter_test` | `test/golden/` | Design-critical UI components |
26
+ | Integration | `integration_test` | `integration_test/` | Critical user flows on real device/emulator |
27
+
28
+ ## Unit Tests: State Managers
29
+
30
+ ### BLoC with `bloc_test`
31
+
32
+ ```dart
33
+ group('CartBloc', () {
34
+ late CartBloc bloc;
35
+ late MockCartRepository repository;
36
+
37
+ setUp(() {
38
+ repository = MockCartRepository();
39
+ bloc = CartBloc(repository);
40
+ });
41
+
42
+ tearDown(() => bloc.close());
43
+
44
+ blocTest<CartBloc, CartState>(
45
+ 'emits updated items when CartItemAdded',
46
+ build: () => bloc,
47
+ act: (b) => b.add(CartItemAdded(testItem)),
48
+ expect: () => [CartState(items: [testItem])],
49
+ );
50
+
51
+ blocTest<CartBloc, CartState>(
52
+ 'emits empty cart when CartCleared',
53
+ seed: () => CartState(items: [testItem]),
54
+ build: () => bloc,
55
+ act: (b) => b.add(CartCleared()),
56
+ expect: () => [const CartState()],
57
+ );
58
+ });
59
+ ```
60
+
61
+ ### Riverpod with `ProviderContainer`
62
+
63
+ ```dart
64
+ test('usersProvider loads users from repository', () async {
65
+ final container = ProviderContainer(
66
+ overrides: [userRepositoryProvider.overrideWithValue(FakeUserRepository())],
67
+ );
68
+ addTearDown(container.dispose);
69
+
70
+ final result = await container.read(usersProvider.future);
71
+ expect(result, isNotEmpty);
72
+ });
73
+ ```
74
+
75
+ ## Widget Tests
76
+
77
+ ```dart
78
+ testWidgets('CartPage shows item count badge', (tester) async {
79
+ await tester.pumpWidget(
80
+ ProviderScope(
81
+ overrides: [
82
+ cartNotifierProvider.overrideWith(() => FakeCartNotifier([testItem])),
83
+ ],
84
+ child: const MaterialApp(home: CartPage()),
85
+ ),
86
+ );
87
+
88
+ await tester.pump();
89
+ expect(find.text('1'), findsOneWidget);
90
+ expect(find.byType(CartItemTile), findsOneWidget);
91
+ });
92
+
93
+ testWidgets('shows empty state when cart is empty', (tester) async {
94
+ await tester.pumpWidget(
95
+ ProviderScope(
96
+ overrides: [cartNotifierProvider.overrideWith(() => FakeCartNotifier([]))],
97
+ child: const MaterialApp(home: CartPage()),
98
+ ),
99
+ );
100
+
101
+ await tester.pump();
102
+ expect(find.text('Your cart is empty'), findsOneWidget);
103
+ });
104
+ ```
105
+
106
+ ## Fakes Over Mocks
107
+
108
+ Prefer hand-written fakes for complex dependencies:
109
+
110
+ ```dart
111
+ class FakeUserRepository implements UserRepository {
112
+ final _users = <String, User>{};
113
+ Object? fetchError;
114
+
115
+ @override
116
+ Future<User?> getById(String id) async {
117
+ if (fetchError != null) throw fetchError!;
118
+ return _users[id];
119
+ }
120
+
121
+ @override
122
+ Future<List<User>> getAll() async {
123
+ if (fetchError != null) throw fetchError!;
124
+ return _users.values.toList();
125
+ }
126
+
127
+ @override
128
+ Stream<List<User>> watchAll() => Stream.value(_users.values.toList());
129
+
130
+ @override
131
+ Future<void> save(User user) async {
132
+ _users[user.id] = user;
133
+ }
134
+
135
+ @override
136
+ Future<void> delete(String id) async {
137
+ _users.remove(id);
138
+ }
139
+
140
+ void addUser(User user) => _users[user.id] = user;
141
+ }
142
+ ```
143
+
144
+ ## Async Testing
145
+
146
+ ```dart
147
+ // Use fake_async for controlling timers and Futures
148
+ test('debounce triggers after 300ms', () {
149
+ fakeAsync((async) {
150
+ final debouncer = Debouncer(delay: const Duration(milliseconds: 300));
151
+ var callCount = 0;
152
+ debouncer.run(() => callCount++);
153
+ expect(callCount, 0);
154
+ async.elapse(const Duration(milliseconds: 200));
155
+ expect(callCount, 0);
156
+ async.elapse(const Duration(milliseconds: 200));
157
+ expect(callCount, 1);
158
+ });
159
+ });
160
+ ```
161
+
162
+ ## Golden Tests
163
+
164
+ ```dart
165
+ testWidgets('UserCard golden test', (tester) async {
166
+ await tester.pumpWidget(
167
+ MaterialApp(home: UserCard(user: testUser)),
168
+ );
169
+
170
+ await expectLater(
171
+ find.byType(UserCard),
172
+ matchesGoldenFile('goldens/user_card.png'),
173
+ );
174
+ });
175
+ ```
176
+
177
+ Run `flutter test --update-goldens` when intentional visual changes are made.
178
+
179
+ ## Test Naming
180
+
181
+ Use descriptive, behavior-focused names:
182
+
183
+ ```dart
184
+ test('returns null when user does not exist', () { ... });
185
+ test('throws NotFoundException when id is empty string', () { ... });
186
+ testWidgets('disables submit button while form is invalid', (tester) async { ... });
187
+ ```
188
+
189
+ ## Test Organization
190
+
191
+ ```
192
+ test/
193
+ ├── unit/
194
+ │ ├── domain/
195
+ │ │ └── usecases/
196
+ │ └── data/
197
+ │ └── repositories/
198
+ ├── widget/
199
+ │ └── presentation/
200
+ │ └── pages/
201
+ └── golden/
202
+ └── widgets/
203
+
204
+ integration_test/
205
+ └── flows/
206
+ ├── login_flow_test.dart
207
+ └── checkout_flow_test.dart
208
+ ```
209
+
210
+ ## Coverage
211
+
212
+ - Target 80%+ line coverage for business logic (domain + state managers)
213
+ - All state transitions must have tests: loading → success, loading → error, retry
214
+ - Run `flutter test --coverage` and inspect `lcov.info` with a coverage reporter
215
+ - Coverage failures should block CI when below threshold
@@ -0,0 +1,32 @@
1
+ ---
2
+ paths:
3
+ - "**/*.go"
4
+ - "**/go.mod"
5
+ - "**/go.sum"
6
+ ---
7
+ # Go Coding Style
8
+
9
+ > This file extends [common/coding-style.md](../common/coding-style.md) with Go specific content.
10
+
11
+ ## Formatting
12
+
13
+ - **gofmt** and **goimports** are mandatory — no style debates
14
+
15
+ ## Design Principles
16
+
17
+ - Accept interfaces, return structs
18
+ - Keep interfaces small (1-3 methods)
19
+
20
+ ## Error Handling
21
+
22
+ Always wrap errors with context:
23
+
24
+ ```go
25
+ if err != nil {
26
+ return fmt.Errorf("failed to create user: %w", err)
27
+ }
28
+ ```
29
+
30
+ ## Reference
31
+
32
+ See skill: `golang-patterns` for comprehensive Go idioms and patterns.
@@ -0,0 +1,17 @@
1
+ ---
2
+ paths:
3
+ - "**/*.go"
4
+ - "**/go.mod"
5
+ - "**/go.sum"
6
+ ---
7
+ # Go Hooks
8
+
9
+ > This file extends [common/hooks.md](../common/hooks.md) with Go specific content.
10
+
11
+ ## PostToolUse Hooks
12
+
13
+ Configure in `~/.claude/settings.json`:
14
+
15
+ - **gofmt/goimports**: Auto-format `.go` files after edit
16
+ - **go vet**: Run static analysis after editing `.go` files
17
+ - **staticcheck**: Run extended static checks on modified packages
@@ -0,0 +1,45 @@
1
+ ---
2
+ paths:
3
+ - "**/*.go"
4
+ - "**/go.mod"
5
+ - "**/go.sum"
6
+ ---
7
+ # Go Patterns
8
+
9
+ > This file extends [common/patterns.md](../common/patterns.md) with Go specific content.
10
+
11
+ ## Functional Options
12
+
13
+ ```go
14
+ type Option func(*Server)
15
+
16
+ func WithPort(port int) Option {
17
+ return func(s *Server) { s.port = port }
18
+ }
19
+
20
+ func NewServer(opts ...Option) *Server {
21
+ s := &Server{port: 8080}
22
+ for _, opt := range opts {
23
+ opt(s)
24
+ }
25
+ return s
26
+ }
27
+ ```
28
+
29
+ ## Small Interfaces
30
+
31
+ Define interfaces where they are used, not where they are implemented.
32
+
33
+ ## Dependency Injection
34
+
35
+ Use constructor functions to inject dependencies:
36
+
37
+ ```go
38
+ func NewUserService(repo UserRepository, logger Logger) *UserService {
39
+ return &UserService{repo: repo, logger: logger}
40
+ }
41
+ ```
42
+
43
+ ## Reference
44
+
45
+ See skill: `golang-patterns` for comprehensive Go patterns including concurrency, error handling, and package organization.
@@ -0,0 +1,34 @@
1
+ ---
2
+ paths:
3
+ - "**/*.go"
4
+ - "**/go.mod"
5
+ - "**/go.sum"
6
+ ---
7
+ # Go Security
8
+
9
+ > This file extends [common/security.md](../common/security.md) with Go specific content.
10
+
11
+ ## Secret Management
12
+
13
+ ```go
14
+ apiKey := os.Getenv("OPENAI_API_KEY")
15
+ if apiKey == "" {
16
+ log.Fatal("OPENAI_API_KEY not configured")
17
+ }
18
+ ```
19
+
20
+ ## Security Scanning
21
+
22
+ - Use **gosec** for static security analysis:
23
+ ```bash
24
+ gosec ./...
25
+ ```
26
+
27
+ ## Context & Timeouts
28
+
29
+ Always use `context.Context` for timeout control:
30
+
31
+ ```go
32
+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
33
+ defer cancel()
34
+ ```
@@ -0,0 +1,31 @@
1
+ ---
2
+ paths:
3
+ - "**/*.go"
4
+ - "**/go.mod"
5
+ - "**/go.sum"
6
+ ---
7
+ # Go Testing
8
+
9
+ > This file extends [common/testing.md](../common/testing.md) with Go specific content.
10
+
11
+ ## Framework
12
+
13
+ Use the standard `go test` with **table-driven tests**.
14
+
15
+ ## Race Detection
16
+
17
+ Always run with the `-race` flag:
18
+
19
+ ```bash
20
+ go test -race ./...
21
+ ```
22
+
23
+ ## Coverage
24
+
25
+ ```bash
26
+ go test -cover ./...
27
+ ```
28
+
29
+ ## Reference
30
+
31
+ See skill: `golang-testing` for detailed Go testing patterns and helpers.
@@ -0,0 +1,114 @@
1
+ ---
2
+ paths:
3
+ - "**/*.java"
4
+ ---
5
+ # Java Coding Style
6
+
7
+ > This file extends [common/coding-style.md](../common/coding-style.md) with Java-specific content.
8
+
9
+ ## Formatting
10
+
11
+ - **google-java-format** or **Checkstyle** (Google or Sun style) for enforcement
12
+ - One public top-level type per file
13
+ - Consistent indent: 2 or 4 spaces (match project standard)
14
+ - Member order: constants, fields, constructors, public methods, protected, private
15
+
16
+ ## Immutability
17
+
18
+ - Prefer `record` for value types (Java 16+)
19
+ - Mark fields `final` by default — use mutable state only when required
20
+ - Return defensive copies from public APIs: `List.copyOf()`, `Map.copyOf()`, `Set.copyOf()`
21
+ - Copy-on-write: return new instances rather than mutating existing ones
22
+
23
+ ```java
24
+ // GOOD — immutable value type
25
+ public record OrderSummary(Long id, String customerName, BigDecimal total) {}
26
+
27
+ // GOOD — final fields, no setters
28
+ public class Order {
29
+ private final Long id;
30
+ private final List<LineItem> items;
31
+
32
+ public List<LineItem> getItems() {
33
+ return List.copyOf(items);
34
+ }
35
+ }
36
+ ```
37
+
38
+ ## Naming
39
+
40
+ Follow standard Java conventions:
41
+ - `PascalCase` for classes, interfaces, records, enums
42
+ - `camelCase` for methods, fields, parameters, local variables
43
+ - `SCREAMING_SNAKE_CASE` for `static final` constants
44
+ - Packages: all lowercase, reverse domain (`com.example.app.service`)
45
+
46
+ ## Modern Java Features
47
+
48
+ Use modern language features where they improve clarity:
49
+ - **Records** for DTOs and value types (Java 16+)
50
+ - **Sealed classes** for closed type hierarchies (Java 17+)
51
+ - **Pattern matching** with `instanceof` — no explicit cast (Java 16+)
52
+ - **Text blocks** for multi-line strings — SQL, JSON templates (Java 15+)
53
+ - **Switch expressions** with arrow syntax (Java 14+)
54
+ - **Pattern matching in switch** — exhaustive sealed type handling (Java 21+)
55
+
56
+ ```java
57
+ // Pattern matching instanceof
58
+ if (shape instanceof Circle c) {
59
+ return Math.PI * c.radius() * c.radius();
60
+ }
61
+
62
+ // Sealed type hierarchy
63
+ public sealed interface PaymentMethod permits CreditCard, BankTransfer, Wallet {}
64
+
65
+ // Switch expression
66
+ String label = switch (status) {
67
+ case ACTIVE -> "Active";
68
+ case SUSPENDED -> "Suspended";
69
+ case CLOSED -> "Closed";
70
+ };
71
+ ```
72
+
73
+ ## Optional Usage
74
+
75
+ - Return `Optional<T>` from finder methods that may have no result
76
+ - Use `map()`, `flatMap()`, `orElseThrow()` — never call `get()` without `isPresent()`
77
+ - Never use `Optional` as a field type or method parameter
78
+
79
+ ```java
80
+ // GOOD
81
+ return repository.findById(id)
82
+ .map(ResponseDto::from)
83
+ .orElseThrow(() -> new OrderNotFoundException(id));
84
+
85
+ // BAD — Optional as parameter
86
+ public void process(Optional<String> name) {}
87
+ ```
88
+
89
+ ## Error Handling
90
+
91
+ - Prefer unchecked exceptions for domain errors
92
+ - Create domain-specific exceptions extending `RuntimeException`
93
+ - Avoid broad `catch (Exception e)` unless at top-level handlers
94
+ - Include context in exception messages
95
+
96
+ ```java
97
+ public class OrderNotFoundException extends RuntimeException {
98
+ public OrderNotFoundException(Long id) {
99
+ super("Order not found: id=" + id);
100
+ }
101
+ }
102
+ ```
103
+
104
+ ## Streams
105
+
106
+ - Use streams for transformations; keep pipelines short (3-4 operations max)
107
+ - Prefer method references when readable: `.map(Order::getTotal)`
108
+ - Avoid side effects in stream operations
109
+ - For complex logic, prefer a loop over a convoluted stream pipeline
110
+
111
+ ## References
112
+
113
+ See skill: `java-coding-standards` for full coding standards with examples.
114
+ See skill: `jpa-patterns` for JPA/Hibernate entity design patterns.
@@ -0,0 +1,18 @@
1
+ ---
2
+ paths:
3
+ - "**/*.java"
4
+ - "**/pom.xml"
5
+ - "**/build.gradle"
6
+ - "**/build.gradle.kts"
7
+ ---
8
+ # Java Hooks
9
+
10
+ > This file extends [common/hooks.md](../common/hooks.md) with Java-specific content.
11
+
12
+ ## PostToolUse Hooks
13
+
14
+ Configure in `~/.claude/settings.json`:
15
+
16
+ - **google-java-format**: Auto-format `.java` files after edit
17
+ - **checkstyle**: Run style checks after editing Java files
18
+ - **./mvnw compile** or **./gradlew compileJava**: Verify compilation after changes
@@ -0,0 +1,146 @@
1
+ ---
2
+ paths:
3
+ - "**/*.java"
4
+ ---
5
+ # Java Patterns
6
+
7
+ > This file extends [common/patterns.md](../common/patterns.md) with Java-specific content.
8
+
9
+ ## Repository Pattern
10
+
11
+ Encapsulate data access behind an interface:
12
+
13
+ ```java
14
+ public interface OrderRepository {
15
+ Optional<Order> findById(Long id);
16
+ List<Order> findAll();
17
+ Order save(Order order);
18
+ void deleteById(Long id);
19
+ }
20
+ ```
21
+
22
+ Concrete implementations handle storage details (JPA, JDBC, in-memory for tests).
23
+
24
+ ## Service Layer
25
+
26
+ Business logic in service classes; keep controllers and repositories thin:
27
+
28
+ ```java
29
+ public class OrderService {
30
+ private final OrderRepository orderRepository;
31
+ private final PaymentGateway paymentGateway;
32
+
33
+ public OrderService(OrderRepository orderRepository, PaymentGateway paymentGateway) {
34
+ this.orderRepository = orderRepository;
35
+ this.paymentGateway = paymentGateway;
36
+ }
37
+
38
+ public OrderSummary placeOrder(CreateOrderRequest request) {
39
+ var order = Order.from(request);
40
+ paymentGateway.charge(order.total());
41
+ var saved = orderRepository.save(order);
42
+ return OrderSummary.from(saved);
43
+ }
44
+ }
45
+ ```
46
+
47
+ ## Constructor Injection
48
+
49
+ Always use constructor injection — never field injection:
50
+
51
+ ```java
52
+ // GOOD — constructor injection (testable, immutable)
53
+ public class NotificationService {
54
+ private final EmailSender emailSender;
55
+
56
+ public NotificationService(EmailSender emailSender) {
57
+ this.emailSender = emailSender;
58
+ }
59
+ }
60
+
61
+ // BAD — field injection (untestable without reflection, requires framework magic)
62
+ public class NotificationService {
63
+ @Inject // or @Autowired
64
+ private EmailSender emailSender;
65
+ }
66
+ ```
67
+
68
+ ## DTO Mapping
69
+
70
+ Use records for DTOs. Map at service/controller boundaries:
71
+
72
+ ```java
73
+ public record OrderResponse(Long id, String customer, BigDecimal total) {
74
+ public static OrderResponse from(Order order) {
75
+ return new OrderResponse(order.getId(), order.getCustomerName(), order.getTotal());
76
+ }
77
+ }
78
+ ```
79
+
80
+ ## Builder Pattern
81
+
82
+ Use for objects with many optional parameters:
83
+
84
+ ```java
85
+ public class SearchCriteria {
86
+ private final String query;
87
+ private final int page;
88
+ private final int size;
89
+ private final String sortBy;
90
+
91
+ private SearchCriteria(Builder builder) {
92
+ this.query = builder.query;
93
+ this.page = builder.page;
94
+ this.size = builder.size;
95
+ this.sortBy = builder.sortBy;
96
+ }
97
+
98
+ public static class Builder {
99
+ private String query = "";
100
+ private int page = 0;
101
+ private int size = 20;
102
+ private String sortBy = "id";
103
+
104
+ public Builder query(String query) { this.query = query; return this; }
105
+ public Builder page(int page) { this.page = page; return this; }
106
+ public Builder size(int size) { this.size = size; return this; }
107
+ public Builder sortBy(String sortBy) { this.sortBy = sortBy; return this; }
108
+ public SearchCriteria build() { return new SearchCriteria(this); }
109
+ }
110
+ }
111
+ ```
112
+
113
+ ## Sealed Types for Domain Models
114
+
115
+ ```java
116
+ public sealed interface PaymentResult permits PaymentSuccess, PaymentFailure {
117
+ record PaymentSuccess(String transactionId, BigDecimal amount) implements PaymentResult {}
118
+ record PaymentFailure(String errorCode, String message) implements PaymentResult {}
119
+ }
120
+
121
+ // Exhaustive handling (Java 21+)
122
+ String message = switch (result) {
123
+ case PaymentSuccess s -> "Paid: " + s.transactionId();
124
+ case PaymentFailure f -> "Failed: " + f.errorCode();
125
+ };
126
+ ```
127
+
128
+ ## API Response Envelope
129
+
130
+ Consistent API responses:
131
+
132
+ ```java
133
+ public record ApiResponse<T>(boolean success, T data, String error) {
134
+ public static <T> ApiResponse<T> ok(T data) {
135
+ return new ApiResponse<>(true, data, null);
136
+ }
137
+ public static <T> ApiResponse<T> error(String message) {
138
+ return new ApiResponse<>(false, null, message);
139
+ }
140
+ }
141
+ ```
142
+
143
+ ## References
144
+
145
+ See skill: `springboot-patterns` for Spring Boot architecture patterns.
146
+ See skill: `jpa-patterns` for entity design and query optimization.