@ketecode/loom 0.0.0-stage → 0.2.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 (851) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +616 -2
  3. package/agents/accessibility-reviewer/AGENT.md +70 -0
  4. package/agents/accessibility-reviewer/evals/triggers.json +15 -0
  5. package/agents/agent-evaluator/AGENT.md +74 -0
  6. package/agents/agent-evaluator/evals/triggers.json +15 -0
  7. package/agents/architect/AGENT.md +82 -0
  8. package/agents/architect/evals/triggers.json +17 -0
  9. package/agents/billing-reviewer/AGENT.md +68 -0
  10. package/agents/billing-reviewer/evals/triggers.json +16 -0
  11. package/agents/code-reviewer/AGENT.md +51 -0
  12. package/agents/code-reviewer/evals/behavior.json +60 -0
  13. package/agents/code-reviewer/evals/triggers.json +14 -0
  14. package/agents/code-simplifier/AGENT.md +74 -0
  15. package/agents/code-simplifier/evals/triggers.json +15 -0
  16. package/agents/cpp-build-resolver/AGENT.md +73 -0
  17. package/agents/cpp-build-resolver/evals/triggers.json +16 -0
  18. package/agents/cpp-reviewer/AGENT.md +59 -0
  19. package/agents/cpp-reviewer/evals/triggers.json +16 -0
  20. package/agents/csharp-build-resolver/AGENT.md +84 -0
  21. package/agents/csharp-build-resolver/evals/triggers.json +17 -0
  22. package/agents/csharp-reviewer/AGENT.md +88 -0
  23. package/agents/csharp-reviewer/evals/triggers.json +17 -0
  24. package/agents/dart-build-resolver/AGENT.md +80 -0
  25. package/agents/dart-build-resolver/evals/triggers.json +17 -0
  26. package/agents/dart-reviewer/AGENT.md +66 -0
  27. package/agents/dart-reviewer/evals/triggers.json +17 -0
  28. package/agents/database-reviewer/AGENT.md +72 -0
  29. package/agents/database-reviewer/evals/triggers.json +16 -0
  30. package/agents/django-reviewer/AGENT.md +61 -0
  31. package/agents/django-reviewer/evals/triggers.json +15 -0
  32. package/agents/doc-updater/AGENT.md +92 -0
  33. package/agents/doc-updater/evals/triggers.json +14 -0
  34. package/agents/e2e-runner/AGENT.md +88 -0
  35. package/agents/e2e-runner/evals/triggers.json +16 -0
  36. package/agents/fastapi-reviewer/AGENT.md +63 -0
  37. package/agents/fastapi-reviewer/evals/triggers.json +15 -0
  38. package/agents/flutter-reviewer/AGENT.md +70 -0
  39. package/agents/flutter-reviewer/evals/triggers.json +15 -0
  40. package/agents/fsharp-build-resolver/AGENT.md +81 -0
  41. package/agents/fsharp-build-resolver/evals/triggers.json +15 -0
  42. package/agents/fsharp-reviewer/AGENT.md +77 -0
  43. package/agents/fsharp-reviewer/evals/triggers.json +15 -0
  44. package/agents/go-build-resolver/AGENT.md +85 -0
  45. package/agents/go-build-resolver/evals/triggers.json +16 -0
  46. package/agents/go-reviewer/AGENT.md +66 -0
  47. package/agents/go-reviewer/evals/triggers.json +16 -0
  48. package/agents/healthcare-reviewer/AGENT.md +65 -0
  49. package/agents/healthcare-reviewer/evals/triggers.json +16 -0
  50. package/agents/i18n-reviewer/AGENT.md +64 -0
  51. package/agents/i18n-reviewer/evals/triggers.json +16 -0
  52. package/agents/inbox-triager/AGENT.md +98 -0
  53. package/agents/inbox-triager/evals/triggers.json +16 -0
  54. package/agents/infra-reviewer/AGENT.md +93 -0
  55. package/agents/infra-reviewer/evals/triggers.json +15 -0
  56. package/agents/java-build-resolver/AGENT.md +82 -0
  57. package/agents/java-build-resolver/evals/triggers.json +16 -0
  58. package/agents/java-reviewer/AGENT.md +64 -0
  59. package/agents/java-reviewer/evals/triggers.json +16 -0
  60. package/agents/kotlin-build-resolver/AGENT.md +89 -0
  61. package/agents/kotlin-build-resolver/evals/triggers.json +16 -0
  62. package/agents/kotlin-reviewer/AGENT.md +75 -0
  63. package/agents/kotlin-reviewer/evals/triggers.json +16 -0
  64. package/agents/mle-reviewer/AGENT.md +68 -0
  65. package/agents/mle-reviewer/evals/triggers.json +16 -0
  66. package/agents/network-config-reviewer/AGENT.md +68 -0
  67. package/agents/network-config-reviewer/evals/triggers.json +17 -0
  68. package/agents/payments-reviewer/AGENT.md +64 -0
  69. package/agents/payments-reviewer/evals/triggers.json +16 -0
  70. package/agents/performance-optimizer/AGENT.md +86 -0
  71. package/agents/performance-optimizer/evals/triggers.json +16 -0
  72. package/agents/perl-build-resolver/AGENT.md +84 -0
  73. package/agents/perl-build-resolver/evals/triggers.json +15 -0
  74. package/agents/perl-reviewer/AGENT.md +77 -0
  75. package/agents/perl-reviewer/evals/triggers.json +15 -0
  76. package/agents/php-build-resolver/AGENT.md +88 -0
  77. package/agents/php-build-resolver/evals/triggers.json +16 -0
  78. package/agents/php-reviewer/AGENT.md +61 -0
  79. package/agents/php-reviewer/evals/triggers.json +15 -0
  80. package/agents/planner/AGENT.md +75 -0
  81. package/agents/planner/evals/triggers.json +17 -0
  82. package/agents/pr-test-analyzer/AGENT.md +82 -0
  83. package/agents/pr-test-analyzer/evals/triggers.json +16 -0
  84. package/agents/python-build-resolver/AGENT.md +87 -0
  85. package/agents/python-build-resolver/evals/triggers.json +16 -0
  86. package/agents/python-reviewer/AGENT.md +63 -0
  87. package/agents/python-reviewer/evals/triggers.json +15 -0
  88. package/agents/rag-reviewer/AGENT.md +71 -0
  89. package/agents/rag-reviewer/evals/triggers.json +16 -0
  90. package/agents/react-reviewer/AGENT.md +70 -0
  91. package/agents/react-reviewer/evals/triggers.json +16 -0
  92. package/agents/refactor-cleaner/AGENT.md +82 -0
  93. package/agents/refactor-cleaner/evals/triggers.json +16 -0
  94. package/agents/ruby-build-resolver/AGENT.md +93 -0
  95. package/agents/ruby-build-resolver/evals/triggers.json +16 -0
  96. package/agents/ruby-reviewer/AGENT.md +62 -0
  97. package/agents/ruby-reviewer/evals/triggers.json +16 -0
  98. package/agents/rust-build-resolver/AGENT.md +98 -0
  99. package/agents/rust-build-resolver/evals/triggers.json +16 -0
  100. package/agents/rust-reviewer/AGENT.md +78 -0
  101. package/agents/rust-reviewer/evals/triggers.json +15 -0
  102. package/agents/security-reviewer/AGENT.md +84 -0
  103. package/agents/security-reviewer/evals/triggers.json +16 -0
  104. package/agents/silent-failure-hunter/AGENT.md +66 -0
  105. package/agents/silent-failure-hunter/evals/triggers.json +16 -0
  106. package/agents/solidity-reviewer/AGENT.md +70 -0
  107. package/agents/solidity-reviewer/evals/triggers.json +16 -0
  108. package/agents/spec-reviewer/AGENT.md +95 -0
  109. package/agents/spec-reviewer/evals/behavior.json +57 -0
  110. package/agents/spec-reviewer/evals/triggers.json +16 -0
  111. package/agents/swift-build-resolver/AGENT.md +85 -0
  112. package/agents/swift-build-resolver/evals/triggers.json +15 -0
  113. package/agents/swift-reviewer/AGENT.md +75 -0
  114. package/agents/swift-reviewer/evals/triggers.json +15 -0
  115. package/agents/task-implementer/AGENT.md +89 -0
  116. package/agents/task-implementer/evals/behavior.json +47 -0
  117. package/agents/task-implementer/evals/triggers.json +16 -0
  118. package/agents/typescript-build-resolver/AGENT.md +76 -0
  119. package/agents/typescript-build-resolver/evals/triggers.json +15 -0
  120. package/agents/typescript-reviewer/AGENT.md +76 -0
  121. package/agents/typescript-reviewer/evals/triggers.json +15 -0
  122. package/agents/vue-reviewer/AGENT.md +75 -0
  123. package/agents/vue-reviewer/evals/triggers.json +15 -0
  124. package/bin/kete-loom.js +723 -0
  125. package/commands/aside.md +19 -0
  126. package/commands/brainstorm.md +25 -0
  127. package/commands/build-fix.md +26 -0
  128. package/commands/campaign.md +19 -0
  129. package/commands/changelog.md +36 -0
  130. package/commands/checkpoint.md +26 -0
  131. package/commands/codemap.md +25 -0
  132. package/commands/commit.md +26 -0
  133. package/commands/debug.md +27 -0
  134. package/commands/deps-audit.md +32 -0
  135. package/commands/dual-review.md +34 -0
  136. package/commands/epic-decompose.md +21 -0
  137. package/commands/explain.md +37 -0
  138. package/commands/feature-dev.md +23 -0
  139. package/commands/finish-branch.md +26 -0
  140. package/commands/fix-bug.md +38 -0
  141. package/commands/hookify.md +23 -0
  142. package/commands/i18n-check.md +39 -0
  143. package/commands/issue-sync.md +22 -0
  144. package/commands/jira.md +19 -0
  145. package/commands/learn.md +23 -0
  146. package/commands/loom.md +21 -0
  147. package/commands/loop.md +20 -0
  148. package/commands/model-route.md +27 -0
  149. package/commands/onboard.md +35 -0
  150. package/commands/orchestrate.md +21 -0
  151. package/commands/plan-feature.md +36 -0
  152. package/commands/postmortem.md +42 -0
  153. package/commands/pr-describe.md +39 -0
  154. package/commands/pr.md +22 -0
  155. package/commands/prd.md +41 -0
  156. package/commands/production-readiness.md +45 -0
  157. package/commands/project-init.md +21 -0
  158. package/commands/refactor-clean.md +24 -0
  159. package/commands/resume-session.md +22 -0
  160. package/commands/review.md +35 -0
  161. package/commands/save-session.md +37 -0
  162. package/commands/security-scan.md +32 -0
  163. package/commands/sessions.md +21 -0
  164. package/commands/skill-create.md +21 -0
  165. package/commands/tdd.md +36 -0
  166. package/commands/test-coverage.md +24 -0
  167. package/commands/threat-model.md +36 -0
  168. package/commands/update-docs.md +25 -0
  169. package/commands/usage-report.md +43 -0
  170. package/commands/verify.md +21 -0
  171. package/hooks/block-dangerous-commands/HOOK.md +30 -0
  172. package/hooks/block-dangerous-commands/cases.json +50 -0
  173. package/hooks/block-dangerous-commands/hook.js +75 -0
  174. package/hooks/block-foreground-servers/HOOK.md +34 -0
  175. package/hooks/block-foreground-servers/cases.json +31 -0
  176. package/hooks/block-foreground-servers/hook.js +41 -0
  177. package/hooks/block-no-verify/HOOK.md +25 -0
  178. package/hooks/block-no-verify/cases.json +30 -0
  179. package/hooks/block-no-verify/hook.js +43 -0
  180. package/hooks/capture-lessons/HOOK.md +24 -0
  181. package/hooks/capture-lessons/hook.js +48 -0
  182. package/hooks/format-on-edit/HOOK.md +24 -0
  183. package/hooks/format-on-edit/hook.js +89 -0
  184. package/hooks/guard-secrets/HOOK.md +19 -0
  185. package/hooks/guard-secrets/cases.json +110 -0
  186. package/hooks/guard-secrets/hook.js +44 -0
  187. package/hooks/load-session-context/HOOK.md +20 -0
  188. package/hooks/load-session-context/hook.js +56 -0
  189. package/hooks/notify-on-stop/HOOK.md +25 -0
  190. package/hooks/notify-on-stop/hook.js +27 -0
  191. package/hooks/protect-files/HOOK.md +24 -0
  192. package/hooks/protect-files/cases.json +27 -0
  193. package/hooks/protect-files/hook.js +39 -0
  194. package/hooks/protect-lint-config/HOOK.md +29 -0
  195. package/hooks/protect-lint-config/cases.json +18 -0
  196. package/hooks/protect-lint-config/fixtures/.eslintrc.json +1 -0
  197. package/hooks/protect-lint-config/fixtures/.golangci.yml +1 -0
  198. package/hooks/protect-lint-config/fixtures/.prettierrc +1 -0
  199. package/hooks/protect-lint-config/fixtures/.rubocop.yml +1 -0
  200. package/hooks/protect-lint-config/fixtures/biome.json +1 -0
  201. package/hooks/protect-lint-config/fixtures/eslint.config.mjs +1 -0
  202. package/hooks/protect-lint-config/fixtures/ruff.toml +1 -0
  203. package/hooks/protect-lint-config/hook.js +25 -0
  204. package/hooks/read-before-edit/HOOK.md +26 -0
  205. package/hooks/read-before-edit/cases.json +15 -0
  206. package/hooks/read-before-edit/hook.js +50 -0
  207. package/hooks/run.js +148 -0
  208. package/hooks/verify-before-stop/HOOK.md +32 -0
  209. package/hooks/verify-before-stop/hook.js +70 -0
  210. package/mcp/atlassian.json +11 -0
  211. package/mcp/chrome-devtools.json +18 -0
  212. package/mcp/clickhouse.json +11 -0
  213. package/mcp/cloudflare.json +11 -0
  214. package/mcp/context7.json +11 -0
  215. package/mcp/exa.json +11 -0
  216. package/mcp/fetch.json +17 -0
  217. package/mcp/figma.json +11 -0
  218. package/mcp/firecrawl.json +11 -0
  219. package/mcp/git.json +17 -0
  220. package/mcp/github.json +11 -0
  221. package/mcp/linear.json +11 -0
  222. package/mcp/memory.json +18 -0
  223. package/mcp/notion.json +11 -0
  224. package/mcp/playwright.json +18 -0
  225. package/mcp/sentry.json +11 -0
  226. package/mcp/stripe.json +11 -0
  227. package/mcp/supabase.json +11 -0
  228. package/mcp/time.json +17 -0
  229. package/mcp/vercel.json +11 -0
  230. package/package.json +61 -4
  231. package/profiles.json +214 -0
  232. package/rules/common.md +21 -0
  233. package/rules/cpp.md +29 -0
  234. package/rules/csharp.md +25 -0
  235. package/rules/dart.md +29 -0
  236. package/rules/fsharp.md +28 -0
  237. package/rules/git.md +26 -0
  238. package/rules/go.md +29 -0
  239. package/rules/java.md +29 -0
  240. package/rules/kotlin.md +27 -0
  241. package/rules/perl.md +26 -0
  242. package/rules/php.md +28 -0
  243. package/rules/python.md +30 -0
  244. package/rules/ruby.md +27 -0
  245. package/rules/rust.md +26 -0
  246. package/rules/security.md +29 -0
  247. package/rules/swift.md +28 -0
  248. package/rules/testing.md +25 -0
  249. package/rules/typescript.md +29 -0
  250. package/rules/use-skills.md +23 -0
  251. package/schemas/skill-frontmatter.schema.json +52 -0
  252. package/scripts/lib/audit.js +96 -0
  253. package/scripts/lib/behavior.js +52 -0
  254. package/scripts/lib/frontmatter.js +65 -0
  255. package/scripts/lib/hooks-install.js +294 -0
  256. package/scripts/lib/i18n.js +51 -0
  257. package/scripts/lib/inventory.js +85 -0
  258. package/scripts/lib/lint.js +180 -0
  259. package/scripts/lib/mcp-install.js +288 -0
  260. package/scripts/lib/profiles.js +128 -0
  261. package/scripts/lib/render.js +92 -0
  262. package/scripts/lib/rules-install.js +118 -0
  263. package/scripts/lib/skills.js +87 -0
  264. package/scripts/lib/targets.js +123 -0
  265. package/skills/accounting-api-integration/SKILL.md +81 -0
  266. package/skills/accounting-api-integration/evals/triggers.json +17 -0
  267. package/skills/accounting-api-integration/references/quickbooks.md +48 -0
  268. package/skills/accounting-api-integration/references/xero.md +45 -0
  269. package/skills/agent-failure-debugging/SKILL.md +92 -0
  270. package/skills/agent-failure-debugging/evals/triggers.json +16 -0
  271. package/skills/agent-harness-design/SKILL.md +125 -0
  272. package/skills/agent-harness-design/evals/triggers.json +21 -0
  273. package/skills/agent-outbound-messaging/SKILL.md +92 -0
  274. package/skills/agent-outbound-messaging/evals/triggers.json +16 -0
  275. package/skills/agent-security/SKILL.md +117 -0
  276. package/skills/agent-security/evals/triggers.json +16 -0
  277. package/skills/agent-security/references/host-configs.md +37 -0
  278. package/skills/ai-media-generation/SKILL.md +89 -0
  279. package/skills/ai-media-generation/evals/triggers.json +16 -0
  280. package/skills/ai-media-generation/references/job-pipeline.md +76 -0
  281. package/skills/angular-patterns/SKILL.md +122 -0
  282. package/skills/angular-patterns/evals/triggers.json +16 -0
  283. package/skills/api-client-integration/SKILL.md +86 -0
  284. package/skills/api-client-integration/evals/triggers.json +16 -0
  285. package/skills/api-client-integration/references/resilience.md +57 -0
  286. package/skills/api-design/SKILL.md +96 -0
  287. package/skills/api-design/evals/triggers.json +18 -0
  288. package/skills/api-design/references/conventions.md +133 -0
  289. package/skills/architecture-decision-records/SKILL.md +98 -0
  290. package/skills/architecture-decision-records/evals/triggers.json +17 -0
  291. package/skills/article-writing/SKILL.md +108 -0
  292. package/skills/article-writing/evals/triggers.json +16 -0
  293. package/skills/aspnet-core-patterns/SKILL.md +149 -0
  294. package/skills/aspnet-core-patterns/evals/triggers.json +16 -0
  295. package/skills/auth-patterns/SKILL.md +104 -0
  296. package/skills/auth-patterns/evals/triggers.json +17 -0
  297. package/skills/auth-patterns/references/oauth-oidc.md +64 -0
  298. package/skills/autonomous-loops/SKILL.md +99 -0
  299. package/skills/autonomous-loops/evals/triggers.json +14 -0
  300. package/skills/aws-patterns/SKILL.md +91 -0
  301. package/skills/aws-patterns/evals/triggers.json +16 -0
  302. package/skills/azure-patterns/SKILL.md +86 -0
  303. package/skills/azure-patterns/evals/triggers.json +16 -0
  304. package/skills/benchmark-methodology/SKILL.md +88 -0
  305. package/skills/benchmark-methodology/evals/triggers.json +16 -0
  306. package/skills/benchmark-methodology/references/language-harnesses.md +130 -0
  307. package/skills/bgp-diagnostics/SKILL.md +84 -0
  308. package/skills/bgp-diagnostics/evals/triggers.json +18 -0
  309. package/skills/bgp-diagnostics/references/bgp-reference.md +81 -0
  310. package/skills/bioinformatics-workflows/SKILL.md +108 -0
  311. package/skills/bioinformatics-workflows/evals/triggers.json +16 -0
  312. package/skills/bioinformatics-workflows/references/commands.md +71 -0
  313. package/skills/bioinformatics-workflows/references/formats.md +24 -0
  314. package/skills/bioinformatics-workflows/references/workflow-managers.md +107 -0
  315. package/skills/blender-automation/SKILL.md +100 -0
  316. package/skills/blender-automation/evals/triggers.json +16 -0
  317. package/skills/blender-automation/references/batch-and-render.md +77 -0
  318. package/skills/blender-automation/references/bpy-inspection.md +91 -0
  319. package/skills/blender-automation/references/rig-and-retarget-checks.md +23 -0
  320. package/skills/brand-strategy/SKILL.md +83 -0
  321. package/skills/brand-strategy/evals/triggers.json +16 -0
  322. package/skills/brand-voice/SKILL.md +112 -0
  323. package/skills/brand-voice/evals/triggers.json +16 -0
  324. package/skills/browser-qa/SKILL.md +99 -0
  325. package/skills/browser-qa/evals/triggers.json +16 -0
  326. package/skills/bun-runtime/SKILL.md +93 -0
  327. package/skills/bun-runtime/evals/triggers.json +16 -0
  328. package/skills/change-impact-analysis/SKILL.md +89 -0
  329. package/skills/change-impact-analysis/evals/triggers.json +16 -0
  330. package/skills/change-impact-analysis/references/graph-commands.md +28 -0
  331. package/skills/cisco-ios-config/SKILL.md +101 -0
  332. package/skills/cisco-ios-config/evals/triggers.json +18 -0
  333. package/skills/cisco-ios-config/references/verification.md +63 -0
  334. package/skills/clickhouse-patterns/SKILL.md +101 -0
  335. package/skills/clickhouse-patterns/evals/triggers.json +18 -0
  336. package/skills/clickhouse-patterns/references/engines-and-views.md +138 -0
  337. package/skills/clinical-decision-support/SKILL.md +90 -0
  338. package/skills/clinical-decision-support/evals/triggers.json +16 -0
  339. package/skills/clinical-decision-support/references/cds-hooks.md +76 -0
  340. package/skills/clinical-decision-support/references/regulatory-boundaries.md +37 -0
  341. package/skills/code-tour/SKILL.md +97 -0
  342. package/skills/code-tour/evals/triggers.json +14 -0
  343. package/skills/codebase-onboarding/SKILL.md +112 -0
  344. package/skills/codebase-onboarding/evals/triggers.json +14 -0
  345. package/skills/cold-outreach-sequences/SKILL.md +90 -0
  346. package/skills/cold-outreach-sequences/evals/triggers.json +16 -0
  347. package/skills/content-repurposing/SKILL.md +82 -0
  348. package/skills/content-repurposing/evals/triggers.json +16 -0
  349. package/skills/context-budget/SKILL.md +84 -0
  350. package/skills/context-budget/evals/triggers.json +14 -0
  351. package/skills/contract-drafting/SKILL.md +96 -0
  352. package/skills/contract-drafting/evals/triggers.json +16 -0
  353. package/skills/contract-drafting/references/term-sheets.md +68 -0
  354. package/skills/contract-first-development/SKILL.md +86 -0
  355. package/skills/contract-first-development/evals/triggers.json +16 -0
  356. package/skills/contract-first-development/references/tooling.md +46 -0
  357. package/skills/conventional-commits/SKILL.md +144 -0
  358. package/skills/conventional-commits/evals/triggers.json +16 -0
  359. package/skills/cpp-patterns/SKILL.md +129 -0
  360. package/skills/cpp-patterns/evals/triggers.json +16 -0
  361. package/skills/cpp-patterns/references/cmake-and-tooling.md +88 -0
  362. package/skills/cpp-patterns/references/undefined-behaviour.md +75 -0
  363. package/skills/cpp-testing/SKILL.md +131 -0
  364. package/skills/cpp-testing/evals/triggers.json +16 -0
  365. package/skills/csharp-patterns/SKILL.md +110 -0
  366. package/skills/csharp-patterns/evals/triggers.json +17 -0
  367. package/skills/csharp-patterns/references/analyzers.md +59 -0
  368. package/skills/csharp-testing/SKILL.md +85 -0
  369. package/skills/csharp-testing/evals/triggers.json +17 -0
  370. package/skills/csharp-testing/references/integration-tests.md +77 -0
  371. package/skills/css-architecture/SKILL.md +143 -0
  372. package/skills/css-architecture/evals/triggers.json +16 -0
  373. package/skills/customs-trade-compliance/SKILL.md +95 -0
  374. package/skills/customs-trade-compliance/evals/triggers.json +16 -0
  375. package/skills/customs-trade-compliance/references/incoterms-2020.md +42 -0
  376. package/skills/dart-patterns/SKILL.md +157 -0
  377. package/skills/dart-patterns/evals/triggers.json +18 -0
  378. package/skills/dart-testing/SKILL.md +164 -0
  379. package/skills/dart-testing/evals/triggers.json +18 -0
  380. package/skills/data-analysis-notebooks/SKILL.md +113 -0
  381. package/skills/data-analysis-notebooks/evals/triggers.json +16 -0
  382. package/skills/data-analysis-notebooks/references/dataframe-pitfalls.md +49 -0
  383. package/skills/data-analysis-notebooks/references/statistics-pitfalls.md +24 -0
  384. package/skills/data-pipelines/SKILL.md +90 -0
  385. package/skills/data-pipelines/evals/triggers.json +16 -0
  386. package/skills/data-pipelines/references/orchestrators.md +64 -0
  387. package/skills/database-migrations/SKILL.md +102 -0
  388. package/skills/database-migrations/evals/triggers.json +16 -0
  389. package/skills/database-migrations/references/recipes.md +98 -0
  390. package/skills/database-migrations/references/tools.md +21 -0
  391. package/skills/dbt-patterns/SKILL.md +96 -0
  392. package/skills/dbt-patterns/evals/triggers.json +16 -0
  393. package/skills/dbt-patterns/references/yaml-examples.md +114 -0
  394. package/skills/decision-council/SKILL.md +98 -0
  395. package/skills/decision-council/evals/triggers.json +16 -0
  396. package/skills/deep-research/SKILL.md +107 -0
  397. package/skills/deep-research/evals/triggers.json +14 -0
  398. package/skills/dependency-audit/SKILL.md +103 -0
  399. package/skills/dependency-audit/evals/triggers.json +16 -0
  400. package/skills/dependency-audit/references/tools.md +124 -0
  401. package/skills/deployment-strategies/SKILL.md +108 -0
  402. package/skills/deployment-strategies/evals/triggers.json +16 -0
  403. package/skills/design-brainstorming/SKILL.md +132 -0
  404. package/skills/design-brainstorming/evals/behavior.json +55 -0
  405. package/skills/design-brainstorming/evals/triggers.json +16 -0
  406. package/skills/design-brainstorming/references/visual-mockups.md +34 -0
  407. package/skills/desktop-app-testing/SKILL.md +104 -0
  408. package/skills/desktop-app-testing/evals/triggers.json +16 -0
  409. package/skills/desktop-app-testing/references/drivers.md +81 -0
  410. package/skills/django-patterns/SKILL.md +123 -0
  411. package/skills/django-patterns/evals/triggers.json +16 -0
  412. package/skills/docker-patterns/SKILL.md +132 -0
  413. package/skills/docker-patterns/evals/triggers.json +16 -0
  414. package/skills/docker-patterns/references/dockerfiles.md +105 -0
  415. package/skills/document-processing/SKILL.md +100 -0
  416. package/skills/document-processing/evals/triggers.json +17 -0
  417. package/skills/document-processing/references/extraction-and-ocr.md +71 -0
  418. package/skills/document-processing/references/forms-and-conversion.md +69 -0
  419. package/skills/document-processing/references/redaction.md +61 -0
  420. package/skills/e2e-testing-playwright/SKILL.md +94 -0
  421. package/skills/e2e-testing-playwright/evals/triggers.json +16 -0
  422. package/skills/e2e-testing-playwright/references/config-and-ci.md +129 -0
  423. package/skills/ef-core-patterns/SKILL.md +117 -0
  424. package/skills/ef-core-patterns/evals/triggers.json +16 -0
  425. package/skills/email-deliverability/SKILL.md +99 -0
  426. package/skills/email-deliverability/evals/triggers.json +17 -0
  427. package/skills/email-deliverability/references/dns-records.md +85 -0
  428. package/skills/energy-procurement/SKILL.md +106 -0
  429. package/skills/energy-procurement/evals/triggers.json +16 -0
  430. package/skills/error-handling-patterns/SKILL.md +112 -0
  431. package/skills/error-handling-patterns/evals/triggers.json +18 -0
  432. package/skills/error-handling-patterns/references/language-idioms.md +49 -0
  433. package/skills/estimation-and-scoping/SKILL.md +97 -0
  434. package/skills/estimation-and-scoping/evals/triggers.json +14 -0
  435. package/skills/evm-dapp-integration/SKILL.md +73 -0
  436. package/skills/evm-dapp-integration/evals/triggers.json +16 -0
  437. package/skills/fastapi-patterns/SKILL.md +127 -0
  438. package/skills/fastapi-patterns/evals/triggers.json +16 -0
  439. package/skills/ffmpeg-media-processing/SKILL.md +94 -0
  440. package/skills/ffmpeg-media-processing/evals/triggers.json +16 -0
  441. package/skills/ffmpeg-media-processing/references/recipes.md +112 -0
  442. package/skills/fhir-integration/SKILL.md +81 -0
  443. package/skills/fhir-integration/evals/triggers.json +16 -0
  444. package/skills/fhir-integration/references/search-and-bundles.md +73 -0
  445. package/skills/fhir-integration/references/smart-on-fhir.md +50 -0
  446. package/skills/finishing-a-branch/SKILL.md +127 -0
  447. package/skills/finishing-a-branch/evals/behavior.json +49 -0
  448. package/skills/finishing-a-branch/evals/triggers.json +16 -0
  449. package/skills/flask-patterns/SKILL.md +132 -0
  450. package/skills/flask-patterns/evals/triggers.json +16 -0
  451. package/skills/flutter-patterns/SKILL.md +99 -0
  452. package/skills/flutter-patterns/evals/triggers.json +16 -0
  453. package/skills/flutterwave-integration/SKILL.md +75 -0
  454. package/skills/flutterwave-integration/evals/triggers.json +16 -0
  455. package/skills/flutterwave-integration/references/api.md +73 -0
  456. package/skills/flutterwave-integration/references/webhooks.md +49 -0
  457. package/skills/freight-carrier-management/SKILL.md +107 -0
  458. package/skills/freight-carrier-management/evals/triggers.json +16 -0
  459. package/skills/fsharp-patterns/SKILL.md +133 -0
  460. package/skills/fsharp-patterns/evals/triggers.json +16 -0
  461. package/skills/fsharp-testing/SKILL.md +136 -0
  462. package/skills/fsharp-testing/evals/triggers.json +16 -0
  463. package/skills/gcp-patterns/SKILL.md +86 -0
  464. package/skills/gcp-patterns/evals/triggers.json +16 -0
  465. package/skills/git-workflow/SKILL.md +114 -0
  466. package/skills/git-workflow/evals/triggers.json +16 -0
  467. package/skills/git-worktrees/SKILL.md +130 -0
  468. package/skills/git-worktrees/evals/behavior.json +56 -0
  469. package/skills/git-worktrees/evals/triggers.json +16 -0
  470. package/skills/github-actions-ci/SKILL.md +117 -0
  471. package/skills/github-actions-ci/evals/triggers.json +16 -0
  472. package/skills/github-api-automation/SKILL.md +101 -0
  473. package/skills/github-api-automation/evals/triggers.json +17 -0
  474. package/skills/go-patterns/SKILL.md +118 -0
  475. package/skills/go-patterns/evals/triggers.json +17 -0
  476. package/skills/go-patterns/references/concurrency.md +162 -0
  477. package/skills/go-testing/SKILL.md +154 -0
  478. package/skills/go-testing/evals/triggers.json +17 -0
  479. package/skills/google-workspace-integration/SKILL.md +65 -0
  480. package/skills/google-workspace-integration/evals/triggers.json +17 -0
  481. package/skills/google-workspace-integration/references/api.md +121 -0
  482. package/skills/harmonyos-arkts/SKILL.md +117 -0
  483. package/skills/harmonyos-arkts/evals/triggers.json +16 -0
  484. package/skills/harmonyos-arkts/references/build-errors.md +42 -0
  485. package/skills/hexagonal-architecture/SKILL.md +89 -0
  486. package/skills/hexagonal-architecture/evals/triggers.json +17 -0
  487. package/skills/hipaa-compliance/SKILL.md +91 -0
  488. package/skills/hipaa-compliance/evals/triggers.json +18 -0
  489. package/skills/hipaa-compliance/references/safeguards.md +68 -0
  490. package/skills/hl7v2-integration/SKILL.md +69 -0
  491. package/skills/hl7v2-integration/evals/triggers.json +16 -0
  492. package/skills/hl7v2-integration/references/messages-and-ack.md +78 -0
  493. package/skills/homelab-network-setup/SKILL.md +125 -0
  494. package/skills/homelab-network-setup/evals/triggers.json +18 -0
  495. package/skills/homelab-network-setup/references/firewall-and-dns.md +45 -0
  496. package/skills/homelab-network-setup/references/wireguard.md +72 -0
  497. package/skills/hubtel-integration/SKILL.md +77 -0
  498. package/skills/hubtel-integration/evals/triggers.json +16 -0
  499. package/skills/hubtel-integration/references/api.md +92 -0
  500. package/skills/i18n-localization/SKILL.md +114 -0
  501. package/skills/i18n-localization/evals/triggers.json +16 -0
  502. package/skills/i18n-localization/references/libraries.md +52 -0
  503. package/skills/implementation-plans/SKILL.md +117 -0
  504. package/skills/implementation-plans/evals/behavior.json +54 -0
  505. package/skills/implementation-plans/evals/triggers.json +16 -0
  506. package/skills/incident-postmortem/SKILL.md +118 -0
  507. package/skills/incident-postmortem/evals/triggers.json +14 -0
  508. package/skills/inventory-demand-planning/SKILL.md +89 -0
  509. package/skills/inventory-demand-planning/evals/triggers.json +16 -0
  510. package/skills/inventory-demand-planning/references/formulas.md +62 -0
  511. package/skills/investor-materials/SKILL.md +127 -0
  512. package/skills/investor-materials/evals/triggers.json +16 -0
  513. package/skills/investor-materials/references/templates.md +74 -0
  514. package/skills/invoicing-and-tax/SKILL.md +84 -0
  515. package/skills/invoicing-and-tax/evals/triggers.json +17 -0
  516. package/skills/invoicing-and-tax/references/e-invoicing.md +24 -0
  517. package/skills/invoicing-and-tax/references/invoice-fields.md +38 -0
  518. package/skills/invoicing-and-tax/references/rounding.md +26 -0
  519. package/skills/ios-platform-features/SKILL.md +99 -0
  520. package/skills/ios-platform-features/evals/triggers.json +16 -0
  521. package/skills/ios-platform-features/references/foundation-models.md +90 -0
  522. package/skills/java-patterns/SKILL.md +141 -0
  523. package/skills/java-patterns/evals/triggers.json +17 -0
  524. package/skills/java-testing/SKILL.md +142 -0
  525. package/skills/java-testing/evals/triggers.json +16 -0
  526. package/skills/jetpack-compose-patterns/SKILL.md +88 -0
  527. package/skills/jetpack-compose-patterns/evals/triggers.json +16 -0
  528. package/skills/jira-integration/SKILL.md +92 -0
  529. package/skills/jira-integration/evals/triggers.json +17 -0
  530. package/skills/jpa-hibernate/SKILL.md +92 -0
  531. package/skills/jpa-hibernate/evals/triggers.json +18 -0
  532. package/skills/jpa-hibernate/references/mapping.md +99 -0
  533. package/skills/jvm-sql-mappers/SKILL.md +98 -0
  534. package/skills/jvm-sql-mappers/evals/triggers.json +16 -0
  535. package/skills/jvm-sql-mappers/references/examples.md +129 -0
  536. package/skills/kotlin-multiplatform/SKILL.md +97 -0
  537. package/skills/kotlin-multiplatform/evals/triggers.json +16 -0
  538. package/skills/kotlin-patterns/SKILL.md +128 -0
  539. package/skills/kotlin-patterns/evals/triggers.json +16 -0
  540. package/skills/kotlin-testing/SKILL.md +117 -0
  541. package/skills/kotlin-testing/evals/triggers.json +16 -0
  542. package/skills/ktor-patterns/SKILL.md +135 -0
  543. package/skills/ktor-patterns/evals/triggers.json +18 -0
  544. package/skills/kubernetes-patterns/SKILL.md +106 -0
  545. package/skills/kubernetes-patterns/evals/triggers.json +16 -0
  546. package/skills/kubernetes-patterns/references/manifests.md +115 -0
  547. package/skills/laravel-patterns/SKILL.md +136 -0
  548. package/skills/laravel-patterns/evals/triggers.json +16 -0
  549. package/skills/linear-integration/SKILL.md +98 -0
  550. package/skills/linear-integration/evals/triggers.json +17 -0
  551. package/skills/literature-review/SKILL.md +109 -0
  552. package/skills/literature-review/evals/triggers.json +16 -0
  553. package/skills/literature-review/references/appraisal.md +41 -0
  554. package/skills/literature-review/references/search-sources.md +39 -0
  555. package/skills/llm-app-patterns/SKILL.md +97 -0
  556. package/skills/llm-app-patterns/evals/triggers.json +17 -0
  557. package/skills/llm-evals/SKILL.md +98 -0
  558. package/skills/llm-evals/evals/triggers.json +16 -0
  559. package/skills/llm-evals/references/graders.md +66 -0
  560. package/skills/logistics-exception-management/SKILL.md +90 -0
  561. package/skills/logistics-exception-management/evals/triggers.json +16 -0
  562. package/skills/manim-animations/SKILL.md +106 -0
  563. package/skills/manim-animations/evals/triggers.json +16 -0
  564. package/skills/market-research/SKILL.md +117 -0
  565. package/skills/market-research/evals/triggers.json +16 -0
  566. package/skills/marketing-campaign/SKILL.md +111 -0
  567. package/skills/marketing-campaign/evals/triggers.json +16 -0
  568. package/skills/mcp-server-patterns/SKILL.md +127 -0
  569. package/skills/mcp-server-patterns/evals/triggers.json +18 -0
  570. package/skills/mcp-server-patterns/references/protocol-notes.md +68 -0
  571. package/skills/metrics-dashboards/SKILL.md +113 -0
  572. package/skills/metrics-dashboards/evals/triggers.json +16 -0
  573. package/skills/ml-experiment-workflow/SKILL.md +125 -0
  574. package/skills/ml-experiment-workflow/evals/triggers.json +16 -0
  575. package/skills/mobile-accessibility/SKILL.md +94 -0
  576. package/skills/mobile-accessibility/evals/triggers.json +16 -0
  577. package/skills/mongodb-patterns/SKILL.md +115 -0
  578. package/skills/mongodb-patterns/evals/triggers.json +18 -0
  579. package/skills/mongodb-patterns/references/indexes-and-aggregation.md +94 -0
  580. package/skills/mpesa-daraja-integration/SKILL.md +70 -0
  581. package/skills/mpesa-daraja-integration/evals/triggers.json +16 -0
  582. package/skills/mpesa-daraja-integration/references/api.md +103 -0
  583. package/skills/mpesa-daraja-integration/references/callbacks.md +74 -0
  584. package/skills/mtn-momo-integration/SKILL.md +66 -0
  585. package/skills/mtn-momo-integration/evals/triggers.json +16 -0
  586. package/skills/mtn-momo-integration/references/api.md +153 -0
  587. package/skills/mtn-momo-integration/references/callbacks.md +92 -0
  588. package/skills/mtn-momo-integration/references/sandbox-and-go-live.md +51 -0
  589. package/skills/mtn-momo-integration/scripts/sandbox-setup.js +79 -0
  590. package/skills/mysql-patterns/SKILL.md +96 -0
  591. package/skills/mysql-patterns/evals/triggers.json +16 -0
  592. package/skills/mysql-patterns/references/explain.md +34 -0
  593. package/skills/mysql-patterns/references/online-ddl.md +41 -0
  594. package/skills/nestjs-patterns/SKILL.md +114 -0
  595. package/skills/nestjs-patterns/evals/triggers.json +16 -0
  596. package/skills/nestjs-patterns/references/testing.md +68 -0
  597. package/skills/network-automation/SKILL.md +107 -0
  598. package/skills/network-automation/evals/triggers.json +18 -0
  599. package/skills/network-automation/references/tool-snippets.md +153 -0
  600. package/skills/network-design/SKILL.md +98 -0
  601. package/skills/network-design/evals/triggers.json +16 -0
  602. package/skills/network-troubleshooting/SKILL.md +152 -0
  603. package/skills/network-troubleshooting/evals/triggers.json +18 -0
  604. package/skills/network-troubleshooting/references/commands.md +33 -0
  605. package/skills/nextjs-patterns/SKILL.md +150 -0
  606. package/skills/nextjs-patterns/evals/triggers.json +18 -0
  607. package/skills/nextjs-patterns/references/caching.md +87 -0
  608. package/skills/node-backend-patterns/SKILL.md +103 -0
  609. package/skills/node-backend-patterns/evals/triggers.json +16 -0
  610. package/skills/node-backend-patterns/references/templates.md +122 -0
  611. package/skills/nuxt-patterns/SKILL.md +103 -0
  612. package/skills/nuxt-patterns/evals/triggers.json +16 -0
  613. package/skills/observability/SKILL.md +125 -0
  614. package/skills/observability/evals/triggers.json +17 -0
  615. package/skills/observability/references/otel-setup.md +87 -0
  616. package/skills/observability/references/slo-alerts.md +70 -0
  617. package/skills/open-source-release/SKILL.md +107 -0
  618. package/skills/open-source-release/evals/triggers.json +15 -0
  619. package/skills/open-source-release/references/history-scrub.md +65 -0
  620. package/skills/parallel-agent-orchestration/SKILL.md +106 -0
  621. package/skills/parallel-agent-orchestration/evals/triggers.json +14 -0
  622. package/skills/patent-research/SKILL.md +94 -0
  623. package/skills/patent-research/evals/triggers.json +16 -0
  624. package/skills/patent-research/references/databases-and-queries.md +52 -0
  625. package/skills/paystack-integration/SKILL.md +59 -0
  626. package/skills/paystack-integration/evals/triggers.json +14 -0
  627. package/skills/paystack-integration/references/api.md +73 -0
  628. package/skills/paystack-integration/references/mobile-money.md +50 -0
  629. package/skills/paystack-integration/references/webhooks.md +80 -0
  630. package/skills/pci-dss-scope/SKILL.md +103 -0
  631. package/skills/pci-dss-scope/evals/triggers.json +18 -0
  632. package/skills/pci-dss-scope/references/saq-and-data.md +36 -0
  633. package/skills/perl-patterns/SKILL.md +135 -0
  634. package/skills/perl-patterns/evals/triggers.json +18 -0
  635. package/skills/perl-testing/SKILL.md +126 -0
  636. package/skills/perl-testing/evals/triggers.json +17 -0
  637. package/skills/php-patterns/SKILL.md +116 -0
  638. package/skills/php-patterns/evals/triggers.json +16 -0
  639. package/skills/php-testing/SKILL.md +123 -0
  640. package/skills/php-testing/evals/triggers.json +16 -0
  641. package/skills/postgres-patterns/SKILL.md +103 -0
  642. package/skills/postgres-patterns/evals/triggers.json +17 -0
  643. package/skills/postgres-patterns/references/explain.md +59 -0
  644. package/skills/postgres-patterns/references/locks.md +53 -0
  645. package/skills/prd-writing/SKILL.md +124 -0
  646. package/skills/prd-writing/evals/triggers.json +15 -0
  647. package/skills/prisma-patterns/SKILL.md +83 -0
  648. package/skills/prisma-patterns/evals/triggers.json +18 -0
  649. package/skills/prisma-patterns/references/prisma-8.md +46 -0
  650. package/skills/prisma-patterns/references/workflow.md +50 -0
  651. package/skills/privacy-compliance/SKILL.md +121 -0
  652. package/skills/privacy-compliance/evals/triggers.json +18 -0
  653. package/skills/privacy-compliance/references/jurisdictions.md +51 -0
  654. package/skills/production-scheduling/SKILL.md +98 -0
  655. package/skills/production-scheduling/evals/triggers.json +16 -0
  656. package/skills/prompt-engineering/SKILL.md +92 -0
  657. package/skills/prompt-engineering/evals/triggers.json +16 -0
  658. package/skills/prospect-research/SKILL.md +87 -0
  659. package/skills/prospect-research/evals/triggers.json +16 -0
  660. package/skills/python-app-distribution/SKILL.md +107 -0
  661. package/skills/python-app-distribution/evals/triggers.json +16 -0
  662. package/skills/python-app-distribution/references/pypi-trusted-publishing.md +55 -0
  663. package/skills/python-app-distribution/references/windows-macos-signing.md +70 -0
  664. package/skills/python-patterns/SKILL.md +107 -0
  665. package/skills/python-patterns/evals/triggers.json +16 -0
  666. package/skills/python-patterns/references/tooling.md +101 -0
  667. package/skills/python-testing/SKILL.md +126 -0
  668. package/skills/python-testing/evals/triggers.json +16 -0
  669. package/skills/python-testing/references/mocking.md +71 -0
  670. package/skills/pytorch-patterns/SKILL.md +139 -0
  671. package/skills/pytorch-patterns/evals/triggers.json +16 -0
  672. package/skills/pytorch-patterns/references/debugging.md +39 -0
  673. package/skills/quality-nonconformance/SKILL.md +107 -0
  674. package/skills/quality-nonconformance/evals/triggers.json +16 -0
  675. package/skills/quality-nonconformance/references/8d-and-capa.md +46 -0
  676. package/skills/quarkus-patterns/SKILL.md +93 -0
  677. package/skills/quarkus-patterns/evals/triggers.json +18 -0
  678. package/skills/rag-pipeline-patterns/SKILL.md +117 -0
  679. package/skills/rag-pipeline-patterns/evals/triggers.json +18 -0
  680. package/skills/rag-pipeline-patterns/references/evaluation.md +37 -0
  681. package/skills/rag-pipeline-patterns/references/retrieval-recipes.md +78 -0
  682. package/skills/rails-patterns/SKILL.md +132 -0
  683. package/skills/rails-patterns/evals/triggers.json +16 -0
  684. package/skills/react-native-patterns/SKILL.md +101 -0
  685. package/skills/react-native-patterns/evals/triggers.json +16 -0
  686. package/skills/react-patterns/SKILL.md +140 -0
  687. package/skills/react-patterns/evals/triggers.json +18 -0
  688. package/skills/react-performance/SKILL.md +107 -0
  689. package/skills/react-performance/evals/triggers.json +18 -0
  690. package/skills/react-testing/SKILL.md +121 -0
  691. package/skills/react-testing/evals/triggers.json +18 -0
  692. package/skills/react-testing/references/msw.md +64 -0
  693. package/skills/react-testing/references/queries.md +41 -0
  694. package/skills/react-testing/references/setup.md +74 -0
  695. package/skills/recommender-systems/SKILL.md +119 -0
  696. package/skills/recommender-systems/evals/triggers.json +16 -0
  697. package/skills/recommender-systems/references/evaluation.md +39 -0
  698. package/skills/redis-patterns/SKILL.md +109 -0
  699. package/skills/redis-patterns/evals/triggers.json +18 -0
  700. package/skills/redis-patterns/references/operations.md +61 -0
  701. package/skills/refactoring-safely/SKILL.md +107 -0
  702. package/skills/refactoring-safely/evals/behavior.json +57 -0
  703. package/skills/refactoring-safely/evals/triggers.json +17 -0
  704. package/skills/release-management/SKILL.md +141 -0
  705. package/skills/release-management/evals/triggers.json +16 -0
  706. package/skills/remotion-video/SKILL.md +91 -0
  707. package/skills/remotion-video/evals/triggers.json +16 -0
  708. package/skills/remotion-video/references/lambda.md +66 -0
  709. package/skills/reproducible-dev-environments/SKILL.md +132 -0
  710. package/skills/reproducible-dev-environments/evals/triggers.json +16 -0
  711. package/skills/responding-to-code-review/SKILL.md +124 -0
  712. package/skills/responding-to-code-review/evals/behavior.json +54 -0
  713. package/skills/responding-to-code-review/evals/triggers.json +16 -0
  714. package/skills/returns-reverse-logistics/SKILL.md +97 -0
  715. package/skills/returns-reverse-logistics/evals/triggers.json +16 -0
  716. package/skills/ruby-patterns/SKILL.md +127 -0
  717. package/skills/ruby-patterns/evals/triggers.json +18 -0
  718. package/skills/ruby-testing/SKILL.md +113 -0
  719. package/skills/ruby-testing/evals/triggers.json +18 -0
  720. package/skills/runbook-writing/SKILL.md +101 -0
  721. package/skills/runbook-writing/evals/triggers.json +14 -0
  722. package/skills/rust-patterns/SKILL.md +118 -0
  723. package/skills/rust-patterns/evals/triggers.json +16 -0
  724. package/skills/rust-patterns/references/cargo-and-clippy.md +105 -0
  725. package/skills/rust-patterns/references/errors-and-traits.md +97 -0
  726. package/skills/rust-testing/SKILL.md +148 -0
  727. package/skills/rust-testing/evals/triggers.json +16 -0
  728. package/skills/rust-testing/references/fakes-proptest-async.md +113 -0
  729. package/skills/search-first/SKILL.md +73 -0
  730. package/skills/search-first/evals/triggers.json +14 -0
  731. package/skills/security-review/SKILL.md +58 -0
  732. package/skills/security-review/evals/behavior.json +56 -0
  733. package/skills/security-review/evals/triggers.json +14 -0
  734. package/skills/security-review/references/checklist.md +54 -0
  735. package/skills/security-review/scripts/scan-secrets.js +79 -0
  736. package/skills/seo-audit/SKILL.md +111 -0
  737. package/skills/seo-audit/evals/triggers.json +16 -0
  738. package/skills/seo-audit/references/checks.md +65 -0
  739. package/skills/session-handoff/SKILL.md +101 -0
  740. package/skills/session-handoff/evals/behavior.json +55 -0
  741. package/skills/session-handoff/evals/triggers.json +14 -0
  742. package/skills/skill-authoring/SKILL.md +98 -0
  743. package/skills/skill-authoring/evals/triggers.json +15 -0
  744. package/skills/skill-authoring/references/frontmatter.md +40 -0
  745. package/skills/skill-authoring/references/pressure-testing.md +87 -0
  746. package/skills/slack-app-integration/SKILL.md +108 -0
  747. package/skills/slack-app-integration/evals/triggers.json +17 -0
  748. package/skills/slide-decks/SKILL.md +107 -0
  749. package/skills/slide-decks/evals/triggers.json +18 -0
  750. package/skills/slide-decks/references/html-decks.md +86 -0
  751. package/skills/slide-decks/references/layouts.md +45 -0
  752. package/skills/slide-decks/references/pptx.md +87 -0
  753. package/skills/smart-contract-security/SKILL.md +110 -0
  754. package/skills/smart-contract-security/evals/triggers.json +16 -0
  755. package/skills/smart-contract-security/references/vulnerability-checklist.md +79 -0
  756. package/skills/social-media-publishing/SKILL.md +84 -0
  757. package/skills/social-media-publishing/evals/triggers.json +17 -0
  758. package/skills/social-media-publishing/references/platform-apis.md +116 -0
  759. package/skills/solidity-patterns/SKILL.md +95 -0
  760. package/skills/solidity-patterns/evals/triggers.json +16 -0
  761. package/skills/spring-boot-patterns/SKILL.md +128 -0
  762. package/skills/spring-boot-patterns/evals/triggers.json +18 -0
  763. package/skills/spring-boot-patterns/references/testing.md +72 -0
  764. package/skills/stripe-integration/SKILL.md +69 -0
  765. package/skills/stripe-integration/evals/triggers.json +16 -0
  766. package/skills/stripe-integration/references/api.md +71 -0
  767. package/skills/stripe-integration/references/billing.md +58 -0
  768. package/skills/stripe-integration/references/webhooks.md +76 -0
  769. package/skills/subagent-driven-development/SKILL.md +109 -0
  770. package/skills/subagent-driven-development/evals/behavior.json +53 -0
  771. package/skills/subagent-driven-development/evals/triggers.json +15 -0
  772. package/skills/subagent-driven-development/references/implementer-brief.md +60 -0
  773. package/skills/subagent-driven-development/references/reviewer-briefs.md +52 -0
  774. package/skills/subscription-billing-ops/SKILL.md +118 -0
  775. package/skills/subscription-billing-ops/evals/triggers.json +17 -0
  776. package/skills/subscription-billing-ops/references/proration.md +47 -0
  777. package/skills/subscription-billing-ops/references/revenue-metrics.md +38 -0
  778. package/skills/svelte-patterns/SKILL.md +122 -0
  779. package/skills/svelte-patterns/evals/triggers.json +16 -0
  780. package/skills/swift-patterns/SKILL.md +113 -0
  781. package/skills/swift-patterns/evals/triggers.json +16 -0
  782. package/skills/swift-patterns/references/concurrency-migration.md +40 -0
  783. package/skills/swift-testing/SKILL.md +121 -0
  784. package/skills/swift-testing/evals/triggers.json +16 -0
  785. package/skills/swift-testing/references/swift-testing-cheatsheet.md +81 -0
  786. package/skills/swiftui-patterns/SKILL.md +102 -0
  787. package/skills/swiftui-patterns/evals/triggers.json +16 -0
  788. package/skills/systematic-debugging/SKILL.md +92 -0
  789. package/skills/systematic-debugging/evals/behavior.json +59 -0
  790. package/skills/systematic-debugging/evals/triggers.json +16 -0
  791. package/skills/systematic-debugging/references/condition-waiting.md +52 -0
  792. package/skills/systematic-debugging/references/root-cause-tracing.md +49 -0
  793. package/skills/systematic-debugging/references/test-pollution.md +46 -0
  794. package/skills/tdd-workflow/SKILL.md +69 -0
  795. package/skills/tdd-workflow/evals/behavior.json +55 -0
  796. package/skills/tdd-workflow/evals/triggers.json +15 -0
  797. package/skills/tdd-workflow/references/testing-anti-patterns.md +87 -0
  798. package/skills/technical-writing/SKILL.md +95 -0
  799. package/skills/technical-writing/evals/triggers.json +14 -0
  800. package/skills/terraform-patterns/SKILL.md +122 -0
  801. package/skills/terraform-patterns/evals/triggers.json +16 -0
  802. package/skills/terraform-patterns/references/backends.md +67 -0
  803. package/skills/test-coverage-improvement/SKILL.md +107 -0
  804. package/skills/test-coverage-improvement/evals/triggers.json +16 -0
  805. package/skills/threat-modeling/SKILL.md +113 -0
  806. package/skills/threat-modeling/evals/triggers.json +16 -0
  807. package/skills/transactional-email/SKILL.md +68 -0
  808. package/skills/transactional-email/evals/triggers.json +17 -0
  809. package/skills/transactional-email/references/providers.md +63 -0
  810. package/skills/typescript-patterns/SKILL.md +122 -0
  811. package/skills/typescript-patterns/evals/triggers.json +16 -0
  812. package/skills/typescript-testing/SKILL.md +101 -0
  813. package/skills/typescript-testing/evals/triggers.json +16 -0
  814. package/skills/ui-demo-recording/SKILL.md +93 -0
  815. package/skills/ui-demo-recording/evals/triggers.json +16 -0
  816. package/skills/ui-demo-recording/references/cursor-and-captions.md +48 -0
  817. package/skills/ui-demo-recording/references/playwright-recording.md +63 -0
  818. package/skills/ui-demo-recording/references/post-processing.md +57 -0
  819. package/skills/ui-design-polish/SKILL.md +113 -0
  820. package/skills/ui-design-polish/evals/triggers.json +18 -0
  821. package/skills/ui-design-polish/references/detail-checklist.md +45 -0
  822. package/skills/ui-design-polish/references/tokens.md +68 -0
  823. package/skills/ui-flow-audit/SKILL.md +112 -0
  824. package/skills/ui-flow-audit/evals/triggers.json +17 -0
  825. package/skills/ui-motion/SKILL.md +103 -0
  826. package/skills/ui-motion/evals/triggers.json +18 -0
  827. package/skills/ui-motion/references/patterns.md +138 -0
  828. package/skills/ui-motion/references/tokens.md +52 -0
  829. package/skills/unicode-text-processing/SKILL.md +103 -0
  830. package/skills/unicode-text-processing/evals/triggers.json +17 -0
  831. package/skills/unicode-text-processing/references/apis.md +89 -0
  832. package/skills/unicode-text-processing/references/script-notes.md +50 -0
  833. package/skills/verification-loop/SKILL.md +70 -0
  834. package/skills/verification-loop/evals/behavior.json +52 -0
  835. package/skills/verification-loop/evals/triggers.json +14 -0
  836. package/skills/verification-loop/scripts/detect-checks.js +102 -0
  837. package/skills/video-editing/SKILL.md +111 -0
  838. package/skills/video-editing/evals/triggers.json +16 -0
  839. package/skills/video-editing/references/edl-and-logging.md +44 -0
  840. package/skills/video-editing/references/ffmpeg-edit-recipes.md +92 -0
  841. package/skills/video-editing/references/resolve-scripting.md +53 -0
  842. package/skills/vite-patterns/SKILL.md +117 -0
  843. package/skills/vite-patterns/evals/triggers.json +16 -0
  844. package/skills/vue-patterns/SKILL.md +104 -0
  845. package/skills/vue-patterns/evals/triggers.json +16 -0
  846. package/skills/web-accessibility/SKILL.md +119 -0
  847. package/skills/web-accessibility/evals/triggers.json +16 -0
  848. package/skills/web-performance/SKILL.md +107 -0
  849. package/skills/web-performance/evals/triggers.json +16 -0
  850. package/skills/web-scraping/SKILL.md +80 -0
  851. package/skills/web-scraping/evals/triggers.json +16 -0
package/package.json CHANGED
@@ -1,6 +1,63 @@
1
1
  {
2
2
  "name": "@ketecode/loom",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.2.0",
4
+ "description": "Kete Loom: curated, tested, portable Agent Skills, subagents, commands, rules, hooks and MCP configs. One source, installable in Claude Code, Codex, OpenCode, Cursor, Gemini CLI, GitHub Copilot, Kete Code and Kiro.",
5
+ "license": "MIT",
6
+ "author": "Kete-org <support@ketecode.ai>",
7
+ "homepage": "https://ketecode.ai",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/kete-org/kete-loom.git"
11
+ },
12
+ "bugs": "https://github.com/kete-org/kete-loom/issues",
13
+ "keywords": [
14
+ "agent-skills",
15
+ "skills",
16
+ "claude-code",
17
+ "codex",
18
+ "opencode",
19
+ "cursor",
20
+ "gemini-cli",
21
+ "copilot",
22
+ "kete-code",
23
+ "kiro"
24
+ ],
25
+ "bin": {
26
+ "kete-loom": "bin/kete-loom.js"
27
+ },
28
+ "files": [
29
+ "bin/",
30
+ "scripts/lib/",
31
+ "skills/",
32
+ "agents/",
33
+ "commands/",
34
+ "hooks/",
35
+ "rules/",
36
+ "mcp/",
37
+ "profiles.json",
38
+ "schemas/",
39
+ "README.md",
40
+ "LICENSE"
41
+ ],
42
+ "engines": {
43
+ "node": ">=18"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "scripts": {
49
+ "lint": "node scripts/lint-skills.js",
50
+ "eval": "node scripts/run-evals.js && node scripts/run-behavior-evals.js",
51
+ "eval:estimate": "node scripts/run-evals.js --estimate",
52
+ "eval:live": "node scripts/run-evals.js --live",
53
+ "eval:behavior": "node scripts/run-behavior-evals.js",
54
+ "test": "node --test",
55
+ "check": "npm run lint && npm test && npm run eval",
56
+ "catalog": "node scripts/build-catalog.js",
57
+ "site": "node scripts/build-site.js",
58
+ "prepublishOnly": "npm run check"
59
+ },
60
+ "devDependencies": {
61
+ "@anthropic-ai/sdk": "^0.135.0"
62
+ }
63
+ }
package/profiles.json ADDED
@@ -0,0 +1,214 @@
1
+ {
2
+ "minimal": {
3
+ "description": "The essentials: test-first work, verification before merge, security review and code review.",
4
+ "skills": [
5
+ "tdd-workflow",
6
+ "verification-loop",
7
+ "security-review"
8
+ ],
9
+ "agents": [
10
+ "code-reviewer"
11
+ ],
12
+ "commands": [
13
+ "review",
14
+ "verify"
15
+ ],
16
+ "rules": [
17
+ "common",
18
+ "security"
19
+ ]
20
+ },
21
+ "core": {
22
+ "description": "Everyday development: the essentials, planning, git, onboarding and session handoff, plus the language and framework packs this project uses.",
23
+ "extends": [
24
+ "minimal"
25
+ ],
26
+ "skills": [
27
+ "search-first",
28
+ "git-workflow",
29
+ "conventional-commits",
30
+ "codebase-onboarding",
31
+ "session-handoff",
32
+ "error-handling-patterns",
33
+ "refactoring-safely"
34
+ ],
35
+ "agents": [
36
+ "planner",
37
+ "security-reviewer",
38
+ "refactor-cleaner"
39
+ ],
40
+ "commands": [
41
+ "build-fix",
42
+ "plan-feature",
43
+ "commit",
44
+ "pr-describe",
45
+ "tdd",
46
+ "explain",
47
+ "save-session",
48
+ "resume-session",
49
+ "test-coverage"
50
+ ],
51
+ "rules": [
52
+ "testing",
53
+ "git"
54
+ ],
55
+ "detect": true
56
+ },
57
+ "developer": {
58
+ "description": "Core plus the safety hooks: block dangerous commands, --no-verify, edits to protected files and secrets in code.",
59
+ "extends": [
60
+ "core"
61
+ ],
62
+ "hooks": [
63
+ "block-dangerous-commands",
64
+ "block-no-verify",
65
+ "protect-files",
66
+ "guard-secrets"
67
+ ]
68
+ },
69
+ "strict": {
70
+ "description": "Developer plus the opt-in guardrails: read files before editing them, don't weaken lint configs, keep dev servers in the background, and pass lint and type-check before finishing.",
71
+ "extends": [
72
+ "developer"
73
+ ],
74
+ "hooks": [
75
+ "read-before-edit",
76
+ "protect-lint-config",
77
+ "block-foreground-servers",
78
+ "verify-before-stop"
79
+ ]
80
+ },
81
+ "method": {
82
+ "description": "A full development method: design before code, granular plans, a fresh subagent per task with spec and quality review, systematic debugging, rigorous responses to review, worktrees and a clean finish.",
83
+ "skills": [
84
+ "design-brainstorming",
85
+ "implementation-plans",
86
+ "subagent-driven-development",
87
+ "systematic-debugging",
88
+ "tdd-workflow",
89
+ "verification-loop",
90
+ "responding-to-code-review",
91
+ "git-worktrees",
92
+ "finishing-a-branch"
93
+ ],
94
+ "agents": [
95
+ "planner",
96
+ "task-implementer",
97
+ "spec-reviewer",
98
+ "code-reviewer"
99
+ ],
100
+ "commands": [
101
+ "brainstorm",
102
+ "plan-feature",
103
+ "feature-dev",
104
+ "debug",
105
+ "verify",
106
+ "review",
107
+ "finish-branch"
108
+ ],
109
+ "rules": [
110
+ "use-skills",
111
+ "common",
112
+ "testing"
113
+ ]
114
+ },
115
+ "security": {
116
+ "description": "Security and compliance: every security and compliance item, the essentials, and the four safety hooks.",
117
+ "extends": [
118
+ "minimal"
119
+ ],
120
+ "categories": [
121
+ "security",
122
+ "compliance"
123
+ ],
124
+ "commands": [
125
+ "security-scan",
126
+ "threat-model",
127
+ "deps-audit"
128
+ ],
129
+ "rules": [
130
+ "security"
131
+ ],
132
+ "hooks": [
133
+ "block-dangerous-commands",
134
+ "block-no-verify",
135
+ "protect-files",
136
+ "guard-secrets"
137
+ ]
138
+ },
139
+ "ai": {
140
+ "description": "Building AI features: LLM apps, prompts, evals, RAG, MCP servers, agents and ML, on top of core.",
141
+ "extends": [
142
+ "core"
143
+ ],
144
+ "categories": [
145
+ "ai"
146
+ ]
147
+ },
148
+ "data": {
149
+ "description": "Data work: databases, pipelines, dbt, scraping, dashboards and analysis, on top of core.",
150
+ "extends": [
151
+ "core"
152
+ ],
153
+ "categories": [
154
+ "data"
155
+ ]
156
+ },
157
+ "business": {
158
+ "description": "Founders and product teams: marketing, SEO, research, investor materials, writing, PRDs and operations.",
159
+ "categories": [
160
+ "business",
161
+ "docs"
162
+ ],
163
+ "commands": [
164
+ "prd",
165
+ "postmortem"
166
+ ]
167
+ },
168
+ "full": {
169
+ "description": "Everything in Kete Loom, with every hook that isn't opt-in (add those with --hook or the strict profile).",
170
+ "all": true
171
+ },
172
+ "mcp-web": {
173
+ "description": "MCP pack for web work: Playwright and Chrome DevTools browsers, Context7 library docs, Fetch, Exa web search and Firecrawl scraping.",
174
+ "mcp": [
175
+ "playwright",
176
+ "chrome-devtools",
177
+ "context7",
178
+ "fetch",
179
+ "exa",
180
+ "firecrawl"
181
+ ]
182
+ },
183
+ "mcp-code": {
184
+ "description": "MCP pack for code hosting and errors: GitHub, local Git and Sentry.",
185
+ "mcp": [
186
+ "github",
187
+ "git",
188
+ "sentry"
189
+ ]
190
+ },
191
+ "mcp-team": {
192
+ "description": "MCP pack for team tools: Linear, Notion and Atlassian (Jira and Confluence).",
193
+ "mcp": [
194
+ "linear",
195
+ "notion",
196
+ "atlassian"
197
+ ]
198
+ },
199
+ "mcp-cloud": {
200
+ "description": "MCP pack for cloud and payments: Cloudflare, Vercel, Supabase (read-only) and Stripe.",
201
+ "mcp": [
202
+ "cloudflare",
203
+ "supabase",
204
+ "stripe",
205
+ "vercel"
206
+ ]
207
+ },
208
+ "mcp-design": {
209
+ "description": "MCP pack for design handoff: Figma.",
210
+ "mcp": [
211
+ "figma"
212
+ ]
213
+ }
214
+ }
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: common
3
+ description: Always-on engineering rules for any project, covering scope, verification, honesty about results, safe changes and secrets.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/owner: "Kete-org"
10
+ ---
11
+
12
+ - Read the code you change and the code that calls it before editing. Search for an existing helper before writing a new one.
13
+ - Keep the change to what was asked. Mention other problems you notice instead of fixing them unasked.
14
+ - Match the surrounding code: its naming, structure, error handling and comment style.
15
+ - Prove a change works by running the project's own build, lint and tests. Never claim something passes without having run it.
16
+ - Report results as they are. If a test fails, a step was skipped or you are unsure, say so plainly.
17
+ - Never delete, skip or weaken a test to make a suite pass.
18
+ - Handle errors where they can be handled; never swallow them silently.
19
+ - Never put secrets, tokens or credentials in code, logs, commits or test fixtures. Read them from the environment or a secret store.
20
+ - Ask before anything destructive or hard to undo: deleting data, force-pushing, rewriting history, dropping tables, changing production config.
21
+ - Prefer small, reversible steps. Commit only when the user asks.
package/rules/cpp.md ADDED
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: cpp
3
+ description: Always-on rules for modern C++ code, covering ownership and RAII, undefined behaviour, bounds and lifetimes, concurrency, headers, and sanitizer-backed build and test checks.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.cpp, **/*.cc, **/*.cxx, **/*.c++, **/*.hpp, **/*.hh, **/*.hxx, **/*.h, **/*.ipp, **/*.ixx, **/*.cppm"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Write to the C++ standard the project's build sets; do not use features newer than it.
14
+ - Manage every resource with RAII. Never use raw `new`/`delete` for ownership; use `std::make_unique`, `std::make_shared` or a container.
15
+ - Use `std::unique_ptr` by default; reach for `std::shared_ptr` only for genuinely shared ownership. Raw pointers and references never own.
16
+ - Follow the rule of zero; if you write one of destructor, copy or move operations, define or delete all five.
17
+ - Never return or store a reference, pointer, `std::string_view` or `std::span` to a local or temporary that will die first.
18
+ - Never use an iterator, pointer or reference into a container after an operation that may invalidate it, such as `push_back` or `erase`.
19
+ - Check bounds on untrusted indices; never index past the end. Prefer `std::array`, `std::vector` and `std::string` over C arrays and `char*` buffers.
20
+ - Never use `strcpy`, `sprintf`, `gets` or other unbounded C string functions.
21
+ - Initialize every variable, and avoid signed overflow, unchecked narrowing and C-style casts; use `static_cast` and friends.
22
+ - Guard all shared mutable state with `std::mutex` and `std::lock_guard`/`std::scoped_lock`, or `std::atomic`; a data race is undefined behaviour.
23
+ - Mark functions `noexcept` only when they truly cannot throw, and destructors must never throw.
24
+ - Mark overriding functions `override`, give polymorphic bases a virtual or protected destructor, and make single-argument constructors `explicit`.
25
+ - Never put `using namespace` in a header; use include guards or `#pragma once` as the project does.
26
+ - Build with warnings on (for example `-Wall -Wextra`) and fix them; run tests under AddressSanitizer and UndefinedBehaviorSanitizer (`-fsanitize=address,undefined`) when the toolchain supports them.
27
+ - Use the project's configured build system, formatter and test framework.
28
+
29
+ For more, load the cpp-patterns and cpp-testing skills.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: csharp
3
+ description: Always-on rules for C# and .NET code, covering nullable reference types, async and await, disposal, exceptions, data access safety, and build and test checks.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.cs"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Keep nullable reference types enabled and fix nullable warnings; never silence them with `!` unless the value is proven non-null.
14
+ - Never block on async code with `.Result`, `.Wait()` or `.GetAwaiter().GetResult()`; use `await` all the way up.
15
+ - Never write `async void` except for event handlers. Return `Task` or `ValueTask`.
16
+ - Accept a `CancellationToken` in async APIs that do I/O and pass it to every call that takes one.
17
+ - Dispose every `IDisposable` with `using` or `await using`; never leave a stream, connection or reader open.
18
+ - Do not create a new `HttpClient` per request; use `IHttpClientFactory` or a shared instance.
19
+ - Throw specific exceptions and rethrow with `throw;`, never `throw ex;`, which loses the stack trace.
20
+ - Never build SQL by string concatenation or interpolation; use parameters or the ORM's parameterized APIs.
21
+ - Never deserialize untrusted data with `BinaryFormatter` or with type-name handling (such as Newtonsoft `TypeNameHandling` other than `None`) that lets the payload choose the type.
22
+ - Avoid enumerating an `IEnumerable<T>` or LINQ query more than once; materialize it with `ToList()` when you need it twice.
23
+ - Run `dotnet build` with warnings visible and `dotnet test`, and use the project's configured formatter and analyzers.
24
+
25
+ For more, load the csharp-patterns and csharp-testing skills.
package/rules/dart.md ADDED
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: dart
3
+ description: Always-on rules for Dart and Flutter code, covering null safety, async, widget lifecycle, analysis, formatting and tests.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.dart"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Run `dart analyze` (or `flutter analyze`) and fix every issue you introduce. Respect the project's `analysis_options.yaml`; never add `// ignore:` to silence a real problem.
14
+ - Format with `dart format`. Do not hand-format against it.
15
+ - Make a type nullable only when absence is a real state. Promote with a null check or a local copy; use `!` only for an invariant the analyzer cannot see, never to silence an error.
16
+ - Use `late` only when the value is always set before first read; reading it earlier throws at runtime.
17
+ - Never `as`-cast decoded JSON blindly; check shape and types (patterns or explicit checks) before use.
18
+ - Await every `Future` or mark intentional fire-and-forget with `unawaited(...)`. Unawaited errors escape every `try`.
19
+ - Catch specific types with `on`, and use `rethrow` (not `throw e`) to keep the stack trace.
20
+ - Don't add a `_` default to a switch over a sealed type or enum; it hides new cases from the exhaustiveness check.
21
+ - In Flutter, check `mounted` (or `context.mounted`) after any `await` before using `BuildContext` or calling `setState`.
22
+ - In `dispose()`, dispose every controller and `FocusNode` you create and cancel every `StreamSubscription` and `Timer`.
23
+ - Never do I/O or heavy work in `build()`; it must be fast and side-effect free.
24
+ - Use the project's state management and routing approach; do not introduce a new one.
25
+ - Give list items in reorderable or stateful lists a stable `Key`.
26
+ - Never ship secrets in an app, in source or via `--dart-define`; anything in the binary is readable.
27
+ - Add or update tests with `package:test` or `flutter_test` for changed logic; run `dart test` or `flutter test`.
28
+
29
+ For more, load the dart-patterns, dart-testing and flutter-patterns skills.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: fsharp
3
+ description: Always-on rules for F# code, covering immutability, discriminated unions and exhaustive matching, Option and Result, async and task code, .NET interop, and checks.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.fs, **/*.fsi, **/*.fsx"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Prefer immutable values, records and F# collections; use `mutable` or `ref` only for local, contained state.
14
+ - Model closed sets of cases with discriminated unions and match them exhaustively; never ignore incomplete-match warnings.
15
+ - Avoid the wildcard `_` case over a union you own, so a new case is a compile warning at every match.
16
+ - Use `Option` for absence and `Result` for expected failures; keep exceptions for truly exceptional conditions.
17
+ - Never call `Option.get`, `List.head` or `.Value` on something that can be empty; match on it or use a safe function such as `List.tryHead`.
18
+ - Convert nulls from .NET APIs at the boundary with `Option.ofObj` or `Option.ofNullable`.
19
+ - Keep file order in the project file meaningful: a file only uses what is defined above it, so put new types before their users.
20
+ - Never block on async work with `Async.RunSynchronously` or `.Result` inside library or server code; compose with `async { }` or `task { }`.
21
+ - Pass a `CancellationToken` through async and task workflows that do I/O.
22
+ - Dispose resources with `use` or `use!`, not `let`.
23
+ - Never build SQL by string concatenation; use parameters or the data library's parameterized API.
24
+ - Annotate parameter and return types on public functions so an inference change cannot silently change the API.
25
+ - Treat compiler warnings as errors where the project does, and run `dotnet build` and `dotnet test` before finishing.
26
+ - Use the project's configured formatter and test framework.
27
+
28
+ For more, load the fsharp-patterns and fsharp-testing skills.
package/rules/git.md ADDED
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: git
3
+ description: Always-on git hygiene rules for agents, covering small focused commits, Conventional Commits messages, keeping secrets and generated files out, safe pushing and never rewriting shared history.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: devops
8
+ kete-loom/risk: read-only
9
+ kete-loom/owner: "Kete-org"
10
+ ---
11
+
12
+ - Never commit directly to the default branch unless that is the project's workflow; branch first.
13
+ - Run `git status` and `git diff --staged` before every commit and check that only the intended changes are staged.
14
+ - Stage files by name. Avoid `git add -A` or `git add .` when unrelated or untracked files are present.
15
+ - Keep each commit small and focused on one logical change that builds and passes tests on its own.
16
+ - Follow the project's commit message convention (check recent `git log`); if it has none, use Conventional Commits, `type(scope): summary`. Write the summary in the imperative and add a body that explains why when the reason is not obvious.
17
+ - Never commit secrets, `.env` files, credentials, private keys or personal data. If one was committed, stop and tell the user; removing it from history does not un-leak it, so it must be rotated.
18
+ - Never commit build output, dependency folders, caches or editor files. Keep lockfiles the project already tracks in sync with its manifest.
19
+ - Never skip hooks with `--no-verify`. If a hook fails, fix the cause and commit again; do not amend an earlier commit to work around it.
20
+ - Never force-push a shared branch or rewrite published history. On your own branch, use `--force-with-lease`, never plain `--force`.
21
+ - Never run destructive commands (`reset --hard`, `clean -fd`, `checkout -- .`, `branch -D`, `stash drop`) without the user's consent; they discard uncommitted work.
22
+ - Do not change git config, remotes or signing settings unless asked.
23
+ - Use non-interactive commands; avoid flags that open an editor or prompt, such as `rebase -i` or `add -p`.
24
+ - Resolve merge conflicts by reading both sides; never accept one side wholesale to make the conflict go away.
25
+
26
+ For more, load the git-workflow and conventional-commits skills.
package/rules/go.md ADDED
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: go
3
+ description: Always-on rules for Go files, covering formatting, vet, error handling, context, goroutine and resource lifetimes, and concurrency safety.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.go"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Format with `gofmt` (or the project's `goimports`). Run `go vet ./...` and `go test ./...` after a change, plus the project's configured linter.
14
+ - Run tests with `-race` when the code uses goroutines or shared state.
15
+ - Check every returned error. Never discard one with `_` unless a comment says why.
16
+ - Wrap errors with context using `fmt.Errorf("doing x: %w", err)`, and inspect them with `errors.Is` and `errors.As`, never by comparing strings.
17
+ - Handle an error or return it, not both: do not log and then return the same error.
18
+ - Never `panic` for expected failures in library code; return an error.
19
+ - Pass `context.Context` as the first parameter of anything that does I/O or may block, and honour its cancellation. Never store it in a struct.
20
+ - `defer` the `Close` of files, response bodies and rows right after the error check; check `rows.Err()` after iterating.
21
+ - Give every goroutine a way to stop (context, closed channel or `sync.WaitGroup`). Never start one you cannot end.
22
+ - Protect shared state with a mutex or channels. Never copy a value that contains a `sync.Mutex`.
23
+ - Only the sender closes a channel. Never close a channel twice or send on a closed one.
24
+ - Set a timeout on outbound HTTP calls (client `Timeout` or a context deadline); `http.Get` and `http.DefaultClient` have none. Set `ReadHeaderTimeout` on `http.Server`.
25
+ - Use parameterized queries in `database/sql`; never build SQL with `fmt.Sprintf`.
26
+ - Pass `exec.Command` separate arguments; never run `sh -c` with a string built from input.
27
+ - Keep `go.mod` and `go.sum` tidy with `go mod tidy`; never edit `go.sum` by hand.
28
+
29
+ For more, load the go-patterns and go-testing skills.
package/rules/java.md ADDED
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: java
3
+ description: Always-on rules for Java files, covering build tooling, null handling, exceptions, resources, concurrency and injection safety.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.java"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Use the project's build tool through its wrapper (`./mvnw` or `./gradlew`), not a globally installed `mvn` or `gradle`.
14
+ - Use the project's configured formatter and static analysis; never disable a check to make the build pass.
15
+ - Use `try`-with-resources for streams, readers, connections and statements so they always close.
16
+ - Never catch and ignore an exception. Catch the narrowest type, and pass the original as the cause when wrapping.
17
+ - Never catch `Throwable` or `Error`; when catching `InterruptedException`, restore the flag with `Thread.currentThread().interrupt()`.
18
+ - Return empty collections or `Optional`, not `null`. Use `Optional` only as a return type, never for fields or parameters.
19
+ - Validate parameters at public boundaries with `Objects.requireNonNull` or explicit checks.
20
+ - Override `equals` and `hashCode` together, never one alone.
21
+ - Compare strings and boxed numbers with `equals`, never `==`.
22
+ - Pass an explicit `Charset` (`StandardCharsets.UTF_8`) when converting bytes and text.
23
+ - Use `java.time` (`Instant`, `LocalDate`, `ZonedDateTime`), never `Date` or `Calendar` in new code.
24
+ - Use `PreparedStatement` or the framework's parameter binding; never concatenate user input into SQL or JPQL. Run processes with `ProcessBuilder` and an argument list.
25
+ - Never deserialize untrusted data with `ObjectInputStream`. Disable external entities when parsing untrusted XML.
26
+ - Run concurrent work on an `ExecutorService` (or the framework's executor) and shut it down, rather than unmanaged `new Thread(...)`. Guard shared mutable state with `java.util.concurrent` types or locks.
27
+ - Use `SecureRandom`, not `Random`, for tokens and keys.
28
+
29
+ For more, load the java-patterns and java-testing skills.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: kotlin
3
+ description: Always-on rules for Kotlin code, covering null safety, sealed types, coroutines and structured concurrency, Java interop, and build and test checks.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.kt, **/*.kts"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Never use `!!` in new code. Use `?:` with an early return or error, `requireNotNull`/`checkNotNull`, or a non-null type validated at the boundary.
14
+ - Give values from unannotated Java APIs an explicit Kotlin type at the call site so a null fails where it enters.
15
+ - Use `lateinit var` only for values a framework sets before first use, never for values that can be missing.
16
+ - Prefer `val` and read-only collection types; never put mutable collections in a `data class`, since `copy()` shares them.
17
+ - Model closed sets of states with `sealed interface` or `sealed class`, and match them with `when` as an expression with no `else`.
18
+ - Never use `GlobalScope`. Launch coroutines in a scope tied to a lifecycle and let structured concurrency cancel them.
19
+ - Never block a coroutine thread with `Thread.sleep` or blocking I/O; use `delay`, suspending APIs, or `withContext(Dispatchers.IO)`.
20
+ - Never swallow `CancellationException`. When catching `Exception` or `Throwable` (or using `runCatching`) in suspending code, rethrow it.
21
+ - Do not use `runBlocking` in production code paths; keep it to `main` and tests that cannot use `runTest`.
22
+ - Make shared mutable state safe with `Mutex`, atomics or confinement to one dispatcher; never mutate it from several coroutines unguarded.
23
+ - Use `use { }` on every `Closeable` so it is closed on all paths.
24
+ - Use the project's configured build (Gradle or Maven), formatter and linter, and run its tests before finishing.
25
+ - Test suspending code with `runTest` from kotlinx-coroutines-test, not `runBlocking` with real delays.
26
+
27
+ For more, load the kotlin-patterns and kotlin-testing skills.
package/rules/perl.md ADDED
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: perl
3
+ description: Always-on rules for modern Perl 5 code, covering strict and warnings, lexical scope, safe open and system calls, untrusted input, SQL, encoding and tests.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.pl, **/*.pm, **/*.t, **/*.psgi"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Start every file with `use strict;` and `use warnings;` (or the project's equivalent bundle, such as `use v5.36;`).
14
+ - Declare variables with `my` in the smallest scope. Never use undeclared globals; use `our` only for package interfaces.
15
+ - Use three-argument `open` with a lexical filehandle and check it: `open(my $fh, '<', $path) or die "Can't open $path: $!";`.
16
+ - Check the result of every system call (`open`, `close`, `mkdir`, `unlink`, `rename`) and include `$!` in the error, or `use autodie`.
17
+ - Call external programs with list-form `system` or `exec` (`system('cmd', @args)`), never one interpolated string. Check `$?` afterwards.
18
+ - Never pass untrusted input to string `eval`, two-argument `open`, or backticks. Catch exceptions with block `eval { }` or the project's try/catch module.
19
+ - Localise special variables (`local $_`, `local $/`) when you change them.
20
+ - Use placeholders (`?`) with DBI `prepare`/`execute`; never interpolate values into SQL.
21
+ - Pass and return complex data by reference; don't flatten hashes and arrays you need to keep separate.
22
+ - Decode input and encode output explicitly (`use utf8;` when the source has non-ASCII text, `:encoding(UTF-8)` layers on handles).
23
+ - Run `perl -c` and the project's configured Perl::Critic and Perl::Tidy settings on changed files.
24
+ - Write tests in `t/*.t` with `Test::More` (or the project's framework), end with `done_testing`, and run them with `prove -lr t`.
25
+
26
+ For more, load the perl-patterns and perl-testing skills.
package/rules/php.md ADDED
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: php
3
+ description: Always-on rules for modern PHP 8 code, covering strict types, typed signatures, input handling, SQL, errors, Composer and tests.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.php"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Start new files with `declare(strict_types=1);` and match existing files that already use it.
14
+ - Type every parameter, return and property. Use `?T` or union types only when null or another type is a real state.
15
+ - Use enums for fixed sets of values when the project's PHP version supports them (8.1+), not loose strings.
16
+ - Compare with `===` and `!==`. Use `match` over `switch` when mapping values; it compares strictly and throws `UnhandledMatchError` on no match.
17
+ - Never build SQL by string concatenation. Use prepared statements with bound parameters (PDO or the project's query builder/ORM).
18
+ - Escape output for its context: `htmlspecialchars($v, ENT_QUOTES, 'UTF-8')` for HTML, or the template engine's auto-escaping.
19
+ - Never pass user input to `eval`, `include`/`require`, `unserialize`, `exec`, `shell_exec` or `system`. Use `json_decode` for untrusted data and `escapeshellarg` if a shell is unavoidable.
20
+ - Hash passwords with `password_hash` and check with `password_verify`. Use `random_bytes`/`random_int` for tokens, never `rand` or `mt_rand`.
21
+ - Throw specific exceptions and catch them where you can act. Never suppress errors with `@`.
22
+ - Run the project's configured formatter and code style tool; keep classes in PSR-4 autoload paths (one class per file, namespace matches directory).
23
+ - Run the project's static analyser (PHPStan or Psalm) at its configured level and fix what you introduce.
24
+ - Add dependencies with `composer require`, commit `composer.lock` in applications, and never edit `vendor/`.
25
+ - Validate request input at the boundary; never trust `$_GET`, `$_POST`, `$_COOKIE` or headers.
26
+ - Add or update tests with the project's test framework (PHPUnit or Pest) and run them.
27
+
28
+ For more, load the php-patterns, php-testing and laravel-patterns skills.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: python
3
+ description: Always-on rules for Python 3 files, covering environments, type hints, exceptions, resource handling, untrusted input and the project's own tooling.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.py, **/*.pyi"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Use the project's environment and dependency tool (its lockfile or `pyproject.toml` shows which). Never install packages into the system Python.
14
+ - Use the project's configured formatter, linter, type checker and test runner, and run them after a change.
15
+ - Where the project uses type hints, add them to new and changed function signatures. Never use `# type: ignore` without a specific error code and a reason.
16
+ - Never use a mutable default argument (`def f(x=[])`); default to `None` and create the value inside.
17
+ - Never use a bare `except:` or `except Exception: pass`. Catch the narrowest exception, and use `raise ... from err` when wrapping.
18
+ - Open files, locks, connections and sockets with `with` so they always close.
19
+ - Pass `encoding="utf-8"` when opening text files.
20
+ - Resolve any path built from user input and check it stays inside the allowed directory before using it.
21
+ - Never pass user input to `eval`, `exec`, `pickle.loads`, `yaml.load` without `SafeLoader`, or `subprocess` with `shell=True`. Pass `subprocess` an argument list.
22
+ - Use parameterized queries; never format SQL with f-strings or `%`.
23
+ - Use `secrets`, not `random`, for tokens and passwords.
24
+ - Use timezone-aware datetimes (`datetime.now(timezone.utc)`); never compare naive and aware values.
25
+ - Use `logging` in library code, not `print`.
26
+ - Set a timeout on every network call; `requests` and `urllib` wait forever by default.
27
+ - Never call blocking I/O inside `async def`; use an async library or `asyncio.to_thread`.
28
+ - Compare to `None` with `is` / `is not`.
29
+
30
+ For more, load the python-patterns and python-testing skills.
package/rules/ruby.md ADDED
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: ruby
3
+ description: Always-on rules for Ruby code, covering style, nil handling, exceptions, unsafe input, Bundler, Rails safety and tests.
4
+ license: MIT
5
+ metadata:
6
+ kete-loom/version: "0.1.0"
7
+ kete-loom/category: coding
8
+ kete-loom/risk: read-only
9
+ kete-loom/paths: "**/*.rb, **/*.rake, **/*.erb, **/*.gemspec, **/Gemfile, **/Rakefile"
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ - Run the project's configured linter and formatter (RuboCop or Standard) and fix what you introduce. Don't add inline disables to hide real problems.
14
+ - Match the project's use of `# frozen_string_literal: true`; don't mutate string literals.
15
+ - Handle `nil` explicitly. Use `fetch` for required keys so a missing key raises instead of returning `nil`; use `&.` only where `nil` is a valid state.
16
+ - Rescue specific exception classes. Never `rescue Exception` (it catches `Interrupt` and `SystemExit`); re-raise with bare `raise` when you can't handle it.
17
+ - Use `ensure` or block forms (`File.open { }`) so resources are always released.
18
+ - Never pass user input to `eval`, `instance_eval`, `send`, `public_send`, `constantize` or `Object.const_get` without an allowlist.
19
+ - Call shell commands with argument arrays (`system("cmd", arg)`, `Open3.capture3("cmd", arg)`), never interpolated strings or backticks.
20
+ - Never use `Marshal.load` or `YAML.load` on untrusted data; use `JSON.parse` or `YAML.safe_load`.
21
+ - In Rails, never interpolate into SQL; use `where(name: v)` or bound placeholders. Permit params with strong parameters, never `permit!`.
22
+ - In Rails views, never call `html_safe` or `raw` on user input; let ERB escape it.
23
+ - In Rails, avoid N+1 queries with `includes`/`preload`, and change the schema only through migrations.
24
+ - Add gems through the `Gemfile` with Bundler and commit `Gemfile.lock`. Run commands with `bundle exec`.
25
+ - Add or update tests with the project's framework (RSpec or Minitest) and run them.
26
+
27
+ For more, load the ruby-patterns, ruby-testing and rails-patterns skills.