@dsalazardev/ai-hub-cli 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 (1296) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +34 -0
  3. package/README.md +64 -2
  4. package/agents/cpp-build-resolver.md +25 -0
  5. package/agents/cpp-reviewer.md +28 -0
  6. package/agents/csharp-reviewer.md +28 -0
  7. package/agents/django-build-resolver.md +25 -0
  8. package/agents/django-reviewer.md +28 -0
  9. package/agents/explorer-domain.md +28 -0
  10. package/agents/fastapi-reviewer.md +28 -0
  11. package/agents/flutter-build-resolver.md +25 -0
  12. package/agents/flutter-reviewer.md +28 -0
  13. package/agents/go-build-resolver.md +25 -0
  14. package/agents/go-reviewer.md +28 -0
  15. package/agents/implementer-backend.md +30 -0
  16. package/agents/implementer-frontend.md +30 -0
  17. package/agents/java-build-resolver.md +26 -0
  18. package/agents/java-reviewer.md +29 -0
  19. package/agents/kotlin-build-resolver.md +25 -0
  20. package/agents/kotlin-reviewer.md +28 -0
  21. package/agents/mle-reviewer.md +28 -0
  22. package/agents/php-reviewer.md +29 -0
  23. package/agents/postgres-reviewer.md +28 -0
  24. package/agents/python-reviewer.md +28 -0
  25. package/agents/pytorch-build-resolver.md +25 -0
  26. package/agents/rag-reviewer.md +28 -0
  27. package/agents/react-build-resolver.md +26 -0
  28. package/agents/react-reviewer.md +29 -0
  29. package/agents/reviewer-architecture.md +32 -0
  30. package/agents/reviewer-tests.md +31 -0
  31. package/agents/rust-build-resolver.md +25 -0
  32. package/agents/rust-reviewer.md +28 -0
  33. package/agents/spec-author.md +36 -0
  34. package/agents/spec-miner.md +14 -0
  35. package/agents/swift-build-resolver.md +25 -0
  36. package/agents/swift-reviewer.md +28 -0
  37. package/agents/typescript-reviewer.md +28 -0
  38. package/agents/vue-reviewer.md +28 -0
  39. package/dist/backup/snapshots.d.ts +24 -0
  40. package/dist/backup/snapshots.js +171 -0
  41. package/dist/bin/ai-hub.d.ts +2 -0
  42. package/dist/bin/ai-hub.js +11 -0
  43. package/dist/catalog.d.ts +76 -0
  44. package/dist/catalog.js +321 -0
  45. package/dist/cli/args.d.ts +4 -0
  46. package/dist/cli/args.js +63 -0
  47. package/dist/cli/context.d.ts +7 -0
  48. package/dist/cli/context.js +79 -0
  49. package/dist/cli/doctor.d.ts +14 -0
  50. package/dist/cli/doctor.js +282 -0
  51. package/dist/cli/drift.d.ts +2 -0
  52. package/dist/cli/drift.js +34 -0
  53. package/dist/cli/items.d.ts +5 -0
  54. package/dist/cli/items.js +10 -0
  55. package/dist/cli/legacy.d.ts +3 -0
  56. package/dist/cli/legacy.js +18 -0
  57. package/dist/cli/maintenance.d.ts +8 -0
  58. package/dist/cli/maintenance.js +334 -0
  59. package/dist/cli/memory.d.ts +2 -0
  60. package/dist/cli/memory.js +89 -0
  61. package/dist/cli/onboarding.d.ts +36 -0
  62. package/dist/cli/onboarding.js +516 -0
  63. package/dist/cli/run.d.ts +15 -0
  64. package/dist/cli/run.js +185 -0
  65. package/dist/cli/source.d.ts +5 -0
  66. package/dist/cli/source.js +22 -0
  67. package/dist/cli/trunk.d.ts +8 -0
  68. package/dist/cli/trunk.js +54 -0
  69. package/dist/cli/types.d.ts +17 -0
  70. package/dist/cli/types.js +4 -0
  71. package/dist/cli/worktrees.d.ts +11 -0
  72. package/dist/cli/worktrees.js +141 -0
  73. package/dist/concurrency.d.ts +5 -0
  74. package/dist/concurrency.js +23 -0
  75. package/dist/engine/engine.d.ts +48 -0
  76. package/dist/engine/engine.js +114 -0
  77. package/dist/engine/gates.d.ts +2 -0
  78. package/dist/engine/gates.js +131 -0
  79. package/dist/frontmatter.d.ts +11 -0
  80. package/dist/frontmatter.js +30 -0
  81. package/dist/harness/guards/adapters/context.d.ts +19 -0
  82. package/dist/harness/guards/adapters/context.js +153 -0
  83. package/dist/harness/guards/adapters/hermes.d.ts +13 -0
  84. package/dist/harness/guards/adapters/hermes.js +18 -0
  85. package/dist/harness/guards/adapters/hooks.d.ts +25 -0
  86. package/dist/harness/guards/adapters/hooks.js +52 -0
  87. package/dist/harness/guards/branch.d.ts +5 -0
  88. package/dist/harness/guards/branch.js +43 -0
  89. package/dist/harness/guards/danger.d.ts +13 -0
  90. package/dist/harness/guards/danger.js +157 -0
  91. package/dist/harness/guards/index.d.ts +6 -0
  92. package/dist/harness/guards/index.js +6 -0
  93. package/dist/harness/guards/preflight.d.ts +14 -0
  94. package/dist/harness/guards/preflight.js +37 -0
  95. package/dist/harness/guards/ship.d.ts +2 -0
  96. package/dist/harness/guards/ship.js +35 -0
  97. package/dist/harness/guards/trunk.d.ts +5 -0
  98. package/dist/harness/guards/trunk.js +41 -0
  99. package/dist/harness/guards/types.d.ts +50 -0
  100. package/dist/harness/guards/types.js +1 -0
  101. package/dist/harness/memory/ledger.d.ts +53 -0
  102. package/dist/harness/memory/ledger.js +136 -0
  103. package/dist/harness/memory/state.d.ts +35 -0
  104. package/dist/harness/memory/state.js +121 -0
  105. package/dist/harness/worktree/reaper.d.ts +32 -0
  106. package/dist/harness/worktree/reaper.js +54 -0
  107. package/dist/manifest/build.d.ts +1 -0
  108. package/dist/manifest/build.js +1 -0
  109. package/dist/manifest/cli.d.ts +2 -0
  110. package/dist/manifest/cli.js +44 -0
  111. package/dist/manifest/dispatch.d.ts +13 -0
  112. package/dist/manifest/dispatch.js +36 -0
  113. package/dist/manifest/labels.d.ts +15 -0
  114. package/dist/manifest/labels.js +70 -0
  115. package/dist/manifest/manifest.d.ts +130 -0
  116. package/dist/manifest/manifest.js +220 -0
  117. package/dist/package-info.d.ts +4 -0
  118. package/dist/package-info.js +7 -0
  119. package/dist/paths.d.ts +33 -0
  120. package/dist/paths.js +123 -0
  121. package/dist/presets/detect.d.ts +24 -0
  122. package/dist/presets/detect.js +116 -0
  123. package/dist/presets/materialize.d.ts +26 -0
  124. package/dist/presets/materialize.js +192 -0
  125. package/dist/presets/resolve.d.ts +37 -0
  126. package/dist/presets/resolve.js +83 -0
  127. package/dist/presets/schema.d.ts +57 -0
  128. package/dist/presets/schema.js +68 -0
  129. package/dist/source-checkout.d.ts +8 -0
  130. package/dist/source-checkout.js +19 -0
  131. package/dist/sync/config.d.ts +47 -0
  132. package/dist/sync/config.js +85 -0
  133. package/dist/sync/lock.d.ts +16 -0
  134. package/dist/sync/lock.js +43 -0
  135. package/dist/sync/render.d.ts +18 -0
  136. package/dist/sync/render.js +259 -0
  137. package/dist/sync/sync.d.ts +38 -0
  138. package/dist/sync/sync.js +288 -0
  139. package/dist/sync/targets.d.ts +24 -0
  140. package/dist/sync/targets.js +78 -0
  141. package/engine/coupling.json +4 -0
  142. package/engine/engine.yaml +250 -0
  143. package/engine/legacy-paths.json +4 -0
  144. package/engine/preflight.md +11 -0
  145. package/manifest.json +402 -0
  146. package/package.json +62 -4
  147. package/presets/angular-express/harness/rules/01-zero-any.sh +25 -0
  148. package/presets/angular-express/harness/rules/02-no-ng-module.sh +21 -0
  149. package/presets/angular-express/harness/rules/03-no-constructor-injection.sh +21 -0
  150. package/presets/angular-express/harness/rules/04-no-legacy-directives.sh +21 -0
  151. package/presets/angular-express/harness/rules/05-no-dolibarrdal-inheritance.sh +25 -0
  152. package/presets/angular-express/harness/rules/06-no-todos.sh +22 -0
  153. package/presets/angular-express/harness/run-all.sh +13 -0
  154. package/presets/angular-express/preset.yaml +53 -0
  155. package/presets/angular-express/references/common-imports-catalog.md +146 -0
  156. package/presets/angular-express/references/fichajes-migration-notes.md +57 -0
  157. package/presets/angular-express/references/module-implementation-flow.md +260 -0
  158. package/presets/angular-express/references/products-coding-standard.md +143 -0
  159. package/presets/angular-express/references/products-module-blueprint.md +860 -0
  160. package/presets/angular-express/references/replicate-module-checklist.md +72 -0
  161. package/presets/angular-express/references/users-migration-notes.md +172 -0
  162. package/presets/angular-express/rules/architecture.md +8 -0
  163. package/presets/angular-express/rules/backend.md +4 -0
  164. package/presets/angular-express/rules/frontend.md +53 -0
  165. package/presets/angular-express/skills/angular-developer/SKILL.md +130 -0
  166. package/presets/angular-express/skills/angular-developer/references/angular-animations.md +160 -0
  167. package/presets/angular-express/skills/angular-developer/references/angular-aria.md +410 -0
  168. package/presets/angular-express/skills/angular-developer/references/cli.md +86 -0
  169. package/presets/angular-express/skills/angular-developer/references/component-harnesses.md +59 -0
  170. package/presets/angular-express/skills/angular-developer/references/component-styling.md +91 -0
  171. package/presets/angular-express/skills/angular-developer/references/components.md +117 -0
  172. package/presets/angular-express/skills/angular-developer/references/creating-services.md +97 -0
  173. package/presets/angular-express/skills/angular-developer/references/data-resolvers.md +69 -0
  174. package/presets/angular-express/skills/angular-developer/references/define-routes.md +67 -0
  175. package/presets/angular-express/skills/angular-developer/references/defining-providers.md +72 -0
  176. package/presets/angular-express/skills/angular-developer/references/di-fundamentals.md +120 -0
  177. package/presets/angular-express/skills/angular-developer/references/e2e-testing.md +66 -0
  178. package/presets/angular-express/skills/angular-developer/references/effects.md +83 -0
  179. package/presets/angular-express/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  180. package/presets/angular-express/skills/angular-developer/references/host-elements.md +80 -0
  181. package/presets/angular-express/skills/angular-developer/references/injection-context.md +63 -0
  182. package/presets/angular-express/skills/angular-developer/references/inputs.md +101 -0
  183. package/presets/angular-express/skills/angular-developer/references/linked-signal.md +59 -0
  184. package/presets/angular-express/skills/angular-developer/references/loading-strategies.md +61 -0
  185. package/presets/angular-express/skills/angular-developer/references/mcp.md +106 -0
  186. package/presets/angular-express/skills/angular-developer/references/migrations.md +30 -0
  187. package/presets/angular-express/skills/angular-developer/references/navigate-to-routes.md +69 -0
  188. package/presets/angular-express/skills/angular-developer/references/outputs.md +86 -0
  189. package/presets/angular-express/skills/angular-developer/references/reactive-forms.md +122 -0
  190. package/presets/angular-express/skills/angular-developer/references/rendering-strategies.md +44 -0
  191. package/presets/angular-express/skills/angular-developer/references/resource.md +74 -0
  192. package/presets/angular-express/skills/angular-developer/references/route-animations.md +56 -0
  193. package/presets/angular-express/skills/angular-developer/references/route-guards.md +52 -0
  194. package/presets/angular-express/skills/angular-developer/references/router-lifecycle.md +45 -0
  195. package/presets/angular-express/skills/angular-developer/references/router-testing.md +87 -0
  196. package/presets/angular-express/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  197. package/presets/angular-express/skills/angular-developer/references/signal-forms.md +897 -0
  198. package/presets/angular-express/skills/angular-developer/references/signals-overview.md +94 -0
  199. package/presets/angular-express/skills/angular-developer/references/tailwind-css.md +69 -0
  200. package/presets/angular-express/skills/angular-developer/references/template-driven-forms.md +114 -0
  201. package/presets/angular-express/skills/angular-developer/references/testing-fundamentals.md +66 -0
  202. package/presets/angular-express/skills/angular-new-app/SKILL.md +62 -0
  203. package/presets/angular-express/skills/frontend-design/LICENSE.txt +177 -0
  204. package/presets/angular-express/skills/frontend-design/SKILL.md +55 -0
  205. package/presets/angular-express/skills/onna-architecture-angular/SKILL.md +229 -0
  206. package/presets/angular-express/skills/onna-architecture-bff/SKILL.md +446 -0
  207. package/presets/angular-express/skills/onna-architecture-common/SKILL.md +313 -0
  208. package/presets/angular-express/skills/onna-design-system/SKILL.md +615 -0
  209. package/presets/base/preset.yaml +25 -0
  210. package/presets/base/rules/core.md +35 -0
  211. package/presets/generic-ts/preset.yaml +44 -0
  212. package/presets/python/preset.yaml +45 -0
  213. package/presets/python/rules/python.md +10 -0
  214. package/rules/skill-quality/skill-behavior-rubric.md +63 -0
  215. package/rules/skill-quality/skill-harden-rubric.md +102 -0
  216. package/rules/skill-quality/skill-migration-brief.md +200 -0
  217. package/rules/skill-quality/skill-rubric.md +40 -0
  218. package/schema/engine.schema.json +73 -0
  219. package/schema/manifest.schema.json +152 -0
  220. package/schema/preset.schema.json +98 -0
  221. package/schema/state.schema.json +27 -0
  222. package/skills/shared/ab-testing/SKILL.md +159 -0
  223. package/skills/shared/ab-testing/evals/README.md +8 -0
  224. package/skills/shared/ab-testing/evals/cases.yaml +49 -0
  225. package/skills/shared/ab-testing/references/pitfalls.md +74 -0
  226. package/skills/shared/ab-testing/references/sample-size-and-cuped.md +128 -0
  227. package/skills/shared/ab-testing/scripts/verify.sh +89 -0
  228. package/skills/shared/accessibility/SKILL.md +216 -0
  229. package/skills/shared/accessibility/evals/README.md +3 -0
  230. package/skills/shared/accessibility/evals/cases.yaml +47 -0
  231. package/skills/shared/accessibility/references/aria-patterns.md +113 -0
  232. package/skills/shared/accessibility/references/wcag22-checklist.md +83 -0
  233. package/skills/shared/accessibility/scripts/verify.sh +103 -0
  234. package/skills/shared/agent-eval/SKILL.md +187 -0
  235. package/skills/shared/agent-eval/evals/README.md +12 -0
  236. package/skills/shared/agent-eval/evals/cases.yaml +45 -0
  237. package/skills/shared/agent-eval/references/judge-design.md +118 -0
  238. package/skills/shared/agent-eval/references/runner-and-gate.md +183 -0
  239. package/skills/shared/agent-eval/scripts/verify.sh +161 -0
  240. package/skills/shared/agent-safety/SKILL.md +169 -0
  241. package/skills/shared/agent-safety/evals/README.md +12 -0
  242. package/skills/shared/agent-safety/evals/cases.yaml +46 -0
  243. package/skills/shared/agent-safety/references/threat-model.md +51 -0
  244. package/skills/shared/analyze/SKILL.md +123 -0
  245. package/skills/shared/analyze/evals/README.md +72 -0
  246. package/skills/shared/analyze/evals/cases.yaml +74 -0
  247. package/skills/shared/angular/SKILL.md +275 -0
  248. package/skills/shared/angular/evals/README.md +3 -0
  249. package/skills/shared/angular/evals/cases.yaml +38 -0
  250. package/skills/shared/angular/references/migration.md +81 -0
  251. package/skills/shared/angular/references/signals-rxjs.md +92 -0
  252. package/skills/shared/angular/scripts/verify.sh +122 -0
  253. package/skills/shared/api-connector-builder/SKILL.md +268 -0
  254. package/skills/shared/api-connector-builder/evals/README.md +11 -0
  255. package/skills/shared/api-connector-builder/evals/cases.yaml +47 -0
  256. package/skills/shared/api-connector-builder/references/auth-flows.md +132 -0
  257. package/skills/shared/api-connector-builder/references/pagination.md +144 -0
  258. package/skills/shared/api-connector-builder/scripts/verify.sh +172 -0
  259. package/skills/shared/api-design/SKILL.md +182 -0
  260. package/skills/shared/api-design/evals/README.md +3 -0
  261. package/skills/shared/api-design/evals/cases.yaml +45 -0
  262. package/skills/shared/api-design/references/graphql-design.md +70 -0
  263. package/skills/shared/api-design/references/openapi-contract.md +86 -0
  264. package/skills/shared/api-design/references/rest-conventions.md +63 -0
  265. package/skills/shared/api-design/references/versioning-and-evolution.md +49 -0
  266. package/skills/shared/api-design/scripts/verify.sh +138 -0
  267. package/skills/shared/astro/SKILL.md +257 -0
  268. package/skills/shared/astro/evals/README.md +3 -0
  269. package/skills/shared/astro/evals/cases.yaml +41 -0
  270. package/skills/shared/astro/references/content-layer.md +118 -0
  271. package/skills/shared/astro/references/deploy-and-integrations.md +163 -0
  272. package/skills/shared/astro/scripts/verify.sh +137 -0
  273. package/skills/shared/author-skill/SKILL.md +194 -0
  274. package/skills/shared/author-skill/evals/README.md +66 -0
  275. package/skills/shared/author-skill/evals/cases.yaml +75 -0
  276. package/skills/shared/author-skill/references/description-recipe.md +85 -0
  277. package/skills/shared/author-skill/references/eval-authoring.md +108 -0
  278. package/skills/shared/author-skill/references/skill-conventions.md +95 -0
  279. package/skills/shared/automation-flows/SKILL.md +122 -0
  280. package/skills/shared/automation-flows/evals/README.md +5 -0
  281. package/skills/shared/automation-flows/evals/cases.yaml +44 -0
  282. package/skills/shared/automation-flows/references/error-handling.md +58 -0
  283. package/skills/shared/automation-flows/references/n8n-workflow-json.md +63 -0
  284. package/skills/shared/automation-flows/scripts/verify.sh +78 -0
  285. package/skills/shared/aws-essentials/SKILL.md +206 -0
  286. package/skills/shared/aws-essentials/evals/README.md +10 -0
  287. package/skills/shared/aws-essentials/evals/cases.yaml +44 -0
  288. package/skills/shared/aws-essentials/references/iam-least-privilege.md +134 -0
  289. package/skills/shared/aws-essentials/references/rds-cloudfront-recipes.md +127 -0
  290. package/skills/shared/aws-essentials/scripts/verify.sh +99 -0
  291. package/skills/shared/backups/SKILL.md +131 -0
  292. package/skills/shared/backups/evals/README.md +3 -0
  293. package/skills/shared/backups/evals/cases.yaml +42 -0
  294. package/skills/shared/backups/references/engine-recipes.md +121 -0
  295. package/skills/shared/backups/references/restore-runbook.md +65 -0
  296. package/skills/shared/backups/scripts/verify.sh +80 -0
  297. package/skills/shared/bash-scripting/SKILL.md +227 -0
  298. package/skills/shared/bash-scripting/evals/README.md +3 -0
  299. package/skills/shared/bash-scripting/evals/cases.yaml +45 -0
  300. package/skills/shared/bash-scripting/references/portability.md +97 -0
  301. package/skills/shared/bash-scripting/scripts/verify.sh +140 -0
  302. package/skills/shared/building-agents/SKILL.md +386 -0
  303. package/skills/shared/building-agents/evals/README.md +68 -0
  304. package/skills/shared/building-agents/evals/cases.yaml +60 -0
  305. package/skills/shared/building-agents/references/agent-loops-and-harness.md +371 -0
  306. package/skills/shared/building-agents/references/evals-and-observability.md +420 -0
  307. package/skills/shared/building-agents/references/mcp-servers.md +294 -0
  308. package/skills/shared/building-agents/references/provider-abstraction.md +489 -0
  309. package/skills/shared/building-agents/references/tools-and-rag.md +417 -0
  310. package/skills/shared/building-agents/scripts/verify.sh +121 -0
  311. package/skills/shared/chatbot/SKILL.md +151 -0
  312. package/skills/shared/chatbot/evals/README.md +13 -0
  313. package/skills/shared/chatbot/evals/cases.yaml +43 -0
  314. package/skills/shared/chatbot/references/handoff-and-sales.md +71 -0
  315. package/skills/shared/chatbot/references/system-prompt-and-guardrails.md +78 -0
  316. package/skills/shared/chatbot/scripts/verify.sh +162 -0
  317. package/skills/shared/chrome-extension/SKILL.md +169 -0
  318. package/skills/shared/chrome-extension/evals/README.md +12 -0
  319. package/skills/shared/chrome-extension/evals/cases.yaml +40 -0
  320. package/skills/shared/chrome-extension/references/store-and-migration.md +84 -0
  321. package/skills/shared/chrome-extension/scripts/verify.sh +62 -0
  322. package/skills/shared/clarify/SKILL.md +161 -0
  323. package/skills/shared/clarify/evals/README.md +70 -0
  324. package/skills/shared/clarify/evals/cases.yaml +71 -0
  325. package/skills/shared/clickhouse-analytics/SKILL.md +159 -0
  326. package/skills/shared/clickhouse-analytics/evals/README.md +3 -0
  327. package/skills/shared/clickhouse-analytics/evals/cases.yaml +45 -0
  328. package/skills/shared/clickhouse-analytics/references/ingestion-and-mvs.md +109 -0
  329. package/skills/shared/clickhouse-analytics/references/query-optimization.md +76 -0
  330. package/skills/shared/clickhouse-analytics/references/schema-and-engines.md +63 -0
  331. package/skills/shared/clickhouse-analytics/scripts/verify.sh +109 -0
  332. package/skills/shared/cloudflare/SKILL.md +186 -0
  333. package/skills/shared/cloudflare/evals/README.md +15 -0
  334. package/skills/shared/cloudflare/evals/cases.yaml +46 -0
  335. package/skills/shared/cloudflare/references/storage-primitives.md +104 -0
  336. package/skills/shared/cloudflare/references/wrangler-config.md +91 -0
  337. package/skills/shared/cloudflare/scripts/verify.sh +133 -0
  338. package/skills/shared/code-review/SKILL.md +132 -0
  339. package/skills/shared/code-review/evals/README.md +3 -0
  340. package/skills/shared/code-review/evals/cases.yaml +55 -0
  341. package/skills/shared/code-review/references/pr-workflow.md +67 -0
  342. package/skills/shared/codebase-onboarding/SKILL.md +128 -0
  343. package/skills/shared/codebase-onboarding/evals/README.md +3 -0
  344. package/skills/shared/codebase-onboarding/evals/cases.yaml +69 -0
  345. package/skills/shared/codebase-onboarding/references/recon-playbook.md +57 -0
  346. package/skills/shared/codebase-onboarding/scripts/verify.sh +54 -0
  347. package/skills/shared/compose-multiplatform/SKILL.md +198 -0
  348. package/skills/shared/compose-multiplatform/evals/README.md +3 -0
  349. package/skills/shared/compose-multiplatform/evals/cases.yaml +40 -0
  350. package/skills/shared/compose-multiplatform/references/ios-interop.md +91 -0
  351. package/skills/shared/compose-multiplatform/references/project-setup.md +96 -0
  352. package/skills/shared/compose-multiplatform/scripts/verify.sh +123 -0
  353. package/skills/shared/connect-tool/SKILL.md +163 -0
  354. package/skills/shared/connect-tool/evals/cases.yaml +58 -0
  355. package/skills/shared/constitution/SKILL.md +158 -0
  356. package/skills/shared/constitution/evals/README.md +68 -0
  357. package/skills/shared/constitution/evals/cases.yaml +72 -0
  358. package/skills/shared/constitution/references/constitution-template.md +100 -0
  359. package/skills/shared/context-budget/SKILL.md +114 -0
  360. package/skills/shared/context-budget/evals/README.md +11 -0
  361. package/skills/shared/context-budget/evals/cases.yaml +40 -0
  362. package/skills/shared/context-budget/references/handoff-and-compaction.md +96 -0
  363. package/skills/shared/continuous-learning/SKILL.md +106 -0
  364. package/skills/shared/continuous-learning/evals/README.md +16 -0
  365. package/skills/shared/continuous-learning/evals/cases.yaml +39 -0
  366. package/skills/shared/continuous-learning/references/lesson-routing.md +106 -0
  367. package/skills/shared/coolify/SKILL.md +194 -0
  368. package/skills/shared/coolify/evals/README.md +21 -0
  369. package/skills/shared/coolify/evals/cases.yaml +46 -0
  370. package/skills/shared/coolify/references/databases-and-backups.md +99 -0
  371. package/skills/shared/coolify/references/deploy-recipes.md +105 -0
  372. package/skills/shared/coolify/references/install-and-proxy.md +80 -0
  373. package/skills/shared/coolify/scripts/verify.sh +123 -0
  374. package/skills/shared/cost-tracking/SKILL.md +176 -0
  375. package/skills/shared/cost-tracking/evals/README.md +3 -0
  376. package/skills/shared/cost-tracking/evals/cases.yaml +45 -0
  377. package/skills/shared/cost-tracking/references/cloud-caps.md +52 -0
  378. package/skills/shared/cost-tracking/references/pricing-tables.md +51 -0
  379. package/skills/shared/cost-tracking/scripts/verify.sh +135 -0
  380. package/skills/shared/cpp/SKILL.md +302 -0
  381. package/skills/shared/cpp/evals/README.md +14 -0
  382. package/skills/shared/cpp/evals/cases.yaml +44 -0
  383. package/skills/shared/cpp/references/cmake.md +167 -0
  384. package/skills/shared/cpp/references/move-and-templates.md +130 -0
  385. package/skills/shared/cpp/references/undefined-behavior.md +86 -0
  386. package/skills/shared/cpp/scripts/verify.sh +165 -0
  387. package/skills/shared/csharp-dotnet/SKILL.md +272 -0
  388. package/skills/shared/csharp-dotnet/evals/README.md +3 -0
  389. package/skills/shared/csharp-dotnet/evals/cases.yaml +48 -0
  390. package/skills/shared/csharp-dotnet/references/aspnetcore.md +99 -0
  391. package/skills/shared/csharp-dotnet/references/async.md +82 -0
  392. package/skills/shared/csharp-dotnet/references/efcore.md +96 -0
  393. package/skills/shared/csharp-dotnet/scripts/verify.sh +90 -0
  394. package/skills/shared/data-cleaning/SKILL.md +259 -0
  395. package/skills/shared/data-cleaning/evals/README.md +16 -0
  396. package/skills/shared/data-cleaning/evals/cases.yaml +57 -0
  397. package/skills/shared/data-cleaning/references/normalization-recipes.md +136 -0
  398. package/skills/shared/data-cleaning/references/validation-patterns.md +134 -0
  399. package/skills/shared/data-cleaning/scripts/verify.sh +115 -0
  400. package/skills/shared/data-scraper/SKILL.md +130 -0
  401. package/skills/shared/data-scraper/evals/README.md +3 -0
  402. package/skills/shared/data-scraper/evals/cases.yaml +46 -0
  403. package/skills/shared/data-scraper/references/anti-bot.md +85 -0
  404. package/skills/shared/data-scraper/references/frameworks.md +116 -0
  405. package/skills/shared/data-scraper/references/legal-compliance.md +64 -0
  406. package/skills/shared/data-scraper/scripts/verify.sh +166 -0
  407. package/skills/shared/db-migrations/SKILL.md +237 -0
  408. package/skills/shared/db-migrations/evals/README.md +10 -0
  409. package/skills/shared/db-migrations/evals/cases.yaml +46 -0
  410. package/skills/shared/db-migrations/references/backfill-and-batching.md +105 -0
  411. package/skills/shared/db-migrations/references/expand-contract-playbook.md +152 -0
  412. package/skills/shared/db-migrations/references/tools-and-runners.md +88 -0
  413. package/skills/shared/db-migrations/scripts/verify.sh +112 -0
  414. package/skills/shared/debug/SKILL.md +188 -0
  415. package/skills/shared/debug/evals/README.md +88 -0
  416. package/skills/shared/debug/evals/cases.yaml +74 -0
  417. package/skills/shared/decision-challenge/SKILL.md +113 -0
  418. package/skills/shared/decision-challenge/evals/README.md +3 -0
  419. package/skills/shared/decision-challenge/evals/cases.yaml +42 -0
  420. package/skills/shared/decision-records/SKILL.md +202 -0
  421. package/skills/shared/decision-records/evals/README.md +3 -0
  422. package/skills/shared/decision-records/evals/cases.yaml +43 -0
  423. package/skills/shared/decision-records/references/templates.md +252 -0
  424. package/skills/shared/decision-records/scripts/verify.sh +105 -0
  425. package/skills/shared/deep-learning/SKILL.md +226 -0
  426. package/skills/shared/deep-learning/evals/README.md +11 -0
  427. package/skills/shared/deep-learning/evals/cases.yaml +48 -0
  428. package/skills/shared/deep-learning/references/distributed.md +105 -0
  429. package/skills/shared/deep-learning/references/training-recipes.md +135 -0
  430. package/skills/shared/deployment/SKILL.md +374 -0
  431. package/skills/shared/deployment/evals/README.md +50 -0
  432. package/skills/shared/deployment/evals/cases.yaml +53 -0
  433. package/skills/shared/deployment/references/coolify.md +216 -0
  434. package/skills/shared/deployment/references/dockerfiles-by-stack.md +319 -0
  435. package/skills/shared/deployment/references/github-actions.md +295 -0
  436. package/skills/shared/deployment/references/hosting-targets.md +272 -0
  437. package/skills/shared/deployment/scripts/verify.sh +134 -0
  438. package/skills/shared/deprecation/SKILL.md +123 -0
  439. package/skills/shared/deprecation/evals/README.md +3 -0
  440. package/skills/shared/deprecation/evals/cases.yaml +42 -0
  441. package/skills/shared/design/IMPECCABLE-LICENSE.txt +191 -0
  442. package/skills/shared/design/SKILL.md +111 -0
  443. package/skills/shared/design/THIRD_PARTY.md +26 -0
  444. package/skills/shared/design/engine/LICENSE +21 -0
  445. package/skills/shared/design/engine/RUN.md +515 -0
  446. package/skills/shared/design/engine/UPSTREAM.json +4 -0
  447. package/skills/shared/design/engine/assets/app.css +216 -0
  448. package/skills/shared/design/engine/assets/base.css +105 -0
  449. package/skills/shared/design/engine/assets/base.js +37 -0
  450. package/skills/shared/design/engine/assets/charts.js +617 -0
  451. package/skills/shared/design/engine/assets/scenes/stage.css +28 -0
  452. package/skills/shared/design/engine/assets/scenes/stage.js +133 -0
  453. package/skills/shared/design/engine/library/app.json +1327 -0
  454. package/skills/shared/design/engine/library/directions.json +1078 -0
  455. package/skills/shared/design/engine/library/heroes.json +1086 -0
  456. package/skills/shared/design/engine/library/motions.json +92 -0
  457. package/skills/shared/design/engine/library/palettes.json +1485 -0
  458. package/skills/shared/design/engine/library/photos.json +7240 -0
  459. package/skills/shared/design/engine/library/sections.json +4429 -0
  460. package/skills/shared/design/engine/library/sites.json +8350 -0
  461. package/skills/shared/design/engine/library/type.json +2024 -0
  462. package/skills/shared/design/engine/references/app-screens.md +1199 -0
  463. package/skills/shared/design/engine/references/colour.md +141 -0
  464. package/skills/shared/design/engine/references/copy.md +177 -0
  465. package/skills/shared/design/engine/references/critique.md +182 -0
  466. package/skills/shared/design/engine/references/imagery.md +791 -0
  467. package/skills/shared/design/engine/references/layout.md +292 -0
  468. package/skills/shared/design/engine/references/motion.md +980 -0
  469. package/skills/shared/design/engine/references/research.md +356 -0
  470. package/skills/shared/design/engine/references/scenes.md +174 -0
  471. package/skills/shared/design/engine/references/tells.md +115 -0
  472. package/skills/shared/design/engine/references/type.md +170 -0
  473. package/skills/shared/design/engine/scripts/assets.mjs +865 -0
  474. package/skills/shared/design/engine/scripts/draw.mjs +584 -0
  475. package/skills/shared/design/engine/scripts/inspect.mjs +303 -0
  476. package/skills/shared/design/engine/scripts/lib/app-draw.mjs +203 -0
  477. package/skills/shared/design/engine/scripts/lib/cdp.mjs +248 -0
  478. package/skills/shared/design/engine/scripts/lib/probe.mjs +909 -0
  479. package/skills/shared/design/engine/scripts/lib/rules.mjs +243 -0
  480. package/skills/shared/design/engine/scripts/lint.mjs +119 -0
  481. package/skills/shared/design/engine/scripts/scenes.mjs +124 -0
  482. package/skills/shared/design/evals/cases.yaml +45 -0
  483. package/skills/shared/design/references/design-md.md +49 -0
  484. package/skills/shared/design/references/finish-review.md +46 -0
  485. package/skills/shared/design/references/modes.md +51 -0
  486. package/skills/shared/digitalocean/SKILL.md +227 -0
  487. package/skills/shared/digitalocean/evals/README.md +10 -0
  488. package/skills/shared/digitalocean/evals/cases.yaml +37 -0
  489. package/skills/shared/digitalocean/references/app-spec.md +126 -0
  490. package/skills/shared/digitalocean/references/droplet-ops.md +95 -0
  491. package/skills/shared/digitalocean/scripts/verify.sh +102 -0
  492. package/skills/shared/django/SKILL.md +263 -0
  493. package/skills/shared/django/evals/README.md +11 -0
  494. package/skills/shared/django/evals/cases.yaml +47 -0
  495. package/skills/shared/django/references/drf.md +109 -0
  496. package/skills/shared/django/references/orm-performance.md +91 -0
  497. package/skills/shared/django/references/security.md +81 -0
  498. package/skills/shared/django/references/testing.md +86 -0
  499. package/skills/shared/django/scripts/verify.sh +115 -0
  500. package/skills/shared/docker/SKILL.md +251 -0
  501. package/skills/shared/docker/evals/README.md +10 -0
  502. package/skills/shared/docker/evals/cases.yaml +44 -0
  503. package/skills/shared/docker/references/base-images-and-stages.md +104 -0
  504. package/skills/shared/docker/references/compose-recipes.md +109 -0
  505. package/skills/shared/docker/scripts/verify.sh +149 -0
  506. package/skills/shared/domains-dns/SKILL.md +131 -0
  507. package/skills/shared/domains-dns/evals/README.md +16 -0
  508. package/skills/shared/domains-dns/evals/cases.yaml +47 -0
  509. package/skills/shared/domains-dns/references/record-cookbook.md +94 -0
  510. package/skills/shared/domains-dns/references/tls-and-acme.md +90 -0
  511. package/skills/shared/domains-dns/references/verify-and-debug.md +64 -0
  512. package/skills/shared/domains-dns/scripts/verify.sh +163 -0
  513. package/skills/shared/drizzle-orm/SKILL.md +231 -0
  514. package/skills/shared/drizzle-orm/evals/README.md +12 -0
  515. package/skills/shared/drizzle-orm/evals/cases.yaml +47 -0
  516. package/skills/shared/drizzle-orm/references/relations-and-drivers.md +118 -0
  517. package/skills/shared/drizzle-orm/scripts/verify.sh +155 -0
  518. package/skills/shared/duckdb/SKILL.md +202 -0
  519. package/skills/shared/duckdb/evals/README.md +31 -0
  520. package/skills/shared/duckdb/evals/cases.yaml +41 -0
  521. package/skills/shared/duckdb/references/python-and-interop.md +105 -0
  522. package/skills/shared/duckdb/references/remote-and-lakehouse.md +101 -0
  523. package/skills/shared/duckdb/scripts/verify.sh +71 -0
  524. package/skills/shared/dynamodb/SKILL.md +204 -0
  525. package/skills/shared/dynamodb/evals/README.md +8 -0
  526. package/skills/shared/dynamodb/evals/cases.yaml +46 -0
  527. package/skills/shared/dynamodb/references/access-patterns.md +127 -0
  528. package/skills/shared/dynamodb/references/capacity-and-limits.md +78 -0
  529. package/skills/shared/dynamodb/scripts/verify.sh +108 -0
  530. package/skills/shared/e2e-testing/SKILL.md +233 -0
  531. package/skills/shared/e2e-testing/evals/README.md +10 -0
  532. package/skills/shared/e2e-testing/evals/cases.yaml +64 -0
  533. package/skills/shared/e2e-testing/references/config-and-ci.md +156 -0
  534. package/skills/shared/e2e-testing/references/flakiness-playbook.md +124 -0
  535. package/skills/shared/e2e-testing/scripts/verify.sh +117 -0
  536. package/skills/shared/electron/SKILL.md +209 -0
  537. package/skills/shared/electron/evals/README.md +13 -0
  538. package/skills/shared/electron/evals/cases.yaml +38 -0
  539. package/skills/shared/electron/references/packaging-and-updates.md +122 -0
  540. package/skills/shared/electron/references/security-and-ipc.md +158 -0
  541. package/skills/shared/electron/scripts/verify.sh +143 -0
  542. package/skills/shared/elixir/SKILL.md +209 -0
  543. package/skills/shared/elixir/evals/README.md +3 -0
  544. package/skills/shared/elixir/evals/cases.yaml +41 -0
  545. package/skills/shared/elixir/references/mix-and-releases.md +91 -0
  546. package/skills/shared/elixir/references/otp-patterns.md +96 -0
  547. package/skills/shared/elixir/scripts/verify.sh +76 -0
  548. package/skills/shared/email-deliverability/SKILL.md +148 -0
  549. package/skills/shared/email-deliverability/evals/README.md +21 -0
  550. package/skills/shared/email-deliverability/evals/cases.yaml +45 -0
  551. package/skills/shared/email-deliverability/scripts/verify.sh +98 -0
  552. package/skills/shared/embeddings-search/SKILL.md +184 -0
  553. package/skills/shared/embeddings-search/evals/README.md +10 -0
  554. package/skills/shared/embeddings-search/evals/cases.yaml +44 -0
  555. package/skills/shared/embeddings-search/references/evaluation.md +86 -0
  556. package/skills/shared/embeddings-search/references/models.md +73 -0
  557. package/skills/shared/embeddings-search/scripts/verify.sh +103 -0
  558. package/skills/shared/error-handling/SKILL.md +273 -0
  559. package/skills/shared/error-handling/evals/README.md +12 -0
  560. package/skills/shared/error-handling/evals/cases.yaml +46 -0
  561. package/skills/shared/error-handling/references/boundaries-and-messaging.md +120 -0
  562. package/skills/shared/error-handling/references/retry-and-resilience.md +154 -0
  563. package/skills/shared/error-handling/scripts/verify.sh +110 -0
  564. package/skills/shared/expo/SKILL.md +243 -0
  565. package/skills/shared/expo/evals/README.md +13 -0
  566. package/skills/shared/expo/evals/cases.yaml +44 -0
  567. package/skills/shared/expo/references/config-plugins.md +117 -0
  568. package/skills/shared/expo/references/eas-update.md +118 -0
  569. package/skills/shared/expo/scripts/verify.sh +132 -0
  570. package/skills/shared/fal/SKILL.md +196 -0
  571. package/skills/shared/fal/evals/README.md +3 -0
  572. package/skills/shared/fal/evals/cases.yaml +42 -0
  573. package/skills/shared/fal/references/models-and-cost.md +53 -0
  574. package/skills/shared/fal/references/queue-and-webhooks.md +153 -0
  575. package/skills/shared/fal/scripts/verify.sh +72 -0
  576. package/skills/shared/fastapi/SKILL.md +469 -0
  577. package/skills/shared/fastapi/evals/README.md +50 -0
  578. package/skills/shared/fastapi/evals/cases.yaml +55 -0
  579. package/skills/shared/fastapi/references/database.md +347 -0
  580. package/skills/shared/fastapi/references/production.md +338 -0
  581. package/skills/shared/fastapi/references/security.md +330 -0
  582. package/skills/shared/fastapi/references/testing.md +349 -0
  583. package/skills/shared/fastapi/scripts/verify.sh +157 -0
  584. package/skills/shared/finetuning/SKILL.md +232 -0
  585. package/skills/shared/finetuning/evals/README.md +13 -0
  586. package/skills/shared/finetuning/evals/cases.yaml +50 -0
  587. package/skills/shared/finetuning/references/hyperparameters-and-eval.md +74 -0
  588. package/skills/shared/finetuning/references/methods.md +189 -0
  589. package/skills/shared/firebase/SKILL.md +237 -0
  590. package/skills/shared/firebase/evals/README.md +12 -0
  591. package/skills/shared/firebase/evals/cases.yaml +45 -0
  592. package/skills/shared/firebase/references/cloud-functions.md +102 -0
  593. package/skills/shared/firebase/references/data-modeling.md +108 -0
  594. package/skills/shared/firebase/references/security-rules.md +137 -0
  595. package/skills/shared/firebase/scripts/verify.sh +98 -0
  596. package/skills/shared/flutter/SKILL.md +400 -0
  597. package/skills/shared/flutter/evals/README.md +54 -0
  598. package/skills/shared/flutter/evals/cases.yaml +69 -0
  599. package/skills/shared/flutter/references/architecture-and-state.md +499 -0
  600. package/skills/shared/flutter/references/i18n-and-dependencies.md +197 -0
  601. package/skills/shared/flutter/references/performance.md +299 -0
  602. package/skills/shared/flutter/references/testing.md +385 -0
  603. package/skills/shared/flutter/references/ui-and-navigation.md +378 -0
  604. package/skills/shared/flutter/scripts/verify.sh +104 -0
  605. package/skills/shared/fly-io/SKILL.md +197 -0
  606. package/skills/shared/fly-io/evals/README.md +3 -0
  607. package/skills/shared/fly-io/evals/cases.yaml +42 -0
  608. package/skills/shared/fly-io/references/fly-toml.md +155 -0
  609. package/skills/shared/fly-io/references/multi-region.md +66 -0
  610. package/skills/shared/fly-io/scripts/verify.sh +90 -0
  611. package/skills/shared/ftd/SKILL.md +111 -0
  612. package/skills/shared/ftd/evals/cases.yaml +66 -0
  613. package/skills/shared/ftd/evals/routing.json +24 -0
  614. package/skills/shared/game-design/SKILL.md +146 -0
  615. package/skills/shared/game-design/evals/README.md +13 -0
  616. package/skills/shared/game-design/evals/cases.yaml +47 -0
  617. package/skills/shared/game-design/references/mechanics-and-loops.md +78 -0
  618. package/skills/shared/game-design/references/playtesting-and-scope.md +58 -0
  619. package/skills/shared/game-design/references/progression-and-economy.md +70 -0
  620. package/skills/shared/game-storytelling/SKILL.md +134 -0
  621. package/skills/shared/game-storytelling/evals/README.md +28 -0
  622. package/skills/shared/game-storytelling/evals/cases.yaml +51 -0
  623. package/skills/shared/game-storytelling/references/branching-and-state.md +134 -0
  624. package/skills/shared/game-storytelling/references/dialogue-tools.md +117 -0
  625. package/skills/shared/game-storytelling/references/environmental-storytelling.md +71 -0
  626. package/skills/shared/gamedev-multiplayer/SKILL.md +237 -0
  627. package/skills/shared/gamedev-multiplayer/evals/README.md +12 -0
  628. package/skills/shared/gamedev-multiplayer/evals/cases.yaml +44 -0
  629. package/skills/shared/gamedev-multiplayer/references/godot-high-level-multiplayer.md +133 -0
  630. package/skills/shared/gamedev-multiplayer/references/prediction-and-latency.md +104 -0
  631. package/skills/shared/gamedev-multiplayer/references/unity-and-unreal-netcode.md +166 -0
  632. package/skills/shared/gamedev-pathing/SKILL.md +233 -0
  633. package/skills/shared/gamedev-pathing/evals/README.md +14 -0
  634. package/skills/shared/gamedev-pathing/evals/cases.yaml +49 -0
  635. package/skills/shared/gamedev-pathing/references/navmesh-workflow.md +110 -0
  636. package/skills/shared/gamedev-pathing/references/search-algorithms.md +135 -0
  637. package/skills/shared/gamedev-pathing/references/steering-and-avoidance.md +120 -0
  638. package/skills/shared/gamedev-physics/SKILL.md +225 -0
  639. package/skills/shared/gamedev-physics/evals/README.md +12 -0
  640. package/skills/shared/gamedev-physics/evals/cases.yaml +54 -0
  641. package/skills/shared/gamedev-physics/references/character-controllers.md +120 -0
  642. package/skills/shared/gamedev-physics/references/determinism-and-queries.md +124 -0
  643. package/skills/shared/gamedev-physics/references/layers-and-masks.md +115 -0
  644. package/skills/shared/gamedev-shaders/SKILL.md +232 -0
  645. package/skills/shared/gamedev-shaders/evals/README.md +14 -0
  646. package/skills/shared/gamedev-shaders/evals/cases.yaml +45 -0
  647. package/skills/shared/gamedev-shaders/references/effect-recipes.md +205 -0
  648. package/skills/shared/gamedev-shaders/references/godot-shading-language.md +133 -0
  649. package/skills/shared/gamedev-shaders/references/unity-and-unreal-shaders.md +169 -0
  650. package/skills/shared/gamedev-shipping/SKILL.md +220 -0
  651. package/skills/shared/gamedev-shipping/evals/README.md +9 -0
  652. package/skills/shared/gamedev-shipping/evals/cases.yaml +55 -0
  653. package/skills/shared/gamedev-shipping/references/mobile-and-desktop.md +127 -0
  654. package/skills/shared/gamedev-shipping/references/stores-and-ci.md +162 -0
  655. package/skills/shared/gamedev-shipping/references/web-export-headers.md +140 -0
  656. package/skills/shared/gcp-essentials/SKILL.md +324 -0
  657. package/skills/shared/gcp-essentials/evals/README.md +12 -0
  658. package/skills/shared/gcp-essentials/evals/cases.yaml +38 -0
  659. package/skills/shared/gcp-essentials/references/deploy-recipes.md +81 -0
  660. package/skills/shared/gcp-essentials/references/iam-and-auth.md +94 -0
  661. package/skills/shared/gcp-essentials/references/networking-and-sql.md +74 -0
  662. package/skills/shared/gcp-essentials/scripts/verify.sh +158 -0
  663. package/skills/shared/git-workflow/SKILL.md +214 -0
  664. package/skills/shared/git-workflow/evals/README.md +10 -0
  665. package/skills/shared/git-workflow/evals/cases.yaml +52 -0
  666. package/skills/shared/git-workflow/references/gitmoji.md +157 -0
  667. package/skills/shared/git-workflow/references/interactive-rebase.md +89 -0
  668. package/skills/shared/github-actions/SKILL.md +244 -0
  669. package/skills/shared/github-actions/evals/README.md +3 -0
  670. package/skills/shared/github-actions/evals/cases.yaml +45 -0
  671. package/skills/shared/github-actions/references/caching-and-matrix.md +92 -0
  672. package/skills/shared/github-actions/references/oidc-deploys.md +130 -0
  673. package/skills/shared/github-actions/scripts/verify.sh +105 -0
  674. package/skills/shared/gitlab-auth/SKILL.md +99 -0
  675. package/skills/shared/gitlab-workflow/SKILL.md +138 -0
  676. package/skills/shared/go/SKILL.md +390 -0
  677. package/skills/shared/go/evals/README.md +56 -0
  678. package/skills/shared/go/evals/cases.yaml +55 -0
  679. package/skills/shared/go/references/concurrency.md +557 -0
  680. package/skills/shared/go/references/http-services.md +529 -0
  681. package/skills/shared/go/references/testing.md +338 -0
  682. package/skills/shared/go/scripts/verify.sh +134 -0
  683. package/skills/shared/godot/SKILL.md +300 -0
  684. package/skills/shared/godot/evals/README.md +13 -0
  685. package/skills/shared/godot/evals/cases.yaml +50 -0
  686. package/skills/shared/godot/references/export-and-testing.md +102 -0
  687. package/skills/shared/godot/references/gdscript-style.md +84 -0
  688. package/skills/shared/godot/references/godot3-to-4-traps.md +89 -0
  689. package/skills/shared/godot/references/nodes-scenes-resources.md +109 -0
  690. package/skills/shared/harness/SKILL.md +316 -0
  691. package/skills/shared/harness/assets/_TEMPLATE/.env.example +8 -0
  692. package/skills/shared/harness/assets/_TEMPLATE/CREDENTIALS.md +25 -0
  693. package/skills/shared/harness/assets/_TEMPLATE/README.md +25 -0
  694. package/skills/shared/harness/assets/_TEMPLATE/gitignore +10 -0
  695. package/skills/shared/harness/assets/_TEMPLATE/test_connection.sh +30 -0
  696. package/skills/shared/harness/evals/README.md +54 -0
  697. package/skills/shared/harness/evals/cases.yaml +72 -0
  698. package/skills/shared/harness/examples/audit-example.md +120 -0
  699. package/skills/shared/harness/references/agents-md-template.md +41 -0
  700. package/skills/shared/harness/references/audit-report-template.html +140 -0
  701. package/skills/shared/harness/references/audit-report-template.md +116 -0
  702. package/skills/shared/harness/references/claude-md-template.md +85 -0
  703. package/skills/shared/harness/references/daily-curation-automation.md +68 -0
  704. package/skills/shared/harness/references/inbox-readme-template.md +51 -0
  705. package/skills/shared/harness/references/ingest-formats.md +185 -0
  706. package/skills/shared/harness/references/ingest-ignore-defaults.md +48 -0
  707. package/skills/shared/harness/references/obsidian-scaffolding.md +103 -0
  708. package/skills/shared/harness/references/providers.yaml +3546 -0
  709. package/skills/shared/harness/references/tools-readme-template.md +88 -0
  710. package/skills/shared/harness/references/wiki-archive-template.html +81 -0
  711. package/skills/shared/harness/references/wiki-article-template.md +60 -0
  712. package/skills/shared/harness/references/wiki-dashboard-template.html +136 -0
  713. package/skills/shared/harness/references/wiki-deep-improve-report-template.html +126 -0
  714. package/skills/shared/harness/references/wiki-gaps-template.md +22 -0
  715. package/skills/shared/harness/references/wiki-index-template.md +32 -0
  716. package/skills/shared/harness/references/wiki-protocol.md +926 -0
  717. package/skills/shared/harness/references/wiki-raw-template.md +7 -0
  718. package/skills/shared/harness/references/wiki-worklog-template.md +60 -0
  719. package/skills/shared/hetzner/SKILL.md +203 -0
  720. package/skills/shared/hetzner/evals/README.md +35 -0
  721. package/skills/shared/hetzner/evals/cases.yaml +46 -0
  722. package/skills/shared/hetzner/references/cloud-init.md +120 -0
  723. package/skills/shared/hetzner/references/plans-and-locations.md +56 -0
  724. package/skills/shared/hetzner/scripts/verify.sh +122 -0
  725. package/skills/shared/htmx/SKILL.md +261 -0
  726. package/skills/shared/htmx/evals/README.md +3 -0
  727. package/skills/shared/htmx/evals/cases.yaml +38 -0
  728. package/skills/shared/htmx/references/patterns.md +113 -0
  729. package/skills/shared/htmx/references/server-contract.md +91 -0
  730. package/skills/shared/htmx/scripts/verify.sh +93 -0
  731. package/skills/shared/huggingface/SKILL.md +191 -0
  732. package/skills/shared/huggingface/evals/README.md +11 -0
  733. package/skills/shared/huggingface/evals/cases.yaml +41 -0
  734. package/skills/shared/huggingface/references/endpoints-and-spaces.md +99 -0
  735. package/skills/shared/huggingface/references/hub-and-cli.md +85 -0
  736. package/skills/shared/huggingface/references/inference-providers.md +115 -0
  737. package/skills/shared/huggingface/scripts/verify.sh +123 -0
  738. package/skills/shared/idea-refinement/SKILL.md +121 -0
  739. package/skills/shared/idea-refinement/evals/README.md +3 -0
  740. package/skills/shared/idea-refinement/evals/cases.yaml +42 -0
  741. package/skills/shared/implement/SKILL.md +383 -0
  742. package/skills/shared/implement/evals/README.md +56 -0
  743. package/skills/shared/implement/evals/cases.yaml +43 -0
  744. package/skills/shared/implement/references/per-task-review.md +46 -0
  745. package/skills/shared/implement/scripts/review-package +59 -0
  746. package/skills/shared/implement/scripts/sdd-workspace +47 -0
  747. package/skills/shared/implement/scripts/task-brief +77 -0
  748. package/skills/shared/init/SKILL.md +209 -0
  749. package/skills/shared/init/evals/README.md +49 -0
  750. package/skills/shared/init/evals/cases.yaml +74 -0
  751. package/skills/shared/init/references/accompaniment-and-profile.md +122 -0
  752. package/skills/shared/init/references/discovery.md +90 -0
  753. package/skills/shared/init/references/recommend-skills.md +115 -0
  754. package/skills/shared/init/scripts/verify.sh +118 -0
  755. package/skills/shared/java/SKILL.md +341 -0
  756. package/skills/shared/java/evals/README.md +23 -0
  757. package/skills/shared/java/evals/cases.yaml +43 -0
  758. package/skills/shared/java/references/builds.md +133 -0
  759. package/skills/shared/java/references/concurrency.md +108 -0
  760. package/skills/shared/java/references/streams.md +102 -0
  761. package/skills/shared/java/scripts/verify.sh +107 -0
  762. package/skills/shared/knowledge-ops/SKILL.md +122 -0
  763. package/skills/shared/knowledge-ops/evals/README.md +16 -0
  764. package/skills/shared/knowledge-ops/evals/cases.yaml +50 -0
  765. package/skills/shared/knowledge-ops/references/gardening-playbook.md +126 -0
  766. package/skills/shared/kotlin-android/SKILL.md +245 -0
  767. package/skills/shared/kotlin-android/evals/README.md +13 -0
  768. package/skills/shared/kotlin-android/evals/cases.yaml +56 -0
  769. package/skills/shared/kotlin-android/references/architecture.md +200 -0
  770. package/skills/shared/kotlin-android/references/gradle-setup.md +125 -0
  771. package/skills/shared/kotlin-android/scripts/verify.sh +109 -0
  772. package/skills/shared/laravel/SKILL.md +301 -0
  773. package/skills/shared/laravel/evals/README.md +10 -0
  774. package/skills/shared/laravel/evals/cases.yaml +45 -0
  775. package/skills/shared/laravel/references/eloquent-patterns.md +126 -0
  776. package/skills/shared/laravel/references/queues-and-scheduling.md +153 -0
  777. package/skills/shared/laravel/scripts/verify.sh +128 -0
  778. package/skills/shared/level-design/SKILL.md +143 -0
  779. package/skills/shared/level-design/evals/README.md +35 -0
  780. package/skills/shared/level-design/evals/cases.yaml +58 -0
  781. package/skills/shared/level-design/references/blockout-to-art.md +118 -0
  782. package/skills/shared/level-design/references/guidance-and-readability.md +152 -0
  783. package/skills/shared/level-design/references/pacing-and-encounters.md +142 -0
  784. package/skills/shared/llm-pipeline/SKILL.md +150 -0
  785. package/skills/shared/llm-pipeline/evals/README.md +3 -0
  786. package/skills/shared/llm-pipeline/evals/cases.yaml +44 -0
  787. package/skills/shared/llm-pipeline/references/caching-layers.md +60 -0
  788. package/skills/shared/llm-pipeline/references/litellm-router.md +101 -0
  789. package/skills/shared/llm-pipeline/scripts/verify.sh +169 -0
  790. package/skills/shared/machine-learning/SKILL.md +228 -0
  791. package/skills/shared/machine-learning/evals/README.md +15 -0
  792. package/skills/shared/machine-learning/evals/cases.yaml +54 -0
  793. package/skills/shared/machine-learning/references/gbdt-and-tuning.md +83 -0
  794. package/skills/shared/machine-learning/references/metrics-and-imbalance.md +82 -0
  795. package/skills/shared/machine-learning/references/pipelines-and-cv.md +135 -0
  796. package/skills/shared/modal/SKILL.md +290 -0
  797. package/skills/shared/modal/evals/README.md +29 -0
  798. package/skills/shared/modal/evals/cases.yaml +50 -0
  799. package/skills/shared/modal/references/images-gpu-cookbook.md +160 -0
  800. package/skills/shared/modal/references/web-and-scaling.md +138 -0
  801. package/skills/shared/modal/scripts/verify.sh +127 -0
  802. package/skills/shared/mongodb/SKILL.md +342 -0
  803. package/skills/shared/mongodb/evals/README.md +29 -0
  804. package/skills/shared/mongodb/evals/cases.yaml +41 -0
  805. package/skills/shared/mongodb/references/aggregation.md +115 -0
  806. package/skills/shared/mongodb/references/data-modeling.md +135 -0
  807. package/skills/shared/mongodb/references/transactions-and-ops.md +128 -0
  808. package/skills/shared/mongodb/scripts/verify.sh +151 -0
  809. package/skills/shared/monitoring/SKILL.md +155 -0
  810. package/skills/shared/monitoring/evals/README.md +3 -0
  811. package/skills/shared/monitoring/evals/cases.yaml +47 -0
  812. package/skills/shared/monitoring/references/burn-rate-and-oncall.md +128 -0
  813. package/skills/shared/monitoring/references/tool-setup.md +154 -0
  814. package/skills/shared/monitoring/scripts/verify.sh +145 -0
  815. package/skills/shared/mysql/SKILL.md +249 -0
  816. package/skills/shared/mysql/evals/README.md +12 -0
  817. package/skills/shared/mysql/evals/cases.yaml +49 -0
  818. package/skills/shared/mysql/references/indexing-and-explain.md +161 -0
  819. package/skills/shared/mysql/references/mysql-vs-mariadb.md +78 -0
  820. package/skills/shared/mysql/references/online-ddl-and-migrations.md +120 -0
  821. package/skills/shared/mysql/references/replication-and-ha.md +115 -0
  822. package/skills/shared/mysql/scripts/verify.sh +141 -0
  823. package/skills/shared/neon/SKILL.md +218 -0
  824. package/skills/shared/neon/evals/README.md +11 -0
  825. package/skills/shared/neon/evals/cases.yaml +45 -0
  826. package/skills/shared/neon/references/branching-ci.md +86 -0
  827. package/skills/shared/neon/scripts/verify.sh +78 -0
  828. package/skills/shared/nestjs/SKILL.md +217 -0
  829. package/skills/shared/nestjs/evals/README.md +3 -0
  830. package/skills/shared/nestjs/evals/cases.yaml +38 -0
  831. package/skills/shared/nestjs/references/cross-cutting.md +135 -0
  832. package/skills/shared/nestjs/references/testing-recipes.md +105 -0
  833. package/skills/shared/nestjs/scripts/verify.sh +98 -0
  834. package/skills/shared/netlify/SKILL.md +208 -0
  835. package/skills/shared/netlify/evals/README.md +13 -0
  836. package/skills/shared/netlify/evals/cases.yaml +43 -0
  837. package/skills/shared/netlify/references/functions.md +97 -0
  838. package/skills/shared/netlify/references/netlify-toml.md +115 -0
  839. package/skills/shared/netlify/scripts/verify.sh +95 -0
  840. package/skills/shared/nextjs/SKILL.md +400 -0
  841. package/skills/shared/nextjs/evals/README.md +59 -0
  842. package/skills/shared/nextjs/evals/cases.yaml +56 -0
  843. package/skills/shared/nextjs/references/data-and-caching.md +309 -0
  844. package/skills/shared/nextjs/references/metadata.md +208 -0
  845. package/skills/shared/nextjs/references/performance.md +325 -0
  846. package/skills/shared/nextjs/references/react.md +383 -0
  847. package/skills/shared/nextjs/references/security.md +239 -0
  848. package/skills/shared/nextjs/references/testing.md +290 -0
  849. package/skills/shared/nextjs/scripts/verify.sh +141 -0
  850. package/skills/shared/nlp/SKILL.md +225 -0
  851. package/skills/shared/nlp/evals/README.md +10 -0
  852. package/skills/shared/nlp/evals/cases.yaml +45 -0
  853. package/skills/shared/nlp/references/evaluation.md +107 -0
  854. package/skills/shared/nlp/references/tokenization.md +95 -0
  855. package/skills/shared/no-code-app/SKILL.md +145 -0
  856. package/skills/shared/no-code-app/evals/README.md +3 -0
  857. package/skills/shared/no-code-app/evals/cases.yaml +43 -0
  858. package/skills/shared/no-code-app/references/platform-limits.md +100 -0
  859. package/skills/shared/nodejs/SKILL.md +229 -0
  860. package/skills/shared/nodejs/evals/README.md +3 -0
  861. package/skills/shared/nodejs/evals/cases.yaml +39 -0
  862. package/skills/shared/nodejs/references/express5-migration.md +53 -0
  863. package/skills/shared/nodejs/references/graceful-shutdown.md +73 -0
  864. package/skills/shared/nodejs/scripts/verify.sh +122 -0
  865. package/skills/shared/observability/SKILL.md +235 -0
  866. package/skills/shared/observability/evals/README.md +3 -0
  867. package/skills/shared/observability/evals/cases.yaml +51 -0
  868. package/skills/shared/observability/references/collector-config.md +98 -0
  869. package/skills/shared/observability/references/instrumentation-recipes.md +115 -0
  870. package/skills/shared/observability/scripts/verify.sh +156 -0
  871. package/skills/shared/ollama/SKILL.md +213 -0
  872. package/skills/shared/ollama/evals/README.md +9 -0
  873. package/skills/shared/ollama/evals/cases.yaml +43 -0
  874. package/skills/shared/ollama/references/api.md +148 -0
  875. package/skills/shared/ollama/references/hardware-sizing.md +87 -0
  876. package/skills/shared/ollama/scripts/verify.sh +116 -0
  877. package/skills/shared/open-weights/SKILL.md +239 -0
  878. package/skills/shared/open-weights/evals/README.md +14 -0
  879. package/skills/shared/open-weights/evals/cases.yaml +42 -0
  880. package/skills/shared/open-weights/references/licenses.md +123 -0
  881. package/skills/shared/open-weights/references/model-families.md +83 -0
  882. package/skills/shared/open-weights/references/sizing-and-quant.md +89 -0
  883. package/skills/shared/orient/SKILL.md +92 -0
  884. package/skills/shared/orient/evals/README.md +18 -0
  885. package/skills/shared/orient/evals/cases.yaml +67 -0
  886. package/skills/shared/orient/references/explain-ladder.md +93 -0
  887. package/skills/shared/orient/references/orientation-contract.md +86 -0
  888. package/skills/shared/parallel/SKILL.md +168 -0
  889. package/skills/shared/parallel/evals/README.md +62 -0
  890. package/skills/shared/parallel/evals/cases.yaml +44 -0
  891. package/skills/shared/performance/SKILL.md +229 -0
  892. package/skills/shared/performance/evals/README.md +3 -0
  893. package/skills/shared/performance/evals/cases.yaml +49 -0
  894. package/skills/shared/performance/references/profiling-playbook.md +54 -0
  895. package/skills/shared/performance/scripts/verify.sh +94 -0
  896. package/skills/shared/phoenix/SKILL.md +169 -0
  897. package/skills/shared/phoenix/evals/README.md +3 -0
  898. package/skills/shared/phoenix/evals/cases.yaml +40 -0
  899. package/skills/shared/phoenix/references/auth-and-scopes.md +82 -0
  900. package/skills/shared/phoenix/references/ecto-patterns.md +93 -0
  901. package/skills/shared/phoenix/references/liveview.md +134 -0
  902. package/skills/shared/phoenix/scripts/verify.sh +73 -0
  903. package/skills/shared/php/SKILL.md +397 -0
  904. package/skills/shared/php/evals/README.md +12 -0
  905. package/skills/shared/php/evals/cases.yaml +45 -0
  906. package/skills/shared/php/references/tooling.md +170 -0
  907. package/skills/shared/php/references/type-system.md +220 -0
  908. package/skills/shared/php/scripts/verify.sh +155 -0
  909. package/skills/shared/plan/SKILL.md +166 -0
  910. package/skills/shared/plan/evals/README.md +62 -0
  911. package/skills/shared/plan/evals/cases.yaml +49 -0
  912. package/skills/shared/plan/references/plan-template.md +153 -0
  913. package/skills/shared/planetscale/SKILL.md +198 -0
  914. package/skills/shared/planetscale/evals/README.md +11 -0
  915. package/skills/shared/planetscale/evals/cases.yaml +46 -0
  916. package/skills/shared/planetscale/references/deploy-requests.md +75 -0
  917. package/skills/shared/planetscale/references/no-foreign-keys.md +88 -0
  918. package/skills/shared/planetscale/scripts/verify.sh +115 -0
  919. package/skills/shared/planning-with-files/SKILL.md +278 -0
  920. package/skills/shared/planning-with-files/examples.md +202 -0
  921. package/skills/shared/planning-with-files/reference.md +218 -0
  922. package/skills/shared/planning-with-files/scripts/attest-plan.ps1 +118 -0
  923. package/skills/shared/planning-with-files/scripts/attest-plan.sh +110 -0
  924. package/skills/shared/planning-with-files/scripts/check-complete.ps1 +44 -0
  925. package/skills/shared/planning-with-files/scripts/check-complete.sh +46 -0
  926. package/skills/shared/planning-with-files/scripts/init-session.ps1 +166 -0
  927. package/skills/shared/planning-with-files/scripts/init-session.sh +284 -0
  928. package/skills/shared/planning-with-files/scripts/resolve-plan-dir.ps1 +44 -0
  929. package/skills/shared/planning-with-files/scripts/resolve-plan-dir.sh +76 -0
  930. package/skills/shared/planning-with-files/scripts/session-catchup.py +438 -0
  931. package/skills/shared/planning-with-files/scripts/set-active-plan.ps1 +50 -0
  932. package/skills/shared/planning-with-files/scripts/set-active-plan.sh +50 -0
  933. package/skills/shared/planning-with-files/templates/findings.md +95 -0
  934. package/skills/shared/planning-with-files/templates/progress.md +114 -0
  935. package/skills/shared/planning-with-files/templates/task_plan.md +132 -0
  936. package/skills/shared/postgresdb/SKILL.md +354 -0
  937. package/skills/shared/postgresdb/evals/README.md +55 -0
  938. package/skills/shared/postgresdb/evals/cases.yaml +57 -0
  939. package/skills/shared/postgresdb/references/migrations.md +279 -0
  940. package/skills/shared/postgresdb/references/operations-and-security.md +267 -0
  941. package/skills/shared/postgresdb/references/query-optimization.md +374 -0
  942. package/skills/shared/postgresdb/references/schema-and-indexing.md +379 -0
  943. package/skills/shared/postgresdb/scripts/verify.sh +191 -0
  944. package/skills/shared/prisma-orm/SKILL.md +313 -0
  945. package/skills/shared/prisma-orm/evals/README.md +12 -0
  946. package/skills/shared/prisma-orm/evals/cases.yaml +56 -0
  947. package/skills/shared/prisma-orm/references/migrations-and-v7-upgrade.md +197 -0
  948. package/skills/shared/prisma-orm/references/queries-and-performance.md +169 -0
  949. package/skills/shared/prisma-orm/scripts/verify.sh +137 -0
  950. package/skills/shared/prompt-engineering/SKILL.md +127 -0
  951. package/skills/shared/prompt-engineering/evals/README.md +11 -0
  952. package/skills/shared/prompt-engineering/evals/cases.yaml +46 -0
  953. package/skills/shared/prompt-engineering/references/eval-templates.md +94 -0
  954. package/skills/shared/prompt-engineering/references/output-contracts.md +120 -0
  955. package/skills/shared/prompt-engineering/scripts/verify.sh +84 -0
  956. package/skills/shared/python/SKILL.md +320 -0
  957. package/skills/shared/python/evals/README.md +19 -0
  958. package/skills/shared/python/evals/cases.yaml +46 -0
  959. package/skills/shared/python/references/async.md +136 -0
  960. package/skills/shared/python/references/stdlib.md +162 -0
  961. package/skills/shared/python/references/typing.md +160 -0
  962. package/skills/shared/python/scripts/verify.sh +125 -0
  963. package/skills/shared/rag/SKILL.md +209 -0
  964. package/skills/shared/rag/evals/README.md +13 -0
  965. package/skills/shared/rag/evals/cases.yaml +45 -0
  966. package/skills/shared/rag/references/evaluation.md +99 -0
  967. package/skills/shared/rag/references/pipeline.md +151 -0
  968. package/skills/shared/rag/scripts/verify.sh +99 -0
  969. package/skills/shared/rails/SKILL.md +264 -0
  970. package/skills/shared/rails/evals/README.md +12 -0
  971. package/skills/shared/rails/evals/cases.yaml +47 -0
  972. package/skills/shared/rails/references/activerecord.md +148 -0
  973. package/skills/shared/rails/references/hotwire.md +139 -0
  974. package/skills/shared/rails/references/testing.md +110 -0
  975. package/skills/shared/rails/scripts/verify.sh +128 -0
  976. package/skills/shared/railway/SKILL.md +245 -0
  977. package/skills/shared/railway/evals/README.md +14 -0
  978. package/skills/shared/railway/evals/cases.yaml +44 -0
  979. package/skills/shared/railway/references/cli-cookbook.md +137 -0
  980. package/skills/shared/railway/references/config-as-code.md +120 -0
  981. package/skills/shared/railway/scripts/verify.sh +162 -0
  982. package/skills/shared/react/SKILL.md +182 -0
  983. package/skills/shared/react/evals/README.md +3 -0
  984. package/skills/shared/react/evals/cases.yaml +43 -0
  985. package/skills/shared/react/references/data-and-state.md +152 -0
  986. package/skills/shared/react/references/performance.md +75 -0
  987. package/skills/shared/react/references/routing.md +99 -0
  988. package/skills/shared/react/scripts/verify.sh +123 -0
  989. package/skills/shared/react-native/SKILL.md +215 -0
  990. package/skills/shared/react-native/evals/README.md +3 -0
  991. package/skills/shared/react-native/evals/cases.yaml +42 -0
  992. package/skills/shared/react-native/references/native-modules.md +123 -0
  993. package/skills/shared/react-native/references/performance-debugging.md +46 -0
  994. package/skills/shared/react-native/scripts/verify.sh +120 -0
  995. package/skills/shared/redis/SKILL.md +298 -0
  996. package/skills/shared/redis/evals/README.md +10 -0
  997. package/skills/shared/redis/evals/cases.yaml +43 -0
  998. package/skills/shared/redis/references/caching.md +116 -0
  999. package/skills/shared/redis/references/locks-and-rate-limiting.md +140 -0
  1000. package/skills/shared/redis/references/queues.md +102 -0
  1001. package/skills/shared/redis/scripts/verify.sh +164 -0
  1002. package/skills/shared/render/SKILL.md +256 -0
  1003. package/skills/shared/render/evals/README.md +12 -0
  1004. package/skills/shared/render/evals/cases.yaml +45 -0
  1005. package/skills/shared/render/references/blueprint-reference.md +203 -0
  1006. package/skills/shared/render/scripts/verify.sh +167 -0
  1007. package/skills/shared/replicate/SKILL.md +210 -0
  1008. package/skills/shared/replicate/evals/README.md +9 -0
  1009. package/skills/shared/replicate/evals/cases.yaml +45 -0
  1010. package/skills/shared/replicate/references/cog-packaging.md +89 -0
  1011. package/skills/shared/replicate/references/deployments-api.md +87 -0
  1012. package/skills/shared/replicate/references/webhooks-and-async.md +110 -0
  1013. package/skills/shared/replicate/scripts/verify.sh +162 -0
  1014. package/skills/shared/research-ops/SKILL.md +200 -0
  1015. package/skills/shared/research-ops/evals/README.md +13 -0
  1016. package/skills/shared/research-ops/evals/cases.yaml +38 -0
  1017. package/skills/shared/research-ops/references/credibility-rubric.md +78 -0
  1018. package/skills/shared/research-ops/references/memo-template.md +63 -0
  1019. package/skills/shared/research-ops/scripts/verify.sh +181 -0
  1020. package/skills/shared/review/SKILL.md +314 -0
  1021. package/skills/shared/review/evals/README.md +84 -0
  1022. package/skills/shared/review/evals/cases.yaml +55 -0
  1023. package/skills/shared/ruby/SKILL.md +295 -0
  1024. package/skills/shared/ruby/evals/README.md +12 -0
  1025. package/skills/shared/ruby/evals/cases.yaml +41 -0
  1026. package/skills/shared/ruby/references/gems-and-testing.md +208 -0
  1027. package/skills/shared/ruby/references/metaprogramming.md +161 -0
  1028. package/skills/shared/ruby/scripts/verify.sh +83 -0
  1029. package/skills/shared/runpod/SKILL.md +238 -0
  1030. package/skills/shared/runpod/evals/README.md +11 -0
  1031. package/skills/shared/runpod/evals/cases.yaml +47 -0
  1032. package/skills/shared/runpod/references/cost-and-scaling.md +85 -0
  1033. package/skills/shared/runpod/references/serverless-workers.md +101 -0
  1034. package/skills/shared/runpod/scripts/verify.sh +126 -0
  1035. package/skills/shared/rust/SKILL.md +320 -0
  1036. package/skills/shared/rust/evals/README.md +12 -0
  1037. package/skills/shared/rust/evals/cases.yaml +42 -0
  1038. package/skills/shared/rust/references/async-tokio.md +141 -0
  1039. package/skills/shared/rust/references/axum-service.md +132 -0
  1040. package/skills/shared/rust/references/ownership.md +86 -0
  1041. package/skills/shared/rust/references/testing.md +108 -0
  1042. package/skills/shared/rust/scripts/verify.sh +91 -0
  1043. package/skills/shared/scaling/SKILL.md +137 -0
  1044. package/skills/shared/scaling/evals/README.md +3 -0
  1045. package/skills/shared/scaling/evals/cases.yaml +42 -0
  1046. package/skills/shared/scaling/references/load-testing-k6.md +127 -0
  1047. package/skills/shared/scaling/scripts/example.load.js +24 -0
  1048. package/skills/shared/scaling/scripts/verify.sh +70 -0
  1049. package/skills/shared/sdd/SKILL.md +250 -0
  1050. package/skills/shared/sdd/evals/README.md +60 -0
  1051. package/skills/shared/sdd/evals/cases.yaml +90 -0
  1052. package/skills/shared/sdd/references/model-routing.md +194 -0
  1053. package/skills/shared/sdd-init/SKILL.md +189 -0
  1054. package/skills/shared/sdd-init/evals/README.md +3 -0
  1055. package/skills/shared/sdd-init/evals/cases.yaml +43 -0
  1056. package/skills/shared/secure-coding/SKILL.md +336 -0
  1057. package/skills/shared/secure-coding/evals/README.md +68 -0
  1058. package/skills/shared/secure-coding/evals/cases.yaml +55 -0
  1059. package/skills/shared/secure-coding/references/authn-authz.md +249 -0
  1060. package/skills/shared/secure-coding/references/owasp-by-stack.md +574 -0
  1061. package/skills/shared/secure-coding/references/secrets-and-supply-chain.md +205 -0
  1062. package/skills/shared/secure-coding/references/threat-modeling.md +213 -0
  1063. package/skills/shared/secure-coding/scripts/verify.sh +208 -0
  1064. package/skills/shared/security-scan/SKILL.md +219 -0
  1065. package/skills/shared/security-scan/evals/README.md +14 -0
  1066. package/skills/shared/security-scan/evals/cases.yaml +50 -0
  1067. package/skills/shared/security-scan/references/tools.md +97 -0
  1068. package/skills/shared/security-scan/references/triage.md +92 -0
  1069. package/skills/shared/security-scan/scripts/verify.sh +108 -0
  1070. package/skills/shared/ship/SKILL.md +272 -0
  1071. package/skills/shared/ship/evals/README.md +89 -0
  1072. package/skills/shared/ship/evals/cases.yaml +44 -0
  1073. package/skills/shared/shopify/SKILL.md +229 -0
  1074. package/skills/shared/shopify/evals/README.md +14 -0
  1075. package/skills/shared/shopify/evals/cases.yaml +41 -0
  1076. package/skills/shared/shopify/references/apps-graphql.md +103 -0
  1077. package/skills/shared/shopify/references/checkout-extensibility.md +71 -0
  1078. package/skills/shared/shopify/references/liquid-themes.md +89 -0
  1079. package/skills/shared/shopify/scripts/verify.sh +120 -0
  1080. package/skills/shared/simplify-code/SKILL.md +101 -0
  1081. package/skills/shared/simplify-code/evals/README.md +3 -0
  1082. package/skills/shared/simplify-code/evals/cases.yaml +42 -0
  1083. package/skills/shared/skill-scout/SKILL.md +169 -0
  1084. package/skills/shared/skill-scout/evals/README.md +12 -0
  1085. package/skills/shared/skill-scout/evals/cases.yaml +56 -0
  1086. package/skills/shared/skill-scout/references/install-commands.md +76 -0
  1087. package/skills/shared/skill-scout/scripts/verify.sh +154 -0
  1088. package/skills/shared/solid-js/SKILL.md +260 -0
  1089. package/skills/shared/solid-js/evals/README.md +3 -0
  1090. package/skills/shared/solid-js/evals/cases.yaml +38 -0
  1091. package/skills/shared/solid-js/references/reactivity-deep-dive.md +89 -0
  1092. package/skills/shared/solid-js/references/router-and-start.md +93 -0
  1093. package/skills/shared/solid-js/scripts/verify.sh +130 -0
  1094. package/skills/shared/source-grounded-development/SKILL.md +108 -0
  1095. package/skills/shared/source-grounded-development/evals/README.md +3 -0
  1096. package/skills/shared/source-grounded-development/evals/cases.yaml +42 -0
  1097. package/skills/shared/specify/SKILL.md +391 -0
  1098. package/skills/shared/specify/evals/README.md +73 -0
  1099. package/skills/shared/specify/evals/cases.yaml +93 -0
  1100. package/skills/shared/specify/references/eliciting-requirements.md +117 -0
  1101. package/skills/shared/specify/references/spec-template.md +101 -0
  1102. package/skills/shared/speckit-analyze/SKILL.md +35 -0
  1103. package/skills/shared/speckit-assess-decide/SKILL.md +36 -0
  1104. package/skills/shared/speckit-assess-define/SKILL.md +36 -0
  1105. package/skills/shared/speckit-assess-intake/SKILL.md +38 -0
  1106. package/skills/shared/speckit-assess-research/SKILL.md +36 -0
  1107. package/skills/shared/speckit-assess-shape/SKILL.md +36 -0
  1108. package/skills/shared/speckit-bug-assess/SKILL.md +38 -0
  1109. package/skills/shared/speckit-bug-fix/SKILL.md +37 -0
  1110. package/skills/shared/speckit-bug-test/SKILL.md +37 -0
  1111. package/skills/shared/speckit-checklist/SKILL.md +35 -0
  1112. package/skills/shared/speckit-clarify/SKILL.md +32 -0
  1113. package/skills/shared/speckit-constitution/SKILL.md +35 -0
  1114. package/skills/shared/speckit-converge/SKILL.md +36 -0
  1115. package/skills/shared/speckit-implement/SKILL.md +32 -0
  1116. package/skills/shared/speckit-plan/SKILL.md +37 -0
  1117. package/skills/shared/speckit-specify/SKILL.md +36 -0
  1118. package/skills/shared/speckit-tasks/SKILL.md +34 -0
  1119. package/skills/shared/spreadsheet-ops/SKILL.md +180 -0
  1120. package/skills/shared/spreadsheet-ops/evals/README.md +33 -0
  1121. package/skills/shared/spreadsheet-ops/evals/cases.yaml +42 -0
  1122. package/skills/shared/spreadsheet-ops/references/formula-cookbook.md +70 -0
  1123. package/skills/shared/spreadsheet-ops/references/python-excel.md +87 -0
  1124. package/skills/shared/spreadsheet-ops/references/sheets-api-appsscript.md +118 -0
  1125. package/skills/shared/spreadsheet-ops/scripts/verify.sh +152 -0
  1126. package/skills/shared/spring-boot/SKILL.md +350 -0
  1127. package/skills/shared/spring-boot/evals/README.md +11 -0
  1128. package/skills/shared/spring-boot/evals/cases.yaml +49 -0
  1129. package/skills/shared/spring-boot/references/jpa.md +94 -0
  1130. package/skills/shared/spring-boot/references/security.md +92 -0
  1131. package/skills/shared/spring-boot/references/testing.md +95 -0
  1132. package/skills/shared/spring-boot/scripts/verify.sh +115 -0
  1133. package/skills/shared/sql/SKILL.md +286 -0
  1134. package/skills/shared/sql/evals/README.md +9 -0
  1135. package/skills/shared/sql/evals/cases.yaml +49 -0
  1136. package/skills/shared/sql/references/ctes-and-recursion.md +63 -0
  1137. package/skills/shared/sql/references/joins-and-sets.md +71 -0
  1138. package/skills/shared/sql/references/portability.md +38 -0
  1139. package/skills/shared/sql/references/window-functions.md +72 -0
  1140. package/skills/shared/sql/scripts/verify.sh +139 -0
  1141. package/skills/shared/sqlite-turso/SKILL.md +214 -0
  1142. package/skills/shared/sqlite-turso/evals/README.md +24 -0
  1143. package/skills/shared/sqlite-turso/evals/cases.yaml +45 -0
  1144. package/skills/shared/sqlite-turso/references/embedded-replicas.md +96 -0
  1145. package/skills/shared/sqlite-turso/scripts/verify.sh +95 -0
  1146. package/skills/shared/structured-extraction/SKILL.md +230 -0
  1147. package/skills/shared/structured-extraction/evals/README.md +13 -0
  1148. package/skills/shared/structured-extraction/evals/cases.yaml +70 -0
  1149. package/skills/shared/structured-extraction/references/providers.md +152 -0
  1150. package/skills/shared/structured-extraction/scripts/verify.sh +160 -0
  1151. package/skills/shared/suggest/SKILL.md +123 -0
  1152. package/skills/shared/suggest/evals/README.md +17 -0
  1153. package/skills/shared/suggest/evals/cases.yaml +78 -0
  1154. package/skills/shared/supabase/SKILL.md +268 -0
  1155. package/skills/shared/supabase/evals/README.md +12 -0
  1156. package/skills/shared/supabase/evals/cases.yaml +42 -0
  1157. package/skills/shared/supabase/references/auth-ssr.md +173 -0
  1158. package/skills/shared/supabase/references/rls-cookbook.md +122 -0
  1159. package/skills/shared/supabase/scripts/verify.sh +149 -0
  1160. package/skills/shared/svelte/SKILL.md +238 -0
  1161. package/skills/shared/svelte/evals/README.md +3 -0
  1162. package/skills/shared/svelte/evals/cases.yaml +41 -0
  1163. package/skills/shared/svelte/references/runes.md +97 -0
  1164. package/skills/shared/svelte/references/sveltekit-data.md +156 -0
  1165. package/skills/shared/svelte/scripts/verify.sh +128 -0
  1166. package/skills/shared/swift-ios/SKILL.md +224 -0
  1167. package/skills/shared/swift-ios/evals/README.md +3 -0
  1168. package/skills/shared/swift-ios/evals/cases.yaml +46 -0
  1169. package/skills/shared/swift-ios/references/concurrency.md +132 -0
  1170. package/skills/shared/swift-ios/references/testing.md +112 -0
  1171. package/skills/shared/swift-ios/scripts/verify.sh +98 -0
  1172. package/skills/shared/tasks/SKILL.md +265 -0
  1173. package/skills/shared/tasks/evals/README.md +70 -0
  1174. package/skills/shared/tasks/evals/cases.yaml +75 -0
  1175. package/skills/shared/tauri/SKILL.md +219 -0
  1176. package/skills/shared/tauri/evals/README.md +12 -0
  1177. package/skills/shared/tauri/evals/cases.yaml +46 -0
  1178. package/skills/shared/tauri/references/bundling-distribution.md +129 -0
  1179. package/skills/shared/tauri/references/security.md +143 -0
  1180. package/skills/shared/tauri/scripts/verify.sh +178 -0
  1181. package/skills/shared/technical-writing/SKILL.md +230 -0
  1182. package/skills/shared/technical-writing/evals/README.md +12 -0
  1183. package/skills/shared/technical-writing/evals/cases.yaml +53 -0
  1184. package/skills/shared/technical-writing/references/diataxis-modes.md +131 -0
  1185. package/skills/shared/technical-writing/references/vale-starter.md +90 -0
  1186. package/skills/shared/technical-writing/scripts/verify.sh +83 -0
  1187. package/skills/shared/testing-go/SKILL.md +263 -0
  1188. package/skills/shared/testing-go/evals/README.md +3 -0
  1189. package/skills/shared/testing-go/evals/cases.yaml +46 -0
  1190. package/skills/shared/testing-go/references/coverage-and-benchmarks.md +85 -0
  1191. package/skills/shared/testing-go/references/mocks-and-fakes.md +140 -0
  1192. package/skills/shared/testing-go/references/synctest-and-concurrency.md +82 -0
  1193. package/skills/shared/testing-go/scripts/verify.sh +72 -0
  1194. package/skills/shared/testing-py/SKILL.md +197 -0
  1195. package/skills/shared/testing-py/evals/README.md +5 -0
  1196. package/skills/shared/testing-py/evals/cases.yaml +44 -0
  1197. package/skills/shared/testing-py/references/mocking.md +141 -0
  1198. package/skills/shared/testing-py/references/property-testing.md +99 -0
  1199. package/skills/shared/testing-py/scripts/verify.sh +117 -0
  1200. package/skills/shared/testing-web/SKILL.md +244 -0
  1201. package/skills/shared/testing-web/evals/README.md +11 -0
  1202. package/skills/shared/testing-web/evals/cases.yaml +52 -0
  1203. package/skills/shared/testing-web/references/jest-setup.md +88 -0
  1204. package/skills/shared/testing-web/references/recipes.md +116 -0
  1205. package/skills/shared/testing-web/scripts/verify.sh +111 -0
  1206. package/skills/shared/together-fireworks/SKILL.md +176 -0
  1207. package/skills/shared/together-fireworks/evals/README.md +3 -0
  1208. package/skills/shared/together-fireworks/evals/cases.yaml +50 -0
  1209. package/skills/shared/together-fireworks/references/batch-and-tuning.md +59 -0
  1210. package/skills/shared/together-fireworks/references/models-and-pricing.md +79 -0
  1211. package/skills/shared/together-fireworks/scripts/verify.sh +165 -0
  1212. package/skills/shared/training-data/SKILL.md +226 -0
  1213. package/skills/shared/training-data/evals/README.md +13 -0
  1214. package/skills/shared/training-data/evals/cases.yaml +41 -0
  1215. package/skills/shared/training-data/references/formats.md +118 -0
  1216. package/skills/shared/training-data/references/synthesis-dedup-quality.md +134 -0
  1217. package/skills/shared/translation-l10n/SKILL.md +229 -0
  1218. package/skills/shared/translation-l10n/evals/README.md +3 -0
  1219. package/skills/shared/translation-l10n/evals/cases.yaml +39 -0
  1220. package/skills/shared/translation-l10n/references/icu-cookbook.md +82 -0
  1221. package/skills/shared/translation-l10n/references/rtl-and-bidi.md +60 -0
  1222. package/skills/shared/typescript/SKILL.md +225 -0
  1223. package/skills/shared/typescript/evals/README.md +15 -0
  1224. package/skills/shared/typescript/evals/cases.yaml +46 -0
  1225. package/skills/shared/typescript/references/build-and-monorepo.md +141 -0
  1226. package/skills/shared/typescript/references/type-system.md +162 -0
  1227. package/skills/shared/typescript/scripts/verify.sh +52 -0
  1228. package/skills/shared/ui-engineering/SKILL.md +113 -0
  1229. package/skills/shared/ui-engineering/evals/cases.yaml +38 -0
  1230. package/skills/shared/unity/SKILL.md +282 -0
  1231. package/skills/shared/unity/evals/README.md +8 -0
  1232. package/skills/shared/unity/evals/cases.yaml +43 -0
  1233. package/skills/shared/unity/references/build-and-platforms.md +65 -0
  1234. package/skills/shared/unity/references/input-system.md +102 -0
  1235. package/skills/shared/unity/references/lifecycle-deep-dive.md +75 -0
  1236. package/skills/shared/unreal/SKILL.md +270 -0
  1237. package/skills/shared/unreal/evals/README.md +12 -0
  1238. package/skills/shared/unreal/evals/cases.yaml +45 -0
  1239. package/skills/shared/unreal/references/blueprint-cpp-parity.md +109 -0
  1240. package/skills/shared/unreal/references/gameplay-framework.md +95 -0
  1241. package/skills/shared/unreal/references/packaging.md +83 -0
  1242. package/skills/shared/unslop/SKILL.md +143 -0
  1243. package/skills/shared/unslop/evals/README.md +25 -0
  1244. package/skills/shared/unslop/evals/cases.yaml +61 -0
  1245. package/skills/shared/unsloth/SKILL.md +254 -0
  1246. package/skills/shared/unsloth/evals/README.md +10 -0
  1247. package/skills/shared/unsloth/evals/cases.yaml +42 -0
  1248. package/skills/shared/unsloth/references/export.md +75 -0
  1249. package/skills/shared/unsloth/references/grpo.md +91 -0
  1250. package/skills/shared/unsloth/references/masking-and-templates.md +91 -0
  1251. package/skills/shared/variant-explorer/SKILL.md +93 -0
  1252. package/skills/shared/variant-explorer/evals/cases.yaml +38 -0
  1253. package/skills/shared/vector-db/SKILL.md +189 -0
  1254. package/skills/shared/vector-db/evals/README.md +10 -0
  1255. package/skills/shared/vector-db/evals/cases.yaml +45 -0
  1256. package/skills/shared/vector-db/references/engines.md +175 -0
  1257. package/skills/shared/vector-db/references/tuning.md +62 -0
  1258. package/skills/shared/vector-db/scripts/verify.sh +110 -0
  1259. package/skills/shared/vercel/SKILL.md +242 -0
  1260. package/skills/shared/vercel/evals/README.md +23 -0
  1261. package/skills/shared/vercel/evals/cases.yaml +45 -0
  1262. package/skills/shared/vercel/references/cli-cookbook.md +98 -0
  1263. package/skills/shared/vercel/references/vercel-json.md +120 -0
  1264. package/skills/shared/vercel/scripts/verify.sh +168 -0
  1265. package/skills/shared/verify/SKILL.md +230 -0
  1266. package/skills/shared/verify/evals/README.md +78 -0
  1267. package/skills/shared/verify/evals/cases.yaml +104 -0
  1268. package/skills/shared/vllm/SKILL.md +235 -0
  1269. package/skills/shared/vllm/evals/README.md +9 -0
  1270. package/skills/shared/vllm/evals/cases.yaml +47 -0
  1271. package/skills/shared/vllm/references/flags-and-endpoints.md +105 -0
  1272. package/skills/shared/vllm/references/memory-and-throughput.md +78 -0
  1273. package/skills/shared/vue-nuxt/SKILL.md +323 -0
  1274. package/skills/shared/vue-nuxt/evals/README.md +11 -0
  1275. package/skills/shared/vue-nuxt/evals/cases.yaml +49 -0
  1276. package/skills/shared/vue-nuxt/references/data-and-state.md +127 -0
  1277. package/skills/shared/vue-nuxt/references/migration-nuxt4.md +79 -0
  1278. package/skills/shared/vue-nuxt/references/nitro-and-rendering.md +117 -0
  1279. package/skills/shared/vue-nuxt/references/reactivity.md +135 -0
  1280. package/skills/shared/vue-nuxt/scripts/verify.sh +148 -0
  1281. package/skills/shared/webhooks/SKILL.md +229 -0
  1282. package/skills/shared/webhooks/evals/README.md +15 -0
  1283. package/skills/shared/webhooks/evals/cases.yaml +46 -0
  1284. package/skills/shared/webhooks/references/framework-raw-body.md +97 -0
  1285. package/skills/shared/webhooks/references/signature-schemes.md +66 -0
  1286. package/skills/shared/webhooks/scripts/verify.sh +142 -0
  1287. package/skills/shared/wordpress/SKILL.md +224 -0
  1288. package/skills/shared/wordpress/evals/README.md +3 -0
  1289. package/skills/shared/wordpress/evals/cases.yaml +50 -0
  1290. package/skills/shared/wordpress/references/hardening.md +108 -0
  1291. package/skills/shared/wordpress/references/performance.md +80 -0
  1292. package/skills/shared/wordpress/references/woocommerce.md +65 -0
  1293. package/skills/shared/wordpress/scripts/verify.sh +96 -0
  1294. package/skills/shared/worktrees/SKILL.md +204 -0
  1295. package/skills/shared/worktrees/evals/README.md +78 -0
  1296. package/skills/shared/worktrees/evals/cases.yaml +47 -0
@@ -0,0 +1,45 @@
1
+ skill: api-design
2
+
3
+ should_trigger:
4
+ - prompt: "Design the REST API for a multi-tenant invoicing service"
5
+ why: core greenfield contract-design request; resource modeling + URLs.
6
+ - prompt: "How do I add a field and a new status value to this endpoint without breaking existing clients?"
7
+ why: evolution/versioning; non-obvious — no words 'API' or 'design', it's the additive-non-breaking rule.
8
+ - prompt: "Should this be REST or GraphQL, and how should pagination work?"
9
+ why: paradigm choice plus pagination convention — both are design-time decisions.
10
+ - prompt: "What's the standard error format? I keep returning a different shape per endpoint"
11
+ why: symptom-led; routes to the single RFC 9457 problem-details envelope.
12
+ - prompt: "Our list endpoint times out at page 5000 with offset pagination"
13
+ why: non-obvious symptom — the fix is a cursor/keyset pagination design, not a query tweak.
14
+ - prompt: "diseña los endpoints y el versionado de nuestra API pública"
15
+ why: Spanish trigger for endpoint design + versioning strategy.
16
+ - prompt: "We need an Idempotency-Key on POST so retries don't double-charge — how should the contract handle it?"
17
+ why: non-obvious header-level contract decision (idempotency), design-time not implementation.
18
+
19
+ should_not_trigger:
20
+ - prompt: "Implement these endpoints in FastAPI with Pydantic models and async routes"
21
+ route_to: fastapi
22
+ why: build-time framework implementation, not contract design.
23
+ - prompt: "Threat-model this endpoint and check the CORS and CSP config for OWASP issues"
24
+ route_to: secure-coding
25
+ why: security/hardening lens, not the API shape.
26
+ - prompt: "Verify the incoming Stripe webhook signature and dedupe replayed events"
27
+ route_to: webhooks
28
+ why: receiving inbound events with HMAC verification, not designing an exposed API.
29
+ - prompt: "Write a client that calls the OpenWeather API and handles its rate limits and retries"
30
+ route_to: api-connector-builder
31
+ why: building an outbound client to a third-party API, not designing one.
32
+ - prompt: "Wire a custom provider with useFactory in my NestJS module"
33
+ route_to: nestjs
34
+ why: framework dependency-injection wiring, not contract design.
35
+
36
+ capability:
37
+ - scenario: "Design the public REST API contract for a 'projects' resource with nested tasks, supporting pagination, consistent errors, and a versioning plan."
38
+ must_include:
39
+ - plural noun collections and nested path `/projects/{id}/tasks` with no verbs in paths
40
+ - correct methods + status codes, including 201 + Location on create and the 409-vs-422 distinction
41
+ - one RFC 9457 `application/problem+json` error envelope used across all endpoints, with a stable machine `type` and a correlation id, no leaked internals
42
+ - cursor (keyset) pagination with a consistent response envelope (data + next_cursor/has_more)
43
+ - URL-path versioning for the public API plus the additive-non-breaking evolution rule (and Deprecation/Sunset on removal)
44
+ - a handoff note pointing to a framework skill (fastapi/nestjs/go/nodejs) to implement it
45
+ - bonus: an OpenAPI 3.1 sketch of the contract
@@ -0,0 +1,70 @@
1
+ # GraphQL design
2
+
3
+ When you chose GraphQL (many client shapes, deep graphs, over-fetch is real), design the schema as the contract. Framework-neutral.
4
+
5
+ ## Schema & nullability
6
+
7
+ - **Model the domain graph, not your tables.** Types are nouns with relationships; let clients traverse instead of you minting endpoints.
8
+ - **Nullability is a contract.** A non-null field (`String!`) means the resolver must always produce it — and if it errors, GraphQL nulls the *nearest nullable parent*, which can blank a whole subtree. Make a field non-null only when it truly cannot be absent; default to nullable for anything fetched from a flaky downstream.
9
+ - **Use enums for closed sets** and add values additively (clients should tolerate unknown enum values).
10
+ - **Evolve additively; deprecate with `@deprecated(reason: ...)`** instead of removing — GraphQL has no URL version to fall back on.
11
+
12
+ ## Pagination: Relay Connections
13
+
14
+ Use the de-facto standard rather than a bespoke shape, so client tooling (Apollo/Relay) works out of the box.
15
+
16
+ ```graphql
17
+ type ProjectConnection {
18
+ edges: [ProjectEdge!]!
19
+ pageInfo: PageInfo!
20
+ }
21
+
22
+ type ProjectEdge {
23
+ node: Project!
24
+ cursor: String!
25
+ }
26
+
27
+ type PageInfo {
28
+ hasNextPage: Boolean!
29
+ endCursor: String
30
+ }
31
+
32
+ type Query {
33
+ projects(first: Int!, after: String): ProjectConnection!
34
+ }
35
+ ```
36
+
37
+ - `first` + `after` paginate forward; `last` + `before` backward.
38
+ - `cursor` is opaque — clients pass `endCursor` back as `after`; they never construct it.
39
+
40
+ ## Mutations & error model
41
+
42
+ - **One input object per mutation, one payload type out** — keeps mutations evolvable: `createProject(input: CreateProjectInput!): CreateProjectPayload!`.
43
+ - **Model expected, business-level failures as data, not as protocol errors.** A union or a payload with `userErrors { field, message }` lets clients handle validation without parsing the transport `errors[]`.
44
+
45
+ ```graphql
46
+ type CreateProjectPayload {
47
+ project: Project
48
+ userErrors: [UserError!]!
49
+ }
50
+ ```
51
+
52
+ ## The HTTP-200 error model (the big operational difference)
53
+
54
+ GraphQL returns **HTTP 200 even when a field errored.** Failures appear in a top-level `errors[]` array alongside partial `data`:
55
+
56
+ ```json
57
+ {
58
+ "data": { "project": null },
59
+ "errors": [
60
+ { "message": "Project not found", "path": ["project"], "extensions": { "code": "NOT_FOUND" } }
61
+ ]
62
+ }
63
+ ```
64
+
65
+ Consequences you must design for:
66
+ - **Monitoring cannot rely on HTTP 5xx.** Alerting must inspect the `errors[]` payload and `extensions.code`, not the status line. Wire this before launch or outages go invisible.
67
+ - **Clients must check `errors[]` on every response**, even a 200. Treating 200 as success silently swallows failures.
68
+ - **Standardize `extensions.code`** (e.g. `NOT_FOUND`, `FORBIDDEN`, `VALIDATION`) so clients and dashboards branch on a stable machine value — the GraphQL analogue of an RFC 9457 `type`.
69
+
70
+ This single difference, not the query syntax, is what makes GraphQL operationally distinct from REST. Decide it explicitly.
@@ -0,0 +1,86 @@
1
+ # OpenAPI 3.1 contract
2
+
3
+ The contract is the artifact. Capture a REST design as an **OpenAPI 3.1** document — a real, lintable file that a framework skill generates server stubs and clients from, and that `scripts/verify.sh` checks.
4
+
5
+ Why 3.1: it aligns with JSON Schema 2020-12, so your request/response schemas are reusable JSON Schema, and it adds `webhooks` and richer `$ref` handling over 3.0.
6
+
7
+ ## Minimal skeleton
8
+
9
+ ```yaml
10
+ openapi: 3.1.0
11
+ info:
12
+ title: Projects API
13
+ version: 1.0.0
14
+ servers:
15
+ - url: https://api.acme.com/v1
16
+ paths:
17
+ /projects:
18
+ get:
19
+ summary: List projects
20
+ parameters:
21
+ - { name: cursor, in: query, schema: { type: string } }
22
+ - { name: limit, in: query, schema: { type: integer, maximum: 100, default: 50 } }
23
+ responses:
24
+ "200":
25
+ description: A page of projects
26
+ content:
27
+ application/json:
28
+ schema: { $ref: "#/components/schemas/ProjectPage" }
29
+ default:
30
+ $ref: "#/components/responses/Problem"
31
+ post:
32
+ summary: Create a project
33
+ parameters:
34
+ - { name: Idempotency-Key, in: header, schema: { type: string } }
35
+ requestBody:
36
+ required: true
37
+ content:
38
+ application/json:
39
+ schema: { $ref: "#/components/schemas/ProjectCreate" }
40
+ responses:
41
+ "201":
42
+ description: Created
43
+ headers:
44
+ Location: { schema: { type: string } }
45
+ content:
46
+ application/json:
47
+ schema: { $ref: "#/components/schemas/Project" }
48
+ "422": { $ref: "#/components/responses/Problem" }
49
+ default: { $ref: "#/components/responses/Problem" }
50
+ components:
51
+ responses:
52
+ Problem:
53
+ description: RFC 9457 problem details
54
+ content:
55
+ application/problem+json:
56
+ schema: { $ref: "#/components/schemas/Problem" }
57
+ schemas:
58
+ Problem:
59
+ type: object
60
+ properties:
61
+ type: { type: string, format: uri }
62
+ title: { type: string }
63
+ status: { type: integer }
64
+ detail: { type: string }
65
+ instance: { type: string }
66
+ required: [type, title, status]
67
+ ProjectPage:
68
+ type: object
69
+ properties:
70
+ data: { type: array, items: { $ref: "#/components/schemas/Project" } }
71
+ next_cursor: { type: [string, "null"] }
72
+ has_more: { type: boolean }
73
+ required: [data, has_more]
74
+ ```
75
+
76
+ ## Conventions that keep it clean
77
+
78
+ - **One reusable `Problem` schema and `Problem` response**, referenced by every error case — enforces the single RFC 9457 envelope.
79
+ - **A `default` response on every operation** so unexpected statuses still resolve to the problem shape.
80
+ - **Every list operation carries `cursor` + `limit`** params — verify.sh warns when a list path lacks them.
81
+ - **No verbs in path keys** — verify.sh flags `/get*`, `/create*`, `/delete*` segments.
82
+ - **`info.version` is the contract version**, distinct from the URL `/v1` major; bump it on any non-breaking addition too.
83
+
84
+ ## Handoff
85
+
86
+ Give the framework skill this file. It becomes the source of truth: FastAPI/NestJS/Go/Node tooling can generate models, route stubs, and validation from it, and clients can generate SDKs. Keep the OpenAPI doc updated *before* the code changes — design-first, not code-first.
@@ -0,0 +1,63 @@
1
+ # REST conventions
2
+
3
+ Depth behind the SKILL. Framework-neutral. Adopt as house style and keep it consistent across every endpoint.
4
+
5
+ ## Status-code map — when each
6
+
7
+ | Code | Meaning | Use when |
8
+ |---|---|---|
9
+ | 200 OK | success + body | GET, or a PUT/PATCH that returns the updated resource |
10
+ | 201 Created | created | POST created a resource — include `Location: /collection/{id}` |
11
+ | 202 Accepted | accepted, not done | async work queued — return a status/poll URL |
12
+ | 204 No Content | success, no body | DELETE, or PUT/PATCH that returns nothing |
13
+ | 304 Not Modified | cache hit | conditional GET with `If-None-Match` and ETag matched |
14
+ | 400 Bad Request | malformed | body/params unparseable or syntactically wrong |
15
+ | 401 Unauthorized | unauthenticated | missing/invalid credentials — re-auth may help |
16
+ | 403 Forbidden | unauthorized | authenticated but lacks permission/scope |
17
+ | 404 Not Found | absent | resource doesn't exist (or is hidden from this caller) |
18
+ | 405 Method Not Allowed | wrong verb | path exists, method doesn't — set `Allow` header |
19
+ | 409 Conflict | state collision | duplicate, version mismatch, concurrent edit |
20
+ | 412 Precondition Failed | stale write | `If-Match` ETag no longer matches |
21
+ | 415 Unsupported Media Type | bad content-type | server can't process the sent representation |
22
+ | 422 Unprocessable Content | semantic invalid | parses fine, fails business validation |
23
+ | 429 Too Many Requests | rate limited | include `Retry-After` |
24
+ | 500 Internal Server Error | server fault | unexpected — never leak the stack |
25
+ | 503 Service Unavailable | temporarily down | maintenance/overload — `Retry-After` if known |
26
+
27
+ Rule of thumb: client mistakes are 4xx, server faults are 5xx. Never blame the client for your bug, never hide your bug behind a 200.
28
+
29
+ ## Query grammar (filter / sort / sparse fieldsets)
30
+
31
+ Keep one grammar across all list endpoints so clients learn it once.
32
+
33
+ ```http
34
+ GET /projects?status=active&owner=u_42&sort=-created_at,title&fields=id,title,status&limit=50
35
+ ```
36
+
37
+ - **Filter** by field name as a query key: `?status=active`. For operators, namespace them: `?created_at[gte]=2026-01-01`. Pick one operator syntax and never mix.
38
+ - **Sort** with a comma list; `-` prefix = descending: `?sort=-created_at,title`.
39
+ - **Sparse fieldsets** let clients trim payloads: `?fields=id,title`. Whitelist allowed fields server-side.
40
+ - **Reserve** `limit`, `cursor` (or `offset`), `sort`, `fields`, `q` (free-text search) so they never collide with resource fields.
41
+
42
+ ## Content negotiation
43
+
44
+ - Default to `application/json`. Honor `Accept`; return `406 Not Acceptable` if you can't satisfy it.
45
+ - Validate `Content-Type` on writes; `415` if unsupported.
46
+ - Version via media type only if you chose header versioning (see versioning reference); otherwise keep it simple.
47
+
48
+ ## Rate-limit headers
49
+
50
+ Expose limits so well-behaved clients self-throttle:
51
+
52
+ ```http
53
+ RateLimit-Limit: 1000
54
+ RateLimit-Remaining: 12
55
+ RateLimit-Reset: 1735689600
56
+ Retry-After: 30
57
+ ```
58
+
59
+ On 429 always send `Retry-After`. Prefer the IETF `RateLimit-*` fields; the older `X-RateLimit-*` names are still common in the wild.
60
+
61
+ ## HATEOAS — pragmatic stance
62
+
63
+ Full hypermedia (links driving all client navigation) is rarely worth it for typical JSON APIs; clients hardcode URLs anyway. Useful subset: include a `Location` on 201, a `Link` header for pagination/successor-version, and self/next links in list envelopes when it costs little. Don't build a hypermedia framework no client will follow.
@@ -0,0 +1,49 @@
1
+ # Versioning & evolution
2
+
3
+ Default posture: **evolve additively, version rarely.** A version is a fork of your client base — earn it.
4
+
5
+ ## Breaking vs non-breaking matrix
6
+
7
+ | Change | Breaking? | Notes |
8
+ |---|---|---|
9
+ | Add a new optional response field | No | clients ignore unknown fields if you told them to |
10
+ | Add a new endpoint | No | nothing existing changes |
11
+ | Add a new optional query/body param | No | old requests still valid |
12
+ | Add a new enum value | No* | *only if clients were told to tolerate unknown values; otherwise breaking |
13
+ | Loosen a validation rule | No | previously-rejected input now accepted |
14
+ | Remove or rename a field | **Yes** | clients reading it break |
15
+ | Change a field's type or format | **Yes** | `string` → `object`, date format change, etc. |
16
+ | Make an optional field required | **Yes** | old requests start failing |
17
+ | Tighten validation (narrower accepted range) | **Yes** | previously-valid input now rejected |
18
+ | Change a status code for a case | **Yes** | client branching breaks |
19
+ | Change an error `type` URI for a case | **Yes** | clients branch on `type` |
20
+ | Change pagination/cursor semantics | **Yes** | in-flight pagination breaks |
21
+
22
+ Design hint: tell clients up front to **ignore unknown fields and tolerate unknown enum values** ("must-ignore" / robustness rule). That single contract clause turns many would-be breaking changes into additive ones.
23
+
24
+ ## Three versioning mechanisms
25
+
26
+ | Mechanism | Example | Pros | Cons |
27
+ |---|---|---|---|
28
+ | **URL path** | `/v1/projects` | visible, cacheable, browser-testable, expected by most clients | version leaks into every URL; "v" is coarse-grained |
29
+ | **Header / media type** | `Accept: application/vnd.acme.v2+json` | clean URLs, content-negotiated | harder to test/cache, easy to forget, opaque to humans |
30
+ | **Query param** | `/projects?version=2` | trivial to add | pollutes URLs, easy to omit, muddies caching |
31
+
32
+ **Default to URL path for public APIs.** Reserve header/media-type versioning for internal APIs where tooling controls the header. Don't mix mechanisms.
33
+
34
+ ## Deprecation & sunset workflow
35
+
36
+ 1. Ship the successor (new field/endpoint/version) additively.
37
+ 2. Mark the old surface deprecated in responses:
38
+
39
+ ```http
40
+ Deprecation: true
41
+ Sunset: Sat, 31 Oct 2026 23:59:59 GMT
42
+ Link: <https://api.acme.com/v2/projects>; rel="successor-version"
43
+ ```
44
+
45
+ 3. Document the migration and the sunset date; notify known integrators.
46
+ 4. Hold the deprecated surface working until the `Sunset` date — give clients real time (months, not days, for public APIs).
47
+ 5. After sunset, return `410 Gone` for the removed surface (not `404`) so clients learn it was intentional.
48
+
49
+ Keep the deprecation window generous and the messaging programmatic — clients should learn from headers, not from breakage.
@@ -0,0 +1,138 @@
1
+ #!/usr/bin/env bash
2
+ # verify.sh — read-only check of an API-design artifact (OpenAPI 3.1 spec).
3
+ #
4
+ # The api-design skill emits its contract as an OpenAPI document. This script
5
+ # finds candidate spec files under a target dir, validates they parse and carry
6
+ # the required OpenAPI keys, and emits non-fatal warnings for the design
7
+ # anti-patterns it can detect statically. It never writes anything.
8
+ #
9
+ # Usage: verify.sh [TARGET_DIR] (default: current directory)
10
+ # Exit: 0 no spec found (soft-pass) OR all found specs valid
11
+ # 1 a spec file is present but invalid/unparseable
12
+ #
13
+ # Soft-pass on a clean/empty target: a design may live only in a doc.
14
+
15
+ set -uo pipefail
16
+
17
+ TARGET="${1:-.}"
18
+ fail=0
19
+
20
+ note() { printf ' - %s\n' "$1"; }
21
+ warn() { printf ' ! %s\n' "$1"; }
22
+
23
+ if [ ! -d "$TARGET" ]; then
24
+ echo "verify(api-design): target '$TARGET' is not a directory — nothing to check."
25
+ exit 0
26
+ fi
27
+
28
+ # Collect candidate OpenAPI files (read-only). Tolerate no matches.
29
+ # Portable to bash 3.2 (macOS default): no mapfile; newline-delimited list.
30
+ specs=()
31
+ while IFS= read -r f; do
32
+ [ -n "$f" ] && specs+=("$f")
33
+ done < <(
34
+ find "$TARGET" \
35
+ \( -name 'openapi.yaml' -o -name 'openapi.yml' -o -name 'openapi.json' \
36
+ -o -name '*.openapi.yaml' -o -name '*.openapi.yml' -o -name '*.openapi.json' \) \
37
+ -type f 2>/dev/null
38
+ )
39
+
40
+ if [ "${#specs[@]}" -eq 0 ]; then
41
+ echo "verify(api-design): no OpenAPI spec found under '$TARGET' — soft-pass (design may be in-doc only)."
42
+ exit 0
43
+ fi
44
+
45
+ # Choose a linter if available; else fall back to a structural check.
46
+ LINTER=""
47
+ if command -v redocly >/dev/null 2>&1; then
48
+ LINTER="redocly"
49
+ elif command -v spectral >/dev/null 2>&1; then
50
+ LINTER="spectral"
51
+ fi
52
+
53
+ # Structural fallback: parse + required keys, using whatever is on PATH.
54
+ parse_check() {
55
+ local f="$1"
56
+ case "$f" in
57
+ *.json)
58
+ if command -v jq >/dev/null 2>&1; then
59
+ jq -e 'has("openapi") and has("info") and has("paths")' "$f" >/dev/null 2>&1
60
+ return $?
61
+ fi
62
+ ;;
63
+ *.yaml|*.yml)
64
+ if command -v python3 >/dev/null 2>&1; then
65
+ python3 - "$f" <<'PY' >/dev/null 2>&1
66
+ import sys
67
+ try:
68
+ import yaml
69
+ except Exception:
70
+ sys.exit(2) # no yaml lib -> can't check, treat as inconclusive
71
+ with open(sys.argv[1]) as fh:
72
+ d = yaml.safe_load(fh)
73
+ sys.exit(0 if isinstance(d, dict) and all(k in d for k in ("openapi", "info", "paths")) else 1)
74
+ PY
75
+ local rc=$?
76
+ [ "$rc" -eq 2 ] && return 3 # inconclusive
77
+ return $rc
78
+ fi
79
+ ;;
80
+ esac
81
+ return 3 # inconclusive: no suitable parser on PATH
82
+ }
83
+
84
+ # Static anti-pattern warnings (grep-based, never fatal).
85
+ antipattern_scan() {
86
+ local f="$1"
87
+ if grep -Eiq '"?/[A-Za-z0-9_]*(get|create|update|delete|fetch|list)[A-Za-z0-9_]*"?[[:space:]]*:' "$f"; then
88
+ warn "verb-like path segment(s) detected — paths should be nouns; HTTP methods are the verbs."
89
+ fi
90
+ if grep -Eq '(/[A-Za-z0-9_/{}]*)+[[:space:]]*:' "$f" && ! grep -Eiq 'cursor|limit|offset|first|after|page' "$f"; then
91
+ warn "no pagination params (cursor/limit/offset) found — list endpoints should paginate."
92
+ fi
93
+ if ! grep -Eiq 'problem\+json|"4[0-9][0-9]"|default[[:space:]]*:' "$f"; then
94
+ warn "no 4xx / default error responses found — every operation should define an error response (RFC 9457)."
95
+ fi
96
+ }
97
+
98
+ echo "verify(api-design): checking ${#specs[@]} spec file(s) under '$TARGET'"
99
+ [ -n "$LINTER" ] && echo " using linter: $LINTER"
100
+
101
+ for f in "${specs[@]}"; do
102
+ echo "* $f"
103
+ ok=1
104
+ if [ -n "$LINTER" ]; then
105
+ if [ "$LINTER" = "redocly" ]; then
106
+ redocly lint "$f" >/dev/null 2>&1 || ok=0
107
+ else
108
+ spectral lint "$f" >/dev/null 2>&1 || ok=0
109
+ fi
110
+ if [ "$ok" -eq 0 ]; then
111
+ # Linter unhappy: confirm with structural parse before failing hard.
112
+ parse_check "$f"; pc=$?
113
+ if [ "$pc" -eq 0 ]; then
114
+ warn "$LINTER reported issues but the spec parses and has required keys — review lint output."
115
+ else
116
+ note "spec is invalid per $LINTER."
117
+ fail=1
118
+ continue
119
+ fi
120
+ fi
121
+ else
122
+ parse_check "$f"; pc=$?
123
+ case "$pc" in
124
+ 0) : ;; # valid
125
+ 3) warn "no parser on PATH (jq/python3+pyyaml) — skipped structural validation." ;;
126
+ *) note "spec does not parse or is missing required keys (openapi/info/paths)."; fail=1; continue ;;
127
+ esac
128
+ fi
129
+ antipattern_scan "$f"
130
+ done
131
+
132
+ if [ "$fail" -ne 0 ]; then
133
+ echo "verify(api-design): FAIL — one or more specs are invalid."
134
+ exit 1
135
+ fi
136
+
137
+ echo "verify(api-design): OK (warnings, if any, are advisory)."
138
+ exit 0