@dsalazardev/ai-hub-cli 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1288) 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/cli/args.d.ts +4 -0
  44. package/dist/cli/args.js +63 -0
  45. package/dist/cli/context.d.ts +7 -0
  46. package/dist/cli/context.js +74 -0
  47. package/dist/cli/doctor.d.ts +14 -0
  48. package/dist/cli/doctor.js +200 -0
  49. package/dist/cli/drift.d.ts +2 -0
  50. package/dist/cli/drift.js +34 -0
  51. package/dist/cli/items.d.ts +5 -0
  52. package/dist/cli/items.js +10 -0
  53. package/dist/cli/legacy.d.ts +3 -0
  54. package/dist/cli/legacy.js +18 -0
  55. package/dist/cli/maintenance.d.ts +8 -0
  56. package/dist/cli/maintenance.js +262 -0
  57. package/dist/cli/memory.d.ts +2 -0
  58. package/dist/cli/memory.js +84 -0
  59. package/dist/cli/onboarding.d.ts +17 -0
  60. package/dist/cli/onboarding.js +234 -0
  61. package/dist/cli/run.d.ts +15 -0
  62. package/dist/cli/run.js +183 -0
  63. package/dist/cli/source.d.ts +5 -0
  64. package/dist/cli/source.js +22 -0
  65. package/dist/cli/trunk.d.ts +8 -0
  66. package/dist/cli/trunk.js +54 -0
  67. package/dist/cli/types.d.ts +17 -0
  68. package/dist/cli/types.js +4 -0
  69. package/dist/cli/worktrees.d.ts +11 -0
  70. package/dist/cli/worktrees.js +141 -0
  71. package/dist/engine/engine.d.ts +48 -0
  72. package/dist/engine/engine.js +114 -0
  73. package/dist/engine/gates.d.ts +2 -0
  74. package/dist/engine/gates.js +93 -0
  75. package/dist/frontmatter.d.ts +11 -0
  76. package/dist/frontmatter.js +30 -0
  77. package/dist/harness/guards/adapters/context.d.ts +19 -0
  78. package/dist/harness/guards/adapters/context.js +153 -0
  79. package/dist/harness/guards/adapters/hermes.d.ts +13 -0
  80. package/dist/harness/guards/adapters/hermes.js +18 -0
  81. package/dist/harness/guards/adapters/hooks.d.ts +25 -0
  82. package/dist/harness/guards/adapters/hooks.js +52 -0
  83. package/dist/harness/guards/branch.d.ts +5 -0
  84. package/dist/harness/guards/branch.js +43 -0
  85. package/dist/harness/guards/danger.d.ts +13 -0
  86. package/dist/harness/guards/danger.js +157 -0
  87. package/dist/harness/guards/index.d.ts +6 -0
  88. package/dist/harness/guards/index.js +6 -0
  89. package/dist/harness/guards/preflight.d.ts +14 -0
  90. package/dist/harness/guards/preflight.js +37 -0
  91. package/dist/harness/guards/ship.d.ts +2 -0
  92. package/dist/harness/guards/ship.js +35 -0
  93. package/dist/harness/guards/trunk.d.ts +5 -0
  94. package/dist/harness/guards/trunk.js +41 -0
  95. package/dist/harness/guards/types.d.ts +50 -0
  96. package/dist/harness/guards/types.js +1 -0
  97. package/dist/harness/memory/ledger.d.ts +53 -0
  98. package/dist/harness/memory/ledger.js +136 -0
  99. package/dist/harness/memory/state.d.ts +35 -0
  100. package/dist/harness/memory/state.js +121 -0
  101. package/dist/harness/worktree/reaper.d.ts +32 -0
  102. package/dist/harness/worktree/reaper.js +54 -0
  103. package/dist/manifest/build.d.ts +1 -0
  104. package/dist/manifest/build.js +1 -0
  105. package/dist/manifest/cli.d.ts +2 -0
  106. package/dist/manifest/cli.js +44 -0
  107. package/dist/manifest/dispatch.d.ts +13 -0
  108. package/dist/manifest/dispatch.js +36 -0
  109. package/dist/manifest/labels.d.ts +15 -0
  110. package/dist/manifest/labels.js +70 -0
  111. package/dist/manifest/manifest.d.ts +113 -0
  112. package/dist/manifest/manifest.js +202 -0
  113. package/dist/package-info.d.ts +4 -0
  114. package/dist/package-info.js +7 -0
  115. package/dist/paths.d.ts +33 -0
  116. package/dist/paths.js +123 -0
  117. package/dist/presets/detect.d.ts +24 -0
  118. package/dist/presets/detect.js +116 -0
  119. package/dist/presets/materialize.d.ts +18 -0
  120. package/dist/presets/materialize.js +101 -0
  121. package/dist/presets/resolve.d.ts +37 -0
  122. package/dist/presets/resolve.js +83 -0
  123. package/dist/presets/schema.d.ts +57 -0
  124. package/dist/presets/schema.js +68 -0
  125. package/dist/source-checkout.d.ts +8 -0
  126. package/dist/source-checkout.js +19 -0
  127. package/dist/sync/config.d.ts +47 -0
  128. package/dist/sync/config.js +85 -0
  129. package/dist/sync/lock.d.ts +16 -0
  130. package/dist/sync/lock.js +43 -0
  131. package/dist/sync/render.d.ts +18 -0
  132. package/dist/sync/render.js +255 -0
  133. package/dist/sync/sync.d.ts +38 -0
  134. package/dist/sync/sync.js +288 -0
  135. package/dist/sync/targets.d.ts +24 -0
  136. package/dist/sync/targets.js +78 -0
  137. package/engine/coupling.json +4 -0
  138. package/engine/engine.yaml +250 -0
  139. package/engine/legacy-paths.json +4 -0
  140. package/engine/preflight.md +11 -0
  141. package/manifest.json +393 -0
  142. package/package.json +61 -4
  143. package/presets/angular-express/harness/rules/01-zero-any.sh +25 -0
  144. package/presets/angular-express/harness/rules/02-no-ng-module.sh +21 -0
  145. package/presets/angular-express/harness/rules/03-no-constructor-injection.sh +21 -0
  146. package/presets/angular-express/harness/rules/04-no-legacy-directives.sh +21 -0
  147. package/presets/angular-express/harness/rules/05-no-dolibarrdal-inheritance.sh +25 -0
  148. package/presets/angular-express/harness/rules/06-no-todos.sh +22 -0
  149. package/presets/angular-express/harness/run-all.sh +13 -0
  150. package/presets/angular-express/preset.yaml +55 -0
  151. package/presets/angular-express/references/common-imports-catalog.md +146 -0
  152. package/presets/angular-express/references/fichajes-migration-notes.md +57 -0
  153. package/presets/angular-express/references/module-implementation-flow.md +260 -0
  154. package/presets/angular-express/references/products-coding-standard.md +143 -0
  155. package/presets/angular-express/references/products-module-blueprint.md +860 -0
  156. package/presets/angular-express/references/replicate-module-checklist.md +72 -0
  157. package/presets/angular-express/references/users-migration-notes.md +172 -0
  158. package/presets/angular-express/rules/architecture.md +8 -0
  159. package/presets/angular-express/rules/backend.md +4 -0
  160. package/presets/angular-express/rules/frontend.md +53 -0
  161. package/presets/angular-express/skills/angular-developer/SKILL.md +130 -0
  162. package/presets/angular-express/skills/angular-developer/references/angular-animations.md +160 -0
  163. package/presets/angular-express/skills/angular-developer/references/angular-aria.md +410 -0
  164. package/presets/angular-express/skills/angular-developer/references/cli.md +86 -0
  165. package/presets/angular-express/skills/angular-developer/references/component-harnesses.md +59 -0
  166. package/presets/angular-express/skills/angular-developer/references/component-styling.md +91 -0
  167. package/presets/angular-express/skills/angular-developer/references/components.md +117 -0
  168. package/presets/angular-express/skills/angular-developer/references/creating-services.md +97 -0
  169. package/presets/angular-express/skills/angular-developer/references/data-resolvers.md +69 -0
  170. package/presets/angular-express/skills/angular-developer/references/define-routes.md +67 -0
  171. package/presets/angular-express/skills/angular-developer/references/defining-providers.md +72 -0
  172. package/presets/angular-express/skills/angular-developer/references/di-fundamentals.md +120 -0
  173. package/presets/angular-express/skills/angular-developer/references/e2e-testing.md +66 -0
  174. package/presets/angular-express/skills/angular-developer/references/effects.md +83 -0
  175. package/presets/angular-express/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  176. package/presets/angular-express/skills/angular-developer/references/host-elements.md +80 -0
  177. package/presets/angular-express/skills/angular-developer/references/injection-context.md +63 -0
  178. package/presets/angular-express/skills/angular-developer/references/inputs.md +101 -0
  179. package/presets/angular-express/skills/angular-developer/references/linked-signal.md +59 -0
  180. package/presets/angular-express/skills/angular-developer/references/loading-strategies.md +61 -0
  181. package/presets/angular-express/skills/angular-developer/references/mcp.md +106 -0
  182. package/presets/angular-express/skills/angular-developer/references/migrations.md +30 -0
  183. package/presets/angular-express/skills/angular-developer/references/navigate-to-routes.md +69 -0
  184. package/presets/angular-express/skills/angular-developer/references/outputs.md +86 -0
  185. package/presets/angular-express/skills/angular-developer/references/reactive-forms.md +122 -0
  186. package/presets/angular-express/skills/angular-developer/references/rendering-strategies.md +44 -0
  187. package/presets/angular-express/skills/angular-developer/references/resource.md +74 -0
  188. package/presets/angular-express/skills/angular-developer/references/route-animations.md +56 -0
  189. package/presets/angular-express/skills/angular-developer/references/route-guards.md +52 -0
  190. package/presets/angular-express/skills/angular-developer/references/router-lifecycle.md +45 -0
  191. package/presets/angular-express/skills/angular-developer/references/router-testing.md +87 -0
  192. package/presets/angular-express/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  193. package/presets/angular-express/skills/angular-developer/references/signal-forms.md +897 -0
  194. package/presets/angular-express/skills/angular-developer/references/signals-overview.md +94 -0
  195. package/presets/angular-express/skills/angular-developer/references/tailwind-css.md +69 -0
  196. package/presets/angular-express/skills/angular-developer/references/template-driven-forms.md +114 -0
  197. package/presets/angular-express/skills/angular-developer/references/testing-fundamentals.md +66 -0
  198. package/presets/angular-express/skills/angular-new-app/SKILL.md +62 -0
  199. package/presets/angular-express/skills/frontend-design/LICENSE.txt +177 -0
  200. package/presets/angular-express/skills/frontend-design/SKILL.md +55 -0
  201. package/presets/angular-express/skills/onna-architecture-angular/SKILL.md +229 -0
  202. package/presets/angular-express/skills/onna-architecture-bff/SKILL.md +446 -0
  203. package/presets/angular-express/skills/onna-architecture-common/SKILL.md +313 -0
  204. package/presets/angular-express/skills/onna-design-system/SKILL.md +615 -0
  205. package/presets/base/preset.yaml +27 -0
  206. package/presets/base/rules/core.md +35 -0
  207. package/presets/generic-ts/preset.yaml +46 -0
  208. package/presets/python/preset.yaml +47 -0
  209. package/presets/python/rules/python.md +10 -0
  210. package/schema/engine.schema.json +73 -0
  211. package/schema/manifest.schema.json +140 -0
  212. package/schema/preset.schema.json +98 -0
  213. package/schema/state.schema.json +27 -0
  214. package/skills/shared/ab-testing/SKILL.md +159 -0
  215. package/skills/shared/ab-testing/evals/README.md +8 -0
  216. package/skills/shared/ab-testing/evals/cases.yaml +49 -0
  217. package/skills/shared/ab-testing/references/pitfalls.md +74 -0
  218. package/skills/shared/ab-testing/references/sample-size-and-cuped.md +128 -0
  219. package/skills/shared/ab-testing/scripts/verify.sh +89 -0
  220. package/skills/shared/accessibility/SKILL.md +216 -0
  221. package/skills/shared/accessibility/evals/README.md +3 -0
  222. package/skills/shared/accessibility/evals/cases.yaml +47 -0
  223. package/skills/shared/accessibility/references/aria-patterns.md +113 -0
  224. package/skills/shared/accessibility/references/wcag22-checklist.md +83 -0
  225. package/skills/shared/accessibility/scripts/verify.sh +103 -0
  226. package/skills/shared/agent-eval/SKILL.md +187 -0
  227. package/skills/shared/agent-eval/evals/README.md +12 -0
  228. package/skills/shared/agent-eval/evals/cases.yaml +45 -0
  229. package/skills/shared/agent-eval/references/judge-design.md +118 -0
  230. package/skills/shared/agent-eval/references/runner-and-gate.md +183 -0
  231. package/skills/shared/agent-eval/scripts/verify.sh +161 -0
  232. package/skills/shared/agent-safety/SKILL.md +169 -0
  233. package/skills/shared/agent-safety/evals/README.md +12 -0
  234. package/skills/shared/agent-safety/evals/cases.yaml +46 -0
  235. package/skills/shared/agent-safety/references/threat-model.md +51 -0
  236. package/skills/shared/analyze/SKILL.md +123 -0
  237. package/skills/shared/analyze/evals/README.md +72 -0
  238. package/skills/shared/analyze/evals/cases.yaml +74 -0
  239. package/skills/shared/angular/SKILL.md +275 -0
  240. package/skills/shared/angular/evals/README.md +3 -0
  241. package/skills/shared/angular/evals/cases.yaml +38 -0
  242. package/skills/shared/angular/references/migration.md +81 -0
  243. package/skills/shared/angular/references/signals-rxjs.md +92 -0
  244. package/skills/shared/angular/scripts/verify.sh +122 -0
  245. package/skills/shared/api-connector-builder/SKILL.md +268 -0
  246. package/skills/shared/api-connector-builder/evals/README.md +11 -0
  247. package/skills/shared/api-connector-builder/evals/cases.yaml +47 -0
  248. package/skills/shared/api-connector-builder/references/auth-flows.md +132 -0
  249. package/skills/shared/api-connector-builder/references/pagination.md +144 -0
  250. package/skills/shared/api-connector-builder/scripts/verify.sh +172 -0
  251. package/skills/shared/api-design/SKILL.md +182 -0
  252. package/skills/shared/api-design/evals/README.md +3 -0
  253. package/skills/shared/api-design/evals/cases.yaml +45 -0
  254. package/skills/shared/api-design/references/graphql-design.md +70 -0
  255. package/skills/shared/api-design/references/openapi-contract.md +86 -0
  256. package/skills/shared/api-design/references/rest-conventions.md +63 -0
  257. package/skills/shared/api-design/references/versioning-and-evolution.md +49 -0
  258. package/skills/shared/api-design/scripts/verify.sh +138 -0
  259. package/skills/shared/astro/SKILL.md +257 -0
  260. package/skills/shared/astro/evals/README.md +3 -0
  261. package/skills/shared/astro/evals/cases.yaml +41 -0
  262. package/skills/shared/astro/references/content-layer.md +118 -0
  263. package/skills/shared/astro/references/deploy-and-integrations.md +163 -0
  264. package/skills/shared/astro/scripts/verify.sh +137 -0
  265. package/skills/shared/author-skill/SKILL.md +194 -0
  266. package/skills/shared/author-skill/evals/README.md +66 -0
  267. package/skills/shared/author-skill/evals/cases.yaml +75 -0
  268. package/skills/shared/author-skill/references/description-recipe.md +85 -0
  269. package/skills/shared/author-skill/references/eval-authoring.md +108 -0
  270. package/skills/shared/author-skill/references/skill-conventions.md +95 -0
  271. package/skills/shared/automation-flows/SKILL.md +122 -0
  272. package/skills/shared/automation-flows/evals/README.md +5 -0
  273. package/skills/shared/automation-flows/evals/cases.yaml +44 -0
  274. package/skills/shared/automation-flows/references/error-handling.md +58 -0
  275. package/skills/shared/automation-flows/references/n8n-workflow-json.md +63 -0
  276. package/skills/shared/automation-flows/scripts/verify.sh +78 -0
  277. package/skills/shared/aws-essentials/SKILL.md +206 -0
  278. package/skills/shared/aws-essentials/evals/README.md +10 -0
  279. package/skills/shared/aws-essentials/evals/cases.yaml +44 -0
  280. package/skills/shared/aws-essentials/references/iam-least-privilege.md +134 -0
  281. package/skills/shared/aws-essentials/references/rds-cloudfront-recipes.md +127 -0
  282. package/skills/shared/aws-essentials/scripts/verify.sh +99 -0
  283. package/skills/shared/backups/SKILL.md +131 -0
  284. package/skills/shared/backups/evals/README.md +3 -0
  285. package/skills/shared/backups/evals/cases.yaml +42 -0
  286. package/skills/shared/backups/references/engine-recipes.md +121 -0
  287. package/skills/shared/backups/references/restore-runbook.md +65 -0
  288. package/skills/shared/backups/scripts/verify.sh +80 -0
  289. package/skills/shared/bash-scripting/SKILL.md +227 -0
  290. package/skills/shared/bash-scripting/evals/README.md +3 -0
  291. package/skills/shared/bash-scripting/evals/cases.yaml +45 -0
  292. package/skills/shared/bash-scripting/references/portability.md +97 -0
  293. package/skills/shared/bash-scripting/scripts/verify.sh +140 -0
  294. package/skills/shared/building-agents/SKILL.md +386 -0
  295. package/skills/shared/building-agents/evals/README.md +68 -0
  296. package/skills/shared/building-agents/evals/cases.yaml +60 -0
  297. package/skills/shared/building-agents/references/agent-loops-and-harness.md +371 -0
  298. package/skills/shared/building-agents/references/evals-and-observability.md +420 -0
  299. package/skills/shared/building-agents/references/mcp-servers.md +294 -0
  300. package/skills/shared/building-agents/references/provider-abstraction.md +489 -0
  301. package/skills/shared/building-agents/references/tools-and-rag.md +417 -0
  302. package/skills/shared/building-agents/scripts/verify.sh +121 -0
  303. package/skills/shared/chatbot/SKILL.md +151 -0
  304. package/skills/shared/chatbot/evals/README.md +13 -0
  305. package/skills/shared/chatbot/evals/cases.yaml +43 -0
  306. package/skills/shared/chatbot/references/handoff-and-sales.md +71 -0
  307. package/skills/shared/chatbot/references/system-prompt-and-guardrails.md +78 -0
  308. package/skills/shared/chatbot/scripts/verify.sh +162 -0
  309. package/skills/shared/chrome-extension/SKILL.md +169 -0
  310. package/skills/shared/chrome-extension/evals/README.md +12 -0
  311. package/skills/shared/chrome-extension/evals/cases.yaml +40 -0
  312. package/skills/shared/chrome-extension/references/store-and-migration.md +84 -0
  313. package/skills/shared/chrome-extension/scripts/verify.sh +62 -0
  314. package/skills/shared/clarify/SKILL.md +161 -0
  315. package/skills/shared/clarify/evals/README.md +70 -0
  316. package/skills/shared/clarify/evals/cases.yaml +71 -0
  317. package/skills/shared/clickhouse-analytics/SKILL.md +159 -0
  318. package/skills/shared/clickhouse-analytics/evals/README.md +3 -0
  319. package/skills/shared/clickhouse-analytics/evals/cases.yaml +45 -0
  320. package/skills/shared/clickhouse-analytics/references/ingestion-and-mvs.md +109 -0
  321. package/skills/shared/clickhouse-analytics/references/query-optimization.md +76 -0
  322. package/skills/shared/clickhouse-analytics/references/schema-and-engines.md +63 -0
  323. package/skills/shared/clickhouse-analytics/scripts/verify.sh +109 -0
  324. package/skills/shared/cloudflare/SKILL.md +186 -0
  325. package/skills/shared/cloudflare/evals/README.md +15 -0
  326. package/skills/shared/cloudflare/evals/cases.yaml +46 -0
  327. package/skills/shared/cloudflare/references/storage-primitives.md +104 -0
  328. package/skills/shared/cloudflare/references/wrangler-config.md +91 -0
  329. package/skills/shared/cloudflare/scripts/verify.sh +133 -0
  330. package/skills/shared/code-review/SKILL.md +132 -0
  331. package/skills/shared/code-review/evals/README.md +3 -0
  332. package/skills/shared/code-review/evals/cases.yaml +55 -0
  333. package/skills/shared/code-review/references/pr-workflow.md +67 -0
  334. package/skills/shared/codebase-onboarding/SKILL.md +128 -0
  335. package/skills/shared/codebase-onboarding/evals/README.md +3 -0
  336. package/skills/shared/codebase-onboarding/evals/cases.yaml +69 -0
  337. package/skills/shared/codebase-onboarding/references/recon-playbook.md +57 -0
  338. package/skills/shared/codebase-onboarding/scripts/verify.sh +54 -0
  339. package/skills/shared/compose-multiplatform/SKILL.md +198 -0
  340. package/skills/shared/compose-multiplatform/evals/README.md +3 -0
  341. package/skills/shared/compose-multiplatform/evals/cases.yaml +40 -0
  342. package/skills/shared/compose-multiplatform/references/ios-interop.md +91 -0
  343. package/skills/shared/compose-multiplatform/references/project-setup.md +96 -0
  344. package/skills/shared/compose-multiplatform/scripts/verify.sh +123 -0
  345. package/skills/shared/connect-tool/SKILL.md +163 -0
  346. package/skills/shared/connect-tool/evals/cases.yaml +58 -0
  347. package/skills/shared/constitution/SKILL.md +158 -0
  348. package/skills/shared/constitution/evals/README.md +68 -0
  349. package/skills/shared/constitution/evals/cases.yaml +72 -0
  350. package/skills/shared/constitution/references/constitution-template.md +100 -0
  351. package/skills/shared/context-budget/SKILL.md +114 -0
  352. package/skills/shared/context-budget/evals/README.md +11 -0
  353. package/skills/shared/context-budget/evals/cases.yaml +40 -0
  354. package/skills/shared/context-budget/references/handoff-and-compaction.md +96 -0
  355. package/skills/shared/continuous-learning/SKILL.md +106 -0
  356. package/skills/shared/continuous-learning/evals/README.md +16 -0
  357. package/skills/shared/continuous-learning/evals/cases.yaml +39 -0
  358. package/skills/shared/continuous-learning/references/lesson-routing.md +106 -0
  359. package/skills/shared/coolify/SKILL.md +194 -0
  360. package/skills/shared/coolify/evals/README.md +21 -0
  361. package/skills/shared/coolify/evals/cases.yaml +46 -0
  362. package/skills/shared/coolify/references/databases-and-backups.md +99 -0
  363. package/skills/shared/coolify/references/deploy-recipes.md +105 -0
  364. package/skills/shared/coolify/references/install-and-proxy.md +80 -0
  365. package/skills/shared/coolify/scripts/verify.sh +123 -0
  366. package/skills/shared/cost-tracking/SKILL.md +176 -0
  367. package/skills/shared/cost-tracking/evals/README.md +3 -0
  368. package/skills/shared/cost-tracking/evals/cases.yaml +45 -0
  369. package/skills/shared/cost-tracking/references/cloud-caps.md +52 -0
  370. package/skills/shared/cost-tracking/references/pricing-tables.md +51 -0
  371. package/skills/shared/cost-tracking/scripts/verify.sh +135 -0
  372. package/skills/shared/cpp/SKILL.md +302 -0
  373. package/skills/shared/cpp/evals/README.md +14 -0
  374. package/skills/shared/cpp/evals/cases.yaml +44 -0
  375. package/skills/shared/cpp/references/cmake.md +167 -0
  376. package/skills/shared/cpp/references/move-and-templates.md +130 -0
  377. package/skills/shared/cpp/references/undefined-behavior.md +86 -0
  378. package/skills/shared/cpp/scripts/verify.sh +165 -0
  379. package/skills/shared/csharp-dotnet/SKILL.md +272 -0
  380. package/skills/shared/csharp-dotnet/evals/README.md +3 -0
  381. package/skills/shared/csharp-dotnet/evals/cases.yaml +48 -0
  382. package/skills/shared/csharp-dotnet/references/aspnetcore.md +99 -0
  383. package/skills/shared/csharp-dotnet/references/async.md +82 -0
  384. package/skills/shared/csharp-dotnet/references/efcore.md +96 -0
  385. package/skills/shared/csharp-dotnet/scripts/verify.sh +90 -0
  386. package/skills/shared/data-cleaning/SKILL.md +259 -0
  387. package/skills/shared/data-cleaning/evals/README.md +16 -0
  388. package/skills/shared/data-cleaning/evals/cases.yaml +57 -0
  389. package/skills/shared/data-cleaning/references/normalization-recipes.md +136 -0
  390. package/skills/shared/data-cleaning/references/validation-patterns.md +134 -0
  391. package/skills/shared/data-cleaning/scripts/verify.sh +115 -0
  392. package/skills/shared/data-scraper/SKILL.md +130 -0
  393. package/skills/shared/data-scraper/evals/README.md +3 -0
  394. package/skills/shared/data-scraper/evals/cases.yaml +46 -0
  395. package/skills/shared/data-scraper/references/anti-bot.md +85 -0
  396. package/skills/shared/data-scraper/references/frameworks.md +116 -0
  397. package/skills/shared/data-scraper/references/legal-compliance.md +64 -0
  398. package/skills/shared/data-scraper/scripts/verify.sh +166 -0
  399. package/skills/shared/db-migrations/SKILL.md +237 -0
  400. package/skills/shared/db-migrations/evals/README.md +10 -0
  401. package/skills/shared/db-migrations/evals/cases.yaml +46 -0
  402. package/skills/shared/db-migrations/references/backfill-and-batching.md +105 -0
  403. package/skills/shared/db-migrations/references/expand-contract-playbook.md +152 -0
  404. package/skills/shared/db-migrations/references/tools-and-runners.md +88 -0
  405. package/skills/shared/db-migrations/scripts/verify.sh +112 -0
  406. package/skills/shared/debug/SKILL.md +188 -0
  407. package/skills/shared/debug/evals/README.md +88 -0
  408. package/skills/shared/debug/evals/cases.yaml +74 -0
  409. package/skills/shared/decision-challenge/SKILL.md +113 -0
  410. package/skills/shared/decision-challenge/evals/README.md +3 -0
  411. package/skills/shared/decision-challenge/evals/cases.yaml +42 -0
  412. package/skills/shared/decision-records/SKILL.md +202 -0
  413. package/skills/shared/decision-records/evals/README.md +3 -0
  414. package/skills/shared/decision-records/evals/cases.yaml +43 -0
  415. package/skills/shared/decision-records/references/templates.md +252 -0
  416. package/skills/shared/decision-records/scripts/verify.sh +105 -0
  417. package/skills/shared/deep-learning/SKILL.md +226 -0
  418. package/skills/shared/deep-learning/evals/README.md +11 -0
  419. package/skills/shared/deep-learning/evals/cases.yaml +48 -0
  420. package/skills/shared/deep-learning/references/distributed.md +105 -0
  421. package/skills/shared/deep-learning/references/training-recipes.md +135 -0
  422. package/skills/shared/deployment/SKILL.md +374 -0
  423. package/skills/shared/deployment/evals/README.md +50 -0
  424. package/skills/shared/deployment/evals/cases.yaml +53 -0
  425. package/skills/shared/deployment/references/coolify.md +216 -0
  426. package/skills/shared/deployment/references/dockerfiles-by-stack.md +319 -0
  427. package/skills/shared/deployment/references/github-actions.md +295 -0
  428. package/skills/shared/deployment/references/hosting-targets.md +272 -0
  429. package/skills/shared/deployment/scripts/verify.sh +134 -0
  430. package/skills/shared/deprecation/SKILL.md +123 -0
  431. package/skills/shared/deprecation/evals/README.md +3 -0
  432. package/skills/shared/deprecation/evals/cases.yaml +42 -0
  433. package/skills/shared/design/IMPECCABLE-LICENSE.txt +191 -0
  434. package/skills/shared/design/SKILL.md +111 -0
  435. package/skills/shared/design/THIRD_PARTY.md +26 -0
  436. package/skills/shared/design/engine/LICENSE +21 -0
  437. package/skills/shared/design/engine/RUN.md +515 -0
  438. package/skills/shared/design/engine/UPSTREAM.json +4 -0
  439. package/skills/shared/design/engine/assets/app.css +216 -0
  440. package/skills/shared/design/engine/assets/base.css +105 -0
  441. package/skills/shared/design/engine/assets/base.js +37 -0
  442. package/skills/shared/design/engine/assets/charts.js +617 -0
  443. package/skills/shared/design/engine/assets/scenes/stage.css +28 -0
  444. package/skills/shared/design/engine/assets/scenes/stage.js +133 -0
  445. package/skills/shared/design/engine/library/app.json +1327 -0
  446. package/skills/shared/design/engine/library/directions.json +1078 -0
  447. package/skills/shared/design/engine/library/heroes.json +1086 -0
  448. package/skills/shared/design/engine/library/motions.json +92 -0
  449. package/skills/shared/design/engine/library/palettes.json +1485 -0
  450. package/skills/shared/design/engine/library/photos.json +7240 -0
  451. package/skills/shared/design/engine/library/sections.json +4429 -0
  452. package/skills/shared/design/engine/library/sites.json +8350 -0
  453. package/skills/shared/design/engine/library/type.json +2024 -0
  454. package/skills/shared/design/engine/references/app-screens.md +1199 -0
  455. package/skills/shared/design/engine/references/colour.md +141 -0
  456. package/skills/shared/design/engine/references/copy.md +177 -0
  457. package/skills/shared/design/engine/references/critique.md +182 -0
  458. package/skills/shared/design/engine/references/imagery.md +791 -0
  459. package/skills/shared/design/engine/references/layout.md +292 -0
  460. package/skills/shared/design/engine/references/motion.md +980 -0
  461. package/skills/shared/design/engine/references/research.md +356 -0
  462. package/skills/shared/design/engine/references/scenes.md +174 -0
  463. package/skills/shared/design/engine/references/tells.md +115 -0
  464. package/skills/shared/design/engine/references/type.md +170 -0
  465. package/skills/shared/design/engine/scripts/assets.mjs +865 -0
  466. package/skills/shared/design/engine/scripts/draw.mjs +584 -0
  467. package/skills/shared/design/engine/scripts/inspect.mjs +303 -0
  468. package/skills/shared/design/engine/scripts/lib/app-draw.mjs +203 -0
  469. package/skills/shared/design/engine/scripts/lib/cdp.mjs +248 -0
  470. package/skills/shared/design/engine/scripts/lib/probe.mjs +909 -0
  471. package/skills/shared/design/engine/scripts/lib/rules.mjs +243 -0
  472. package/skills/shared/design/engine/scripts/lint.mjs +119 -0
  473. package/skills/shared/design/engine/scripts/scenes.mjs +124 -0
  474. package/skills/shared/design/evals/cases.yaml +45 -0
  475. package/skills/shared/design/references/design-md.md +49 -0
  476. package/skills/shared/design/references/finish-review.md +46 -0
  477. package/skills/shared/design/references/modes.md +51 -0
  478. package/skills/shared/digitalocean/SKILL.md +227 -0
  479. package/skills/shared/digitalocean/evals/README.md +10 -0
  480. package/skills/shared/digitalocean/evals/cases.yaml +37 -0
  481. package/skills/shared/digitalocean/references/app-spec.md +126 -0
  482. package/skills/shared/digitalocean/references/droplet-ops.md +95 -0
  483. package/skills/shared/digitalocean/scripts/verify.sh +102 -0
  484. package/skills/shared/django/SKILL.md +263 -0
  485. package/skills/shared/django/evals/README.md +11 -0
  486. package/skills/shared/django/evals/cases.yaml +47 -0
  487. package/skills/shared/django/references/drf.md +109 -0
  488. package/skills/shared/django/references/orm-performance.md +91 -0
  489. package/skills/shared/django/references/security.md +81 -0
  490. package/skills/shared/django/references/testing.md +86 -0
  491. package/skills/shared/django/scripts/verify.sh +115 -0
  492. package/skills/shared/docker/SKILL.md +251 -0
  493. package/skills/shared/docker/evals/README.md +10 -0
  494. package/skills/shared/docker/evals/cases.yaml +44 -0
  495. package/skills/shared/docker/references/base-images-and-stages.md +104 -0
  496. package/skills/shared/docker/references/compose-recipes.md +109 -0
  497. package/skills/shared/docker/scripts/verify.sh +149 -0
  498. package/skills/shared/domains-dns/SKILL.md +131 -0
  499. package/skills/shared/domains-dns/evals/README.md +16 -0
  500. package/skills/shared/domains-dns/evals/cases.yaml +47 -0
  501. package/skills/shared/domains-dns/references/record-cookbook.md +94 -0
  502. package/skills/shared/domains-dns/references/tls-and-acme.md +90 -0
  503. package/skills/shared/domains-dns/references/verify-and-debug.md +64 -0
  504. package/skills/shared/domains-dns/scripts/verify.sh +163 -0
  505. package/skills/shared/drizzle-orm/SKILL.md +231 -0
  506. package/skills/shared/drizzle-orm/evals/README.md +12 -0
  507. package/skills/shared/drizzle-orm/evals/cases.yaml +47 -0
  508. package/skills/shared/drizzle-orm/references/relations-and-drivers.md +118 -0
  509. package/skills/shared/drizzle-orm/scripts/verify.sh +155 -0
  510. package/skills/shared/duckdb/SKILL.md +202 -0
  511. package/skills/shared/duckdb/evals/README.md +31 -0
  512. package/skills/shared/duckdb/evals/cases.yaml +41 -0
  513. package/skills/shared/duckdb/references/python-and-interop.md +105 -0
  514. package/skills/shared/duckdb/references/remote-and-lakehouse.md +101 -0
  515. package/skills/shared/duckdb/scripts/verify.sh +71 -0
  516. package/skills/shared/dynamodb/SKILL.md +204 -0
  517. package/skills/shared/dynamodb/evals/README.md +8 -0
  518. package/skills/shared/dynamodb/evals/cases.yaml +46 -0
  519. package/skills/shared/dynamodb/references/access-patterns.md +127 -0
  520. package/skills/shared/dynamodb/references/capacity-and-limits.md +78 -0
  521. package/skills/shared/dynamodb/scripts/verify.sh +108 -0
  522. package/skills/shared/e2e-testing/SKILL.md +233 -0
  523. package/skills/shared/e2e-testing/evals/README.md +10 -0
  524. package/skills/shared/e2e-testing/evals/cases.yaml +64 -0
  525. package/skills/shared/e2e-testing/references/config-and-ci.md +156 -0
  526. package/skills/shared/e2e-testing/references/flakiness-playbook.md +124 -0
  527. package/skills/shared/e2e-testing/scripts/verify.sh +117 -0
  528. package/skills/shared/electron/SKILL.md +209 -0
  529. package/skills/shared/electron/evals/README.md +13 -0
  530. package/skills/shared/electron/evals/cases.yaml +38 -0
  531. package/skills/shared/electron/references/packaging-and-updates.md +122 -0
  532. package/skills/shared/electron/references/security-and-ipc.md +158 -0
  533. package/skills/shared/electron/scripts/verify.sh +143 -0
  534. package/skills/shared/elixir/SKILL.md +209 -0
  535. package/skills/shared/elixir/evals/README.md +3 -0
  536. package/skills/shared/elixir/evals/cases.yaml +41 -0
  537. package/skills/shared/elixir/references/mix-and-releases.md +91 -0
  538. package/skills/shared/elixir/references/otp-patterns.md +96 -0
  539. package/skills/shared/elixir/scripts/verify.sh +76 -0
  540. package/skills/shared/email-deliverability/SKILL.md +148 -0
  541. package/skills/shared/email-deliverability/evals/README.md +21 -0
  542. package/skills/shared/email-deliverability/evals/cases.yaml +45 -0
  543. package/skills/shared/email-deliverability/scripts/verify.sh +98 -0
  544. package/skills/shared/embeddings-search/SKILL.md +184 -0
  545. package/skills/shared/embeddings-search/evals/README.md +10 -0
  546. package/skills/shared/embeddings-search/evals/cases.yaml +44 -0
  547. package/skills/shared/embeddings-search/references/evaluation.md +86 -0
  548. package/skills/shared/embeddings-search/references/models.md +73 -0
  549. package/skills/shared/embeddings-search/scripts/verify.sh +103 -0
  550. package/skills/shared/error-handling/SKILL.md +273 -0
  551. package/skills/shared/error-handling/evals/README.md +12 -0
  552. package/skills/shared/error-handling/evals/cases.yaml +46 -0
  553. package/skills/shared/error-handling/references/boundaries-and-messaging.md +120 -0
  554. package/skills/shared/error-handling/references/retry-and-resilience.md +154 -0
  555. package/skills/shared/error-handling/scripts/verify.sh +110 -0
  556. package/skills/shared/expo/SKILL.md +243 -0
  557. package/skills/shared/expo/evals/README.md +13 -0
  558. package/skills/shared/expo/evals/cases.yaml +44 -0
  559. package/skills/shared/expo/references/config-plugins.md +117 -0
  560. package/skills/shared/expo/references/eas-update.md +118 -0
  561. package/skills/shared/expo/scripts/verify.sh +132 -0
  562. package/skills/shared/fal/SKILL.md +196 -0
  563. package/skills/shared/fal/evals/README.md +3 -0
  564. package/skills/shared/fal/evals/cases.yaml +42 -0
  565. package/skills/shared/fal/references/models-and-cost.md +53 -0
  566. package/skills/shared/fal/references/queue-and-webhooks.md +153 -0
  567. package/skills/shared/fal/scripts/verify.sh +72 -0
  568. package/skills/shared/fastapi/SKILL.md +469 -0
  569. package/skills/shared/fastapi/evals/README.md +50 -0
  570. package/skills/shared/fastapi/evals/cases.yaml +55 -0
  571. package/skills/shared/fastapi/references/database.md +347 -0
  572. package/skills/shared/fastapi/references/production.md +338 -0
  573. package/skills/shared/fastapi/references/security.md +330 -0
  574. package/skills/shared/fastapi/references/testing.md +349 -0
  575. package/skills/shared/fastapi/scripts/verify.sh +157 -0
  576. package/skills/shared/finetuning/SKILL.md +232 -0
  577. package/skills/shared/finetuning/evals/README.md +13 -0
  578. package/skills/shared/finetuning/evals/cases.yaml +50 -0
  579. package/skills/shared/finetuning/references/hyperparameters-and-eval.md +74 -0
  580. package/skills/shared/finetuning/references/methods.md +189 -0
  581. package/skills/shared/firebase/SKILL.md +237 -0
  582. package/skills/shared/firebase/evals/README.md +12 -0
  583. package/skills/shared/firebase/evals/cases.yaml +45 -0
  584. package/skills/shared/firebase/references/cloud-functions.md +102 -0
  585. package/skills/shared/firebase/references/data-modeling.md +108 -0
  586. package/skills/shared/firebase/references/security-rules.md +137 -0
  587. package/skills/shared/firebase/scripts/verify.sh +98 -0
  588. package/skills/shared/flutter/SKILL.md +400 -0
  589. package/skills/shared/flutter/evals/README.md +54 -0
  590. package/skills/shared/flutter/evals/cases.yaml +69 -0
  591. package/skills/shared/flutter/references/architecture-and-state.md +499 -0
  592. package/skills/shared/flutter/references/i18n-and-dependencies.md +197 -0
  593. package/skills/shared/flutter/references/performance.md +299 -0
  594. package/skills/shared/flutter/references/testing.md +385 -0
  595. package/skills/shared/flutter/references/ui-and-navigation.md +378 -0
  596. package/skills/shared/flutter/scripts/verify.sh +104 -0
  597. package/skills/shared/fly-io/SKILL.md +197 -0
  598. package/skills/shared/fly-io/evals/README.md +3 -0
  599. package/skills/shared/fly-io/evals/cases.yaml +42 -0
  600. package/skills/shared/fly-io/references/fly-toml.md +155 -0
  601. package/skills/shared/fly-io/references/multi-region.md +66 -0
  602. package/skills/shared/fly-io/scripts/verify.sh +90 -0
  603. package/skills/shared/ftd/SKILL.md +111 -0
  604. package/skills/shared/ftd/evals/cases.yaml +66 -0
  605. package/skills/shared/ftd/evals/routing.json +24 -0
  606. package/skills/shared/game-design/SKILL.md +146 -0
  607. package/skills/shared/game-design/evals/README.md +13 -0
  608. package/skills/shared/game-design/evals/cases.yaml +47 -0
  609. package/skills/shared/game-design/references/mechanics-and-loops.md +78 -0
  610. package/skills/shared/game-design/references/playtesting-and-scope.md +58 -0
  611. package/skills/shared/game-design/references/progression-and-economy.md +70 -0
  612. package/skills/shared/game-storytelling/SKILL.md +134 -0
  613. package/skills/shared/game-storytelling/evals/README.md +28 -0
  614. package/skills/shared/game-storytelling/evals/cases.yaml +51 -0
  615. package/skills/shared/game-storytelling/references/branching-and-state.md +134 -0
  616. package/skills/shared/game-storytelling/references/dialogue-tools.md +117 -0
  617. package/skills/shared/game-storytelling/references/environmental-storytelling.md +71 -0
  618. package/skills/shared/gamedev-multiplayer/SKILL.md +237 -0
  619. package/skills/shared/gamedev-multiplayer/evals/README.md +12 -0
  620. package/skills/shared/gamedev-multiplayer/evals/cases.yaml +44 -0
  621. package/skills/shared/gamedev-multiplayer/references/godot-high-level-multiplayer.md +133 -0
  622. package/skills/shared/gamedev-multiplayer/references/prediction-and-latency.md +104 -0
  623. package/skills/shared/gamedev-multiplayer/references/unity-and-unreal-netcode.md +166 -0
  624. package/skills/shared/gamedev-pathing/SKILL.md +233 -0
  625. package/skills/shared/gamedev-pathing/evals/README.md +14 -0
  626. package/skills/shared/gamedev-pathing/evals/cases.yaml +49 -0
  627. package/skills/shared/gamedev-pathing/references/navmesh-workflow.md +110 -0
  628. package/skills/shared/gamedev-pathing/references/search-algorithms.md +135 -0
  629. package/skills/shared/gamedev-pathing/references/steering-and-avoidance.md +120 -0
  630. package/skills/shared/gamedev-physics/SKILL.md +225 -0
  631. package/skills/shared/gamedev-physics/evals/README.md +12 -0
  632. package/skills/shared/gamedev-physics/evals/cases.yaml +54 -0
  633. package/skills/shared/gamedev-physics/references/character-controllers.md +120 -0
  634. package/skills/shared/gamedev-physics/references/determinism-and-queries.md +124 -0
  635. package/skills/shared/gamedev-physics/references/layers-and-masks.md +115 -0
  636. package/skills/shared/gamedev-shaders/SKILL.md +232 -0
  637. package/skills/shared/gamedev-shaders/evals/README.md +14 -0
  638. package/skills/shared/gamedev-shaders/evals/cases.yaml +45 -0
  639. package/skills/shared/gamedev-shaders/references/effect-recipes.md +205 -0
  640. package/skills/shared/gamedev-shaders/references/godot-shading-language.md +133 -0
  641. package/skills/shared/gamedev-shaders/references/unity-and-unreal-shaders.md +169 -0
  642. package/skills/shared/gamedev-shipping/SKILL.md +220 -0
  643. package/skills/shared/gamedev-shipping/evals/README.md +9 -0
  644. package/skills/shared/gamedev-shipping/evals/cases.yaml +55 -0
  645. package/skills/shared/gamedev-shipping/references/mobile-and-desktop.md +127 -0
  646. package/skills/shared/gamedev-shipping/references/stores-and-ci.md +162 -0
  647. package/skills/shared/gamedev-shipping/references/web-export-headers.md +140 -0
  648. package/skills/shared/gcp-essentials/SKILL.md +324 -0
  649. package/skills/shared/gcp-essentials/evals/README.md +12 -0
  650. package/skills/shared/gcp-essentials/evals/cases.yaml +38 -0
  651. package/skills/shared/gcp-essentials/references/deploy-recipes.md +81 -0
  652. package/skills/shared/gcp-essentials/references/iam-and-auth.md +94 -0
  653. package/skills/shared/gcp-essentials/references/networking-and-sql.md +74 -0
  654. package/skills/shared/gcp-essentials/scripts/verify.sh +158 -0
  655. package/skills/shared/git-workflow/SKILL.md +214 -0
  656. package/skills/shared/git-workflow/evals/README.md +10 -0
  657. package/skills/shared/git-workflow/evals/cases.yaml +52 -0
  658. package/skills/shared/git-workflow/references/gitmoji.md +157 -0
  659. package/skills/shared/git-workflow/references/interactive-rebase.md +89 -0
  660. package/skills/shared/github-actions/SKILL.md +244 -0
  661. package/skills/shared/github-actions/evals/README.md +3 -0
  662. package/skills/shared/github-actions/evals/cases.yaml +45 -0
  663. package/skills/shared/github-actions/references/caching-and-matrix.md +92 -0
  664. package/skills/shared/github-actions/references/oidc-deploys.md +130 -0
  665. package/skills/shared/github-actions/scripts/verify.sh +105 -0
  666. package/skills/shared/gitlab-auth/SKILL.md +99 -0
  667. package/skills/shared/gitlab-workflow/SKILL.md +138 -0
  668. package/skills/shared/go/SKILL.md +390 -0
  669. package/skills/shared/go/evals/README.md +56 -0
  670. package/skills/shared/go/evals/cases.yaml +55 -0
  671. package/skills/shared/go/references/concurrency.md +557 -0
  672. package/skills/shared/go/references/http-services.md +529 -0
  673. package/skills/shared/go/references/testing.md +338 -0
  674. package/skills/shared/go/scripts/verify.sh +134 -0
  675. package/skills/shared/godot/SKILL.md +300 -0
  676. package/skills/shared/godot/evals/README.md +13 -0
  677. package/skills/shared/godot/evals/cases.yaml +50 -0
  678. package/skills/shared/godot/references/export-and-testing.md +102 -0
  679. package/skills/shared/godot/references/gdscript-style.md +84 -0
  680. package/skills/shared/godot/references/godot3-to-4-traps.md +89 -0
  681. package/skills/shared/godot/references/nodes-scenes-resources.md +109 -0
  682. package/skills/shared/harness/SKILL.md +316 -0
  683. package/skills/shared/harness/assets/_TEMPLATE/.env.example +8 -0
  684. package/skills/shared/harness/assets/_TEMPLATE/CREDENTIALS.md +25 -0
  685. package/skills/shared/harness/assets/_TEMPLATE/README.md +25 -0
  686. package/skills/shared/harness/assets/_TEMPLATE/gitignore +10 -0
  687. package/skills/shared/harness/assets/_TEMPLATE/test_connection.sh +30 -0
  688. package/skills/shared/harness/evals/README.md +54 -0
  689. package/skills/shared/harness/evals/cases.yaml +72 -0
  690. package/skills/shared/harness/examples/audit-example.md +120 -0
  691. package/skills/shared/harness/references/agents-md-template.md +41 -0
  692. package/skills/shared/harness/references/audit-report-template.html +140 -0
  693. package/skills/shared/harness/references/audit-report-template.md +116 -0
  694. package/skills/shared/harness/references/claude-md-template.md +85 -0
  695. package/skills/shared/harness/references/daily-curation-automation.md +68 -0
  696. package/skills/shared/harness/references/inbox-readme-template.md +51 -0
  697. package/skills/shared/harness/references/ingest-formats.md +185 -0
  698. package/skills/shared/harness/references/ingest-ignore-defaults.md +48 -0
  699. package/skills/shared/harness/references/obsidian-scaffolding.md +103 -0
  700. package/skills/shared/harness/references/providers.yaml +3546 -0
  701. package/skills/shared/harness/references/tools-readme-template.md +88 -0
  702. package/skills/shared/harness/references/wiki-archive-template.html +81 -0
  703. package/skills/shared/harness/references/wiki-article-template.md +60 -0
  704. package/skills/shared/harness/references/wiki-dashboard-template.html +136 -0
  705. package/skills/shared/harness/references/wiki-deep-improve-report-template.html +126 -0
  706. package/skills/shared/harness/references/wiki-gaps-template.md +22 -0
  707. package/skills/shared/harness/references/wiki-index-template.md +32 -0
  708. package/skills/shared/harness/references/wiki-protocol.md +926 -0
  709. package/skills/shared/harness/references/wiki-raw-template.md +7 -0
  710. package/skills/shared/harness/references/wiki-worklog-template.md +60 -0
  711. package/skills/shared/hetzner/SKILL.md +203 -0
  712. package/skills/shared/hetzner/evals/README.md +35 -0
  713. package/skills/shared/hetzner/evals/cases.yaml +46 -0
  714. package/skills/shared/hetzner/references/cloud-init.md +120 -0
  715. package/skills/shared/hetzner/references/plans-and-locations.md +56 -0
  716. package/skills/shared/hetzner/scripts/verify.sh +122 -0
  717. package/skills/shared/htmx/SKILL.md +261 -0
  718. package/skills/shared/htmx/evals/README.md +3 -0
  719. package/skills/shared/htmx/evals/cases.yaml +38 -0
  720. package/skills/shared/htmx/references/patterns.md +113 -0
  721. package/skills/shared/htmx/references/server-contract.md +91 -0
  722. package/skills/shared/htmx/scripts/verify.sh +93 -0
  723. package/skills/shared/huggingface/SKILL.md +191 -0
  724. package/skills/shared/huggingface/evals/README.md +11 -0
  725. package/skills/shared/huggingface/evals/cases.yaml +41 -0
  726. package/skills/shared/huggingface/references/endpoints-and-spaces.md +99 -0
  727. package/skills/shared/huggingface/references/hub-and-cli.md +85 -0
  728. package/skills/shared/huggingface/references/inference-providers.md +115 -0
  729. package/skills/shared/huggingface/scripts/verify.sh +123 -0
  730. package/skills/shared/idea-refinement/SKILL.md +121 -0
  731. package/skills/shared/idea-refinement/evals/README.md +3 -0
  732. package/skills/shared/idea-refinement/evals/cases.yaml +42 -0
  733. package/skills/shared/implement/SKILL.md +383 -0
  734. package/skills/shared/implement/evals/README.md +56 -0
  735. package/skills/shared/implement/evals/cases.yaml +43 -0
  736. package/skills/shared/implement/references/per-task-review.md +46 -0
  737. package/skills/shared/implement/scripts/review-package +59 -0
  738. package/skills/shared/implement/scripts/sdd-workspace +47 -0
  739. package/skills/shared/implement/scripts/task-brief +77 -0
  740. package/skills/shared/init/SKILL.md +209 -0
  741. package/skills/shared/init/evals/README.md +49 -0
  742. package/skills/shared/init/evals/cases.yaml +74 -0
  743. package/skills/shared/init/references/accompaniment-and-profile.md +122 -0
  744. package/skills/shared/init/references/discovery.md +90 -0
  745. package/skills/shared/init/references/recommend-skills.md +115 -0
  746. package/skills/shared/init/scripts/verify.sh +118 -0
  747. package/skills/shared/java/SKILL.md +341 -0
  748. package/skills/shared/java/evals/README.md +23 -0
  749. package/skills/shared/java/evals/cases.yaml +43 -0
  750. package/skills/shared/java/references/builds.md +133 -0
  751. package/skills/shared/java/references/concurrency.md +108 -0
  752. package/skills/shared/java/references/streams.md +102 -0
  753. package/skills/shared/java/scripts/verify.sh +107 -0
  754. package/skills/shared/knowledge-ops/SKILL.md +122 -0
  755. package/skills/shared/knowledge-ops/evals/README.md +16 -0
  756. package/skills/shared/knowledge-ops/evals/cases.yaml +50 -0
  757. package/skills/shared/knowledge-ops/references/gardening-playbook.md +126 -0
  758. package/skills/shared/kotlin-android/SKILL.md +245 -0
  759. package/skills/shared/kotlin-android/evals/README.md +13 -0
  760. package/skills/shared/kotlin-android/evals/cases.yaml +56 -0
  761. package/skills/shared/kotlin-android/references/architecture.md +200 -0
  762. package/skills/shared/kotlin-android/references/gradle-setup.md +125 -0
  763. package/skills/shared/kotlin-android/scripts/verify.sh +109 -0
  764. package/skills/shared/laravel/SKILL.md +301 -0
  765. package/skills/shared/laravel/evals/README.md +10 -0
  766. package/skills/shared/laravel/evals/cases.yaml +45 -0
  767. package/skills/shared/laravel/references/eloquent-patterns.md +126 -0
  768. package/skills/shared/laravel/references/queues-and-scheduling.md +153 -0
  769. package/skills/shared/laravel/scripts/verify.sh +128 -0
  770. package/skills/shared/level-design/SKILL.md +143 -0
  771. package/skills/shared/level-design/evals/README.md +35 -0
  772. package/skills/shared/level-design/evals/cases.yaml +58 -0
  773. package/skills/shared/level-design/references/blockout-to-art.md +118 -0
  774. package/skills/shared/level-design/references/guidance-and-readability.md +152 -0
  775. package/skills/shared/level-design/references/pacing-and-encounters.md +142 -0
  776. package/skills/shared/llm-pipeline/SKILL.md +150 -0
  777. package/skills/shared/llm-pipeline/evals/README.md +3 -0
  778. package/skills/shared/llm-pipeline/evals/cases.yaml +44 -0
  779. package/skills/shared/llm-pipeline/references/caching-layers.md +60 -0
  780. package/skills/shared/llm-pipeline/references/litellm-router.md +101 -0
  781. package/skills/shared/llm-pipeline/scripts/verify.sh +169 -0
  782. package/skills/shared/machine-learning/SKILL.md +228 -0
  783. package/skills/shared/machine-learning/evals/README.md +15 -0
  784. package/skills/shared/machine-learning/evals/cases.yaml +54 -0
  785. package/skills/shared/machine-learning/references/gbdt-and-tuning.md +83 -0
  786. package/skills/shared/machine-learning/references/metrics-and-imbalance.md +82 -0
  787. package/skills/shared/machine-learning/references/pipelines-and-cv.md +135 -0
  788. package/skills/shared/modal/SKILL.md +290 -0
  789. package/skills/shared/modal/evals/README.md +29 -0
  790. package/skills/shared/modal/evals/cases.yaml +50 -0
  791. package/skills/shared/modal/references/images-gpu-cookbook.md +160 -0
  792. package/skills/shared/modal/references/web-and-scaling.md +138 -0
  793. package/skills/shared/modal/scripts/verify.sh +127 -0
  794. package/skills/shared/mongodb/SKILL.md +342 -0
  795. package/skills/shared/mongodb/evals/README.md +29 -0
  796. package/skills/shared/mongodb/evals/cases.yaml +41 -0
  797. package/skills/shared/mongodb/references/aggregation.md +115 -0
  798. package/skills/shared/mongodb/references/data-modeling.md +135 -0
  799. package/skills/shared/mongodb/references/transactions-and-ops.md +128 -0
  800. package/skills/shared/mongodb/scripts/verify.sh +151 -0
  801. package/skills/shared/monitoring/SKILL.md +155 -0
  802. package/skills/shared/monitoring/evals/README.md +3 -0
  803. package/skills/shared/monitoring/evals/cases.yaml +47 -0
  804. package/skills/shared/monitoring/references/burn-rate-and-oncall.md +128 -0
  805. package/skills/shared/monitoring/references/tool-setup.md +154 -0
  806. package/skills/shared/monitoring/scripts/verify.sh +145 -0
  807. package/skills/shared/mysql/SKILL.md +249 -0
  808. package/skills/shared/mysql/evals/README.md +12 -0
  809. package/skills/shared/mysql/evals/cases.yaml +49 -0
  810. package/skills/shared/mysql/references/indexing-and-explain.md +161 -0
  811. package/skills/shared/mysql/references/mysql-vs-mariadb.md +78 -0
  812. package/skills/shared/mysql/references/online-ddl-and-migrations.md +120 -0
  813. package/skills/shared/mysql/references/replication-and-ha.md +115 -0
  814. package/skills/shared/mysql/scripts/verify.sh +141 -0
  815. package/skills/shared/neon/SKILL.md +218 -0
  816. package/skills/shared/neon/evals/README.md +11 -0
  817. package/skills/shared/neon/evals/cases.yaml +45 -0
  818. package/skills/shared/neon/references/branching-ci.md +86 -0
  819. package/skills/shared/neon/scripts/verify.sh +78 -0
  820. package/skills/shared/nestjs/SKILL.md +217 -0
  821. package/skills/shared/nestjs/evals/README.md +3 -0
  822. package/skills/shared/nestjs/evals/cases.yaml +38 -0
  823. package/skills/shared/nestjs/references/cross-cutting.md +135 -0
  824. package/skills/shared/nestjs/references/testing-recipes.md +105 -0
  825. package/skills/shared/nestjs/scripts/verify.sh +98 -0
  826. package/skills/shared/netlify/SKILL.md +208 -0
  827. package/skills/shared/netlify/evals/README.md +13 -0
  828. package/skills/shared/netlify/evals/cases.yaml +43 -0
  829. package/skills/shared/netlify/references/functions.md +97 -0
  830. package/skills/shared/netlify/references/netlify-toml.md +115 -0
  831. package/skills/shared/netlify/scripts/verify.sh +95 -0
  832. package/skills/shared/nextjs/SKILL.md +400 -0
  833. package/skills/shared/nextjs/evals/README.md +59 -0
  834. package/skills/shared/nextjs/evals/cases.yaml +56 -0
  835. package/skills/shared/nextjs/references/data-and-caching.md +309 -0
  836. package/skills/shared/nextjs/references/metadata.md +208 -0
  837. package/skills/shared/nextjs/references/performance.md +325 -0
  838. package/skills/shared/nextjs/references/react.md +383 -0
  839. package/skills/shared/nextjs/references/security.md +239 -0
  840. package/skills/shared/nextjs/references/testing.md +290 -0
  841. package/skills/shared/nextjs/scripts/verify.sh +141 -0
  842. package/skills/shared/nlp/SKILL.md +225 -0
  843. package/skills/shared/nlp/evals/README.md +10 -0
  844. package/skills/shared/nlp/evals/cases.yaml +45 -0
  845. package/skills/shared/nlp/references/evaluation.md +107 -0
  846. package/skills/shared/nlp/references/tokenization.md +95 -0
  847. package/skills/shared/no-code-app/SKILL.md +145 -0
  848. package/skills/shared/no-code-app/evals/README.md +3 -0
  849. package/skills/shared/no-code-app/evals/cases.yaml +43 -0
  850. package/skills/shared/no-code-app/references/platform-limits.md +100 -0
  851. package/skills/shared/nodejs/SKILL.md +229 -0
  852. package/skills/shared/nodejs/evals/README.md +3 -0
  853. package/skills/shared/nodejs/evals/cases.yaml +39 -0
  854. package/skills/shared/nodejs/references/express5-migration.md +53 -0
  855. package/skills/shared/nodejs/references/graceful-shutdown.md +73 -0
  856. package/skills/shared/nodejs/scripts/verify.sh +122 -0
  857. package/skills/shared/observability/SKILL.md +235 -0
  858. package/skills/shared/observability/evals/README.md +3 -0
  859. package/skills/shared/observability/evals/cases.yaml +51 -0
  860. package/skills/shared/observability/references/collector-config.md +98 -0
  861. package/skills/shared/observability/references/instrumentation-recipes.md +115 -0
  862. package/skills/shared/observability/scripts/verify.sh +156 -0
  863. package/skills/shared/ollama/SKILL.md +213 -0
  864. package/skills/shared/ollama/evals/README.md +9 -0
  865. package/skills/shared/ollama/evals/cases.yaml +43 -0
  866. package/skills/shared/ollama/references/api.md +148 -0
  867. package/skills/shared/ollama/references/hardware-sizing.md +87 -0
  868. package/skills/shared/ollama/scripts/verify.sh +116 -0
  869. package/skills/shared/open-weights/SKILL.md +239 -0
  870. package/skills/shared/open-weights/evals/README.md +14 -0
  871. package/skills/shared/open-weights/evals/cases.yaml +42 -0
  872. package/skills/shared/open-weights/references/licenses.md +123 -0
  873. package/skills/shared/open-weights/references/model-families.md +83 -0
  874. package/skills/shared/open-weights/references/sizing-and-quant.md +89 -0
  875. package/skills/shared/orient/SKILL.md +92 -0
  876. package/skills/shared/orient/evals/README.md +18 -0
  877. package/skills/shared/orient/evals/cases.yaml +67 -0
  878. package/skills/shared/orient/references/explain-ladder.md +93 -0
  879. package/skills/shared/orient/references/orientation-contract.md +86 -0
  880. package/skills/shared/parallel/SKILL.md +168 -0
  881. package/skills/shared/parallel/evals/README.md +62 -0
  882. package/skills/shared/parallel/evals/cases.yaml +44 -0
  883. package/skills/shared/performance/SKILL.md +229 -0
  884. package/skills/shared/performance/evals/README.md +3 -0
  885. package/skills/shared/performance/evals/cases.yaml +49 -0
  886. package/skills/shared/performance/references/profiling-playbook.md +54 -0
  887. package/skills/shared/performance/scripts/verify.sh +94 -0
  888. package/skills/shared/phoenix/SKILL.md +169 -0
  889. package/skills/shared/phoenix/evals/README.md +3 -0
  890. package/skills/shared/phoenix/evals/cases.yaml +40 -0
  891. package/skills/shared/phoenix/references/auth-and-scopes.md +82 -0
  892. package/skills/shared/phoenix/references/ecto-patterns.md +93 -0
  893. package/skills/shared/phoenix/references/liveview.md +134 -0
  894. package/skills/shared/phoenix/scripts/verify.sh +73 -0
  895. package/skills/shared/php/SKILL.md +397 -0
  896. package/skills/shared/php/evals/README.md +12 -0
  897. package/skills/shared/php/evals/cases.yaml +45 -0
  898. package/skills/shared/php/references/tooling.md +170 -0
  899. package/skills/shared/php/references/type-system.md +220 -0
  900. package/skills/shared/php/scripts/verify.sh +155 -0
  901. package/skills/shared/plan/SKILL.md +166 -0
  902. package/skills/shared/plan/evals/README.md +62 -0
  903. package/skills/shared/plan/evals/cases.yaml +49 -0
  904. package/skills/shared/plan/references/plan-template.md +153 -0
  905. package/skills/shared/planetscale/SKILL.md +198 -0
  906. package/skills/shared/planetscale/evals/README.md +11 -0
  907. package/skills/shared/planetscale/evals/cases.yaml +46 -0
  908. package/skills/shared/planetscale/references/deploy-requests.md +75 -0
  909. package/skills/shared/planetscale/references/no-foreign-keys.md +88 -0
  910. package/skills/shared/planetscale/scripts/verify.sh +115 -0
  911. package/skills/shared/planning-with-files/SKILL.md +278 -0
  912. package/skills/shared/planning-with-files/examples.md +202 -0
  913. package/skills/shared/planning-with-files/reference.md +218 -0
  914. package/skills/shared/planning-with-files/scripts/attest-plan.ps1 +118 -0
  915. package/skills/shared/planning-with-files/scripts/attest-plan.sh +110 -0
  916. package/skills/shared/planning-with-files/scripts/check-complete.ps1 +44 -0
  917. package/skills/shared/planning-with-files/scripts/check-complete.sh +46 -0
  918. package/skills/shared/planning-with-files/scripts/init-session.ps1 +166 -0
  919. package/skills/shared/planning-with-files/scripts/init-session.sh +284 -0
  920. package/skills/shared/planning-with-files/scripts/resolve-plan-dir.ps1 +44 -0
  921. package/skills/shared/planning-with-files/scripts/resolve-plan-dir.sh +76 -0
  922. package/skills/shared/planning-with-files/scripts/session-catchup.py +438 -0
  923. package/skills/shared/planning-with-files/scripts/set-active-plan.ps1 +50 -0
  924. package/skills/shared/planning-with-files/scripts/set-active-plan.sh +50 -0
  925. package/skills/shared/planning-with-files/templates/findings.md +95 -0
  926. package/skills/shared/planning-with-files/templates/progress.md +114 -0
  927. package/skills/shared/planning-with-files/templates/task_plan.md +132 -0
  928. package/skills/shared/postgresdb/SKILL.md +354 -0
  929. package/skills/shared/postgresdb/evals/README.md +55 -0
  930. package/skills/shared/postgresdb/evals/cases.yaml +57 -0
  931. package/skills/shared/postgresdb/references/migrations.md +279 -0
  932. package/skills/shared/postgresdb/references/operations-and-security.md +267 -0
  933. package/skills/shared/postgresdb/references/query-optimization.md +374 -0
  934. package/skills/shared/postgresdb/references/schema-and-indexing.md +379 -0
  935. package/skills/shared/postgresdb/scripts/verify.sh +191 -0
  936. package/skills/shared/prisma-orm/SKILL.md +313 -0
  937. package/skills/shared/prisma-orm/evals/README.md +12 -0
  938. package/skills/shared/prisma-orm/evals/cases.yaml +56 -0
  939. package/skills/shared/prisma-orm/references/migrations-and-v7-upgrade.md +197 -0
  940. package/skills/shared/prisma-orm/references/queries-and-performance.md +169 -0
  941. package/skills/shared/prisma-orm/scripts/verify.sh +137 -0
  942. package/skills/shared/prompt-engineering/SKILL.md +127 -0
  943. package/skills/shared/prompt-engineering/evals/README.md +11 -0
  944. package/skills/shared/prompt-engineering/evals/cases.yaml +46 -0
  945. package/skills/shared/prompt-engineering/references/eval-templates.md +94 -0
  946. package/skills/shared/prompt-engineering/references/output-contracts.md +120 -0
  947. package/skills/shared/prompt-engineering/scripts/verify.sh +84 -0
  948. package/skills/shared/python/SKILL.md +320 -0
  949. package/skills/shared/python/evals/README.md +19 -0
  950. package/skills/shared/python/evals/cases.yaml +46 -0
  951. package/skills/shared/python/references/async.md +136 -0
  952. package/skills/shared/python/references/stdlib.md +162 -0
  953. package/skills/shared/python/references/typing.md +160 -0
  954. package/skills/shared/python/scripts/verify.sh +125 -0
  955. package/skills/shared/rag/SKILL.md +209 -0
  956. package/skills/shared/rag/evals/README.md +13 -0
  957. package/skills/shared/rag/evals/cases.yaml +45 -0
  958. package/skills/shared/rag/references/evaluation.md +99 -0
  959. package/skills/shared/rag/references/pipeline.md +151 -0
  960. package/skills/shared/rag/scripts/verify.sh +99 -0
  961. package/skills/shared/rails/SKILL.md +264 -0
  962. package/skills/shared/rails/evals/README.md +12 -0
  963. package/skills/shared/rails/evals/cases.yaml +47 -0
  964. package/skills/shared/rails/references/activerecord.md +148 -0
  965. package/skills/shared/rails/references/hotwire.md +139 -0
  966. package/skills/shared/rails/references/testing.md +110 -0
  967. package/skills/shared/rails/scripts/verify.sh +128 -0
  968. package/skills/shared/railway/SKILL.md +245 -0
  969. package/skills/shared/railway/evals/README.md +14 -0
  970. package/skills/shared/railway/evals/cases.yaml +44 -0
  971. package/skills/shared/railway/references/cli-cookbook.md +137 -0
  972. package/skills/shared/railway/references/config-as-code.md +120 -0
  973. package/skills/shared/railway/scripts/verify.sh +162 -0
  974. package/skills/shared/react/SKILL.md +182 -0
  975. package/skills/shared/react/evals/README.md +3 -0
  976. package/skills/shared/react/evals/cases.yaml +43 -0
  977. package/skills/shared/react/references/data-and-state.md +152 -0
  978. package/skills/shared/react/references/performance.md +75 -0
  979. package/skills/shared/react/references/routing.md +99 -0
  980. package/skills/shared/react/scripts/verify.sh +123 -0
  981. package/skills/shared/react-native/SKILL.md +215 -0
  982. package/skills/shared/react-native/evals/README.md +3 -0
  983. package/skills/shared/react-native/evals/cases.yaml +42 -0
  984. package/skills/shared/react-native/references/native-modules.md +123 -0
  985. package/skills/shared/react-native/references/performance-debugging.md +46 -0
  986. package/skills/shared/react-native/scripts/verify.sh +120 -0
  987. package/skills/shared/redis/SKILL.md +298 -0
  988. package/skills/shared/redis/evals/README.md +10 -0
  989. package/skills/shared/redis/evals/cases.yaml +43 -0
  990. package/skills/shared/redis/references/caching.md +116 -0
  991. package/skills/shared/redis/references/locks-and-rate-limiting.md +140 -0
  992. package/skills/shared/redis/references/queues.md +102 -0
  993. package/skills/shared/redis/scripts/verify.sh +164 -0
  994. package/skills/shared/render/SKILL.md +256 -0
  995. package/skills/shared/render/evals/README.md +12 -0
  996. package/skills/shared/render/evals/cases.yaml +45 -0
  997. package/skills/shared/render/references/blueprint-reference.md +203 -0
  998. package/skills/shared/render/scripts/verify.sh +167 -0
  999. package/skills/shared/replicate/SKILL.md +210 -0
  1000. package/skills/shared/replicate/evals/README.md +9 -0
  1001. package/skills/shared/replicate/evals/cases.yaml +45 -0
  1002. package/skills/shared/replicate/references/cog-packaging.md +89 -0
  1003. package/skills/shared/replicate/references/deployments-api.md +87 -0
  1004. package/skills/shared/replicate/references/webhooks-and-async.md +110 -0
  1005. package/skills/shared/replicate/scripts/verify.sh +162 -0
  1006. package/skills/shared/research-ops/SKILL.md +200 -0
  1007. package/skills/shared/research-ops/evals/README.md +13 -0
  1008. package/skills/shared/research-ops/evals/cases.yaml +38 -0
  1009. package/skills/shared/research-ops/references/credibility-rubric.md +78 -0
  1010. package/skills/shared/research-ops/references/memo-template.md +63 -0
  1011. package/skills/shared/research-ops/scripts/verify.sh +181 -0
  1012. package/skills/shared/review/SKILL.md +314 -0
  1013. package/skills/shared/review/evals/README.md +84 -0
  1014. package/skills/shared/review/evals/cases.yaml +55 -0
  1015. package/skills/shared/ruby/SKILL.md +295 -0
  1016. package/skills/shared/ruby/evals/README.md +12 -0
  1017. package/skills/shared/ruby/evals/cases.yaml +41 -0
  1018. package/skills/shared/ruby/references/gems-and-testing.md +208 -0
  1019. package/skills/shared/ruby/references/metaprogramming.md +161 -0
  1020. package/skills/shared/ruby/scripts/verify.sh +83 -0
  1021. package/skills/shared/runpod/SKILL.md +238 -0
  1022. package/skills/shared/runpod/evals/README.md +11 -0
  1023. package/skills/shared/runpod/evals/cases.yaml +47 -0
  1024. package/skills/shared/runpod/references/cost-and-scaling.md +85 -0
  1025. package/skills/shared/runpod/references/serverless-workers.md +101 -0
  1026. package/skills/shared/runpod/scripts/verify.sh +126 -0
  1027. package/skills/shared/rust/SKILL.md +320 -0
  1028. package/skills/shared/rust/evals/README.md +12 -0
  1029. package/skills/shared/rust/evals/cases.yaml +42 -0
  1030. package/skills/shared/rust/references/async-tokio.md +141 -0
  1031. package/skills/shared/rust/references/axum-service.md +132 -0
  1032. package/skills/shared/rust/references/ownership.md +86 -0
  1033. package/skills/shared/rust/references/testing.md +108 -0
  1034. package/skills/shared/rust/scripts/verify.sh +91 -0
  1035. package/skills/shared/scaling/SKILL.md +137 -0
  1036. package/skills/shared/scaling/evals/README.md +3 -0
  1037. package/skills/shared/scaling/evals/cases.yaml +42 -0
  1038. package/skills/shared/scaling/references/load-testing-k6.md +127 -0
  1039. package/skills/shared/scaling/scripts/example.load.js +24 -0
  1040. package/skills/shared/scaling/scripts/verify.sh +70 -0
  1041. package/skills/shared/sdd/SKILL.md +250 -0
  1042. package/skills/shared/sdd/evals/README.md +60 -0
  1043. package/skills/shared/sdd/evals/cases.yaml +90 -0
  1044. package/skills/shared/sdd/references/model-routing.md +194 -0
  1045. package/skills/shared/sdd-init/SKILL.md +189 -0
  1046. package/skills/shared/sdd-init/evals/README.md +3 -0
  1047. package/skills/shared/sdd-init/evals/cases.yaml +43 -0
  1048. package/skills/shared/secure-coding/SKILL.md +336 -0
  1049. package/skills/shared/secure-coding/evals/README.md +68 -0
  1050. package/skills/shared/secure-coding/evals/cases.yaml +55 -0
  1051. package/skills/shared/secure-coding/references/authn-authz.md +249 -0
  1052. package/skills/shared/secure-coding/references/owasp-by-stack.md +574 -0
  1053. package/skills/shared/secure-coding/references/secrets-and-supply-chain.md +205 -0
  1054. package/skills/shared/secure-coding/references/threat-modeling.md +213 -0
  1055. package/skills/shared/secure-coding/scripts/verify.sh +208 -0
  1056. package/skills/shared/security-scan/SKILL.md +219 -0
  1057. package/skills/shared/security-scan/evals/README.md +14 -0
  1058. package/skills/shared/security-scan/evals/cases.yaml +50 -0
  1059. package/skills/shared/security-scan/references/tools.md +97 -0
  1060. package/skills/shared/security-scan/references/triage.md +92 -0
  1061. package/skills/shared/security-scan/scripts/verify.sh +108 -0
  1062. package/skills/shared/ship/SKILL.md +272 -0
  1063. package/skills/shared/ship/evals/README.md +89 -0
  1064. package/skills/shared/ship/evals/cases.yaml +44 -0
  1065. package/skills/shared/shopify/SKILL.md +229 -0
  1066. package/skills/shared/shopify/evals/README.md +14 -0
  1067. package/skills/shared/shopify/evals/cases.yaml +41 -0
  1068. package/skills/shared/shopify/references/apps-graphql.md +103 -0
  1069. package/skills/shared/shopify/references/checkout-extensibility.md +71 -0
  1070. package/skills/shared/shopify/references/liquid-themes.md +89 -0
  1071. package/skills/shared/shopify/scripts/verify.sh +120 -0
  1072. package/skills/shared/simplify-code/SKILL.md +101 -0
  1073. package/skills/shared/simplify-code/evals/README.md +3 -0
  1074. package/skills/shared/simplify-code/evals/cases.yaml +42 -0
  1075. package/skills/shared/skill-scout/SKILL.md +169 -0
  1076. package/skills/shared/skill-scout/evals/README.md +12 -0
  1077. package/skills/shared/skill-scout/evals/cases.yaml +56 -0
  1078. package/skills/shared/skill-scout/references/install-commands.md +76 -0
  1079. package/skills/shared/skill-scout/scripts/verify.sh +154 -0
  1080. package/skills/shared/solid-js/SKILL.md +260 -0
  1081. package/skills/shared/solid-js/evals/README.md +3 -0
  1082. package/skills/shared/solid-js/evals/cases.yaml +38 -0
  1083. package/skills/shared/solid-js/references/reactivity-deep-dive.md +89 -0
  1084. package/skills/shared/solid-js/references/router-and-start.md +93 -0
  1085. package/skills/shared/solid-js/scripts/verify.sh +130 -0
  1086. package/skills/shared/source-grounded-development/SKILL.md +108 -0
  1087. package/skills/shared/source-grounded-development/evals/README.md +3 -0
  1088. package/skills/shared/source-grounded-development/evals/cases.yaml +42 -0
  1089. package/skills/shared/specify/SKILL.md +391 -0
  1090. package/skills/shared/specify/evals/README.md +73 -0
  1091. package/skills/shared/specify/evals/cases.yaml +93 -0
  1092. package/skills/shared/specify/references/eliciting-requirements.md +117 -0
  1093. package/skills/shared/specify/references/spec-template.md +101 -0
  1094. package/skills/shared/speckit-analyze/SKILL.md +35 -0
  1095. package/skills/shared/speckit-assess-decide/SKILL.md +36 -0
  1096. package/skills/shared/speckit-assess-define/SKILL.md +36 -0
  1097. package/skills/shared/speckit-assess-intake/SKILL.md +38 -0
  1098. package/skills/shared/speckit-assess-research/SKILL.md +36 -0
  1099. package/skills/shared/speckit-assess-shape/SKILL.md +36 -0
  1100. package/skills/shared/speckit-bug-assess/SKILL.md +38 -0
  1101. package/skills/shared/speckit-bug-fix/SKILL.md +37 -0
  1102. package/skills/shared/speckit-bug-test/SKILL.md +37 -0
  1103. package/skills/shared/speckit-checklist/SKILL.md +35 -0
  1104. package/skills/shared/speckit-clarify/SKILL.md +32 -0
  1105. package/skills/shared/speckit-constitution/SKILL.md +35 -0
  1106. package/skills/shared/speckit-converge/SKILL.md +36 -0
  1107. package/skills/shared/speckit-implement/SKILL.md +32 -0
  1108. package/skills/shared/speckit-plan/SKILL.md +37 -0
  1109. package/skills/shared/speckit-specify/SKILL.md +36 -0
  1110. package/skills/shared/speckit-tasks/SKILL.md +34 -0
  1111. package/skills/shared/spreadsheet-ops/SKILL.md +180 -0
  1112. package/skills/shared/spreadsheet-ops/evals/README.md +33 -0
  1113. package/skills/shared/spreadsheet-ops/evals/cases.yaml +42 -0
  1114. package/skills/shared/spreadsheet-ops/references/formula-cookbook.md +70 -0
  1115. package/skills/shared/spreadsheet-ops/references/python-excel.md +87 -0
  1116. package/skills/shared/spreadsheet-ops/references/sheets-api-appsscript.md +118 -0
  1117. package/skills/shared/spreadsheet-ops/scripts/verify.sh +152 -0
  1118. package/skills/shared/spring-boot/SKILL.md +350 -0
  1119. package/skills/shared/spring-boot/evals/README.md +11 -0
  1120. package/skills/shared/spring-boot/evals/cases.yaml +49 -0
  1121. package/skills/shared/spring-boot/references/jpa.md +94 -0
  1122. package/skills/shared/spring-boot/references/security.md +92 -0
  1123. package/skills/shared/spring-boot/references/testing.md +95 -0
  1124. package/skills/shared/spring-boot/scripts/verify.sh +115 -0
  1125. package/skills/shared/sql/SKILL.md +286 -0
  1126. package/skills/shared/sql/evals/README.md +9 -0
  1127. package/skills/shared/sql/evals/cases.yaml +49 -0
  1128. package/skills/shared/sql/references/ctes-and-recursion.md +63 -0
  1129. package/skills/shared/sql/references/joins-and-sets.md +71 -0
  1130. package/skills/shared/sql/references/portability.md +38 -0
  1131. package/skills/shared/sql/references/window-functions.md +72 -0
  1132. package/skills/shared/sql/scripts/verify.sh +139 -0
  1133. package/skills/shared/sqlite-turso/SKILL.md +214 -0
  1134. package/skills/shared/sqlite-turso/evals/README.md +24 -0
  1135. package/skills/shared/sqlite-turso/evals/cases.yaml +45 -0
  1136. package/skills/shared/sqlite-turso/references/embedded-replicas.md +96 -0
  1137. package/skills/shared/sqlite-turso/scripts/verify.sh +95 -0
  1138. package/skills/shared/structured-extraction/SKILL.md +230 -0
  1139. package/skills/shared/structured-extraction/evals/README.md +13 -0
  1140. package/skills/shared/structured-extraction/evals/cases.yaml +70 -0
  1141. package/skills/shared/structured-extraction/references/providers.md +152 -0
  1142. package/skills/shared/structured-extraction/scripts/verify.sh +160 -0
  1143. package/skills/shared/suggest/SKILL.md +123 -0
  1144. package/skills/shared/suggest/evals/README.md +17 -0
  1145. package/skills/shared/suggest/evals/cases.yaml +78 -0
  1146. package/skills/shared/supabase/SKILL.md +268 -0
  1147. package/skills/shared/supabase/evals/README.md +12 -0
  1148. package/skills/shared/supabase/evals/cases.yaml +42 -0
  1149. package/skills/shared/supabase/references/auth-ssr.md +173 -0
  1150. package/skills/shared/supabase/references/rls-cookbook.md +122 -0
  1151. package/skills/shared/supabase/scripts/verify.sh +149 -0
  1152. package/skills/shared/svelte/SKILL.md +238 -0
  1153. package/skills/shared/svelte/evals/README.md +3 -0
  1154. package/skills/shared/svelte/evals/cases.yaml +41 -0
  1155. package/skills/shared/svelte/references/runes.md +97 -0
  1156. package/skills/shared/svelte/references/sveltekit-data.md +156 -0
  1157. package/skills/shared/svelte/scripts/verify.sh +128 -0
  1158. package/skills/shared/swift-ios/SKILL.md +224 -0
  1159. package/skills/shared/swift-ios/evals/README.md +3 -0
  1160. package/skills/shared/swift-ios/evals/cases.yaml +46 -0
  1161. package/skills/shared/swift-ios/references/concurrency.md +132 -0
  1162. package/skills/shared/swift-ios/references/testing.md +112 -0
  1163. package/skills/shared/swift-ios/scripts/verify.sh +98 -0
  1164. package/skills/shared/tasks/SKILL.md +265 -0
  1165. package/skills/shared/tasks/evals/README.md +70 -0
  1166. package/skills/shared/tasks/evals/cases.yaml +75 -0
  1167. package/skills/shared/tauri/SKILL.md +219 -0
  1168. package/skills/shared/tauri/evals/README.md +12 -0
  1169. package/skills/shared/tauri/evals/cases.yaml +46 -0
  1170. package/skills/shared/tauri/references/bundling-distribution.md +129 -0
  1171. package/skills/shared/tauri/references/security.md +143 -0
  1172. package/skills/shared/tauri/scripts/verify.sh +178 -0
  1173. package/skills/shared/technical-writing/SKILL.md +230 -0
  1174. package/skills/shared/technical-writing/evals/README.md +12 -0
  1175. package/skills/shared/technical-writing/evals/cases.yaml +53 -0
  1176. package/skills/shared/technical-writing/references/diataxis-modes.md +131 -0
  1177. package/skills/shared/technical-writing/references/vale-starter.md +90 -0
  1178. package/skills/shared/technical-writing/scripts/verify.sh +83 -0
  1179. package/skills/shared/testing-go/SKILL.md +263 -0
  1180. package/skills/shared/testing-go/evals/README.md +3 -0
  1181. package/skills/shared/testing-go/evals/cases.yaml +46 -0
  1182. package/skills/shared/testing-go/references/coverage-and-benchmarks.md +85 -0
  1183. package/skills/shared/testing-go/references/mocks-and-fakes.md +140 -0
  1184. package/skills/shared/testing-go/references/synctest-and-concurrency.md +82 -0
  1185. package/skills/shared/testing-go/scripts/verify.sh +72 -0
  1186. package/skills/shared/testing-py/SKILL.md +197 -0
  1187. package/skills/shared/testing-py/evals/README.md +5 -0
  1188. package/skills/shared/testing-py/evals/cases.yaml +44 -0
  1189. package/skills/shared/testing-py/references/mocking.md +141 -0
  1190. package/skills/shared/testing-py/references/property-testing.md +99 -0
  1191. package/skills/shared/testing-py/scripts/verify.sh +117 -0
  1192. package/skills/shared/testing-web/SKILL.md +244 -0
  1193. package/skills/shared/testing-web/evals/README.md +11 -0
  1194. package/skills/shared/testing-web/evals/cases.yaml +52 -0
  1195. package/skills/shared/testing-web/references/jest-setup.md +88 -0
  1196. package/skills/shared/testing-web/references/recipes.md +116 -0
  1197. package/skills/shared/testing-web/scripts/verify.sh +111 -0
  1198. package/skills/shared/together-fireworks/SKILL.md +176 -0
  1199. package/skills/shared/together-fireworks/evals/README.md +3 -0
  1200. package/skills/shared/together-fireworks/evals/cases.yaml +50 -0
  1201. package/skills/shared/together-fireworks/references/batch-and-tuning.md +59 -0
  1202. package/skills/shared/together-fireworks/references/models-and-pricing.md +79 -0
  1203. package/skills/shared/together-fireworks/scripts/verify.sh +165 -0
  1204. package/skills/shared/training-data/SKILL.md +226 -0
  1205. package/skills/shared/training-data/evals/README.md +13 -0
  1206. package/skills/shared/training-data/evals/cases.yaml +41 -0
  1207. package/skills/shared/training-data/references/formats.md +118 -0
  1208. package/skills/shared/training-data/references/synthesis-dedup-quality.md +134 -0
  1209. package/skills/shared/translation-l10n/SKILL.md +229 -0
  1210. package/skills/shared/translation-l10n/evals/README.md +3 -0
  1211. package/skills/shared/translation-l10n/evals/cases.yaml +39 -0
  1212. package/skills/shared/translation-l10n/references/icu-cookbook.md +82 -0
  1213. package/skills/shared/translation-l10n/references/rtl-and-bidi.md +60 -0
  1214. package/skills/shared/typescript/SKILL.md +225 -0
  1215. package/skills/shared/typescript/evals/README.md +15 -0
  1216. package/skills/shared/typescript/evals/cases.yaml +46 -0
  1217. package/skills/shared/typescript/references/build-and-monorepo.md +141 -0
  1218. package/skills/shared/typescript/references/type-system.md +162 -0
  1219. package/skills/shared/typescript/scripts/verify.sh +52 -0
  1220. package/skills/shared/ui-engineering/SKILL.md +113 -0
  1221. package/skills/shared/ui-engineering/evals/cases.yaml +38 -0
  1222. package/skills/shared/unity/SKILL.md +282 -0
  1223. package/skills/shared/unity/evals/README.md +8 -0
  1224. package/skills/shared/unity/evals/cases.yaml +43 -0
  1225. package/skills/shared/unity/references/build-and-platforms.md +65 -0
  1226. package/skills/shared/unity/references/input-system.md +102 -0
  1227. package/skills/shared/unity/references/lifecycle-deep-dive.md +75 -0
  1228. package/skills/shared/unreal/SKILL.md +270 -0
  1229. package/skills/shared/unreal/evals/README.md +12 -0
  1230. package/skills/shared/unreal/evals/cases.yaml +45 -0
  1231. package/skills/shared/unreal/references/blueprint-cpp-parity.md +109 -0
  1232. package/skills/shared/unreal/references/gameplay-framework.md +95 -0
  1233. package/skills/shared/unreal/references/packaging.md +83 -0
  1234. package/skills/shared/unslop/SKILL.md +143 -0
  1235. package/skills/shared/unslop/evals/README.md +25 -0
  1236. package/skills/shared/unslop/evals/cases.yaml +61 -0
  1237. package/skills/shared/unsloth/SKILL.md +254 -0
  1238. package/skills/shared/unsloth/evals/README.md +10 -0
  1239. package/skills/shared/unsloth/evals/cases.yaml +42 -0
  1240. package/skills/shared/unsloth/references/export.md +75 -0
  1241. package/skills/shared/unsloth/references/grpo.md +91 -0
  1242. package/skills/shared/unsloth/references/masking-and-templates.md +91 -0
  1243. package/skills/shared/variant-explorer/SKILL.md +93 -0
  1244. package/skills/shared/variant-explorer/evals/cases.yaml +38 -0
  1245. package/skills/shared/vector-db/SKILL.md +189 -0
  1246. package/skills/shared/vector-db/evals/README.md +10 -0
  1247. package/skills/shared/vector-db/evals/cases.yaml +45 -0
  1248. package/skills/shared/vector-db/references/engines.md +175 -0
  1249. package/skills/shared/vector-db/references/tuning.md +62 -0
  1250. package/skills/shared/vector-db/scripts/verify.sh +110 -0
  1251. package/skills/shared/vercel/SKILL.md +242 -0
  1252. package/skills/shared/vercel/evals/README.md +23 -0
  1253. package/skills/shared/vercel/evals/cases.yaml +45 -0
  1254. package/skills/shared/vercel/references/cli-cookbook.md +98 -0
  1255. package/skills/shared/vercel/references/vercel-json.md +120 -0
  1256. package/skills/shared/vercel/scripts/verify.sh +168 -0
  1257. package/skills/shared/verify/SKILL.md +230 -0
  1258. package/skills/shared/verify/evals/README.md +78 -0
  1259. package/skills/shared/verify/evals/cases.yaml +104 -0
  1260. package/skills/shared/vllm/SKILL.md +235 -0
  1261. package/skills/shared/vllm/evals/README.md +9 -0
  1262. package/skills/shared/vllm/evals/cases.yaml +47 -0
  1263. package/skills/shared/vllm/references/flags-and-endpoints.md +105 -0
  1264. package/skills/shared/vllm/references/memory-and-throughput.md +78 -0
  1265. package/skills/shared/vue-nuxt/SKILL.md +323 -0
  1266. package/skills/shared/vue-nuxt/evals/README.md +11 -0
  1267. package/skills/shared/vue-nuxt/evals/cases.yaml +49 -0
  1268. package/skills/shared/vue-nuxt/references/data-and-state.md +127 -0
  1269. package/skills/shared/vue-nuxt/references/migration-nuxt4.md +79 -0
  1270. package/skills/shared/vue-nuxt/references/nitro-and-rendering.md +117 -0
  1271. package/skills/shared/vue-nuxt/references/reactivity.md +135 -0
  1272. package/skills/shared/vue-nuxt/scripts/verify.sh +148 -0
  1273. package/skills/shared/webhooks/SKILL.md +229 -0
  1274. package/skills/shared/webhooks/evals/README.md +15 -0
  1275. package/skills/shared/webhooks/evals/cases.yaml +46 -0
  1276. package/skills/shared/webhooks/references/framework-raw-body.md +97 -0
  1277. package/skills/shared/webhooks/references/signature-schemes.md +66 -0
  1278. package/skills/shared/webhooks/scripts/verify.sh +142 -0
  1279. package/skills/shared/wordpress/SKILL.md +224 -0
  1280. package/skills/shared/wordpress/evals/README.md +3 -0
  1281. package/skills/shared/wordpress/evals/cases.yaml +50 -0
  1282. package/skills/shared/wordpress/references/hardening.md +108 -0
  1283. package/skills/shared/wordpress/references/performance.md +80 -0
  1284. package/skills/shared/wordpress/references/woocommerce.md +65 -0
  1285. package/skills/shared/wordpress/scripts/verify.sh +96 -0
  1286. package/skills/shared/worktrees/SKILL.md +204 -0
  1287. package/skills/shared/worktrees/evals/README.md +78 -0
  1288. package/skills/shared/worktrees/evals/cases.yaml +47 -0
@@ -0,0 +1,44 @@
1
+ skill: gamedev-multiplayer
2
+
3
+ should_trigger:
4
+ - prompt: "I have a single-player platformer in Godot 4 and I want to add online co-op. How do I sync the two players' positions and let one host the game?"
5
+ why: "Adding multiplayer/sync to a game is the core trigger; should produce ENetMultiplayerPeer host/join + MultiplayerSynchronizer/authority guidance."
6
+ - prompt: "In my Unity shooter the client sets its own health with a NetworkVariable and players can cheat. How should authority actually work?"
7
+ why: "Server-authoritative / never-trust-the-client + NetworkVariable write permissions; center of gravity of this skill."
8
+ - prompt: "Players rubber-band and teleport around when there's lag in my online game. What's the right way to fix the jitter?"
9
+ why: "Symptom text for prediction/reconciliation + snapshot interpolation; routes here without the word 'netcode'."
10
+ - prompt: "Should I use a dedicated server or peer-to-peer for my PvP game, and how do I stop clients from cheating?"
11
+ why: "Topology + authority decision, the second core section; not an infra/hosting question about how to run the server."
12
+ - prompt: "In Unreal, how do I replicate a health value to all clients and run a RepNotify when it changes, and what's the difference between a Server RPC and a NetMulticast?"
13
+ why: "Unreal Actor replication mapping: ReplicatedUsing/DOREPLIFETIME + Server vs NetMulticast RPC semantics."
14
+ - prompt: "What tick rate should my authoritative server run at, and how do I test multiplayer locally with fake latency before I ship?"
15
+ why: "Tick/netrate + local multiplayer testing with simulated latency, both explicitly owned here."
16
+ - prompt: "Is ServerRpc/ClientRpc still the way to do RPCs in Unity Netcode for GameObjects, or is there a newer attribute?"
17
+ why: "Version-contract question the skill answers directly: unified [Rpc(SendTo.X)] preferred, legacy pair still supported, UNet removed."
18
+
19
+ should_not_trigger:
20
+ - prompt: "How do I read gamepad input and make my character jump in Godot 4?"
21
+ route_to: "godot"
22
+ why: "Single-player input/gameplay is the engine skill's job; no network dimension."
23
+ - prompt: "Set up a matchmaking backend and auto-scale dedicated game servers on a cloud provider with a lobby database."
24
+ route_to: "deployment"
25
+ why: "Server hosting/matchmaking/orchestration infra is delegated to deployment; this skill designs the in-game net layer, not the fleet."
26
+ - prompt: "My character controller clips through walls at high speed and collisions feel inconsistent — how do I fix the physics?"
27
+ route_to: "gamedev-physics"
28
+ why: "Collision/character-controller/determinism is physics; netcode consumes determinism but doesn't own the physics fix."
29
+ - prompt: "Build a realtime chat app with presence indicators over WebSockets for my website."
30
+ route_to: "webhooks"
31
+ why: "Generic web realtime that is not a game world/simulation is not this skill's domain."
32
+ - prompt: "Do a general threat model and authz review of my app's permission boundaries."
33
+ route_to: "secure-coding"
34
+ why: "Language/domain-agnostic threat modeling is secure-coding; this skill keeps only game-specific anti-cheat controls."
35
+
36
+ capability:
37
+ - scenario: "In Godot 4.x, wire a server-authoritative 'fire weapon' from a client so the server validates and applies the shot, with the same code working on a listen-server host. Show the RPC and the authority handling."
38
+ must_include:
39
+ - "Uses ENetMultiplayerPeer (create_server / create_client) assigned to multiplayer.multiplayer_peer — NOT the removed NetworkedMultiplayerENet"
40
+ - "Declares the intent RPC with @rpc(\"any_peer\", ...) so a client may call it, and the client sends it with rpc_id(1, ...) to the server"
41
+ - "Gates the body with multiplayer.is_server() (or is_multiplayer_authority) so authoritative logic runs once, correctly on a listen host"
42
+ - "Identifies the sender with multiplayer.get_remote_sender_id() and validates before applying (server decides the result, client sends intent only)"
43
+ - "Uses no Godot 3.x APIs (no master/puppet/remote keywords, no rset, no rpc_config as a legacy call)"
44
+ - "Distinguishes replicating authoritative state (e.g. via MultiplayerSynchronizer / a replicated var) from firing the one-shot RPC event"
@@ -0,0 +1,133 @@
1
+ # Godot 4.x high-level multiplayer
2
+
3
+ The high-level API sits on top of `MultiplayerPeer` and gives you three moving parts: **transport**
4
+ (`ENetMultiplayerPeer`), **events** (`@rpc`), and **state** (`MultiplayerSynchronizer` +
5
+ `MultiplayerSpawner`). Authority is per-node, set with `set_multiplayer_authority()`.
6
+
7
+ Everything here is Godot 4.x. Godot 3.x used `master`/`puppet`/`remote`/`remotesync` keywords, `rset`,
8
+ and `NetworkedMultiplayerENet` — **all gone**; never emit them.
9
+
10
+ ## Transport & connection
11
+
12
+ ```gdscript
13
+ const PORT := 9999
14
+ const MAX_PLAYERS := 8
15
+
16
+ func host() -> void:
17
+ var peer := ENetMultiplayerPeer.new()
18
+ var err := peer.create_server(PORT, MAX_PLAYERS)
19
+ if err != OK: push_error("host failed: %s" % err); return
20
+ multiplayer.multiplayer_peer = peer
21
+
22
+ func join(ip := "127.0.0.1") -> void:
23
+ var peer := ENetMultiplayerPeer.new()
24
+ peer.create_client(ip, PORT)
25
+ multiplayer.multiplayer_peer = peer
26
+
27
+ func _ready() -> void:
28
+ multiplayer.peer_connected.connect(_on_peer_connected) # server-side: a client joined
29
+ multiplayer.peer_disconnected.connect(_on_peer_disconnected)
30
+ multiplayer.connected_to_server.connect(_on_connected) # client-side
31
+ multiplayer.server_disconnected.connect(_on_server_gone)
32
+ ```
33
+
34
+ Useful `multiplayer` (SceneMultiplayer) members: `is_server()`, `get_unique_id()` (1 == server),
35
+ `get_remote_sender_id()` (valid only inside an RPC body), `multiplayer_peer`.
36
+
37
+ ## RPCs — the `@rpc` annotation
38
+
39
+ Params are optional and **order-free**. Signature: mode, sync, transfer mode, channel.
40
+
41
+ - **mode**: `"authority"` (default — only the node's multiplayer authority may invoke it on remotes) or
42
+ `"any_peer"` (any client may invoke it — use this for client→server intent, then validate).
43
+ - **sync**: `"call_remote"` (default) or `"call_local"` (also run on the caller).
44
+ - **transfer**: `"unreliable"` (default), `"unreliable_ordered"`, or `"reliable"`.
45
+ - **channel**: an int, and it must be the **last** argument.
46
+
47
+ ```gdscript
48
+ # Client asks the server to fire. any_peer + call_local so the host's own call runs too.
49
+ @rpc("any_peer", "call_local", "reliable")
50
+ func request_fire(target: Vector3) -> void:
51
+ if not multiplayer.is_server(): return # authority gate
52
+ var shooter := multiplayer.get_remote_sender_id()
53
+ if not _can_fire(shooter): return # server-side cooldown / validation
54
+ _apply_shot(shooter, target) # server mutates authoritative state
55
+
56
+ # Server → everyone, cosmetic only. Unreliable is fine for FX.
57
+ @rpc("authority", "call_local", "unreliable")
58
+ func play_muzzle_fx(at: Vector3) -> void:
59
+ _spawn_fx(at)
60
+
61
+ # Invoking: rpc() = all peers; rpc_id(peer, ...) = one peer; rpc_id(1, ...) = the server.
62
+ func _on_fire_pressed(target: Vector3) -> void:
63
+ rpc_id(1, "request_fire", target) # client sends intent to server
64
+ ```
65
+
66
+ Both sides must declare the **same** `@rpc` annotation on a function with the same name/path, or the call
67
+ is rejected. A missing/mismatched annotation is the usual "my RPC does nothing" cause.
68
+
69
+ ## Authority
70
+
71
+ ```gdscript
72
+ # On spawn, give the owning peer authority over its input node; server keeps authority over stats.
73
+ func setup(owner_peer_id: int) -> void:
74
+ $Input.set_multiplayer_authority(owner_peer_id) # recursive=true by default
75
+ # $Stats stays under server authority (peer id 1)
76
+
77
+ func _physics_process(delta: float) -> void:
78
+ if $Input.is_multiplayer_authority(): # only the owner reads local input
79
+ var dir := Input.get_vector("left","right","up","down")
80
+ rpc_id(1, "submit_input", dir) # send intent to server
81
+ ```
82
+
83
+ `set_multiplayer_authority(id, recursive := true)` sets it on the node (and children). Check with
84
+ `is_multiplayer_authority()`; read with `get_multiplayer_authority()`. Authority drives who a
85
+ `MultiplayerSynchronizer` streams *from* and who may call `"authority"`-mode RPCs.
86
+
87
+ ## State — MultiplayerSynchronizer
88
+
89
+ Add a `MultiplayerSynchronizer` node, assign it a **replication config** (`SceneReplicationConfig`, edited
90
+ in the inspector: list the properties to sync, e.g. `position`, `rotation`, and per-property spawn vs sync).
91
+ It streams those properties **from the node's authority to the other peers** every replication interval.
92
+
93
+ - `replication_interval` — how often synced properties are sent (throttle to save bandwidth).
94
+ - `delta_interval` — for delta-synced properties.
95
+ - Visibility: `set_visibility_for(peer_id, visible)`, `public_visibility`, `update_visibility()` — scope
96
+ who receives a given synchronizer (relevancy / anti-wallhack).
97
+
98
+ Because it is authority-driven, an owner-authoritative synchronizer trusts the client's position — fine for
99
+ co-op, risky for competitive. For server-authoritative movement, keep authority on the server and have the
100
+ client send input via RPC (see prediction-and-latency.md).
101
+
102
+ ## Spawning — MultiplayerSpawner
103
+
104
+ `MultiplayerSpawner` replicates *instancing*. Point its `spawn_path` at the parent node, register spawnable
105
+ scenes with `add_spawnable_scene("res://player.tscn")`, and when the authority instances a child under that
106
+ path (or you call `spawn(data)`), the same instance appears on every peer — including late joiners, which is
107
+ the big win over manually RPC-ing spawns.
108
+
109
+ ```gdscript
110
+ @onready var spawner := $MultiplayerSpawner
111
+
112
+ func _ready() -> void:
113
+ spawner.spawn_function = _spawn_player # optional custom factory
114
+
115
+ func _on_peer_connected(id: int) -> void: # server only
116
+ if multiplayer.is_server():
117
+ spawner.spawn(id) # data passed to spawn_function on every peer
118
+
119
+ func _spawn_player(peer_id: int) -> Node:
120
+ var p := preload("res://player.tscn").instantiate()
121
+ p.name = str(peer_id)
122
+ p.setup(peer_id)
123
+ return p
124
+ ```
125
+
126
+ ## Gotchas
127
+
128
+ - Server (peer 1) is also a client on a listen host — always gate authority logic behind `is_server()`.
129
+ - `get_remote_sender_id()` is only meaningful *inside* an RPC; it returns 0 outside one.
130
+ - Node paths must match across peers for RPCs/synchronizers to resolve — spawn via `MultiplayerSpawner` so
131
+ names line up, and set `name` deterministically (e.g. the peer id).
132
+ - Reliable RPCs are ordered per channel and cost more; keep FX/heartbeats unreliable, keep state changes
133
+ reliable or (better) replicated.
@@ -0,0 +1,104 @@
1
+ # Prediction, reconciliation & latency hiding
2
+
3
+ The whole reason netcode is hard: the speed of light. A round trip (RTT) of 60–150 ms is normal, and if the
4
+ owning client had to wait a full RTT to see its own movement, the game would feel broken. The techniques
5
+ below keep it responsive **without** giving up server authority. This is engine-agnostic theory; the
6
+ per-engine references show where the hooks live.
7
+
8
+ ## The authoritative loop (mental model)
9
+
10
+ 1. Client samples input each tick, tags it with a **sequence number**, sends it to the server, and **applies
11
+ it locally immediately** (prediction).
12
+ 2. Server receives inputs, simulates them on its fixed tick, and produces authoritative state. It stamps each
13
+ state snapshot with the last input sequence number it processed for that client.
14
+ 3. Client receives the authoritative snapshot, **reconciles**: snap to the server state, then re-apply every
15
+ input *after* the acknowledged sequence number (they haven't reached the server yet).
16
+ 4. Other (remote) entities are rendered from buffered snapshots, **interpolated** slightly in the past.
17
+
18
+ Server is always the source of truth. The client only ever *guesses ahead* and gets corrected.
19
+
20
+ ## 1. Client-side prediction
21
+
22
+ The owning client runs the same movement code the server will run, on the same fixed timestep, the instant it
23
+ presses a key — no waiting. Requirements:
24
+
25
+ - **Deterministic** movement/simulation for the predicted entity (same input + same state → same result).
26
+ This is why `gamedev-physics` determinism matters here.
27
+ - A **ring buffer** of unacknowledged inputs (`{seq, dt, input}`), kept until the server acknowledges them.
28
+ - Predict only what the client owns (its pawn). Never predict other players — interpolate them instead.
29
+
30
+ ## 2. Server reconciliation
31
+
32
+ When an authoritative snapshot arrives tagged "processed up to input N":
33
+
34
+ ```
35
+ clientState = serverState # trust the server
36
+ discard buffered inputs with seq <= N # server already applied these
37
+ for each remaining buffered input (seq > N):
38
+ clientState = simulate(clientState, input) # replay the unacknowledged ones
39
+ ```
40
+
41
+ If the replayed result matches what the client already had, the correction is invisible. If it diverges (the
42
+ server disagreed — lag, a missed collision, a rejected move), the entity snaps: the visible **rubber-band**.
43
+ Goal is to *minimize* divergence, not to suppress the correction — hiding a legitimate correction is how you
44
+ get players walking through walls on their screen.
45
+
46
+ - **Smoothing**: for small corrections, blend toward the corrected position over a few frames instead of
47
+ hard-snapping, so a 2 cm disagreement isn't a visible pop. Hard-snap large ones.
48
+
49
+ ## 3. Snapshot interpolation (remote entities)
50
+
51
+ You receive remote entities' state only every send-tick (e.g. every 50 ms) — rendering the latest packet
52
+ directly makes them teleport. Instead, keep a small buffer and render them ~1–2 snapshots **in the past**:
53
+
54
+ - **Interpolation delay** ≈ 100 ms (2× send interval + jitter margin). Render remote entities at
55
+ `now − delay`, interpolating between the two snapshots that straddle that time.
56
+ - Trade-off: everyone else is shown slightly in the past. That is fine and standard.
57
+ - **Extrapolation** (dead reckoning) predicts a remote entity forward when a packet is late — cheaper on
58
+ bandwidth but wrong on direction changes; prefer interpolation and only extrapolate briefly to cover a gap.
59
+
60
+ So on one client, three clocks coexist: **its own pawn** = present (predicted), **remote entities** = past
61
+ (interpolated), **the server** = the arbiter reconciling the two.
62
+
63
+ ## 4. Lag compensation (server-side rewind)
64
+
65
+ For instant/hitscan hits, the shooter aimed at where they *saw* the target — which is `interpolation delay +
66
+ ½ RTT` in the past. If the server tests the hit against the target's *present* position, the shooter misses
67
+ despite a perfect aim. Fix: the server keeps a short **history** of every entity's recent positions and, when
68
+ processing a shot, **rewinds** the world to the shooter's view time before testing the hit.
69
+
70
+ - Store ~1 second of position history per entity (a ring of transforms per tick).
71
+ - On a shot: reconstruct positions at `clientRenderTime`, run the trace, then restore.
72
+ - Trade-off: the victim can be hit just after ducking behind cover ("shot behind the wall"). This is an
73
+ accepted fairness choice favoring the shooter; cap how far back you rewind to bound the unfairness.
74
+
75
+ ## 5. Tick rate, send rate, netrate
76
+
77
+ - **Simulation tick** — fixed Hz the server steps the world (20 / 30 / 60+; higher = more precise + more CPU).
78
+ - **Send rate / snapshot rate** — how often state goes on the wire; often lower than sim tick, and independent
79
+ of client render FPS. This is the "netrate/updaterate/cmdrate" family in shooters.
80
+ - **Client render FPS** — decoupled from both; render via interpolation between fixed-step states.
81
+ - Bandwidth ≈ replicated-bytes × send-rate × relevant-peers. Shrink it with relevancy/visibility scoping,
82
+ quantized/delta-compressed fields, and lower send rates for distant or unimportant actors.
83
+
84
+ **Never run gameplay in a variable `_process`/`Update`/`Tick` on a networked game** — use a fixed timestep
85
+ (`_physics_process`, `NetworkUpdate`/`FixedUpdate`, Unreal's fixed sim) so prediction and reconciliation
86
+ replay identically on client and server.
87
+
88
+ ## Alternative model: deterministic lockstep / rollback
89
+
90
+ For fighting games and some RTS: no per-frame state replication at all — every peer runs the identical
91
+ deterministic simulation and only **inputs** are exchanged. **Lockstep** waits for all inputs before advancing
92
+ (one slow peer stalls everyone). **Rollback** (GGPO-style) predicts absent inputs, then rolls back and
93
+ re-simulates when the real inputs arrive — excellent feel, but demands *bit-perfect determinism* (watch
94
+ floats, iteration order, RNG) and bounded state you can snapshot/restore cheaply. Choose it only when you can
95
+ guarantee that determinism; otherwise the client-server model above is the safer default.
96
+
97
+ ## Checklist for a responsive authoritative game
98
+
99
+ - [ ] Owning pawn predicted locally on a fixed timestep; inputs buffered with sequence numbers.
100
+ - [ ] Server acks the last processed input seq in each snapshot; client replays unacknowledged inputs.
101
+ - [ ] Small corrections smoothed, large ones snapped; corrections never fully suppressed.
102
+ - [ ] Remote entities interpolated ~100 ms in the past from a snapshot buffer.
103
+ - [ ] Hitscan uses server-side rewind bounded to ~1 s of history.
104
+ - [ ] Sim tick / send rate / render FPS all decoupled; bandwidth scoped by relevancy.
@@ -0,0 +1,166 @@
1
+ # Unity & Unreal netcode
2
+
3
+ Per-engine deep dive for the two C#/C++ engines. Godot lives in its own reference.
4
+
5
+ ---
6
+
7
+ ## Unity — Netcode for GameObjects (NGO)
8
+
9
+ NGO is Unity's first-party high-level netcode. **UNet / HLAPI is removed** — never emit `NetworkIdentity`,
10
+ `[Command]`, `[SyncVar]`, `NetworkServer`, or anything under `UnityEngine.Networking`. (Mirror is a
11
+ community fork with a UNet-like API; if a repo uses it, name it, but this reference targets NGO.)
12
+
13
+ ### Setup & session
14
+
15
+ - One `NetworkManager` in the scene, with a chosen transport (Unity Transport / UTP).
16
+ - Start a session: `NetworkManager.Singleton.StartHost()` (server + local client), `.StartServer()`
17
+ (dedicated/headless), or `.StartClient()`.
18
+ - Networked prefabs need a `NetworkObject` and must be registered in the NetworkManager prefab list;
19
+ the **server** spawns them: `Instantiate(...).GetComponent<NetworkObject>().Spawn()`.
20
+
21
+ ### NetworkBehaviour, roles, lifecycle
22
+
23
+ Networked scripts derive from `NetworkBehaviour`. Use `OnNetworkSpawn()` / `OnNetworkDespawn()` instead of
24
+ `Start` for network-aware init. Role/ownership properties: `IsServer`, `IsClient`, `IsHost`, `IsOwner`,
25
+ `OwnerClientId`, `NetworkObjectId`.
26
+
27
+ ### NetworkVariable — replicated state
28
+
29
+ ```csharp
30
+ public class PlayerState : NetworkBehaviour {
31
+ // Default: read Everyone, write Server → authoritative health.
32
+ public NetworkVariable<int> Health = new(100);
33
+
34
+ // Client convenience state: owner writes, everyone reads.
35
+ public NetworkVariable<int> SkinIndex =
36
+ new(0, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
37
+
38
+ // Hidden-from-others: owner reads, owner writes.
39
+ public NetworkVariable<int> Ammo =
40
+ new(default, NetworkVariableReadPermission.Owner, NetworkVariableWritePermission.Owner);
41
+
42
+ public override void OnNetworkSpawn() {
43
+ Health.OnValueChanged += (prev, cur) => UpdateHealthBar(cur);
44
+ }
45
+ }
46
+ ```
47
+
48
+ `NetworkVariableReadPermission` is `Everyone` | `Owner`; `NetworkVariableWritePermission` is `Server` |
49
+ `Owner`. Default (no perms arg) = read Everyone, write Server — the right default for authoritative gameplay
50
+ values. Only the permitted writer may assign `.Value`; a client writing a server-write variable is ignored.
51
+
52
+ ### RPCs
53
+
54
+ NGO 2.x's unified attribute is preferred:
55
+
56
+ ```csharp
57
+ [Rpc(SendTo.Server)] // client → server
58
+ void FireRpc(Vector3 target) { /* runs on server; validate + apply */ }
59
+
60
+ [Rpc(SendTo.ClientsAndHost)] // server → all clients (+ host)
61
+ void PlayFxRpc(Vector3 at) { /* cosmetic */ }
62
+
63
+ [Rpc(SendTo.Owner)] // server → the owning client only
64
+ void YouWereHitRpc(int dmg) { }
65
+ ```
66
+
67
+ `SendTo` options include `Server`, `ClientsAndHost`, `Everyone`, `Owner`, `NotServer`, `SpecifiedInParams`.
68
+ The **legacy** attributes still compile and enforce method-name suffixes:
69
+
70
+ ```csharp
71
+ [ServerRpc(RequireOwnership = true)] void FireServerRpc(Vector3 t) { } // name MUST end in ServerRpc
72
+ [ClientRpc] void PlayFxClientRpc(Vector3 a) { } // name MUST end in ClientRpc
73
+ ```
74
+
75
+ Prefer `[Rpc(SendTo.X)]` on new code; recognize the legacy pair in existing code. RPCs are unreliable by
76
+ default for some configs — mark reliability via the attribute's `Delivery` where consistency matters.
77
+
78
+ ### Transforms & movement
79
+
80
+ `NetworkTransform` replicates position/rotation/scale (server-authoritative by default; an
81
+ `OwnerNetworkTransform`/authority setting allows client-authoritative). For server-authoritative movement
82
+ with responsiveness you add prediction yourself (NGO does not ship full prediction; see
83
+ prediction-and-latency.md). `NetworkAnimator` syncs Animator state.
84
+
85
+ ### Gotchas
86
+
87
+ - Only the **server** may `Spawn()`/`Despawn()` NetworkObjects.
88
+ - Writing a `NetworkVariable` you don't have write permission for silently no-ops — check perms first.
89
+ - `IsOwner` ≠ `IsServer`; on a listen host both can be true. Gate authoritative logic on `IsServer`.
90
+ - Legacy RPC name-suffix rule is a compile error if violated; the unified `[Rpc]` has no such rule.
91
+
92
+ ---
93
+
94
+ ## Unreal Engine 5.x — Actor replication
95
+
96
+ Replication is per-`AActor`. Turn it on (`bReplicates = true` in the constructor or `SetReplicates(true)`),
97
+ mark properties, and register them. RPCs are `UFUNCTION`s with network specifiers.
98
+
99
+ ### Replicated properties
100
+
101
+ ```cpp
102
+ // Header
103
+ UPROPERTY(Replicated)
104
+ int32 Score = 0;
105
+
106
+ UPROPERTY(ReplicatedUsing = OnRep_Health) // RepNotify: OnRep_Health() runs on clients on change
107
+ float Health = 100.f;
108
+
109
+ UFUNCTION() void OnRep_Health();
110
+
111
+ // Cpp — every replicated prop MUST be registered here
112
+ void AMyPawn::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& Out) const {
113
+ Super::GetLifetimeReplicatedProps(Out);
114
+ DOREPLIFETIME(AMyPawn, Score);
115
+ DOREPLIFETIME(AMyPawn, Health);
116
+ // DOREPLIFETIME_CONDITION(AMyPawn, Ammo, COND_OwnerOnly); // owner-only relevancy
117
+ }
118
+ ```
119
+
120
+ `ReplicatedUsing` (RepNotify) is how you react to a change — use it instead of polling the value in `Tick`.
121
+ The **push model** (`SetReplicatedByCondition` / `MARK_PROPERTY_DIRTY`) avoids per-frame comparison for
122
+ high-count actors.
123
+
124
+ ### RPCs
125
+
126
+ ```cpp
127
+ UFUNCTION(Server, Reliable, WithValidation) // client → server (validated)
128
+ void ServerFire(FVector Target);
129
+ bool ServerFire_Validate(FVector Target) { return Target.SizeSquared() < 1e8f; }
130
+ void ServerFire_Implementation(FVector Target) { /* server applies */ }
131
+
132
+ UFUNCTION(Client, Reliable) // server → owning client
133
+ void ClientNotifyHit(int32 Dmg);
134
+
135
+ UFUNCTION(NetMulticast, Unreliable) // server → all relevant clients
136
+ void MulticastMuzzleFx(FVector At);
137
+ ```
138
+
139
+ - `Server` RPCs run on the server, callable by the owning client; add `WithValidation` for gameplay-critical
140
+ ones and reject cheating inputs in `_Validate`.
141
+ - `Client` RPCs run on the actor's owning client only.
142
+ - `NetMulticast` runs on the server and all relevant clients — cosmetic events; keep unreliable.
143
+ - `Reliable` vs `Unreliable`: reliable is guaranteed+ordered but can saturate; reserve for gameplay.
144
+
145
+ ### Roles, authority, relevancy
146
+
147
+ - `HasAuthority()` → true on the server (or standalone). Guard server logic with it.
148
+ - `GetLocalRole()`: `ROLE_Authority` (server), `ROLE_AutonomousProxy` (the owning client's predicted pawn),
149
+ `ROLE_SimulatedProxy` (an observed remote actor). Prediction lives on autonomous proxies.
150
+ - **Relevancy** controls what each client receives: `NetCullDistanceSquared`, `bAlwaysRelevant`,
151
+ `bOnlyRelevantToOwner`, override `IsNetRelevantFor`, and **dormancy** (`SetNetDormancy(DORM_DormantAll)`)
152
+ to stop replicating quiescent actors. This is the main bandwidth/anti-wallhack lever.
153
+
154
+ ### Movement & prediction
155
+
156
+ `UCharacterMovementComponent` already implements client-side prediction + server reconciliation for
157
+ character movement — use `ACharacter` and let it do the work rather than hand-rolling. For abilities, the
158
+ Gameplay Ability System (GAS) has prediction; the Network Prediction plugin generalizes it (experimental).
159
+
160
+ ### Gotchas
161
+
162
+ - Forgetting `DOREPLIFETIME` = the property silently never replicates.
163
+ - RPC specifiers are directional: calling a `Server` RPC from the server, or a `Client` RPC from a client,
164
+ does nothing useful — respect the flow (client→Server, server→Client/Multicast).
165
+ - Actors only replicate if `bReplicates` is true *and* the actor is net-relevant to that client.
166
+ - On a listen server the host is authority + local player; `HasAuthority()` is your gate.