@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
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: llm-evals
3
+ description: Builds and runs evaluation suites that measure whether an LLM feature is good enough to ship, from assembling a versioned case set and choosing graders (exact match, code checks, rubrics, a judge model) to tracking scores across prompt and model changes, keeping test cases out of prompts and training data, and deciding when people must review outputs. Use when a team needs a pass/fail bar for an AI feature, wants to catch regressions before a prompt or model upgrade, or doubts whether its LLM-as-judge scores can be trusted.
4
+ license: MIT
5
+ compatibility: Any Agent Skills host. Needs the project's language runtime to run the eval harness; graders using a judge model need model API access.
6
+ metadata:
7
+ kete-loom/version: "0.1.0"
8
+ kete-loom/category: ai
9
+ kete-loom/risk: runs-commands
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ # LLM evals
14
+
15
+ An eval is a test suite for behaviour that isn't deterministic. It turns "seems better" into a number you can compare across prompt versions and models. This skill builds the suite. To grade one agent's existing outputs and report failure patterns, delegate to the `agent-evaluator` agent. To rewrite the prompt itself, use `prompt-engineering`.
16
+
17
+ ## 0. Define what you measure
18
+
19
+ 1. State the feature's job in one sentence and list 2 to 5 **criteria** that decide a good output (for example: correct label, cites a source, under 120 words, refuses out-of-scope requests).
20
+ 2. For each criterion, decide if it can be checked by code. Prefer code. Use a model grader only where code can't decide.
21
+ 3. Agree a ship bar with the user (for example "≥ 95% on correctness, 0 safety failures"). If the user can't give one, **stop and ask**; a suite with no bar can't block a release.
22
+ 4. Search the codebase for an existing eval harness, test runner or dataset folder before creating a new one.
23
+
24
+ ## 1. Build the case set
25
+
26
+ - **Sources, in order of value:** real production inputs (from logs, redacted), reported bugs and user complaints, hand-written edge cases, synthetic cases generated by a model and then reviewed by a person.
27
+ - **Coverage:** typical inputs, hard inputs, edge cases (empty, very long, wrong language, ambiguous), adversarial inputs (prompt injection, requests the feature must refuse), and one case per past bug.
28
+ - **Size:** 20 to 50 good cases beat 1,000 unreviewed ones. Grow it as failures appear.
29
+ - Each case is a record with an id, the input, the expected output or the facts a good answer must contain, tags (category, difficulty, source), and the date added. Store it in the repo as JSONL or similar, under version control.
30
+ - Never put real personal data or secrets in the case set; redact first. If unsure whether data may be used, **stop and ask the user**.
31
+
32
+ ## 2. Avoid leakage
33
+
34
+ - Split the set: a **dev** portion you look at while editing prompts, and a **held-out** portion you only run to report results. Never copy held-out inputs into prompts as few-shot examples.
35
+ - When you add a production failure, put it in dev first; move a fresh sample into held-out periodically.
36
+ - Don't evaluate a model on cases it may have trained on (public benchmarks, text copied from the web) and call it generalisation.
37
+ - When a model generates synthetic cases, don't use the same prompt you are evaluating to create them.
38
+
39
+ ## 3. Choose graders
40
+
41
+ Use the cheapest grader that decides the criterion correctly.
42
+
43
+ | Grader | Use for | Notes |
44
+ |---|---|---|
45
+ | Exact / normalised match | labels, IDs, numbers, yes/no | Normalise case, whitespace and number format first |
46
+ | Code check | JSON validity, schema, length, required keywords, regex, citation present, tool called with right args | Deterministic, fast, run on every case |
47
+ | Reference similarity | short factual answers | Only as a hint; similar text can be wrong |
48
+ | Rubric, model-graded | tone, helpfulness, faithfulness to a source, reasoning quality | Needs calibration (section 4) |
49
+ | Pairwise, model-graded | "is B better than A?" between two prompt versions | Randomise order to cancel position bias |
50
+ | Human review | ship decisions on subjective quality, safety, legal or medical content, calibrating judges | Slow; sample, don't review everything |
51
+
52
+ Grader templates and a judge prompt are in `references/graders.md`. Read it before writing a model-graded rubric.
53
+
54
+ ## 4. Make model graders trustworthy
55
+
56
+ 1. Grade one criterion per judge call, with a short rubric that defines each score level in concrete terms. Prefer pass/fail or a 1 to 3 scale over 1 to 10.
57
+ 2. Ask the judge for its reasoning first, then the verdict in a fixed field your code parses.
58
+ 3. Use a capable model as judge, and preferably not the exact model and prompt under test.
59
+ 4. **Calibrate:** have a person label 20 to 50 outputs, run the judge on them, and measure agreement. Fix the rubric until agreement is acceptable to the user; report the agreement rate alongside every judged score.
60
+ 5. Re-calibrate when you change the judge model or rubric.
61
+
62
+ ## 5. Run and track
63
+
64
+ 1. Run every case with the exact production config: model version, prompt version, temperature, tools.
65
+ 2. Outputs vary between runs. Run each case several times (3 or more when results are close) and report the pass rate per case, not just the mean.
66
+ 3. Store each run as a record: date, git commit, prompt version, model, per-case results, aggregate scores, cost and latency.
67
+ 4. Compare against the last accepted run **case by case**. A higher average that breaks previously passing cases is a regression to report, not a win.
68
+ 5. Wire the fast, code-graded portion into CI so prompt or model changes can't merge when it drops below the bar. Run expensive judge-graded suites on demand or nightly.
69
+
70
+ ## 6. When to involve people
71
+
72
+ Bring in human review when:
73
+ - Setting or changing the ship bar.
74
+ - Calibrating a judge model (section 4).
75
+ - The domain is high-stakes (health, finance, legal, safety) or the output reaches users unreviewed.
76
+ - Judge scores and user feedback disagree.
77
+ - Labelling new production failures before they join the case set.
78
+
79
+ Give reviewers the rubric, blind them to which version produced the output, and record their labels in the case set.
80
+
81
+ ## Never
82
+
83
+ - Never report a score without the case count, run count and grader type.
84
+ - Never tune a prompt on the held-out set.
85
+ - Never treat a judge model's score as ground truth before checking it against human labels.
86
+ - Never delete a failing case to raise the score. Fix the feature or mark the case as wrong, with a reason, after the user agrees.
87
+
88
+ ## Report back
89
+
90
+ ```
91
+ Feature: <name> Prompt: <version> Model: <exact id>
92
+ Cases: <n dev> dev / <n held-out> held-out Runs per case: <k>
93
+ Criterion Grader Score Bar Δ vs last
94
+ <correctness> exact 47/50 ≥ 45 +2
95
+ <faithfulness> judge (κ=..) 44/50 ≥ 45 -1 ← regression
96
+ Newly failing: <case ids> Newly passing: <case ids>
97
+ Verdict: ship | don't ship, because <one line>
98
+ ```
@@ -0,0 +1,16 @@
1
+ {
2
+ "should_trigger": [
3
+ "We want to swap to a cheaper model, set up evals so we know if quality drops",
4
+ "Build a test set and graders for our support-ticket classifier",
5
+ "How do I check that my LLM-as-judge scores actually agree with humans?",
6
+ "Add an eval step to CI that fails the build if the summariser's accuracy regresses",
7
+ "Our eval cases keep ending up in the few-shot examples, how do we keep the held-out set clean?"
8
+ ],
9
+ "should_not_trigger": [
10
+ "Make the extraction prompt handle missing dates better",
11
+ "Score these 40 agent transcripts against our rubric and tell me where it fails",
12
+ "Add a timeout and JSON schema validation to our model call",
13
+ "Benchmark the p99 latency of the search API under load",
14
+ "Increase unit test coverage for the billing module to 80 percent"
15
+ ]
16
+ }
@@ -0,0 +1,66 @@
1
+ # Grader templates
2
+
3
+ Read this when writing graders for an LLM eval suite. Adapt names to the project's language; the shapes matter, not the syntax.
4
+
5
+ ## Case record (JSONL, one per line)
6
+
7
+ ```json
8
+ {"id": "refund-017", "split": "dev", "input": {"message": "I was charged twice"}, "expected": {"label": "billing"}, "must_include": ["refund"], "tags": ["billing", "hard"], "source": "prod-log", "added": "2026-01-14"}
9
+ ```
10
+
11
+ ## Code graders
12
+
13
+ Each grader takes `(case, output)` and returns `{ "pass": bool, "reason": str }`. Return a reason on failure so reports show why.
14
+
15
+ ```python
16
+ def grade_label(case, output):
17
+ got = (output.get("label") or "").strip().lower()
18
+ want = case["expected"]["label"]
19
+ return {"pass": got == want, "reason": f"got {got!r}, want {want!r}"}
20
+
21
+ from jsonschema import Draft202012Validator # pip package "jsonschema"
22
+
23
+ def grade_schema(case, output, schema):
24
+ errors = list(Draft202012Validator(schema).iter_errors(output))
25
+ return {"pass": not errors, "reason": "; ".join(e.message for e in errors[:3])}
26
+
27
+ def grade_must_include(case, output):
28
+ text = output["text"].lower()
29
+ missing = [w for w in case.get("must_include", []) if w.lower() not in text]
30
+ return {"pass": not missing, "reason": f"missing {missing}"}
31
+ ```
32
+
33
+ Other useful code checks: word or token count within a range, no forbidden phrases, every cited ID exists in the retrieved documents, the expected tool was called with the expected arguments, the agent finished within N steps.
34
+
35
+ ## Judge prompt (one criterion, pass/fail)
36
+
37
+ ```
38
+ You are grading one output from an AI feature against one criterion.
39
+
40
+ <criterion>
41
+ Faithfulness: every factual claim in the answer is supported by the source.
42
+ PASS: all claims are supported, or the answer says the source doesn't cover it.
43
+ FAIL: any claim is missing from or contradicts the source.
44
+ </criterion>
45
+
46
+ <source>{source}</source>
47
+ <question>{input}</question>
48
+ <answer>{output}</answer>
49
+
50
+ First list each factual claim in the answer and whether the source supports it.
51
+ Then give your verdict on the last line exactly as: VERDICT: PASS or VERDICT: FAIL
52
+ ```
53
+
54
+ Parse only the last `VERDICT:` line. Treat a missing or malformed verdict as a grader error, not a pass.
55
+
56
+ ## Pairwise judge
57
+
58
+ Show outputs A and B for the same input with the criterion, ask which is better or "tie". Run each pair twice with A and B swapped; count a win only when both orders agree, otherwise a tie.
59
+
60
+ ## Measuring judge agreement
61
+
62
+ With human labels for the same outputs:
63
+
64
+ - Agreement rate = cases where judge and human agree / cases labelled.
65
+ - For pass/fail labels, also report Cohen's kappa, which corrects for agreement by chance: κ = (p_o − p_e) / (1 − p_e), where p_o is observed agreement and p_e is the agreement expected from each rater's pass rate.
66
+ - Look at the disagreements, not just the number. They usually point to a vague rubric line.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: logistics-exception-management
3
+ description: Shipment exception handling for parcels and freight that are late, damaged, lost, refused or stuck on a bad address, covering triage by exception type, evidence capture, carrier claim deadlines, customer messages, SLA clocks and a root-cause log that shows which lane, carrier or packaging keeps failing. Use when a delivery has gone wrong and someone must decide what to do, when building an exceptions queue or claims tracker, or when setting up rules and templates for delay, damage and loss cases.
4
+ license: MIT
5
+ compatibility: Any Agent Skills host. Works from carrier tracking exports, a ticket or order system, or a spreadsheet tracker; carrier API calls need network access.
6
+ metadata:
7
+ kete-loom/version: "0.1.0"
8
+ kete-loom/category: business
9
+ kete-loom/risk: writes-files
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ # Logistics exception management
14
+
15
+ Turn every failed delivery into one tracked case with an owner, a deadline and a cause. Resolve the customer first, recover money from the carrier second, and fix the pattern third.
16
+
17
+ ## 0. Before you act
18
+
19
+ 1. Identify the shipment: order ID, tracking or waybill number, carrier and service, origin and destination, ship date, declared value, and the Incoterm or shipping terms if B2B.
20
+ 2. Get the latest carrier scan events and the promised delivery date.
21
+ 3. Find the policy that applies: your customer SLA (reship or refund rules), the carrier's contract or tariff, and any insurance.
22
+
23
+ If you cannot tell who bears the risk in transit (seller, buyer or carrier), **stop and ask the user**. That decides who files the claim.
24
+
25
+ ## 1. Triage by exception type
26
+
27
+ | Type | Signals | First action |
28
+ |---|---|---|
29
+ | Delay | No scan for 2+ business days, missed promised date, weather or customs hold | Open a trace with the carrier; tell the customer with a new ETA |
30
+ | Address issue | "Address incomplete", "Recipient moved", return-to-sender pending | Contact the customer to confirm the address; request an address correction from the carrier before it returns |
31
+ | Damage | Customer photos, "damaged" scan, refused delivery | Collect evidence (below); decide reship or refund; keep the goods and packaging |
32
+ | Loss | Tracking stops, carrier confirms not found, or "delivered" but customer says not received | Open a trace; for "delivered not received" check GPS/photo proof of delivery and neighbours before claiming |
33
+ | Customs hold | "Clearance delay", duties unpaid, documents requested | Send the missing document or payment; route classification questions to the customs-trade-compliance skill |
34
+ | Refused / undeliverable | Recipient refused, unpaid COD or duties | Decide: return, abandon or re-deliver, by goods value vs return cost |
35
+
36
+ Set a severity: **P1** high value, perishable, medical or a key account; **P2** standard order past SLA; **P3** informational (delay inside SLA).
37
+
38
+ ## 2. Evidence for damage and loss
39
+
40
+ Collect within the carrier's window, before anything is thrown away:
41
+
42
+ - Photos of the outer box (all sides, labels), inner packaging, and the damaged item with the serial or SKU visible.
43
+ - Weight at dispatch vs weight at delivery if available.
44
+ - Commercial invoice or proof of value, packing list, and proof of delivery (signature, notes, photo).
45
+ - For freight: the delivery receipt or bill of lading with exceptions written on it. A clean signature with no noted damage makes a claim much harder. Train receivers to write the specific damage (for example "3 cartons crushed, 1 wet") before signing; a generic "subject to inspection" note often does not protect the claim.
46
+
47
+ ## 3. Carrier claims
48
+
49
+ 1. Check the carrier's own terms for filing windows and liability limits. They vary by carrier, service and contract; read the current tariff instead of assuming.
50
+ 2. Reference points that are set by law, not the carrier:
51
+ - US interstate motor freight (Carmack Amendment, 49 U.S.C. 14706): carriers may not set a claim filing period shorter than 9 months (standard bill of lading terms count it from delivery, or from when a reasonable time for delivery has passed), nor less than 2 years to sue after a claim is declined.
52
+ - International air cargo (Montreal Convention, Article 31): written complaint within 14 days of receipt for damage and within 21 days of being placed at disposal for delay. Any court action must start within 2 years (Article 35), which is the outer limit for a lost shipment.
53
+ 3. Claim the provable value (invoice cost, or as the contract says) up to the liability limit; declared value or cargo insurance governs anything above it.
54
+ 4. Record claim number, amount, date filed, deadline and status. Chase at fixed intervals.
55
+
56
+ Never miss a filing window to wait for a perfect evidence pack; file on time and add documents later if the carrier allows it.
57
+
58
+ ## 4. Customer communication
59
+
60
+ - First message within your SLA (for example same business day for P1). Say what happened, what you are doing, and when they will next hear from you.
61
+ - Offer the resolution your policy allows: reship now, refund, or wait for trace. Do not make the customer wait for the carrier claim to finish.
62
+ - Never blame the carrier in a way that implies the customer must chase them; the seller owns the relationship.
63
+ - Use templates per exception type; keep the tracking link and case ID in every message.
64
+
65
+ ## 5. SLA clocks
66
+
67
+ Track per case: opened at, first customer response at, carrier trace opened at, resolution offered at, claim filed at, closed at. Report breaches by type and carrier.
68
+
69
+ ## 6. Root-cause log
70
+
71
+ Every closed case gets one primary cause from a fixed list: carrier handling, packaging, address data, warehouse pick/pack, customs documentation, weather/force majeure, customer unavailable, fraud suspected, unknown. Review weekly:
72
+
73
+ - Exception rate by carrier, service, lane and packaging type.
74
+ - Repeated "delivered not received" by address or customer, which may be fraud; send to a person, do not auto-block.
75
+ - Address errors traced to checkout validation.
76
+
77
+ ## Rules
78
+
79
+ - Never promise a refund or reship outside written policy without the user's approval.
80
+ - Never discard damaged goods or packaging before the carrier says the claim does not need an inspection.
81
+ - Never file a claim or contact a carrier on the user's behalf without confirmation.
82
+ - Do not state a carrier's deadline or liability limit you have not read in its current terms.
83
+
84
+ ## Case record and report
85
+
86
+ ```
87
+ case_id | order_id | tracking | carrier/service | type | severity | opened | sla_due | customer_action | claim_no | claim_deadline | claim_amount | status | root_cause
88
+ ```
89
+
90
+ Summary for a review: open cases by type and age, SLA breaches, claims filed vs recovered, and the top three root causes with a proposed fix each.
@@ -0,0 +1,16 @@
1
+ {
2
+ "should_trigger": [
3
+ "Tracking has not updated in five days and the customer is angry, what should we do and say?",
4
+ "Help me put together a damage claim for a pallet that arrived crushed via our LTL carrier",
5
+ "Design a shipment exceptions queue with severities, SLA timers and root-cause codes",
6
+ "The carrier marked the parcel delivered but the customer says it never arrived, how do we handle it?",
7
+ "Write customer email templates for delayed, lost and wrong-address deliveries"
8
+ ],
9
+ "should_not_trigger": [
10
+ "Customers want to send items back, design our returns portal and RMA numbering",
11
+ "Calculate the reorder point for SKU 1043 given a four week lead time",
12
+ "Which Incoterm should we quote to a buyer in Germany so they handle import duties?",
13
+ "Plan the shift schedule for our packing line around the bottleneck machine",
14
+ "Write a postmortem for yesterday's checkout outage"
15
+ ]
16
+ }
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: manim-animations
3
+ description: Manim Community Edition (the manim Python package, not 3b1b manimgl) for math and explainer animations, covering Scene construct methods, Mobjects and VGroups, play with the .animate syntax, Transform versus ReplacementTransform, ValueTracker updaters and always_redraw, MathTex and Tex with a LaTeX install, and render quality flags from -ql drafts to -qk 4K. Use when writing or debugging a Manim scene, animating equations, graphs or geometry in Python, or fixing Manim LaTeX, updater or render-output problems.
4
+ license: MIT
5
+ compatibility: Any Agent Skills host. Needs Python 3 with the manim package; MathTex and Tex also need a LaTeX distribution with dvisvgm.
6
+ metadata:
7
+ kete-loom/version: "0.1.0"
8
+ kete-loom/category: coding
9
+ kete-loom/risk: runs-commands
10
+ kete-loom/requires: "python3, manim"
11
+ kete-loom/owner: "Kete-org"
12
+ ---
13
+
14
+ # Manim animations
15
+
16
+ Manim Community (`pip install manim`, `from manim import *`) builds a video from Python: a `Scene` subclass whose `construct()` adds objects and plays animations. Iterate at low quality, check single frames, and only render high quality at the end.
17
+
18
+ ## 0. Before you start
19
+
20
+ 1. Confirm which Manim: `import manim` and `manim --version` mean Community Edition. Code with `from manimlib import *` or `manimgl` is 3Blue1Brown's version; its API differs (for example `ShowCreation` vs `Create`, `TexText` vs `Tex`). **Don't mix them**; ask the user which one if the repo doesn't say.
21
+ 2. Run `manim checkhealth` once. If equations are planned, check `latex --version` and `dvisvgm --version`. Missing LaTeX is the most common setup failure.
22
+ 3. Write the storyboard as a list of beats (what appears, what changes, how long) before code. Ask the user for the target length and resolution if unknown.
23
+
24
+ ## 1. Scene structure
25
+
26
+ ```python
27
+ from manim import *
28
+
29
+ class PythagorasProof(Scene):
30
+ def construct(self):
31
+ title = Text("a² + b² = c²").to_edge(UP)
32
+ tri = Polygon(ORIGIN, 3 * RIGHT, 3 * RIGHT + 2 * UP, color=BLUE)
33
+ self.play(Write(title))
34
+ self.play(Create(tri), run_time=2)
35
+ self.wait()
36
+ ```
37
+
38
+ - One scene class per beat or section; render sections separately and join them later. Long single scenes are slow to iterate on.
39
+ - Use `MovingCameraScene` to pan or zoom (`self.camera.frame.animate.scale(0.5)`), `ThreeDScene` for 3D (`self.set_camera_orientation(phi=..., theta=...)`).
40
+ - Group with `VGroup(a, b, c)` and lay out with `.arrange(DOWN, buff=0.4)`, `.next_to(obj, RIGHT)`, `.to_edge(UP)`, `.move_to(ORIGIN)`. The frame is about 14.2 by 8 units; keep content inside it.
41
+
42
+ ## 2. Animations
43
+
44
+ - `self.play(Create(x))`, `Write(text)`, `FadeIn(x, shift=UP)`, `FadeOut(x)`, `GrowFromCenter(x)`, `Indicate(x)`, `Circumscribe(x)`.
45
+ - `.animate`: `self.play(square.animate.shift(RIGHT).set_color(RED))` animates the start-to-end difference of the chained calls. It interpolates positions, not paths, so a rotation by `.animate.rotate(PI)` can look like a squash; use `Rotate(square, angle=PI)` instead.
46
+ - Run several animations together by passing them to one `self.play(...)`; stagger with `LaggedStart(*anims, lag_ratio=0.2)` or `AnimationGroup`.
47
+ - Control timing with `run_time=` and `rate_func=` (`smooth` is the default, also `linear`, `there_and_back`, `rush_into`).
48
+
49
+ ### Transform pitfalls
50
+
51
+ - `Transform(a, b)` morphs `a` into `b`'s shape but **`a` stays on screen as the object**; `b` is never added. Later code that animates `b` does nothing visible.
52
+ - `ReplacementTransform(a, b)` removes `a` and adds `b`; use it when the code later refers to `b`.
53
+ - `TransformMatchingTex(eq1, eq2)` (or `TransformMatchingShapes`) for equation steps where terms move to new places.
54
+
55
+ ## 3. Updaters and changing values
56
+
57
+ - A `ValueTracker` holds a number you animate: `t = ValueTracker(0)`, `self.play(t.animate.set_value(5), run_time=3)`.
58
+ - Rebuild an object every frame from the tracker: `dot = always_redraw(lambda: Dot(axes.c2p(t.get_value(), f(t.get_value()))))`.
59
+ - Or attach an updater: `label.add_updater(lambda m: m.next_to(dot, UP))`. Use the `(m, dt)` signature for motion based on elapsed time.
60
+ - Remove updaters (`clear_updaters()`) when done, or they keep running in later animations and slow rendering.
61
+ - Updaters only run while the scene is playing or waiting; a `self.wait()` keeps them going.
62
+
63
+ ## 4. Text and LaTeX
64
+
65
+ - `Text("...")` uses Pango, no LaTeX needed, supports non-Latin scripts and `font=`.
66
+ - `MathTex(r"\int_0^1 x^2\,dx")` is math mode; `Tex(r"Area is $\pi r^2$")` is text mode. Always use raw strings (`r"..."`), or backslashes break.
67
+ - Split an equation into parts to colour or transform them: `MathTex("a^2", "+", "b^2", "=", "c^2")`, then `eq[0].set_color(BLUE)` or `eq.set_color_by_tex("c^2", RED)`.
68
+ - Extra packages: a `TexTemplate` with `add_to_preamble(r"\usepackage{...}")`, passed as `tex_template=`.
69
+ - A LaTeX error prints the `.tex` file path under `media/Tex/`; read its `.log` for the real error.
70
+
71
+ ## 5. Graphs and geometry
72
+
73
+ - `axes = Axes(x_range=[-3, 3, 1], y_range=[-1, 9, 1], axis_config={"include_numbers": True})`, `graph = axes.plot(lambda x: x**2, color=YELLOW)`, `axes.get_area(graph, x_range=[0, 2])`, `axes.c2p(x, y)` to convert coordinates.
74
+ - `NumberPlane()` for grids, `ParametricFunction` for curves, `Arrow`, `Brace(obj, DOWN)` with `.get_text("...")`.
75
+
76
+ ## 6. Rendering
77
+
78
+ `manim [flags] file.py SceneName` (same as `manim render ...`).
79
+
80
+ | Flag | Output |
81
+ |---|---|
82
+ | `-ql` | 854x480, 15 fps: drafts |
83
+ | `-qm` | 1280x720, 30 fps |
84
+ | `-qh` | 1920x1080, 60 fps |
85
+ | `-qp` | 2560x1440, 60 fps |
86
+ | `-qk` | 3840x2160, 60 fps |
87
+
88
+ - `-p` opens the result; `-s` saves only the last frame as PNG (fast layout check); `-n 3,5` renders only a range of `play`/`wait` calls by index; `-a` renders all scenes in the file; `--format=png|gif|mp4|webm|mov` (`png` writes an image sequence); `-t` for a transparent background (`.mov`).
89
+ - Output goes to `media/videos/<file>/<resolution><fps>/SceneName.mp4`, for example `media/videos/proof/480p15/`.
90
+ - Partial-movie caching makes re-renders fast; if output looks stale after changing something outside `construct` (a template, an asset), add `--disable_caching` or delete the `media/` folder.
91
+ - Set defaults per project in `manim.cfg` (`[CLI]` section, for example `quality = low_quality`, `background_color = WHITE`).
92
+
93
+ ## Never
94
+
95
+ - Never render the whole video at `-qh` or `-qk` while still changing it; draft at `-ql` and check frames with `-s`.
96
+ - Never mix ManimGL and Manim Community imports or examples from the other's docs.
97
+ - Never leave updaters attached to objects that are later faded out and re-added; they stack up.
98
+
99
+ ## Stop and ask the user
100
+
101
+ - If LaTeX isn't installed and equations are needed: installing a TeX distribution is large; ask before doing it, and offer `Text` as a fallback for simple formulas.
102
+ - When the maths shown must be correct for teaching (proofs, statistics): show the user the formulas and steps for review before the final render.
103
+
104
+ ## Report back
105
+
106
+ Scenes written, the exact render commands, output file paths and resolution, and a list of beats with their approximate durations.
@@ -0,0 +1,16 @@
1
+ {
2
+ "should_trigger": [
3
+ "Make a Manim scene that plots y = x^2 and shades the area from 0 to 2",
4
+ "My MathTex fails with LaTeX compilation error converting to dvi, what's wrong?",
5
+ "After Transform(a, b) in Manim, animating b does nothing on screen",
6
+ "Animate a dot moving along a sine curve with a ValueTracker and always_redraw",
7
+ "Render my Manim explainer at 1080p60 instead of the low quality draft"
8
+ ],
9
+ "should_not_trigger": [
10
+ "Build an animated intro video in React with spring physics",
11
+ "Plot a matplotlib histogram of the survey results in a Jupyter notebook",
12
+ "Convert the rendered MP4 into an HLS stream for our website",
13
+ "Write a generative p5.js flow field sketch",
14
+ "Create a D3 chart that animates when the data changes"
15
+ ]
16
+ }
@@ -0,0 +1,117 @@
1
+ ---
2
+ name: market-research
3
+ description: Structured market and competitor analysis that sizes a market top-down and bottom-up (TAM, SAM, SOM), builds a competitor feature and pricing matrix, defines customer segments, and attaches a source and a confidence level to every figure. Use when someone needs to judge whether a market is worth entering, size an opportunity, compare competitors, or back a business plan or deck with researched numbers rather than guesses.
4
+ license: MIT
5
+ compatibility: Any Agent Skills host. Web access makes it far more useful; without it, the skill works from sources the user provides and labels everything else as an estimate.
6
+ metadata:
7
+ kete-loom/version: "0.1.0"
8
+ kete-loom/category: business
9
+ kete-loom/risk: network
10
+ kete-loom/owner: "Kete-org"
11
+ ---
12
+
13
+ # Market research
14
+
15
+ Answer a business question with evidence: how big, who competes, who buys, and how sure we are. Every number carries its source and a confidence level.
16
+
17
+ ## 0. Frame the question
18
+
19
+ 1. Write the decision the research supports ("Should we build a pharmacy inventory product for Ghana and Nigeria?"). Research without a decision sprawls.
20
+ 2. Fix the scope: product category, geography, customer type (B2B or B2C, size), time frame and currency.
21
+ 3. Ask what the user already knows: their data, customer interviews, known competitors.
22
+ 4. **Stop and ask** if the market definition is ambiguous ("fintech in Africa" is not a market). Propose two or three narrower definitions and let the user choose.
23
+
24
+ ## 1. Gather sources
25
+
26
+ Prefer, in order:
27
+
28
+ 1. **Primary**: the user's own data, customer interviews, sales conversations, surveys.
29
+ 2. **Official statistics**: national statistics offices, central banks, regulators, World Bank, IMF, UN and industry regulators' published registers (licensed businesses, operators).
30
+ 3. **Company disclosures**: annual reports, regulatory filings, investor presentations, pricing pages.
31
+ 4. **Industry reports and reputable press**: note publisher, date and methodology if stated.
32
+ 5. **Estimates and blogs**: last resort, and always low confidence.
33
+
34
+ For each source record: title, publisher, date, URL or reference, and what figure it supports. Note when a figure is old or from another geography being used as a proxy.
35
+
36
+ ## 2. Size the market
37
+
38
+ Do both methods and compare them.
39
+
40
+ **Top-down**: start from a published total and narrow it.
41
+ `total category spend x share in our geography x share in our segment`.
42
+
43
+ **Bottom-up** (the more credible one): count the customers and multiply by what they would pay.
44
+ `number of target customers x share reachable x annual price = SAM`; then `SOM = SAM x realistic share in 3-5 years`, based on channel capacity and competitor shares, not a round percentage.
45
+
46
+ Definitions:
47
+
48
+ - **TAM**: total demand for the category if every possible customer bought.
49
+ - **SAM**: the part your product and channels can serve (geography, segment, price point).
50
+ - **SOM**: the part you can realistically win in the stated period.
51
+
52
+ Show every step of the arithmetic with its input and source. If the two methods differ by more than about 3x, explain why or say which you trust and why.
53
+
54
+ ## 3. Competitor matrix
55
+
56
+ 1. List competitors in three groups: direct (same job, same customer), indirect (different product, same job), and substitutes (spreadsheets, manual process, doing nothing).
57
+ 2. For the main 4-8, fill a matrix:
58
+
59
+ | Competitor | Target customer | Core offer | Pricing (source, date) | Channels | Strengths | Weaknesses | Evidence of traction |
60
+ |---|---|---|---|---|---|---|---|
61
+
62
+ 3. Pick the two or three dimensions that customers actually choose on and place competitors on them. Say where the gap is, and whether a gap reflects an opportunity or a lack of demand.
63
+ 4. Pricing and features come from the competitor's own pages or documents when possible; date them, as they change.
64
+
65
+ ## 4. Customer segments
66
+
67
+ For each segment (two to four):
68
+
69
+ - Who: firmographics (industry, size) or demographics, and geography.
70
+ - Job to be done and trigger for buying.
71
+ - Current solution and its pain.
72
+ - Willingness and ability to pay; who decides and who pays.
73
+ - Size (count) and how you reached it.
74
+ - How to reach them (channels).
75
+
76
+ Recommend which segment to start with and why (pain, reachability, ability to pay).
77
+
78
+ ## 5. Confidence levels
79
+
80
+ Tag every figure and conclusion:
81
+
82
+ - **High**: primary data or an official or audited source, recent, same geography and definition.
83
+ - **Medium**: reputable secondary source with stated methodology, or a close proxy.
84
+ - **Low**: estimate, old data, a different geography, or a source with no method.
85
+
86
+ The overall conclusion can be no more confident than the inputs it rests on most.
87
+
88
+ ## Rules
89
+
90
+ - Never invent a statistic, a source, a competitor's revenue or a quote. If you cannot find it, say "not found" and estimate openly with the assumptions shown.
91
+ - Never present a paid-report headline figure without its date and publisher.
92
+ - Keep facts, estimates and opinions visibly separate.
93
+ - Respect site terms; do not scrape behind logins or paywalls.
94
+
95
+ ## Report format
96
+
97
+ ```
98
+ # Market research: <question>
99
+ Decision supported: <...> Scope: <category, geography, customer, period, currency>
100
+
101
+ ## Answer in brief
102
+ <3-5 lines with the headline numbers and confidence>
103
+
104
+ ## Market size
105
+ | Measure | Value | Method | Key inputs | Confidence |
106
+ <arithmetic for top-down and bottom-up>
107
+
108
+ ## Competitors
109
+ <matrix> <positioning and gaps>
110
+
111
+ ## Customer segments
112
+ <table> <recommended starting segment>
113
+
114
+ ## Risks and unknowns
115
+ ## Sources
116
+ | # | Source | Publisher | Date | Used for |
117
+ ```
@@ -0,0 +1,16 @@
1
+ {
2
+ "should_trigger": [
3
+ "How big is the market for school fee payment software in Ghana? Give me TAM, SAM and SOM.",
4
+ "Build a competitor matrix for invoicing tools aimed at freelancers, with pricing and positioning",
5
+ "Is there a real market for a B2B logistics app for informal traders in Lagos? Research it with sources.",
6
+ "Who are the customer segments for a telehealth subscription in East Africa and which should we start with?",
7
+ "Compare the main players in the African payroll software space and tell me how confident you are in the numbers"
8
+ ],
9
+ "should_not_trigger": [
10
+ "Outline a 12-slide pitch deck for our seed raise",
11
+ "Plan the channels, calendar and budget for our app launch campaign next month",
12
+ "Our pages dropped out of Google's index, audit the site",
13
+ "Research the best Python library for parsing PDFs before I write my own",
14
+ "Write an article explaining why mobile money took off in Kenya"
15
+ ]
16
+ }