@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,131 @@
1
+ ---
2
+ name: strategic-compact
3
+ description: Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Strategic Compact Skill
8
+
9
+ Suggests manual `/compact` at strategic points in your workflow rather than relying on arbitrary auto-compaction.
10
+
11
+ ## When to Activate
12
+
13
+ - Running long sessions that approach context limits (200K+ tokens)
14
+ - Working on multi-phase tasks (research → plan → implement → test)
15
+ - Switching between unrelated tasks within the same session
16
+ - After completing a major milestone and starting new work
17
+ - When responses slow down or become less coherent (context pressure)
18
+
19
+ ## Why Strategic Compaction?
20
+
21
+ Auto-compaction triggers at arbitrary points:
22
+ - Often mid-task, losing important context
23
+ - No awareness of logical task boundaries
24
+ - Can interrupt complex multi-step operations
25
+
26
+ Strategic compaction at logical boundaries:
27
+ - **After exploration, before execution** — Compact research context, keep implementation plan
28
+ - **After completing a milestone** — Fresh start for next phase
29
+ - **Before major context shifts** — Clear exploration context before different task
30
+
31
+ ## How It Works
32
+
33
+ The `suggest-compact.js` script runs on PreToolUse (Edit/Write) and:
34
+
35
+ 1. **Tracks tool calls** — Counts tool invocations in session
36
+ 2. **Threshold detection** — Suggests at configurable threshold (default: 50 calls)
37
+ 3. **Periodic reminders** — Reminds every 25 calls after threshold
38
+
39
+ ## Hook Setup
40
+
41
+ Add to your `~/.claude/settings.json`:
42
+
43
+ ```json
44
+ {
45
+ "hooks": {
46
+ "PreToolUse": [
47
+ {
48
+ "matcher": "Edit",
49
+ "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
50
+ },
51
+ {
52
+ "matcher": "Write",
53
+ "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
54
+ }
55
+ ]
56
+ }
57
+ }
58
+ ```
59
+
60
+ ## Configuration
61
+
62
+ Environment variables:
63
+ - `COMPACT_THRESHOLD` — Tool calls before first suggestion (default: 50)
64
+
65
+ ## Compaction Decision Guide
66
+
67
+ Use this table to decide when to compact:
68
+
69
+ | Phase Transition | Compact? | Why |
70
+ |-----------------|----------|-----|
71
+ | Research → Planning | Yes | Research context is bulky; plan is the distilled output |
72
+ | Planning → Implementation | Yes | Plan is in TodoWrite or a file; free up context for code |
73
+ | Implementation → Testing | Maybe | Keep if tests reference recent code; compact if switching focus |
74
+ | Debugging → Next feature | Yes | Debug traces pollute context for unrelated work |
75
+ | Mid-implementation | No | Losing variable names, file paths, and partial state is costly |
76
+ | After a failed approach | Yes | Clear the dead-end reasoning before trying a new approach |
77
+
78
+ ## What Survives Compaction
79
+
80
+ Understanding what persists helps you compact with confidence:
81
+
82
+ | Persists | Lost |
83
+ |----------|------|
84
+ | CLAUDE.md instructions | Intermediate reasoning and analysis |
85
+ | TodoWrite task list | File contents you previously read |
86
+ | Memory files (`~/.claude/memory/`) | Multi-step conversation context |
87
+ | Git state (commits, branches) | Tool call history and counts |
88
+ | Files on disk | Nuanced user preferences stated verbally |
89
+
90
+ ## Best Practices
91
+
92
+ 1. **Compact after planning** — Once plan is finalized in TodoWrite, compact to start fresh
93
+ 2. **Compact after debugging** — Clear error-resolution context before continuing
94
+ 3. **Don't compact mid-implementation** — Preserve context for related changes
95
+ 4. **Read the suggestion** — The hook tells you *when*, you decide *if*
96
+ 5. **Write before compacting** — Save important context to files or memory before compacting
97
+ 6. **Use `/compact` with a summary** — Add a custom message: `/compact Focus on implementing auth middleware next`
98
+
99
+ ## Token Optimization Patterns
100
+
101
+ ### Trigger-Table Lazy Loading
102
+ Instead of loading full skill content at session start, use a trigger table that maps keywords to skill paths. Skills load only when triggered, reducing baseline context by 50%+:
103
+
104
+ | Trigger | Skill | Load When |
105
+ |---------|-------|-----------|
106
+ | "test", "tdd", "coverage" | tdd-workflow | User mentions testing |
107
+ | "security", "auth", "xss" | security-review | Security-related work |
108
+ | "deploy", "ci/cd" | deployment-patterns | Deployment context |
109
+
110
+ ### Context Composition Awareness
111
+ Monitor what's consuming your context window:
112
+ - **CLAUDE.md files** — Always loaded, keep lean
113
+ - **Loaded skills** — Each skill adds 1-5K tokens
114
+ - **Conversation history** — Grows with each exchange
115
+ - **Tool results** — File reads, search results add bulk
116
+
117
+ ### Duplicate Instruction Detection
118
+ Common sources of duplicate context:
119
+ - Same rules in both `~/.claude/rules/` and project `.claude/rules/`
120
+ - Skills that repeat CLAUDE.md instructions
121
+ - Multiple skills covering overlapping domains
122
+
123
+ ### Context Optimization Tools
124
+ - `token-optimizer` MCP — Automated 95%+ token reduction via content deduplication
125
+ - `context-mode` — Context virtualization (315KB to 5.4KB demonstrated)
126
+
127
+ ## Related
128
+
129
+ - [The Longform Guide](https://x.com/affaanmustafa/status/2014040193557471352) — Token optimization section
130
+ - Memory persistence hooks — For state that survives compaction
131
+ - `continuous-learning` skill — Extracts patterns before session ends
@@ -0,0 +1,54 @@
1
+ #!/bin/bash
2
+ # Strategic Compact Suggester
3
+ # Runs on PreToolUse or periodically to suggest manual compaction at logical intervals
4
+ #
5
+ # Why manual over auto-compact:
6
+ # - Auto-compact happens at arbitrary points, often mid-task
7
+ # - Strategic compacting preserves context through logical phases
8
+ # - Compact after exploration, before execution
9
+ # - Compact after completing a milestone, before starting next
10
+ #
11
+ # Hook config (in ~/.claude/settings.json):
12
+ # {
13
+ # "hooks": {
14
+ # "PreToolUse": [{
15
+ # "matcher": "Edit|Write",
16
+ # "hooks": [{
17
+ # "type": "command",
18
+ # "command": "~/.claude/skills/strategic-compact/suggest-compact.sh"
19
+ # }]
20
+ # }]
21
+ # }
22
+ # }
23
+ #
24
+ # Criteria for suggesting compact:
25
+ # - Session has been running for extended period
26
+ # - Large number of tool calls made
27
+ # - Transitioning from research/exploration to implementation
28
+ # - Plan has been finalized
29
+
30
+ # Track tool call count (increment in a temp file)
31
+ # Use CLAUDE_SESSION_ID for session-specific counter (not $$ which changes per invocation)
32
+ SESSION_ID="${CLAUDE_SESSION_ID:-${PPID:-default}}"
33
+ COUNTER_FILE="/tmp/claude-tool-count-${SESSION_ID}"
34
+ THRESHOLD=${COMPACT_THRESHOLD:-50}
35
+
36
+ # Initialize or increment counter
37
+ if [ -f "$COUNTER_FILE" ]; then
38
+ count=$(cat "$COUNTER_FILE")
39
+ count=$((count + 1))
40
+ echo "$count" > "$COUNTER_FILE"
41
+ else
42
+ echo "1" > "$COUNTER_FILE"
43
+ count=1
44
+ fi
45
+
46
+ # Suggest compact after threshold tool calls
47
+ if [ "$count" -eq "$THRESHOLD" ]; then
48
+ echo "[StrategicCompact] $THRESHOLD tool calls reached - consider /compact if transitioning phases" >&2
49
+ fi
50
+
51
+ # Suggest at regular intervals after threshold
52
+ if [ "$count" -gt "$THRESHOLD" ] && [ $((count % 25)) -eq 0 ]; then
53
+ echo "[StrategicCompact] $count tool calls - good checkpoint for /compact if context is stale" >&2
54
+ fi
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: swift-actor-persistence
3
+ description: Thread-safe data persistence in Swift using actors — in-memory cache with file-backed storage, eliminating data races by design.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Swift Actors for Thread-Safe Persistence
8
+
9
+ Patterns for building thread-safe data persistence layers using Swift actors. Combines in-memory caching with file-backed storage, leveraging the actor model to eliminate data races at compile time.
10
+
11
+ ## When to Activate
12
+
13
+ - Building a data persistence layer in Swift 5.5+
14
+ - Need thread-safe access to shared mutable state
15
+ - Want to eliminate manual synchronization (locks, DispatchQueues)
16
+ - Building offline-first apps with local storage
17
+
18
+ ## Core Pattern
19
+
20
+ ### Actor-Based Repository
21
+
22
+ The actor model guarantees serialized access — no data races, enforced by the compiler.
23
+
24
+ ```swift
25
+ public actor LocalRepository<T: Codable & Identifiable> where T.ID == String {
26
+ private var cache: [String: T] = [:]
27
+ private let fileURL: URL
28
+
29
+ public init(directory: URL = .documentsDirectory, filename: String = "data.json") {
30
+ self.fileURL = directory.appendingPathComponent(filename)
31
+ // Synchronous load during init (actor isolation not yet active)
32
+ self.cache = Self.loadSynchronously(from: fileURL)
33
+ }
34
+
35
+ // MARK: - Public API
36
+
37
+ public func save(_ item: T) throws {
38
+ cache[item.id] = item
39
+ try persistToFile()
40
+ }
41
+
42
+ public func delete(_ id: String) throws {
43
+ cache[id] = nil
44
+ try persistToFile()
45
+ }
46
+
47
+ public func find(by id: String) -> T? {
48
+ cache[id]
49
+ }
50
+
51
+ public func loadAll() -> [T] {
52
+ Array(cache.values)
53
+ }
54
+
55
+ // MARK: - Private
56
+
57
+ private func persistToFile() throws {
58
+ let data = try JSONEncoder().encode(Array(cache.values))
59
+ try data.write(to: fileURL, options: .atomic)
60
+ }
61
+
62
+ private static func loadSynchronously(from url: URL) -> [String: T] {
63
+ guard let data = try? Data(contentsOf: url),
64
+ let items = try? JSONDecoder().decode([T].self, from: data) else {
65
+ return [:]
66
+ }
67
+ return Dictionary(uniqueKeysWithValues: items.map { ($0.id, $0) })
68
+ }
69
+ }
70
+ ```
71
+
72
+ ### Usage
73
+
74
+ All calls are automatically async due to actor isolation:
75
+
76
+ ```swift
77
+ let repository = LocalRepository<Question>()
78
+
79
+ // Read — fast O(1) lookup from in-memory cache
80
+ let question = await repository.find(by: "q-001")
81
+ let allQuestions = await repository.loadAll()
82
+
83
+ // Write — updates cache and persists to file atomically
84
+ try await repository.save(newQuestion)
85
+ try await repository.delete("q-001")
86
+ ```
87
+
88
+ ### Combining with @Observable ViewModel
89
+
90
+ ```swift
91
+ @Observable
92
+ final class QuestionListViewModel {
93
+ private(set) var questions: [Question] = []
94
+ private let repository: LocalRepository<Question>
95
+
96
+ init(repository: LocalRepository<Question> = LocalRepository()) {
97
+ self.repository = repository
98
+ }
99
+
100
+ func load() async {
101
+ questions = await repository.loadAll()
102
+ }
103
+
104
+ func add(_ question: Question) async throws {
105
+ try await repository.save(question)
106
+ questions = await repository.loadAll()
107
+ }
108
+ }
109
+ ```
110
+
111
+ ## Key Design Decisions
112
+
113
+ | Decision | Rationale |
114
+ |----------|-----------|
115
+ | Actor (not class + lock) | Compiler-enforced thread safety, no manual synchronization |
116
+ | In-memory cache + file persistence | Fast reads from cache, durable writes to disk |
117
+ | Synchronous init loading | Avoids async initialization complexity |
118
+ | Dictionary keyed by ID | O(1) lookups by identifier |
119
+ | Generic over `Codable & Identifiable` | Reusable across any model type |
120
+ | Atomic file writes (`.atomic`) | Prevents partial writes on crash |
121
+
122
+ ## Best Practices
123
+
124
+ - **Use `Sendable` types** for all data crossing actor boundaries
125
+ - **Keep the actor's public API minimal** — only expose domain operations, not persistence details
126
+ - **Use `.atomic` writes** to prevent data corruption if the app crashes mid-write
127
+ - **Load synchronously in `init`** — async initializers add complexity with minimal benefit for local files
128
+ - **Combine with `@Observable`** ViewModels for reactive UI updates
129
+
130
+ ## Anti-Patterns to Avoid
131
+
132
+ - Using `DispatchQueue` or `NSLock` instead of actors for new Swift concurrency code
133
+ - Exposing the internal cache dictionary to external callers
134
+ - Making the file URL configurable without validation
135
+ - Forgetting that all actor method calls are `await` — callers must handle async context
136
+ - Using `nonisolated` to bypass actor isolation (defeats the purpose)
137
+
138
+ ## When to Use
139
+
140
+ - Local data storage in iOS/macOS apps (user data, settings, cached content)
141
+ - Offline-first architectures that sync to a server later
142
+ - Any shared mutable state that multiple parts of the app access concurrently
143
+ - Replacing legacy `DispatchQueue`-based thread safety with modern Swift concurrency
@@ -0,0 +1,216 @@
1
+ ---
2
+ name: swift-concurrency-6-2
3
+ description: Swift 6.2 Approachable Concurrency — single-threaded by default, @concurrent for explicit background offloading, isolated conformances for main actor types.
4
+ ---
5
+
6
+ # Swift 6.2 Approachable Concurrency
7
+
8
+ Patterns for adopting Swift 6.2's concurrency model where code runs single-threaded by default and concurrency is introduced explicitly. Eliminates common data-race errors without sacrificing performance.
9
+
10
+ ## When to Activate
11
+
12
+ - Migrating Swift 5.x or 6.0/6.1 projects to Swift 6.2
13
+ - Resolving data-race safety compiler errors
14
+ - Designing MainActor-based app architecture
15
+ - Offloading CPU-intensive work to background threads
16
+ - Implementing protocol conformances on MainActor-isolated types
17
+ - Enabling Approachable Concurrency build settings in Xcode 26
18
+
19
+ ## Core Problem: Implicit Background Offloading
20
+
21
+ In Swift 6.1 and earlier, async functions could be implicitly offloaded to background threads, causing data-race errors even in seemingly safe code:
22
+
23
+ ```swift
24
+ // Swift 6.1: ERROR
25
+ @MainActor
26
+ final class StickerModel {
27
+ let photoProcessor = PhotoProcessor()
28
+
29
+ func extractSticker(_ item: PhotosPickerItem) async throws -> Sticker? {
30
+ guard let data = try await item.loadTransferable(type: Data.self) else { return nil }
31
+
32
+ // Error: Sending 'self.photoProcessor' risks causing data races
33
+ return await photoProcessor.extractSticker(data: data, with: item.itemIdentifier)
34
+ }
35
+ }
36
+ ```
37
+
38
+ Swift 6.2 fixes this: async functions stay on the calling actor by default.
39
+
40
+ ```swift
41
+ // Swift 6.2: OK — async stays on MainActor, no data race
42
+ @MainActor
43
+ final class StickerModel {
44
+ let photoProcessor = PhotoProcessor()
45
+
46
+ func extractSticker(_ item: PhotosPickerItem) async throws -> Sticker? {
47
+ guard let data = try await item.loadTransferable(type: Data.self) else { return nil }
48
+ return await photoProcessor.extractSticker(data: data, with: item.itemIdentifier)
49
+ }
50
+ }
51
+ ```
52
+
53
+ ## Core Pattern — Isolated Conformances
54
+
55
+ MainActor types can now conform to non-isolated protocols safely:
56
+
57
+ ```swift
58
+ protocol Exportable {
59
+ func export()
60
+ }
61
+
62
+ // Swift 6.1: ERROR — crosses into main actor-isolated code
63
+ // Swift 6.2: OK with isolated conformance
64
+ extension StickerModel: @MainActor Exportable {
65
+ func export() {
66
+ photoProcessor.exportAsPNG()
67
+ }
68
+ }
69
+ ```
70
+
71
+ The compiler ensures the conformance is only used on the main actor:
72
+
73
+ ```swift
74
+ // OK — ImageExporter is also @MainActor
75
+ @MainActor
76
+ struct ImageExporter {
77
+ var items: [any Exportable]
78
+
79
+ mutating func add(_ item: StickerModel) {
80
+ items.append(item) // Safe: same actor isolation
81
+ }
82
+ }
83
+
84
+ // ERROR — nonisolated context can't use MainActor conformance
85
+ nonisolated struct ImageExporter {
86
+ var items: [any Exportable]
87
+
88
+ mutating func add(_ item: StickerModel) {
89
+ items.append(item) // Error: Main actor-isolated conformance cannot be used here
90
+ }
91
+ }
92
+ ```
93
+
94
+ ## Core Pattern — Global and Static Variables
95
+
96
+ Protect global/static state with MainActor:
97
+
98
+ ```swift
99
+ // Swift 6.1: ERROR — non-Sendable type may have shared mutable state
100
+ final class StickerLibrary {
101
+ static let shared: StickerLibrary = .init() // Error
102
+ }
103
+
104
+ // Fix: Annotate with @MainActor
105
+ @MainActor
106
+ final class StickerLibrary {
107
+ static let shared: StickerLibrary = .init() // OK
108
+ }
109
+ ```
110
+
111
+ ### MainActor Default Inference Mode
112
+
113
+ Swift 6.2 introduces a mode where MainActor is inferred by default — no manual annotations needed:
114
+
115
+ ```swift
116
+ // With MainActor default inference enabled:
117
+ final class StickerLibrary {
118
+ static let shared: StickerLibrary = .init() // Implicitly @MainActor
119
+ }
120
+
121
+ final class StickerModel {
122
+ let photoProcessor: PhotoProcessor
123
+ var selection: [PhotosPickerItem] // Implicitly @MainActor
124
+ }
125
+
126
+ extension StickerModel: Exportable { // Implicitly @MainActor conformance
127
+ func export() {
128
+ photoProcessor.exportAsPNG()
129
+ }
130
+ }
131
+ ```
132
+
133
+ This mode is opt-in and recommended for apps, scripts, and other executable targets.
134
+
135
+ ## Core Pattern — @concurrent for Background Work
136
+
137
+ When you need actual parallelism, explicitly offload with `@concurrent`:
138
+
139
+ > **Important:** This example requires Approachable Concurrency build settings — SE-0466 (MainActor default isolation) and SE-0461 (NonisolatedNonsendingByDefault). With these enabled, `extractSticker` stays on the caller's actor, making mutable state access safe. **Without these settings, this code has a data race** — the compiler will flag it.
140
+
141
+ ```swift
142
+ nonisolated final class PhotoProcessor {
143
+ private var cachedStickers: [String: Sticker] = [:]
144
+
145
+ func extractSticker(data: Data, with id: String) async -> Sticker {
146
+ if let sticker = cachedStickers[id] {
147
+ return sticker
148
+ }
149
+
150
+ let sticker = await Self.extractSubject(from: data)
151
+ cachedStickers[id] = sticker
152
+ return sticker
153
+ }
154
+
155
+ // Offload expensive work to concurrent thread pool
156
+ @concurrent
157
+ static func extractSubject(from data: Data) async -> Sticker { /* ... */ }
158
+ }
159
+
160
+ // Callers must await
161
+ let processor = PhotoProcessor()
162
+ processedPhotos[item.id] = await processor.extractSticker(data: data, with: item.id)
163
+ ```
164
+
165
+ To use `@concurrent`:
166
+ 1. Mark the containing type as `nonisolated`
167
+ 2. Add `@concurrent` to the function
168
+ 3. Add `async` if not already asynchronous
169
+ 4. Add `await` at call sites
170
+
171
+ ## Key Design Decisions
172
+
173
+ | Decision | Rationale |
174
+ |----------|-----------|
175
+ | Single-threaded by default | Most natural code is data-race free; concurrency is opt-in |
176
+ | Async stays on calling actor | Eliminates implicit offloading that caused data-race errors |
177
+ | Isolated conformances | MainActor types can conform to protocols without unsafe workarounds |
178
+ | `@concurrent` explicit opt-in | Background execution is a deliberate performance choice, not accidental |
179
+ | MainActor default inference | Reduces boilerplate `@MainActor` annotations for app targets |
180
+ | Opt-in adoption | Non-breaking migration path — enable features incrementally |
181
+
182
+ ## Migration Steps
183
+
184
+ 1. **Enable in Xcode**: Swift Compiler > Concurrency section in Build Settings
185
+ 2. **Enable in SPM**: Use `SwiftSettings` API in package manifest
186
+ 3. **Use migration tooling**: Automatic code changes via swift.org/migration
187
+ 4. **Start with MainActor defaults**: Enable inference mode for app targets
188
+ 5. **Add `@concurrent` where needed**: Profile first, then offload hot paths
189
+ 6. **Test thoroughly**: Data-race issues become compile-time errors
190
+
191
+ ## Best Practices
192
+
193
+ - **Start on MainActor** — write single-threaded code first, optimize later
194
+ - **Use `@concurrent` only for CPU-intensive work** — image processing, compression, complex computation
195
+ - **Enable MainActor inference mode** for app targets that are mostly single-threaded
196
+ - **Profile before offloading** — use Instruments to find actual bottlenecks
197
+ - **Protect globals with MainActor** — global/static mutable state needs actor isolation
198
+ - **Use isolated conformances** instead of `nonisolated` workarounds or `@Sendable` wrappers
199
+ - **Migrate incrementally** — enable features one at a time in build settings
200
+
201
+ ## Anti-Patterns to Avoid
202
+
203
+ - Applying `@concurrent` to every async function (most don't need background execution)
204
+ - Using `nonisolated` to suppress compiler errors without understanding isolation
205
+ - Keeping legacy `DispatchQueue` patterns when actors provide the same safety
206
+ - Skipping `model.availability` checks in concurrency-related Foundation Models code
207
+ - Fighting the compiler — if it reports a data race, the code has a real concurrency issue
208
+ - Assuming all async code runs in the background (Swift 6.2 default: stays on calling actor)
209
+
210
+ ## When to Use
211
+
212
+ - All new Swift 6.2+ projects (Approachable Concurrency is the recommended default)
213
+ - Migrating existing apps from Swift 5.x or 6.0/6.1 concurrency
214
+ - Resolving data-race safety compiler errors during Xcode 26 adoption
215
+ - Building MainActor-centric app architectures (most UI apps)
216
+ - Performance optimization — offloading specific heavy computations to background