@damiangilgonzalez/harness 1.3.7

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 (1907) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +647 -0
  3. package/manifest.json +6651 -0
  4. package/package.json +67 -0
  5. package/schema/ecc-originality.json +16 -0
  6. package/schema/ecc-originality.u64 +0 -0
  7. package/schema/frontmatter.schema.json +12 -0
  8. package/scripts/audit.js +224 -0
  9. package/scripts/build-manifest.js +152 -0
  10. package/scripts/consult.js +208 -0
  11. package/scripts/detect-repo.js +144 -0
  12. package/scripts/doctor.js +445 -0
  13. package/scripts/drift-check.js +354 -0
  14. package/scripts/eval-lint.sh +230 -0
  15. package/scripts/install-apply.js +558 -0
  16. package/scripts/install-plan.js +13 -0
  17. package/scripts/knowledge-doctor.js +131 -0
  18. package/scripts/lib/backups.js +165 -0
  19. package/scripts/lib/behavior-score.js +190 -0
  20. package/scripts/lib/capabilities.js +242 -0
  21. package/scripts/lib/default-skill-floor.js +11 -0
  22. package/scripts/lib/design-identity.js +117 -0
  23. package/scripts/lib/divergence.js +33 -0
  24. package/scripts/lib/domains.js +36 -0
  25. package/scripts/lib/eval-integrity.js +224 -0
  26. package/scripts/lib/frontmatter.js +47 -0
  27. package/scripts/lib/harden-policy.js +41 -0
  28. package/scripts/lib/knowledge-doctor.js +407 -0
  29. package/scripts/lib/manifest-file.js +57 -0
  30. package/scripts/lib/manifest.js +18 -0
  31. package/scripts/lib/onboarding-apply.js +361 -0
  32. package/scripts/lib/onboarding.js +329 -0
  33. package/scripts/lib/recommend.js +56 -0
  34. package/scripts/lib/registry.js +110 -0
  35. package/scripts/lib/repair.js +156 -0
  36. package/scripts/lib/repetition-report.js +47 -0
  37. package/scripts/lib/repetition.js +186 -0
  38. package/scripts/lib/result-envelope.js +35 -0
  39. package/scripts/lib/skill-lint.js +29 -0
  40. package/scripts/lib/starting-point.js +314 -0
  41. package/scripts/lib/state.js +12 -0
  42. package/scripts/lib/text-rank.js +112 -0
  43. package/scripts/lib/ui.js +266 -0
  44. package/scripts/lib/upgrade.js +18 -0
  45. package/scripts/originality-check.js +137 -0
  46. package/scripts/reviewer-guard.sh +67 -0
  47. package/scripts/routing-audit.js +163 -0
  48. package/scripts/rsc.js +1110 -0
  49. package/scripts/skill-behavior-eval.js +62 -0
  50. package/scripts/skill-behavior-eval.workflow.js +158 -0
  51. package/scripts/skill-behavior-rubric.md +63 -0
  52. package/scripts/skill-harden-rubric.md +102 -0
  53. package/scripts/skill-harden.workflow.js +265 -0
  54. package/scripts/skill-migration-brief.md +200 -0
  55. package/scripts/skill-rubric.md +40 -0
  56. package/scripts/skill-scoreboard.workflow.js +35 -0
  57. package/skills/ab-testing/SKILL.md +159 -0
  58. package/skills/ab-testing/evals/README.md +8 -0
  59. package/skills/ab-testing/evals/cases.yaml +49 -0
  60. package/skills/ab-testing/references/pitfalls.md +74 -0
  61. package/skills/ab-testing/references/sample-size-and-cuped.md +128 -0
  62. package/skills/ab-testing/scripts/verify.sh +89 -0
  63. package/skills/accessibility/SKILL.md +216 -0
  64. package/skills/accessibility/evals/README.md +3 -0
  65. package/skills/accessibility/evals/cases.yaml +47 -0
  66. package/skills/accessibility/references/aria-patterns.md +113 -0
  67. package/skills/accessibility/references/wcag22-checklist.md +83 -0
  68. package/skills/accessibility/scripts/verify.sh +103 -0
  69. package/skills/ads/SKILL.md +160 -0
  70. package/skills/ads/evals/README.md +15 -0
  71. package/skills/ads/evals/cases.yaml +58 -0
  72. package/skills/ads/references/platform-specs.md +73 -0
  73. package/skills/ads/references/roas-model.md +77 -0
  74. package/skills/ads/scripts/verify.sh +210 -0
  75. package/skills/agent-eval/SKILL.md +187 -0
  76. package/skills/agent-eval/evals/README.md +12 -0
  77. package/skills/agent-eval/evals/cases.yaml +45 -0
  78. package/skills/agent-eval/references/judge-design.md +118 -0
  79. package/skills/agent-eval/references/runner-and-gate.md +183 -0
  80. package/skills/agent-eval/scripts/verify.sh +161 -0
  81. package/skills/agent-safety/SKILL.md +169 -0
  82. package/skills/agent-safety/evals/README.md +12 -0
  83. package/skills/agent-safety/evals/cases.yaml +46 -0
  84. package/skills/agent-safety/references/threat-model.md +51 -0
  85. package/skills/ai-media/SKILL.md +180 -0
  86. package/skills/ai-media/evals/README.md +3 -0
  87. package/skills/ai-media/evals/cases.yaml +45 -0
  88. package/skills/ai-media/references/ffmpeg-assembly.md +117 -0
  89. package/skills/ai-media/references/models-and-params.md +78 -0
  90. package/skills/ai-media/scripts/verify.sh +103 -0
  91. package/skills/analytics/SKILL.md +197 -0
  92. package/skills/analytics/evals/README.md +9 -0
  93. package/skills/analytics/evals/cases.yaml +53 -0
  94. package/skills/analytics/references/event-taxonomy.md +75 -0
  95. package/skills/analytics/references/ga4-setup.md +122 -0
  96. package/skills/analytics/references/posthog-setup.md +100 -0
  97. package/skills/analytics/scripts/verify.sh +95 -0
  98. package/skills/angular/SKILL.md +275 -0
  99. package/skills/angular/evals/README.md +3 -0
  100. package/skills/angular/evals/cases.yaml +38 -0
  101. package/skills/angular/references/migration.md +81 -0
  102. package/skills/angular/references/signals-rxjs.md +92 -0
  103. package/skills/angular/scripts/verify.sh +122 -0
  104. package/skills/animar/RECIPES.md +324 -0
  105. package/skills/animar/SKILL.md +201 -0
  106. package/skills/animar/evals/cases.yaml +32 -0
  107. package/skills/api-connector-builder/SKILL.md +268 -0
  108. package/skills/api-connector-builder/evals/README.md +11 -0
  109. package/skills/api-connector-builder/evals/cases.yaml +47 -0
  110. package/skills/api-connector-builder/references/auth-flows.md +132 -0
  111. package/skills/api-connector-builder/references/pagination.md +144 -0
  112. package/skills/api-connector-builder/scripts/verify.sh +172 -0
  113. package/skills/api-design/SKILL.md +182 -0
  114. package/skills/api-design/evals/README.md +3 -0
  115. package/skills/api-design/evals/cases.yaml +45 -0
  116. package/skills/api-design/references/graphql-design.md +70 -0
  117. package/skills/api-design/references/openapi-contract.md +86 -0
  118. package/skills/api-design/references/rest-conventions.md +63 -0
  119. package/skills/api-design/references/versioning-and-evolution.md +49 -0
  120. package/skills/api-design/scripts/verify.sh +138 -0
  121. package/skills/article-writing/SKILL.md +158 -0
  122. package/skills/article-writing/evals/README.md +3 -0
  123. package/skills/article-writing/evals/cases.yaml +47 -0
  124. package/skills/article-writing/references/ai-tell-banlist.md +114 -0
  125. package/skills/article-writing/references/on-page-seo.md +133 -0
  126. package/skills/article-writing/scripts/verify.sh +165 -0
  127. package/skills/astro/SKILL.md +257 -0
  128. package/skills/astro/evals/README.md +3 -0
  129. package/skills/astro/evals/cases.yaml +41 -0
  130. package/skills/astro/references/content-layer.md +118 -0
  131. package/skills/astro/references/deploy-and-integrations.md +163 -0
  132. package/skills/astro/scripts/verify.sh +137 -0
  133. package/skills/author-skill/SKILL.md +194 -0
  134. package/skills/author-skill/evals/README.md +66 -0
  135. package/skills/author-skill/evals/cases.yaml +75 -0
  136. package/skills/author-skill/references/description-recipe.md +85 -0
  137. package/skills/author-skill/references/eval-authoring.md +108 -0
  138. package/skills/author-skill/references/rsc-conventions.md +95 -0
  139. package/skills/automation-flows/SKILL.md +122 -0
  140. package/skills/automation-flows/evals/README.md +5 -0
  141. package/skills/automation-flows/evals/cases.yaml +44 -0
  142. package/skills/automation-flows/references/error-handling.md +58 -0
  143. package/skills/automation-flows/references/n8n-workflow-json.md +63 -0
  144. package/skills/automation-flows/scripts/verify.sh +78 -0
  145. package/skills/automation-strategy/SKILL.md +123 -0
  146. package/skills/automation-strategy/evals/README.md +16 -0
  147. package/skills/automation-strategy/evals/cases.yaml +48 -0
  148. package/skills/automation-strategy/references/automate-decision-and-roi.md +118 -0
  149. package/skills/automation-strategy/references/orchestration-and-antipatterns.md +107 -0
  150. package/skills/automation-strategy/references/platform-selection-matrix.md +86 -0
  151. package/skills/aws-essentials/SKILL.md +206 -0
  152. package/skills/aws-essentials/evals/README.md +10 -0
  153. package/skills/aws-essentials/evals/cases.yaml +44 -0
  154. package/skills/aws-essentials/references/iam-least-privilege.md +134 -0
  155. package/skills/aws-essentials/references/rds-cloudfront-recipes.md +127 -0
  156. package/skills/aws-essentials/scripts/verify.sh +99 -0
  157. package/skills/backups/SKILL.md +131 -0
  158. package/skills/backups/evals/README.md +3 -0
  159. package/skills/backups/evals/cases.yaml +42 -0
  160. package/skills/backups/references/engine-recipes.md +121 -0
  161. package/skills/backups/references/restore-runbook.md +65 -0
  162. package/skills/backups/scripts/verify.sh +80 -0
  163. package/skills/bash-scripting/SKILL.md +227 -0
  164. package/skills/bash-scripting/evals/README.md +3 -0
  165. package/skills/bash-scripting/evals/cases.yaml +45 -0
  166. package/skills/bash-scripting/references/portability.md +97 -0
  167. package/skills/bash-scripting/scripts/verify.sh +140 -0
  168. package/skills/bookkeeping/SKILL.md +176 -0
  169. package/skills/bookkeeping/evals/README.md +5 -0
  170. package/skills/bookkeeping/evals/cases.yaml +52 -0
  171. package/skills/bookkeeping/references/chart-of-accounts.md +87 -0
  172. package/skills/bookkeeping/references/reconciliation-playbook.md +54 -0
  173. package/skills/bookkeeping/references/tricky-transactions.md +192 -0
  174. package/skills/brand-identity/SKILL.md +135 -0
  175. package/skills/brand-identity/evals/README.md +14 -0
  176. package/skills/brand-identity/evals/cases.yaml +43 -0
  177. package/skills/brand-identity/references/color-and-tokens.md +129 -0
  178. package/skills/brand-identity/references/logo-and-assets.md +117 -0
  179. package/skills/brand-identity/scripts/verify.sh +224 -0
  180. package/skills/brand-voice/SKILL.md +156 -0
  181. package/skills/brand-voice/evals/README.md +3 -0
  182. package/skills/brand-voice/evals/cases.yaml +57 -0
  183. package/skills/brand-voice/references/voice-guide-template.md +164 -0
  184. package/skills/brand-voice/references/word-bank.md +61 -0
  185. package/skills/brand-voice/scripts/verify.sh +190 -0
  186. package/skills/bro/SKILL.md +76 -0
  187. package/skills/bro/evals/README.md +22 -0
  188. package/skills/bro/evals/cases.yaml +62 -0
  189. package/skills/building-agents/SKILL.md +386 -0
  190. package/skills/building-agents/evals/README.md +68 -0
  191. package/skills/building-agents/evals/cases.yaml +60 -0
  192. package/skills/building-agents/references/agent-loops-and-harness.md +371 -0
  193. package/skills/building-agents/references/evals-and-observability.md +420 -0
  194. package/skills/building-agents/references/mcp-servers.md +294 -0
  195. package/skills/building-agents/references/provider-abstraction.md +489 -0
  196. package/skills/building-agents/references/tools-and-rag.md +417 -0
  197. package/skills/building-agents/scripts/verify.sh +121 -0
  198. package/skills/business-intelligence/SKILL.md +162 -0
  199. package/skills/business-intelligence/evals/README.md +3 -0
  200. package/skills/business-intelligence/evals/cases.yaml +43 -0
  201. package/skills/business-intelligence/references/authoring-semantic-models.md +120 -0
  202. package/skills/business-intelligence/references/wiring-agents-and-apis.md +79 -0
  203. package/skills/business-intelligence/scripts/verify.sh +143 -0
  204. package/skills/calendar-scheduling/SKILL.md +180 -0
  205. package/skills/calendar-scheduling/evals/README.md +14 -0
  206. package/skills/calendar-scheduling/evals/cases.yaml +45 -0
  207. package/skills/calendar-scheduling/references/google-calendar-sync.md +78 -0
  208. package/skills/calendar-scheduling/references/provider-matrix.md +71 -0
  209. package/skills/calendar-scheduling/scripts/verify.sh +117 -0
  210. package/skills/case-studies/SKILL.md +142 -0
  211. package/skills/case-studies/evals/README.md +3 -0
  212. package/skills/case-studies/evals/cases.yaml +63 -0
  213. package/skills/case-studies/references/case-study-skeleton.md +90 -0
  214. package/skills/case-studies/references/consent-and-substantiation.md +80 -0
  215. package/skills/case-studies/scripts/verify.sh +161 -0
  216. package/skills/chatbot/SKILL.md +151 -0
  217. package/skills/chatbot/evals/README.md +13 -0
  218. package/skills/chatbot/evals/cases.yaml +43 -0
  219. package/skills/chatbot/references/handoff-and-sales.md +71 -0
  220. package/skills/chatbot/references/system-prompt-and-guardrails.md +78 -0
  221. package/skills/chatbot/scripts/verify.sh +162 -0
  222. package/skills/chrome-extension/SKILL.md +169 -0
  223. package/skills/chrome-extension/evals/README.md +12 -0
  224. package/skills/chrome-extension/evals/cases.yaml +40 -0
  225. package/skills/chrome-extension/references/store-and-migration.md +84 -0
  226. package/skills/chrome-extension/scripts/verify.sh +62 -0
  227. package/skills/claude-project-setup/SKILL.md +84 -0
  228. package/skills/claude-project-setup/evals/cases.yaml +32 -0
  229. package/skills/clickhouse-analytics/SKILL.md +159 -0
  230. package/skills/clickhouse-analytics/evals/README.md +3 -0
  231. package/skills/clickhouse-analytics/evals/cases.yaml +45 -0
  232. package/skills/clickhouse-analytics/references/ingestion-and-mvs.md +109 -0
  233. package/skills/clickhouse-analytics/references/query-optimization.md +76 -0
  234. package/skills/clickhouse-analytics/references/schema-and-engines.md +63 -0
  235. package/skills/clickhouse-analytics/scripts/verify.sh +109 -0
  236. package/skills/client-onboarding/SKILL.md +252 -0
  237. package/skills/client-onboarding/evals/README.md +14 -0
  238. package/skills/client-onboarding/evals/cases.yaml +40 -0
  239. package/skills/client-onboarding/references/onboarding-playbook.md +126 -0
  240. package/skills/cloudflare/SKILL.md +186 -0
  241. package/skills/cloudflare/evals/README.md +15 -0
  242. package/skills/cloudflare/evals/cases.yaml +46 -0
  243. package/skills/cloudflare/references/storage-primitives.md +104 -0
  244. package/skills/cloudflare/references/wrangler-config.md +91 -0
  245. package/skills/cloudflare/scripts/verify.sh +133 -0
  246. package/skills/code-review/SKILL.md +91 -0
  247. package/skills/code-review/evals/cases.yaml +32 -0
  248. package/skills/codebase-onboarding/SKILL.md +128 -0
  249. package/skills/codebase-onboarding/evals/README.md +3 -0
  250. package/skills/codebase-onboarding/evals/cases.yaml +69 -0
  251. package/skills/codebase-onboarding/references/recon-playbook.md +57 -0
  252. package/skills/codebase-onboarding/scripts/verify.sh +54 -0
  253. package/skills/cold-outreach/SKILL.md +185 -0
  254. package/skills/cold-outreach/evals/README.md +3 -0
  255. package/skills/cold-outreach/evals/cases.yaml +60 -0
  256. package/skills/cold-outreach/references/compliance-footer.md +50 -0
  257. package/skills/cold-outreach/references/hook-derivation.md +73 -0
  258. package/skills/cold-outreach/references/templates.md +88 -0
  259. package/skills/cold-outreach/scripts/verify.sh +170 -0
  260. package/skills/community/SKILL.md +198 -0
  261. package/skills/community/evals/README.md +3 -0
  262. package/skills/community/evals/cases.yaml +40 -0
  263. package/skills/community/references/metrics-and-rituals.md +58 -0
  264. package/skills/community/references/platform-playbooks.md +64 -0
  265. package/skills/community/scripts/verify.sh +83 -0
  266. package/skills/competitor-watch/SKILL.md +183 -0
  267. package/skills/competitor-watch/evals/README.md +19 -0
  268. package/skills/competitor-watch/evals/cases.yaml +54 -0
  269. package/skills/competitor-watch/references/monitoring-config.md +124 -0
  270. package/skills/competitor-watch/references/tracker-schema.md +98 -0
  271. package/skills/competitor-watch/scripts/verify.sh +253 -0
  272. package/skills/compliance/SKILL.md +157 -0
  273. package/skills/compliance/evals/README.md +14 -0
  274. package/skills/compliance/evals/cases.yaml +46 -0
  275. package/skills/compliance/references/frameworks.md +108 -0
  276. package/skills/compliance/references/operating-rhythm.md +79 -0
  277. package/skills/compliance/scripts/verify.sh +168 -0
  278. package/skills/compose-multiplatform/SKILL.md +198 -0
  279. package/skills/compose-multiplatform/evals/README.md +3 -0
  280. package/skills/compose-multiplatform/evals/cases.yaml +40 -0
  281. package/skills/compose-multiplatform/references/ios-interop.md +91 -0
  282. package/skills/compose-multiplatform/references/project-setup.md +96 -0
  283. package/skills/compose-multiplatform/scripts/verify.sh +123 -0
  284. package/skills/content-engine/SKILL.md +152 -0
  285. package/skills/content-engine/evals/README.md +17 -0
  286. package/skills/content-engine/evals/cases.yaml +62 -0
  287. package/skills/content-engine/references/atomization.md +81 -0
  288. package/skills/content-engine/references/brief-and-pipeline.md +104 -0
  289. package/skills/content-engine/scripts/verify.sh +146 -0
  290. package/skills/context-budget/SKILL.md +114 -0
  291. package/skills/context-budget/evals/README.md +11 -0
  292. package/skills/context-budget/evals/cases.yaml +40 -0
  293. package/skills/context-budget/references/handoff-and-compaction.md +96 -0
  294. package/skills/continuous-learning/SKILL.md +106 -0
  295. package/skills/continuous-learning/evals/README.md +16 -0
  296. package/skills/continuous-learning/evals/cases.yaml +39 -0
  297. package/skills/continuous-learning/references/lesson-routing.md +106 -0
  298. package/skills/contracts/SKILL.md +113 -0
  299. package/skills/contracts/evals/README.md +3 -0
  300. package/skills/contracts/evals/cases.yaml +42 -0
  301. package/skills/contracts/references/clause-library.md +129 -0
  302. package/skills/contracts/references/review-playbook.md +49 -0
  303. package/skills/contracts/scripts/verify.sh +53 -0
  304. package/skills/coolify/SKILL.md +194 -0
  305. package/skills/coolify/evals/README.md +21 -0
  306. package/skills/coolify/evals/cases.yaml +46 -0
  307. package/skills/coolify/references/databases-and-backups.md +99 -0
  308. package/skills/coolify/references/deploy-recipes.md +105 -0
  309. package/skills/coolify/references/install-and-proxy.md +80 -0
  310. package/skills/coolify/scripts/verify.sh +123 -0
  311. package/skills/cost-tracking/SKILL.md +175 -0
  312. package/skills/cost-tracking/evals/README.md +3 -0
  313. package/skills/cost-tracking/evals/cases.yaml +45 -0
  314. package/skills/cost-tracking/references/cloud-caps.md +52 -0
  315. package/skills/cost-tracking/references/pricing-tables.md +51 -0
  316. package/skills/cost-tracking/scripts/verify.sh +135 -0
  317. package/skills/course-builder/SKILL.md +158 -0
  318. package/skills/course-builder/evals/README.md +16 -0
  319. package/skills/course-builder/evals/cases.yaml +49 -0
  320. package/skills/course-builder/references/assessment-design.md +74 -0
  321. package/skills/course-builder/references/grounding-and-scoping.md +92 -0
  322. package/skills/course-builder/references/outcomes-and-blooms.md +82 -0
  323. package/skills/course-builder/scripts/verify.sh +247 -0
  324. package/skills/course-storytelling/SKILL.md +137 -0
  325. package/skills/course-storytelling/evals/README.md +54 -0
  326. package/skills/course-storytelling/evals/cases.yaml +50 -0
  327. package/skills/course-storytelling/references/brunson-frameworks.md +190 -0
  328. package/skills/course-storytelling/references/concept-landing-recipe.md +136 -0
  329. package/skills/course-storytelling/references/course-analysis.md +124 -0
  330. package/skills/course-storytelling/references/learner-grounding.md +203 -0
  331. package/skills/course-storytelling/references/mental-models.md +115 -0
  332. package/skills/course-storytelling/scripts/verify.sh +223 -0
  333. package/skills/cpp/SKILL.md +302 -0
  334. package/skills/cpp/evals/README.md +14 -0
  335. package/skills/cpp/evals/cases.yaml +44 -0
  336. package/skills/cpp/references/cmake.md +167 -0
  337. package/skills/cpp/references/move-and-templates.md +130 -0
  338. package/skills/cpp/references/undefined-behavior.md +86 -0
  339. package/skills/cpp/scripts/verify.sh +165 -0
  340. package/skills/csharp-dotnet/SKILL.md +272 -0
  341. package/skills/csharp-dotnet/evals/README.md +3 -0
  342. package/skills/csharp-dotnet/evals/cases.yaml +48 -0
  343. package/skills/csharp-dotnet/references/aspnetcore.md +99 -0
  344. package/skills/csharp-dotnet/references/async.md +82 -0
  345. package/skills/csharp-dotnet/references/efcore.md +96 -0
  346. package/skills/csharp-dotnet/scripts/verify.sh +90 -0
  347. package/skills/customer-support/SKILL.md +170 -0
  348. package/skills/customer-support/evals/README.md +13 -0
  349. package/skills/customer-support/evals/cases.yaml +61 -0
  350. package/skills/customer-support/references/macros-and-sla.md +142 -0
  351. package/skills/dashboard/SKILL.md +185 -0
  352. package/skills/dashboard/evals/README.md +3 -0
  353. package/skills/dashboard/evals/cases.yaml +50 -0
  354. package/skills/dashboard/references/chart-selection.md +34 -0
  355. package/skills/dashboard/references/tile-schema.md +164 -0
  356. package/skills/dashboard/scripts/verify.sh +130 -0
  357. package/skills/data-cleaning/SKILL.md +259 -0
  358. package/skills/data-cleaning/evals/README.md +16 -0
  359. package/skills/data-cleaning/evals/cases.yaml +57 -0
  360. package/skills/data-cleaning/references/normalization-recipes.md +136 -0
  361. package/skills/data-cleaning/references/validation-patterns.md +134 -0
  362. package/skills/data-cleaning/scripts/verify.sh +115 -0
  363. package/skills/data-policy/SKILL.md +150 -0
  364. package/skills/data-policy/evals/README.md +15 -0
  365. package/skills/data-policy/evals/cases.yaml +44 -0
  366. package/skills/data-policy/references/consent-and-ropa.md +97 -0
  367. package/skills/data-policy/references/retention-schedule.md +83 -0
  368. package/skills/data-policy/scripts/verify.sh +143 -0
  369. package/skills/data-scraper/SKILL.md +130 -0
  370. package/skills/data-scraper/evals/README.md +3 -0
  371. package/skills/data-scraper/evals/cases.yaml +46 -0
  372. package/skills/data-scraper/references/anti-bot.md +85 -0
  373. package/skills/data-scraper/references/frameworks.md +116 -0
  374. package/skills/data-scraper/references/legal-compliance.md +64 -0
  375. package/skills/data-scraper/scripts/verify.sh +166 -0
  376. package/skills/db-migrations/SKILL.md +237 -0
  377. package/skills/db-migrations/evals/README.md +10 -0
  378. package/skills/db-migrations/evals/cases.yaml +46 -0
  379. package/skills/db-migrations/references/backfill-and-batching.md +105 -0
  380. package/skills/db-migrations/references/expand-contract-playbook.md +152 -0
  381. package/skills/db-migrations/references/tools-and-runners.md +88 -0
  382. package/skills/db-migrations/scripts/verify.sh +112 -0
  383. package/skills/deep-learning/SKILL.md +226 -0
  384. package/skills/deep-learning/evals/README.md +11 -0
  385. package/skills/deep-learning/evals/cases.yaml +48 -0
  386. package/skills/deep-learning/references/distributed.md +105 -0
  387. package/skills/deep-learning/references/training-recipes.md +135 -0
  388. package/skills/deployment/SKILL.md +374 -0
  389. package/skills/deployment/evals/README.md +50 -0
  390. package/skills/deployment/evals/cases.yaml +53 -0
  391. package/skills/deployment/references/coolify.md +216 -0
  392. package/skills/deployment/references/dockerfiles-by-stack.md +319 -0
  393. package/skills/deployment/references/github-actions.md +295 -0
  394. package/skills/deployment/references/hosting-targets.md +272 -0
  395. package/skills/deployment/scripts/verify.sh +134 -0
  396. package/skills/deprecation/SKILL.md +123 -0
  397. package/skills/deprecation/evals/README.md +3 -0
  398. package/skills/deprecation/evals/cases.yaml +42 -0
  399. package/skills/design/SKILL.md +360 -0
  400. package/skills/design/evals/README.md +53 -0
  401. package/skills/design/evals/cases.yaml +56 -0
  402. package/skills/design/references/ai-tells.md +75 -0
  403. package/skills/design/references/brand-grounding.md +197 -0
  404. package/skills/design/references/copywriting-frameworks.md +138 -0
  405. package/skills/design/references/design-systems.md +49 -0
  406. package/skills/design/references/inspiration-sources.md +96 -0
  407. package/skills/design/references/landing-anatomy-and-cro.md +202 -0
  408. package/skills/design/references/motion-and-interaction.md +228 -0
  409. package/skills/design/references/research-method.md +154 -0
  410. package/skills/design/references/signature-and-craft.md +148 -0
  411. package/skills/design/references/starting-point.md +75 -0
  412. package/skills/design/references/trends-2026.md +80 -0
  413. package/skills/design/references/visual-system.md +237 -0
  414. package/skills/design/scripts/verify.sh +357 -0
  415. package/skills/design-dna/PROMPT.md +211 -0
  416. package/skills/design-dna/SKILL.md +162 -0
  417. package/skills/design-dna/design-dna.schema.json +230 -0
  418. package/skills/design-dna/evals/README.md +64 -0
  419. package/skills/design-dna/evals/cases.yaml +68 -0
  420. package/skills/design-dna/references/method.md +436 -0
  421. package/skills/design-dna/scripts/emit.py +164 -0
  422. package/skills/design-dna/templates/PROMPT.md.tmpl +42 -0
  423. package/skills/design-dna/templates/SKILL.md.tmpl +42 -0
  424. package/skills/design-dna/templates/check.py.tmpl +143 -0
  425. package/skills/design-loop/SKILL.md +160 -0
  426. package/skills/design-loop/evals/README.md +56 -0
  427. package/skills/design-loop/evals/cases.yaml +60 -0
  428. package/skills/digitalocean/SKILL.md +227 -0
  429. package/skills/digitalocean/evals/README.md +10 -0
  430. package/skills/digitalocean/evals/cases.yaml +37 -0
  431. package/skills/digitalocean/references/app-spec.md +126 -0
  432. package/skills/digitalocean/references/droplet-ops.md +95 -0
  433. package/skills/digitalocean/scripts/verify.sh +102 -0
  434. package/skills/diseno-apple/SKILL.md +284 -0
  435. package/skills/diseno-apple/evals/cases.yaml +32 -0
  436. package/skills/diseno-landing/SKILL.md +388 -0
  437. package/skills/diseno-landing/evals/cases.yaml +32 -0
  438. package/skills/django/SKILL.md +263 -0
  439. package/skills/django/evals/README.md +11 -0
  440. package/skills/django/evals/cases.yaml +47 -0
  441. package/skills/django/references/drf.md +109 -0
  442. package/skills/django/references/orm-performance.md +91 -0
  443. package/skills/django/references/security.md +81 -0
  444. package/skills/django/references/testing.md +86 -0
  445. package/skills/django/scripts/verify.sh +115 -0
  446. package/skills/docker/SKILL.md +251 -0
  447. package/skills/docker/evals/README.md +10 -0
  448. package/skills/docker/evals/cases.yaml +44 -0
  449. package/skills/docker/references/base-images-and-stages.md +104 -0
  450. package/skills/docker/references/compose-recipes.md +109 -0
  451. package/skills/docker/scripts/verify.sh +149 -0
  452. package/skills/document-processing/SKILL.md +206 -0
  453. package/skills/document-processing/evals/README.md +3 -0
  454. package/skills/document-processing/evals/cases.yaml +65 -0
  455. package/skills/document-processing/references/engines.md +67 -0
  456. package/skills/document-processing/scripts/verify.sh +172 -0
  457. package/skills/domain-modeling/ADR-FORMAT.md +47 -0
  458. package/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  459. package/skills/domain-modeling/SKILL.md +76 -0
  460. package/skills/domain-modeling/evals/cases.yaml +32 -0
  461. package/skills/domains-dns/SKILL.md +131 -0
  462. package/skills/domains-dns/evals/README.md +16 -0
  463. package/skills/domains-dns/evals/cases.yaml +47 -0
  464. package/skills/domains-dns/references/record-cookbook.md +94 -0
  465. package/skills/domains-dns/references/tls-and-acme.md +90 -0
  466. package/skills/domains-dns/references/verify-and-debug.md +64 -0
  467. package/skills/domains-dns/scripts/verify.sh +163 -0
  468. package/skills/drizzle-orm/SKILL.md +231 -0
  469. package/skills/drizzle-orm/evals/README.md +12 -0
  470. package/skills/drizzle-orm/evals/cases.yaml +47 -0
  471. package/skills/drizzle-orm/references/relations-and-drivers.md +118 -0
  472. package/skills/drizzle-orm/scripts/verify.sh +155 -0
  473. package/skills/duckdb/SKILL.md +202 -0
  474. package/skills/duckdb/evals/README.md +31 -0
  475. package/skills/duckdb/evals/cases.yaml +41 -0
  476. package/skills/duckdb/references/python-and-interop.md +105 -0
  477. package/skills/duckdb/references/remote-and-lakehouse.md +101 -0
  478. package/skills/duckdb/scripts/verify.sh +71 -0
  479. package/skills/dynamodb/SKILL.md +204 -0
  480. package/skills/dynamodb/evals/README.md +8 -0
  481. package/skills/dynamodb/evals/cases.yaml +46 -0
  482. package/skills/dynamodb/references/access-patterns.md +127 -0
  483. package/skills/dynamodb/references/capacity-and-limits.md +78 -0
  484. package/skills/dynamodb/scripts/verify.sh +108 -0
  485. package/skills/e-signature/SKILL.md +185 -0
  486. package/skills/e-signature/evals/README.md +3 -0
  487. package/skills/e-signature/evals/cases.yaml +44 -0
  488. package/skills/e-signature/references/docusign.md +83 -0
  489. package/skills/e-signature/references/dropbox-sign.md +73 -0
  490. package/skills/e-signature/references/legal-tiers.md +37 -0
  491. package/skills/e-signature/scripts/verify.sh +81 -0
  492. package/skills/e2e-testing/SKILL.md +233 -0
  493. package/skills/e2e-testing/evals/README.md +10 -0
  494. package/skills/e2e-testing/evals/cases.yaml +64 -0
  495. package/skills/e2e-testing/references/config-and-ci.md +156 -0
  496. package/skills/e2e-testing/references/flakiness-playbook.md +124 -0
  497. package/skills/e2e-testing/scripts/verify.sh +117 -0
  498. package/skills/electron/SKILL.md +209 -0
  499. package/skills/electron/evals/README.md +13 -0
  500. package/skills/electron/evals/cases.yaml +38 -0
  501. package/skills/electron/references/packaging-and-updates.md +122 -0
  502. package/skills/electron/references/security-and-ipc.md +158 -0
  503. package/skills/electron/scripts/verify.sh +143 -0
  504. package/skills/eli5/SKILL.md +63 -0
  505. package/skills/eli5/evals/README.md +22 -0
  506. package/skills/eli5/evals/cases.yaml +54 -0
  507. package/skills/elixir/SKILL.md +209 -0
  508. package/skills/elixir/evals/README.md +3 -0
  509. package/skills/elixir/evals/cases.yaml +41 -0
  510. package/skills/elixir/references/mix-and-releases.md +91 -0
  511. package/skills/elixir/references/otp-patterns.md +96 -0
  512. package/skills/elixir/scripts/verify.sh +76 -0
  513. package/skills/email-connector/SKILL.md +277 -0
  514. package/skills/email-connector/evals/README.md +19 -0
  515. package/skills/email-connector/evals/cases.yaml +39 -0
  516. package/skills/email-connector/references/providers.md +107 -0
  517. package/skills/email-connector/scripts/verify.sh +72 -0
  518. package/skills/email-deliverability/SKILL.md +148 -0
  519. package/skills/email-deliverability/evals/README.md +21 -0
  520. package/skills/email-deliverability/evals/cases.yaml +45 -0
  521. package/skills/email-deliverability/scripts/verify.sh +98 -0
  522. package/skills/embeddings-search/SKILL.md +184 -0
  523. package/skills/embeddings-search/evals/README.md +10 -0
  524. package/skills/embeddings-search/evals/cases.yaml +44 -0
  525. package/skills/embeddings-search/references/evaluation.md +86 -0
  526. package/skills/embeddings-search/references/models.md +73 -0
  527. package/skills/embeddings-search/scripts/verify.sh +103 -0
  528. package/skills/error-handling/SKILL.md +273 -0
  529. package/skills/error-handling/evals/README.md +12 -0
  530. package/skills/error-handling/evals/cases.yaml +46 -0
  531. package/skills/error-handling/references/boundaries-and-messaging.md +120 -0
  532. package/skills/error-handling/references/retry-and-resilience.md +154 -0
  533. package/skills/error-handling/scripts/verify.sh +110 -0
  534. package/skills/expo/SKILL.md +244 -0
  535. package/skills/expo/evals/README.md +13 -0
  536. package/skills/expo/evals/cases.yaml +44 -0
  537. package/skills/expo/references/config-plugins.md +117 -0
  538. package/skills/expo/references/eas-update.md +118 -0
  539. package/skills/expo/scripts/verify.sh +132 -0
  540. package/skills/fable-operator/SKILL.md +167 -0
  541. package/skills/fable-operator/evals/README.md +8 -0
  542. package/skills/fable-operator/evals/cases.yaml +52 -0
  543. package/skills/fal/SKILL.md +196 -0
  544. package/skills/fal/evals/README.md +3 -0
  545. package/skills/fal/evals/cases.yaml +42 -0
  546. package/skills/fal/references/models-and-cost.md +53 -0
  547. package/skills/fal/references/queue-and-webhooks.md +153 -0
  548. package/skills/fal/scripts/verify.sh +72 -0
  549. package/skills/fastapi/SKILL.md +469 -0
  550. package/skills/fastapi/evals/README.md +50 -0
  551. package/skills/fastapi/evals/cases.yaml +55 -0
  552. package/skills/fastapi/references/database.md +347 -0
  553. package/skills/fastapi/references/production.md +338 -0
  554. package/skills/fastapi/references/security.md +330 -0
  555. package/skills/fastapi/references/testing.md +349 -0
  556. package/skills/fastapi/scripts/verify.sh +157 -0
  557. package/skills/finance-ops/SKILL.md +141 -0
  558. package/skills/finance-ops/evals/README.md +3 -0
  559. package/skills/finance-ops/evals/cases.yaml +39 -0
  560. package/skills/finance-ops/references/cash-flow-forecast.md +57 -0
  561. package/skills/finance-ops/references/month-close.md +59 -0
  562. package/skills/finance-ops/references/reconciliation.md +65 -0
  563. package/skills/finance-ops/scripts/verify.sh +166 -0
  564. package/skills/financial-model/SKILL.md +152 -0
  565. package/skills/financial-model/evals/README.md +3 -0
  566. package/skills/financial-model/evals/cases.yaml +53 -0
  567. package/skills/financial-model/references/benchmarks-and-scenarios.md +55 -0
  568. package/skills/financial-model/references/model-structure.md +67 -0
  569. package/skills/financial-model/references/revenue-build.md +68 -0
  570. package/skills/financial-model/scripts/verify.sh +232 -0
  571. package/skills/finetuning/SKILL.md +232 -0
  572. package/skills/finetuning/evals/README.md +13 -0
  573. package/skills/finetuning/evals/cases.yaml +50 -0
  574. package/skills/finetuning/references/hyperparameters-and-eval.md +74 -0
  575. package/skills/finetuning/references/methods.md +189 -0
  576. package/skills/firebase/SKILL.md +237 -0
  577. package/skills/firebase/evals/README.md +12 -0
  578. package/skills/firebase/evals/cases.yaml +45 -0
  579. package/skills/firebase/references/cloud-functions.md +102 -0
  580. package/skills/firebase/references/data-modeling.md +108 -0
  581. package/skills/firebase/references/security-rules.md +137 -0
  582. package/skills/firebase/scripts/verify.sh +98 -0
  583. package/skills/flutter/SKILL.md +400 -0
  584. package/skills/flutter/evals/README.md +54 -0
  585. package/skills/flutter/evals/cases.yaml +69 -0
  586. package/skills/flutter/references/architecture-and-state.md +499 -0
  587. package/skills/flutter/references/i18n-and-dependencies.md +197 -0
  588. package/skills/flutter/references/performance.md +299 -0
  589. package/skills/flutter/references/testing.md +385 -0
  590. package/skills/flutter/references/ui-and-navigation.md +378 -0
  591. package/skills/flutter/scripts/verify.sh +104 -0
  592. package/skills/fly-io/SKILL.md +197 -0
  593. package/skills/fly-io/evals/README.md +3 -0
  594. package/skills/fly-io/evals/cases.yaml +42 -0
  595. package/skills/fly-io/references/fly-toml.md +155 -0
  596. package/skills/fly-io/references/multi-region.md +66 -0
  597. package/skills/fly-io/scripts/verify.sh +90 -0
  598. package/skills/forecasting/SKILL.md +139 -0
  599. package/skills/forecasting/evals/README.md +13 -0
  600. package/skills/forecasting/evals/cases.yaml +47 -0
  601. package/skills/forecasting/references/accuracy-and-backtesting.md +104 -0
  602. package/skills/forecasting/references/methods-cheatsheet.md +94 -0
  603. package/skills/forecasting/scripts/verify.sh +99 -0
  604. package/skills/fundraising/SKILL.md +153 -0
  605. package/skills/fundraising/evals/README.md +18 -0
  606. package/skills/fundraising/evals/cases.yaml +76 -0
  607. package/skills/fundraising/references/funnel-math.md +90 -0
  608. package/skills/fundraising/references/process-playbook.md +97 -0
  609. package/skills/game-design/SKILL.md +146 -0
  610. package/skills/game-design/evals/README.md +13 -0
  611. package/skills/game-design/evals/cases.yaml +47 -0
  612. package/skills/game-design/references/mechanics-and-loops.md +78 -0
  613. package/skills/game-design/references/playtesting-and-scope.md +58 -0
  614. package/skills/game-design/references/progression-and-economy.md +70 -0
  615. package/skills/game-storytelling/SKILL.md +134 -0
  616. package/skills/game-storytelling/evals/README.md +28 -0
  617. package/skills/game-storytelling/evals/cases.yaml +51 -0
  618. package/skills/game-storytelling/references/branching-and-state.md +134 -0
  619. package/skills/game-storytelling/references/dialogue-tools.md +117 -0
  620. package/skills/game-storytelling/references/environmental-storytelling.md +71 -0
  621. package/skills/gamedev-multiplayer/SKILL.md +237 -0
  622. package/skills/gamedev-multiplayer/evals/README.md +12 -0
  623. package/skills/gamedev-multiplayer/evals/cases.yaml +44 -0
  624. package/skills/gamedev-multiplayer/references/godot-high-level-multiplayer.md +133 -0
  625. package/skills/gamedev-multiplayer/references/prediction-and-latency.md +104 -0
  626. package/skills/gamedev-multiplayer/references/unity-and-unreal-netcode.md +166 -0
  627. package/skills/gamedev-pathing/SKILL.md +233 -0
  628. package/skills/gamedev-pathing/evals/README.md +14 -0
  629. package/skills/gamedev-pathing/evals/cases.yaml +49 -0
  630. package/skills/gamedev-pathing/references/navmesh-workflow.md +110 -0
  631. package/skills/gamedev-pathing/references/search-algorithms.md +135 -0
  632. package/skills/gamedev-pathing/references/steering-and-avoidance.md +120 -0
  633. package/skills/gamedev-physics/SKILL.md +225 -0
  634. package/skills/gamedev-physics/evals/README.md +12 -0
  635. package/skills/gamedev-physics/evals/cases.yaml +54 -0
  636. package/skills/gamedev-physics/references/character-controllers.md +120 -0
  637. package/skills/gamedev-physics/references/determinism-and-queries.md +124 -0
  638. package/skills/gamedev-physics/references/layers-and-masks.md +115 -0
  639. package/skills/gamedev-shaders/SKILL.md +232 -0
  640. package/skills/gamedev-shaders/evals/README.md +14 -0
  641. package/skills/gamedev-shaders/evals/cases.yaml +45 -0
  642. package/skills/gamedev-shaders/references/effect-recipes.md +205 -0
  643. package/skills/gamedev-shaders/references/godot-shading-language.md +133 -0
  644. package/skills/gamedev-shaders/references/unity-and-unreal-shaders.md +169 -0
  645. package/skills/gamedev-shipping/SKILL.md +220 -0
  646. package/skills/gamedev-shipping/evals/README.md +9 -0
  647. package/skills/gamedev-shipping/evals/cases.yaml +55 -0
  648. package/skills/gamedev-shipping/references/mobile-and-desktop.md +127 -0
  649. package/skills/gamedev-shipping/references/stores-and-ci.md +162 -0
  650. package/skills/gamedev-shipping/references/web-export-headers.md +140 -0
  651. package/skills/gcp-essentials/SKILL.md +324 -0
  652. package/skills/gcp-essentials/evals/README.md +12 -0
  653. package/skills/gcp-essentials/evals/cases.yaml +38 -0
  654. package/skills/gcp-essentials/references/deploy-recipes.md +81 -0
  655. package/skills/gcp-essentials/references/iam-and-auth.md +94 -0
  656. package/skills/gcp-essentials/references/networking-and-sql.md +74 -0
  657. package/skills/gcp-essentials/scripts/verify.sh +158 -0
  658. package/skills/gdpr-privacy/SKILL.md +159 -0
  659. package/skills/gdpr-privacy/evals/README.md +3 -0
  660. package/skills/gdpr-privacy/evals/cases.yaml +47 -0
  661. package/skills/gdpr-privacy/references/dpa-and-transfers.md +63 -0
  662. package/skills/gdpr-privacy/references/dsar-and-consent.md +83 -0
  663. package/skills/gdpr-privacy/references/privacy-policy-blueprint.md +99 -0
  664. package/skills/gdpr-privacy/scripts/verify.sh +84 -0
  665. package/skills/git-workflow/SKILL.md +214 -0
  666. package/skills/git-workflow/evals/README.md +10 -0
  667. package/skills/git-workflow/evals/cases.yaml +52 -0
  668. package/skills/git-workflow/references/gitmoji.md +157 -0
  669. package/skills/git-workflow/references/interactive-rebase.md +89 -0
  670. package/skills/github-actions/SKILL.md +244 -0
  671. package/skills/github-actions/evals/README.md +3 -0
  672. package/skills/github-actions/evals/cases.yaml +45 -0
  673. package/skills/github-actions/references/caching-and-matrix.md +92 -0
  674. package/skills/github-actions/references/oidc-deploys.md +130 -0
  675. package/skills/github-actions/scripts/verify.sh +105 -0
  676. package/skills/go/SKILL.md +390 -0
  677. package/skills/go/evals/README.md +56 -0
  678. package/skills/go/evals/cases.yaml +55 -0
  679. package/skills/go/references/concurrency.md +557 -0
  680. package/skills/go/references/http-services.md +529 -0
  681. package/skills/go/references/testing.md +338 -0
  682. package/skills/go/scripts/verify.sh +134 -0
  683. package/skills/godot/SKILL.md +300 -0
  684. package/skills/godot/evals/README.md +13 -0
  685. package/skills/godot/evals/cases.yaml +50 -0
  686. package/skills/godot/references/export-and-testing.md +102 -0
  687. package/skills/godot/references/gdscript-style.md +84 -0
  688. package/skills/godot/references/godot3-to-4-traps.md +89 -0
  689. package/skills/godot/references/nodes-scenes-resources.md +109 -0
  690. package/skills/google-workspace/SKILL.md +246 -0
  691. package/skills/google-workspace/evals/README.md +16 -0
  692. package/skills/google-workspace/evals/cases.yaml +44 -0
  693. package/skills/google-workspace/references/api-recipes.md +148 -0
  694. package/skills/google-workspace/references/auth-setup.md +100 -0
  695. package/skills/google-workspace/scripts/verify.sh +128 -0
  696. package/skills/grants/SKILL.md +153 -0
  697. package/skills/grants/evals/README.md +3 -0
  698. package/skills/grants/evals/cases.yaml +69 -0
  699. package/skills/grants/references/budget-justification.md +71 -0
  700. package/skills/grants/references/jurisdictions.md +35 -0
  701. package/skills/grants/references/logic-model.md +66 -0
  702. package/skills/grants/scripts/verify.sh +193 -0
  703. package/skills/grill-me/SKILL.md +9 -0
  704. package/skills/grill-me/evals/cases.yaml +32 -0
  705. package/skills/grill-with-docs/SKILL.md +9 -0
  706. package/skills/grill-with-docs/evals/cases.yaml +32 -0
  707. package/skills/grilling/SKILL.md +30 -0
  708. package/skills/grilling/evals/cases.yaml +32 -0
  709. package/skills/handoff/SKILL.md +18 -0
  710. package/skills/handoff/evals/cases.yaml +32 -0
  711. package/skills/harness/SKILL.md +301 -0
  712. package/skills/harness/assets/_TEMPLATE/.env.example +8 -0
  713. package/skills/harness/assets/_TEMPLATE/CREDENTIALS.md +25 -0
  714. package/skills/harness/assets/_TEMPLATE/README.md +25 -0
  715. package/skills/harness/assets/_TEMPLATE/gitignore +10 -0
  716. package/skills/harness/assets/_TEMPLATE/test_connection.sh +30 -0
  717. package/skills/harness/evals/README.md +54 -0
  718. package/skills/harness/evals/cases.yaml +72 -0
  719. package/skills/harness/examples/audit-example.md +120 -0
  720. package/skills/harness/references/agents-md-template.md +41 -0
  721. package/skills/harness/references/audit-report-template.html +140 -0
  722. package/skills/harness/references/audit-report-template.md +116 -0
  723. package/skills/harness/references/claude-md-template.md +85 -0
  724. package/skills/harness/references/daily-curation-automation.md +68 -0
  725. package/skills/harness/references/inbox-readme-template.md +51 -0
  726. package/skills/harness/references/ingest-formats.md +185 -0
  727. package/skills/harness/references/ingest-ignore-defaults.md +48 -0
  728. package/skills/harness/references/obsidian-scaffolding.md +103 -0
  729. package/skills/harness/references/providers.yaml +3546 -0
  730. package/skills/harness/references/tools-readme-template.md +88 -0
  731. package/skills/harness/references/wiki-archive-template.html +81 -0
  732. package/skills/harness/references/wiki-article-template.md +60 -0
  733. package/skills/harness/references/wiki-dashboard-template.html +136 -0
  734. package/skills/harness/references/wiki-deep-improve-report-template.html +126 -0
  735. package/skills/harness/references/wiki-gaps-template.md +22 -0
  736. package/skills/harness/references/wiki-index-template.md +32 -0
  737. package/skills/harness/references/wiki-protocol.md +921 -0
  738. package/skills/harness/references/wiki-raw-template.md +7 -0
  739. package/skills/harness/references/wiki-worklog-template.md +60 -0
  740. package/skills/hetzner/SKILL.md +203 -0
  741. package/skills/hetzner/evals/README.md +35 -0
  742. package/skills/hetzner/evals/cases.yaml +46 -0
  743. package/skills/hetzner/references/cloud-init.md +120 -0
  744. package/skills/hetzner/references/plans-and-locations.md +56 -0
  745. package/skills/hetzner/scripts/verify.sh +122 -0
  746. package/skills/hiring/SKILL.md +236 -0
  747. package/skills/hiring/evals/README.md +13 -0
  748. package/skills/hiring/evals/cases.yaml +41 -0
  749. package/skills/hiring/references/templates.md +118 -0
  750. package/skills/htmx/SKILL.md +261 -0
  751. package/skills/htmx/evals/README.md +3 -0
  752. package/skills/htmx/evals/cases.yaml +38 -0
  753. package/skills/htmx/references/patterns.md +113 -0
  754. package/skills/htmx/references/server-contract.md +91 -0
  755. package/skills/htmx/scripts/verify.sh +93 -0
  756. package/skills/huggingface/SKILL.md +191 -0
  757. package/skills/huggingface/evals/README.md +11 -0
  758. package/skills/huggingface/evals/cases.yaml +41 -0
  759. package/skills/huggingface/references/endpoints-and-spaces.md +99 -0
  760. package/skills/huggingface/references/hub-and-cli.md +85 -0
  761. package/skills/huggingface/references/inference-providers.md +115 -0
  762. package/skills/huggingface/scripts/verify.sh +123 -0
  763. package/skills/implement/SKILL.md +18 -0
  764. package/skills/implement/evals/cases.yaml +32 -0
  765. package/skills/ingeniero-diseno-web/README.md +472 -0
  766. package/skills/ingeniero-diseno-web/SKILL.md +477 -0
  767. package/skills/ingeniero-diseno-web/agents/openai.yaml +7 -0
  768. package/skills/ingeniero-diseno-web/evals/cases.yaml +32 -0
  769. package/skills/ingeniero-diseno-web/manifest.json +15 -0
  770. package/skills/ingeniero-diseno-web/references/advanced-patterns.md +521 -0
  771. package/skills/ingeniero-diseno-web/references/block-library.md +38 -0
  772. package/skills/ingeniero-diseno-web/references/browser-acceptance.md +127 -0
  773. package/skills/ingeniero-diseno-web/references/critique-guide.md +226 -0
  774. package/skills/ingeniero-diseno-web/references/design-calibration.md +136 -0
  775. package/skills/ingeniero-diseno-web/references/design-directions.md +188 -0
  776. package/skills/ingeniero-diseno-web/references/failure-patterns.md +159 -0
  777. package/skills/ingeniero-diseno-web/references/redesign-protocol.md +123 -0
  778. package/skills/ingeniero-diseno-web/references/style-recipes/INDEX.md +145 -0
  779. package/skills/ingeniero-diseno-web/references/style-recipes/active-theory.md +49 -0
  780. package/skills/ingeniero-diseno-web/references/style-recipes/aesop.md +52 -0
  781. package/skills/ingeniero-diseno-web/references/style-recipes/apple-hig.md +52 -0
  782. package/skills/ingeniero-diseno-web/references/style-recipes/are-na.md +55 -0
  783. package/skills/ingeniero-diseno-web/references/style-recipes/balenciaga-post-2017.md +52 -0
  784. package/skills/ingeniero-diseno-web/references/style-recipes/bloomberg-businessweek-turley.md +52 -0
  785. package/skills/ingeniero-diseno-web/references/style-recipes/bloomberg-terminal.md +56 -0
  786. package/skills/ingeniero-diseno-web/references/style-recipes/dieter-rams-braun.md +50 -0
  787. package/skills/ingeniero-diseno-web/references/style-recipes/field-io.md +50 -0
  788. package/skills/ingeniero-diseno-web/references/style-recipes/headspace-meditation.md +52 -0
  789. package/skills/ingeniero-diseno-web/references/style-recipes/linear.md +61 -0
  790. package/skills/ingeniero-diseno-web/references/style-recipes/mailchimp-freddie.md +52 -0
  791. package/skills/ingeniero-diseno-web/references/style-recipes/mid-century-modern.md +52 -0
  792. package/skills/ingeniero-diseno-web/references/style-recipes/monocle-magazine.md +53 -0
  793. package/skills/ingeniero-diseno-web/references/style-recipes/muji-kenya-hara.md +52 -0
  794. package/skills/ingeniero-diseno-web/references/style-recipes/notion-pre-ai.md +53 -0
  795. package/skills/ingeniero-diseno-web/references/style-recipes/nyt-the-daily.md +54 -0
  796. package/skills/ingeniero-diseno-web/references/style-recipes/pentagram.md +52 -0
  797. package/skills/ingeniero-diseno-web/references/style-recipes/raycast.md +54 -0
  798. package/skills/ingeniero-diseno-web/references/style-recipes/resn-storytelling.md +49 -0
  799. package/skills/ingeniero-diseno-web/references/style-recipes/stripe-press.md +54 -0
  800. package/skills/ingeniero-diseno-web/references/style-recipes/tufte-dataink.md +52 -0
  801. package/skills/ingeniero-diseno-web/references/style-recipes/vercel-mesh.md +56 -0
  802. package/skills/ingeniero-diseno-web/references/style-recipes/vignelli-swiss-helvetica.md +50 -0
  803. package/skills/ingeniero-diseno-web/references/style-recipes/y2k-retrofuturism.md +54 -0
  804. package/skills/init/SKILL.md +218 -0
  805. package/skills/init/evals/README.md +49 -0
  806. package/skills/init/evals/cases.yaml +74 -0
  807. package/skills/init/references/accompaniment-and-profile.md +140 -0
  808. package/skills/init/references/discovery.md +90 -0
  809. package/skills/init/references/recommend-skills.md +115 -0
  810. package/skills/init/scripts/verify.sh +122 -0
  811. package/skills/instagram-api/SKILL.md +238 -0
  812. package/skills/instagram-api/evals/README.md +3 -0
  813. package/skills/instagram-api/evals/cases.yaml +43 -0
  814. package/skills/instagram-api/references/insights-metrics.md +95 -0
  815. package/skills/instagram-api/references/publish-reel.md +98 -0
  816. package/skills/instagram-api/scripts/verify.sh +137 -0
  817. package/skills/inventory/SKILL.md +131 -0
  818. package/skills/inventory/evals/README.md +3 -0
  819. package/skills/inventory/evals/cases.yaml +43 -0
  820. package/skills/inventory/references/abc-xyz.md +52 -0
  821. package/skills/inventory/references/ddmrp.md +32 -0
  822. package/skills/inventory/references/reorder-policies.md +85 -0
  823. package/skills/inventory/references/safety-stock.md +63 -0
  824. package/skills/inventory/scripts/verify.sh +155 -0
  825. package/skills/investor-materials/SKILL.md +175 -0
  826. package/skills/investor-materials/evals/README.md +15 -0
  827. package/skills/investor-materials/evals/cases.yaml +60 -0
  828. package/skills/investor-materials/references/dataroom-checklist.md +134 -0
  829. package/skills/investor-materials/references/update-and-onepager-templates.md +152 -0
  830. package/skills/investor-materials/scripts/verify.sh +148 -0
  831. package/skills/invoicing/SKILL.md +145 -0
  832. package/skills/invoicing/evals/README.md +5 -0
  833. package/skills/invoicing/evals/cases.yaml +49 -0
  834. package/skills/invoicing/references/dunning-ladder.md +53 -0
  835. package/skills/invoicing/references/e-invoicing-mandates.md +43 -0
  836. package/skills/invoicing/scripts/fixtures/broken-invoice.json +13 -0
  837. package/skills/invoicing/scripts/fixtures/valid-invoice.json +15 -0
  838. package/skills/invoicing/scripts/verify.sh +133 -0
  839. package/skills/ip-trademark/SKILL.md +186 -0
  840. package/skills/ip-trademark/evals/README.md +10 -0
  841. package/skills/ip-trademark/evals/cases.yaml +47 -0
  842. package/skills/ip-trademark/references/jurisdictions.md +63 -0
  843. package/skills/ip-trademark/references/ownership-and-licensing.md +90 -0
  844. package/skills/java/SKILL.md +341 -0
  845. package/skills/java/evals/README.md +23 -0
  846. package/skills/java/evals/cases.yaml +43 -0
  847. package/skills/java/references/builds.md +133 -0
  848. package/skills/java/references/concurrency.md +108 -0
  849. package/skills/java/references/streams.md +102 -0
  850. package/skills/java/scripts/verify.sh +107 -0
  851. package/skills/knowledge-ops/SKILL.md +122 -0
  852. package/skills/knowledge-ops/evals/README.md +16 -0
  853. package/skills/knowledge-ops/evals/cases.yaml +50 -0
  854. package/skills/knowledge-ops/references/gardening-playbook.md +126 -0
  855. package/skills/kotlin-android/SKILL.md +245 -0
  856. package/skills/kotlin-android/evals/README.md +13 -0
  857. package/skills/kotlin-android/evals/cases.yaml +56 -0
  858. package/skills/kotlin-android/references/architecture.md +200 -0
  859. package/skills/kotlin-android/references/gradle-setup.md +125 -0
  860. package/skills/kotlin-android/scripts/verify.sh +109 -0
  861. package/skills/kpi-framework/SKILL.md +199 -0
  862. package/skills/kpi-framework/evals/README.md +11 -0
  863. package/skills/kpi-framework/evals/cases.yaml +42 -0
  864. package/skills/kpi-framework/references/definition-and-targets.md +64 -0
  865. package/skills/kpi-framework/references/metric-catalog.md +84 -0
  866. package/skills/landing-copy/SKILL.md +153 -0
  867. package/skills/landing-copy/evals/README.md +18 -0
  868. package/skills/landing-copy/evals/cases.yaml +63 -0
  869. package/skills/landing-copy/references/frameworks.md +61 -0
  870. package/skills/landing-copy/references/page-skeleton.md +92 -0
  871. package/skills/landing-copy/scripts/verify.sh +164 -0
  872. package/skills/laravel/SKILL.md +301 -0
  873. package/skills/laravel/evals/README.md +10 -0
  874. package/skills/laravel/evals/cases.yaml +45 -0
  875. package/skills/laravel/references/eloquent-patterns.md +126 -0
  876. package/skills/laravel/references/queues-and-scheduling.md +153 -0
  877. package/skills/laravel/scripts/verify.sh +128 -0
  878. package/skills/lead-gen/SKILL.md +151 -0
  879. package/skills/lead-gen/evals/README.md +3 -0
  880. package/skills/lead-gen/evals/cases.yaml +43 -0
  881. package/skills/lead-gen/references/data-sources.md +87 -0
  882. package/skills/lead-gen/references/scoring-model.md +93 -0
  883. package/skills/lead-gen/scripts/verify.sh +179 -0
  884. package/skills/level-design/SKILL.md +143 -0
  885. package/skills/level-design/evals/README.md +35 -0
  886. package/skills/level-design/evals/cases.yaml +58 -0
  887. package/skills/level-design/references/blockout-to-art.md +118 -0
  888. package/skills/level-design/references/guidance-and-readability.md +152 -0
  889. package/skills/level-design/references/pacing-and-encounters.md +142 -0
  890. package/skills/leyes-de-percepcion/SKILL.md +145 -0
  891. package/skills/leyes-de-percepcion/evals/cases.yaml +32 -0
  892. package/skills/leyes-de-retencion/SKILL.md +148 -0
  893. package/skills/leyes-de-retencion/evals/cases.yaml +32 -0
  894. package/skills/linkedin-api/SKILL.md +220 -0
  895. package/skills/linkedin-api/evals/README.md +3 -0
  896. package/skills/linkedin-api/evals/cases.yaml +41 -0
  897. package/skills/linkedin-api/references/api-reference.md +168 -0
  898. package/skills/linkedin-api/scripts/verify.sh +98 -0
  899. package/skills/linkedin-carousels/SKILL.md +228 -0
  900. package/skills/linkedin-carousels/evals/README.md +13 -0
  901. package/skills/linkedin-carousels/evals/cases.yaml +62 -0
  902. package/skills/linkedin-carousels/references/carousel-patterns.md +200 -0
  903. package/skills/linkedin-carousels/scripts/verify.sh +160 -0
  904. package/skills/linkedin-content/SKILL.md +162 -0
  905. package/skills/linkedin-content/evals/README.md +13 -0
  906. package/skills/linkedin-content/evals/cases.yaml +62 -0
  907. package/skills/linkedin-content/references/hooks-and-formats.md +114 -0
  908. package/skills/linkedin-content/scripts/verify.sh +154 -0
  909. package/skills/linkedin-outreach/SKILL.md +154 -0
  910. package/skills/linkedin-outreach/evals/README.md +3 -0
  911. package/skills/linkedin-outreach/evals/cases.yaml +43 -0
  912. package/skills/linkedin-outreach/references/ledger-schema.md +48 -0
  913. package/skills/linkedin-outreach/references/sales-navigator-playbook.md +61 -0
  914. package/skills/linkedin-outreach/scripts/verify.sh +120 -0
  915. package/skills/linkedin-strategy/SKILL.md +179 -0
  916. package/skills/linkedin-strategy/evals/README.md +3 -0
  917. package/skills/linkedin-strategy/evals/cases.yaml +49 -0
  918. package/skills/linkedin-strategy/references/ssi-and-pillars.md +59 -0
  919. package/skills/linkedin-strategy/references/wiki-records.md +88 -0
  920. package/skills/linkedin-strategy/scripts/verify.sh +120 -0
  921. package/skills/llm-pipeline/SKILL.md +150 -0
  922. package/skills/llm-pipeline/evals/README.md +3 -0
  923. package/skills/llm-pipeline/evals/cases.yaml +44 -0
  924. package/skills/llm-pipeline/references/caching-layers.md +60 -0
  925. package/skills/llm-pipeline/references/litellm-router.md +101 -0
  926. package/skills/llm-pipeline/scripts/verify.sh +169 -0
  927. package/skills/logistics-ops/SKILL.md +219 -0
  928. package/skills/logistics-ops/evals/README.md +20 -0
  929. package/skills/logistics-ops/evals/cases.yaml +48 -0
  930. package/skills/logistics-ops/references/carriers-and-claims.md +105 -0
  931. package/skills/machine-learning/SKILL.md +228 -0
  932. package/skills/machine-learning/evals/README.md +15 -0
  933. package/skills/machine-learning/evals/cases.yaml +54 -0
  934. package/skills/machine-learning/references/gbdt-and-tuning.md +83 -0
  935. package/skills/machine-learning/references/metrics-and-imbalance.md +82 -0
  936. package/skills/machine-learning/references/pipelines-and-cv.md +135 -0
  937. package/skills/make/SKILL.md +255 -0
  938. package/skills/make/evals/README.md +14 -0
  939. package/skills/make/evals/cases.yaml +45 -0
  940. package/skills/make/references/api-v2-cheatsheet.md +114 -0
  941. package/skills/make/references/blueprint-round-trip.md +128 -0
  942. package/skills/make/references/make-mcp-and-auth.md +101 -0
  943. package/skills/market-research/SKILL.md +136 -0
  944. package/skills/market-research/evals/README.md +3 -0
  945. package/skills/market-research/evals/cases.yaml +48 -0
  946. package/skills/market-research/references/demand-signals.md +63 -0
  947. package/skills/market-research/references/sizing-playbook.md +121 -0
  948. package/skills/market-research/scripts/verify.sh +215 -0
  949. package/skills/marketing/SKILL.md +183 -0
  950. package/skills/marketing/evals/README.md +61 -0
  951. package/skills/marketing/evals/cases.yaml +84 -0
  952. package/skills/marketing/references/brand-grounding.md +217 -0
  953. package/skills/marketing/references/campaigns-and-channels.md +151 -0
  954. package/skills/marketing/references/copy-frameworks.md +166 -0
  955. package/skills/marketing/references/landing-copy.md +191 -0
  956. package/skills/marketing/references/seo-geo.md +391 -0
  957. package/skills/marketing/scripts/seo_audit.py +166 -0
  958. package/skills/marketing/scripts/verify.sh +233 -0
  959. package/skills/medium-publishing/SKILL.md +144 -0
  960. package/skills/medium-publishing/evals/README.md +3 -0
  961. package/skills/medium-publishing/evals/cases.yaml +42 -0
  962. package/skills/medium-publishing/references/cross-post-and-canonical.md +65 -0
  963. package/skills/medium-publishing/references/legacy-api.md +100 -0
  964. package/skills/medium-strategy/SKILL.md +173 -0
  965. package/skills/medium-strategy/evals/README.md +3 -0
  966. package/skills/medium-strategy/evals/cases.yaml +50 -0
  967. package/skills/medium-strategy/references/distribution-and-boost.md +65 -0
  968. package/skills/medium-strategy/references/wiki-records.md +98 -0
  969. package/skills/medium-strategy/scripts/verify.sh +118 -0
  970. package/skills/medium-writing/SKILL.md +159 -0
  971. package/skills/medium-writing/evals/README.md +5 -0
  972. package/skills/medium-writing/evals/cases.yaml +39 -0
  973. package/skills/medium-writing/references/title-patterns.md +79 -0
  974. package/skills/meeting-notes/SKILL.md +153 -0
  975. package/skills/meeting-notes/evals/README.md +14 -0
  976. package/skills/meeting-notes/evals/cases.yaml +46 -0
  977. package/skills/meeting-notes/references/templates.md +140 -0
  978. package/skills/mejor-accesibilidad/SKILL.md +111 -0
  979. package/skills/mejor-accesibilidad/evals/cases.yaml +32 -0
  980. package/skills/mejor-accesibilidad/focus-and-keyboard.md +131 -0
  981. package/skills/mejor-accesibilidad/forms.md +84 -0
  982. package/skills/mejor-accesibilidad/hit-areas.md +94 -0
  983. package/skills/mejor-accesibilidad/motion-and-zoom.md +79 -0
  984. package/skills/mejor-accesibilidad/screen-readers.md +101 -0
  985. package/skills/mejor-accesibilidad/semantics-and-aria.md +84 -0
  986. package/skills/mejor-colores/SKILL.md +105 -0
  987. package/skills/mejor-colores/color-formats.md +90 -0
  988. package/skills/mejor-colores/color-usage.md +118 -0
  989. package/skills/mejor-colores/contrast.md +79 -0
  990. package/skills/mejor-colores/evals/cases.yaml +32 -0
  991. package/skills/mejor-colores/palette-generation.md +104 -0
  992. package/skills/mejor-colores/palette-structure.md +76 -0
  993. package/skills/mejor-colores/token-naming.md +97 -0
  994. package/skills/mejor-layout/SKILL.md +83 -0
  995. package/skills/mejor-layout/evals/cases.yaml +32 -0
  996. package/skills/mejor-layout/grouping-and-alignment.md +123 -0
  997. package/skills/mejor-layout/spacing-and-adaptivity.md +159 -0
  998. package/skills/mejor-redaccion/SKILL.md +114 -0
  999. package/skills/mejor-redaccion/evals/cases.yaml +32 -0
  1000. package/skills/mejor-tipografia/SKILL.md +162 -0
  1001. package/skills/mejor-tipografia/choosing-fonts.md +64 -0
  1002. package/skills/mejor-tipografia/css-cheat-sheet.md +65 -0
  1003. package/skills/mejor-tipografia/details-and-accessibility.md +119 -0
  1004. package/skills/mejor-tipografia/evals/cases.yaml +32 -0
  1005. package/skills/mejor-tipografia/spacing-and-sizing.md +121 -0
  1006. package/skills/mejor-tipografia/variable-fonts-and-opentype.md +105 -0
  1007. package/skills/mejor-tipografia/wrapping-and-punctuation.md +55 -0
  1008. package/skills/mejor-ui/SKILL.md +112 -0
  1009. package/skills/mejor-ui/animations.md +205 -0
  1010. package/skills/mejor-ui/enter-exit.md +147 -0
  1011. package/skills/mejor-ui/evals/cases.yaml +32 -0
  1012. package/skills/mejor-ui/icon-transitions.md +102 -0
  1013. package/skills/mejor-ui/icons.md +110 -0
  1014. package/skills/mejor-ui/performance.md +88 -0
  1015. package/skills/mejor-ui/surfaces.md +219 -0
  1016. package/skills/modal/SKILL.md +290 -0
  1017. package/skills/modal/evals/README.md +29 -0
  1018. package/skills/modal/evals/cases.yaml +50 -0
  1019. package/skills/modal/references/images-gpu-cookbook.md +160 -0
  1020. package/skills/modal/references/web-and-scaling.md +138 -0
  1021. package/skills/modal/scripts/verify.sh +127 -0
  1022. package/skills/mongodb/SKILL.md +342 -0
  1023. package/skills/mongodb/evals/README.md +29 -0
  1024. package/skills/mongodb/evals/cases.yaml +41 -0
  1025. package/skills/mongodb/references/aggregation.md +115 -0
  1026. package/skills/mongodb/references/data-modeling.md +135 -0
  1027. package/skills/mongodb/references/transactions-and-ops.md +128 -0
  1028. package/skills/mongodb/scripts/verify.sh +151 -0
  1029. package/skills/monitoring/SKILL.md +155 -0
  1030. package/skills/monitoring/evals/README.md +3 -0
  1031. package/skills/monitoring/evals/cases.yaml +47 -0
  1032. package/skills/monitoring/references/burn-rate-and-oncall.md +128 -0
  1033. package/skills/monitoring/references/tool-setup.md +154 -0
  1034. package/skills/monitoring/scripts/verify.sh +145 -0
  1035. package/skills/motion-craft/SKILL.md +125 -0
  1036. package/skills/motion-craft/evals/cases.yaml +38 -0
  1037. package/skills/motion-craft/scripts/verify.sh +75 -0
  1038. package/skills/muscle-memory/README.md +118 -0
  1039. package/skills/muscle-memory/SKILL.md +213 -0
  1040. package/skills/muscle-memory/assets/app/index.html +1197 -0
  1041. package/skills/muscle-memory/assets/library-seed/adapter/card.md +29 -0
  1042. package/skills/muscle-memory/assets/library-seed/adapter/katas/l2-printer-adapter.json +9 -0
  1043. package/skills/muscle-memory/assets/library-seed/adapter/katas/l3-analytics-adapter.json +9 -0
  1044. package/skills/muscle-memory/assets/library-seed/async/card.md +25 -0
  1045. package/skills/muscle-memory/assets/library-seed/async/katas/l2-service-health.json +9 -0
  1046. package/skills/muscle-memory/assets/library-seed/async/katas/l3-fetch-all-statuses.json +9 -0
  1047. package/skills/muscle-memory/assets/library-seed/classes/card.md +23 -0
  1048. package/skills/muscle-memory/assets/library-seed/classes/katas/l1-init.json +9 -0
  1049. package/skills/muscle-memory/assets/library-seed/classes/katas/l2-invoice.json +9 -0
  1050. package/skills/muscle-memory/assets/library-seed/comprehensions/card.md +20 -0
  1051. package/skills/muscle-memory/assets/library-seed/comprehensions/katas/l2-ticket-queue.json +9 -0
  1052. package/skills/muscle-memory/assets/library-seed/comprehensions/katas/l4-heavy-pallets.json +9 -0
  1053. package/skills/muscle-memory/assets/library-seed/context-managers/card.md +26 -0
  1054. package/skills/muscle-memory/assets/library-seed/context-managers/katas/l2-managed-connection.json +9 -0
  1055. package/skills/muscle-memory/assets/library-seed/context-managers/katas/l3-maintenance-mode.json +9 -0
  1056. package/skills/muscle-memory/assets/library-seed/dataclasses/card.md +25 -0
  1057. package/skills/muscle-memory/assets/library-seed/dataclasses/katas/l1-product.json +9 -0
  1058. package/skills/muscle-memory/assets/library-seed/dataclasses/katas/l2-shopping-cart.json +9 -0
  1059. package/skills/muscle-memory/assets/library-seed/decorators/card.md +26 -0
  1060. package/skills/muscle-memory/assets/library-seed/decorators/katas/l2-count-calls.json +9 -0
  1061. package/skills/muscle-memory/assets/library-seed/decorators/katas/l3-retry.json +9 -0
  1062. package/skills/muscle-memory/assets/library-seed/dunder-methods/card.md +28 -0
  1063. package/skills/muscle-memory/assets/library-seed/dunder-methods/katas/l1-coordinate.json +9 -0
  1064. package/skills/muscle-memory/assets/library-seed/dunder-methods/katas/l2-inventory.json +9 -0
  1065. package/skills/muscle-memory/assets/library-seed/enums/card.md +24 -0
  1066. package/skills/muscle-memory/assets/library-seed/enums/katas/l1-order-status-enum.json +9 -0
  1067. package/skills/muscle-memory/assets/library-seed/enums/katas/l2-access-level.json +9 -0
  1068. package/skills/muscle-memory/assets/library-seed/exceptions/card.md +25 -0
  1069. package/skills/muscle-memory/assets/library-seed/exceptions/katas/l1-out-of-stock.json +9 -0
  1070. package/skills/muscle-memory/assets/library-seed/exceptions/katas/l2-parse-reading.json +9 -0
  1071. package/skills/muscle-memory/assets/library-seed/factory/card.md +24 -0
  1072. package/skills/muscle-memory/assets/library-seed/factory/katas/l2-exporter-factory.json +9 -0
  1073. package/skills/muscle-memory/assets/library-seed/factory/katas/l3-payment-registry.json +9 -0
  1074. package/skills/muscle-memory/assets/library-seed/generators/card.md +24 -0
  1075. package/skills/muscle-memory/assets/library-seed/generators/katas/l2-error-lines.json +9 -0
  1076. package/skills/muscle-memory/assets/library-seed/generators/katas/l3-job-pipeline.json +9 -0
  1077. package/skills/muscle-memory/assets/library-seed/inheritance/card.md +26 -0
  1078. package/skills/muscle-memory/assets/library-seed/inheritance/katas/l1-email-notification.json +9 -0
  1079. package/skills/muscle-memory/assets/library-seed/inheritance/katas/l2-square.json +9 -0
  1080. package/skills/muscle-memory/assets/library-seed/iterators/card.md +32 -0
  1081. package/skills/muscle-memory/assets/library-seed/iterators/katas/l2-unread-messages.json +9 -0
  1082. package/skills/muscle-memory/assets/library-seed/iterators/katas/l3-paginator.json +9 -0
  1083. package/skills/muscle-memory/assets/library-seed/methods/card.md +32 -0
  1084. package/skills/muscle-memory/assets/library-seed/methods/katas/l1-coupon.json +9 -0
  1085. package/skills/muscle-memory/assets/library-seed/methods/katas/l2-duration.json +9 -0
  1086. package/skills/muscle-memory/assets/library-seed/observer/card.md +28 -0
  1087. package/skills/muscle-memory/assets/library-seed/observer/katas/l2-publisher.json +9 -0
  1088. package/skills/muscle-memory/assets/library-seed/observer/katas/l3-stock-ticker.json +9 -0
  1089. package/skills/muscle-memory/assets/library-seed/properties/card.md +25 -0
  1090. package/skills/muscle-memory/assets/library-seed/properties/katas/l1-rectangle.json +9 -0
  1091. package/skills/muscle-memory/assets/library-seed/properties/katas/l2-thermostat.json +9 -0
  1092. package/skills/muscle-memory/assets/library-seed/singleton/card.md +25 -0
  1093. package/skills/muscle-memory/assets/library-seed/singleton/katas/l2-config-manager.json +9 -0
  1094. package/skills/muscle-memory/assets/library-seed/singleton/katas/l3-per-subclass-singleton.json +9 -0
  1095. package/skills/muscle-memory/assets/library-seed/strategy/card.md +24 -0
  1096. package/skills/muscle-memory/assets/library-seed/strategy/katas/l2-checkout-discount.json +9 -0
  1097. package/skills/muscle-memory/assets/library-seed/strategy/katas/l3-router-swap.json +9 -0
  1098. package/skills/muscle-memory/assets/library-seed/typing/card.md +23 -0
  1099. package/skills/muscle-memory/assets/library-seed/typing/katas/l1-order-status.json +9 -0
  1100. package/skills/muscle-memory/assets/library-seed/typing/katas/l2-typed-dict-product.json +9 -0
  1101. package/skills/muscle-memory/assets/user-readme.md +45 -0
  1102. package/skills/muscle-memory/docs/2026-07-16-muscle-memory-design.md +218 -0
  1103. package/skills/muscle-memory/docs/plans/2026-07-16-muscle-memory.md +1101 -0
  1104. package/skills/muscle-memory/evals/cases.yaml +32 -0
  1105. package/skills/muscle-memory/references/kata-authoring.md +212 -0
  1106. package/skills/muscle-memory/scripts/build_session.py +117 -0
  1107. package/skills/muscle-memory/scripts/scan_repo.py +292 -0
  1108. package/skills/muscle-memory/scripts/validate_library.py +184 -0
  1109. package/skills/muscle-memory/tests/test_build_session.py +136 -0
  1110. package/skills/muscle-memory/tests/test_scan_repo.py +97 -0
  1111. package/skills/muscle-memory/tests/test_validate_library.py +146 -0
  1112. package/skills/mysql/SKILL.md +249 -0
  1113. package/skills/mysql/evals/README.md +12 -0
  1114. package/skills/mysql/evals/cases.yaml +49 -0
  1115. package/skills/mysql/references/indexing-and-explain.md +161 -0
  1116. package/skills/mysql/references/mysql-vs-mariadb.md +78 -0
  1117. package/skills/mysql/references/online-ddl-and-migrations.md +120 -0
  1118. package/skills/mysql/references/replication-and-ha.md +115 -0
  1119. package/skills/mysql/scripts/verify.sh +141 -0
  1120. package/skills/n8n/SKILL.md +177 -0
  1121. package/skills/n8n/evals/README.md +14 -0
  1122. package/skills/n8n/evals/cases.yaml +45 -0
  1123. package/skills/n8n/references/auth-and-selfhost.md +62 -0
  1124. package/skills/n8n/references/n8n-mcp-tools.md +84 -0
  1125. package/skills/n8n/references/rest-api-cheatsheet.md +94 -0
  1126. package/skills/neon/SKILL.md +218 -0
  1127. package/skills/neon/evals/README.md +11 -0
  1128. package/skills/neon/evals/cases.yaml +45 -0
  1129. package/skills/neon/references/branching-ci.md +86 -0
  1130. package/skills/neon/scripts/verify.sh +78 -0
  1131. package/skills/nestjs/SKILL.md +217 -0
  1132. package/skills/nestjs/evals/README.md +3 -0
  1133. package/skills/nestjs/evals/cases.yaml +38 -0
  1134. package/skills/nestjs/references/cross-cutting.md +135 -0
  1135. package/skills/nestjs/references/testing-recipes.md +105 -0
  1136. package/skills/nestjs/scripts/verify.sh +98 -0
  1137. package/skills/netlify/SKILL.md +208 -0
  1138. package/skills/netlify/evals/README.md +13 -0
  1139. package/skills/netlify/evals/cases.yaml +43 -0
  1140. package/skills/netlify/references/functions.md +97 -0
  1141. package/skills/netlify/references/netlify-toml.md +115 -0
  1142. package/skills/netlify/scripts/verify.sh +95 -0
  1143. package/skills/newsletter/SKILL.md +152 -0
  1144. package/skills/newsletter/evals/README.md +12 -0
  1145. package/skills/newsletter/evals/cases.yaml +42 -0
  1146. package/skills/newsletter/references/growth-loops.md +73 -0
  1147. package/skills/newsletter/references/welcome-sequence.md +62 -0
  1148. package/skills/newsletter/scripts/verify.sh +173 -0
  1149. package/skills/nextjs/SKILL.md +399 -0
  1150. package/skills/nextjs/evals/README.md +59 -0
  1151. package/skills/nextjs/evals/cases.yaml +56 -0
  1152. package/skills/nextjs/references/data-and-caching.md +309 -0
  1153. package/skills/nextjs/references/metadata.md +208 -0
  1154. package/skills/nextjs/references/performance.md +325 -0
  1155. package/skills/nextjs/references/react.md +383 -0
  1156. package/skills/nextjs/references/security.md +239 -0
  1157. package/skills/nextjs/references/testing.md +290 -0
  1158. package/skills/nextjs/scripts/verify.sh +141 -0
  1159. package/skills/nlp/SKILL.md +225 -0
  1160. package/skills/nlp/evals/README.md +10 -0
  1161. package/skills/nlp/evals/cases.yaml +45 -0
  1162. package/skills/nlp/references/evaluation.md +107 -0
  1163. package/skills/nlp/references/tokenization.md +95 -0
  1164. package/skills/no-code-app/SKILL.md +145 -0
  1165. package/skills/no-code-app/evals/README.md +3 -0
  1166. package/skills/no-code-app/evals/cases.yaml +43 -0
  1167. package/skills/no-code-app/references/platform-limits.md +100 -0
  1168. package/skills/nodejs/SKILL.md +229 -0
  1169. package/skills/nodejs/evals/README.md +3 -0
  1170. package/skills/nodejs/evals/cases.yaml +39 -0
  1171. package/skills/nodejs/references/express5-migration.md +53 -0
  1172. package/skills/nodejs/references/graceful-shutdown.md +73 -0
  1173. package/skills/nodejs/scripts/verify.sh +122 -0
  1174. package/skills/notion-connector/SKILL.md +221 -0
  1175. package/skills/notion-connector/evals/README.md +15 -0
  1176. package/skills/notion-connector/evals/cases.yaml +45 -0
  1177. package/skills/notion-connector/references/api-versions.md +63 -0
  1178. package/skills/notion-connector/references/property-shapes.md +110 -0
  1179. package/skills/notion-connector/references/sync-patterns.md +95 -0
  1180. package/skills/notion-connector/scripts/verify.sh +162 -0
  1181. package/skills/observability/SKILL.md +235 -0
  1182. package/skills/observability/evals/README.md +3 -0
  1183. package/skills/observability/evals/cases.yaml +51 -0
  1184. package/skills/observability/references/collector-config.md +98 -0
  1185. package/skills/observability/references/instrumentation-recipes.md +115 -0
  1186. package/skills/observability/scripts/verify.sh +156 -0
  1187. package/skills/ollama/SKILL.md +213 -0
  1188. package/skills/ollama/evals/README.md +9 -0
  1189. package/skills/ollama/evals/cases.yaml +43 -0
  1190. package/skills/ollama/references/api.md +148 -0
  1191. package/skills/ollama/references/hardware-sizing.md +87 -0
  1192. package/skills/ollama/scripts/verify.sh +116 -0
  1193. package/skills/open-weights/SKILL.md +239 -0
  1194. package/skills/open-weights/evals/README.md +14 -0
  1195. package/skills/open-weights/evals/cases.yaml +42 -0
  1196. package/skills/open-weights/references/licenses.md +123 -0
  1197. package/skills/open-weights/references/model-families.md +83 -0
  1198. package/skills/open-weights/references/sizing-and-quant.md +89 -0
  1199. package/skills/orient/SKILL.md +65 -0
  1200. package/skills/orient/evals/README.md +16 -0
  1201. package/skills/orient/evals/cases.yaml +57 -0
  1202. package/skills/orient/references/orientation-contract.md +34 -0
  1203. package/skills/people-ops/SKILL.md +122 -0
  1204. package/skills/people-ops/evals/README.md +14 -0
  1205. package/skills/people-ops/evals/cases.yaml +43 -0
  1206. package/skills/people-ops/references/templates.md +129 -0
  1207. package/skills/performance/SKILL.md +229 -0
  1208. package/skills/performance/evals/README.md +3 -0
  1209. package/skills/performance/evals/cases.yaml +49 -0
  1210. package/skills/performance/references/profiling-playbook.md +54 -0
  1211. package/skills/performance/scripts/verify.sh +94 -0
  1212. package/skills/phoenix/SKILL.md +169 -0
  1213. package/skills/phoenix/evals/README.md +3 -0
  1214. package/skills/phoenix/evals/cases.yaml +40 -0
  1215. package/skills/phoenix/references/auth-and-scopes.md +82 -0
  1216. package/skills/phoenix/references/ecto-patterns.md +93 -0
  1217. package/skills/phoenix/references/liveview.md +134 -0
  1218. package/skills/phoenix/scripts/verify.sh +73 -0
  1219. package/skills/php/SKILL.md +397 -0
  1220. package/skills/php/evals/README.md +12 -0
  1221. package/skills/php/evals/cases.yaml +45 -0
  1222. package/skills/php/references/tooling.md +170 -0
  1223. package/skills/php/references/type-system.md +220 -0
  1224. package/skills/php/scripts/verify.sh +155 -0
  1225. package/skills/pitch-deck/SKILL.md +209 -0
  1226. package/skills/pitch-deck/evals/README.md +15 -0
  1227. package/skills/pitch-deck/evals/cases.yaml +55 -0
  1228. package/skills/pitch-deck/references/numbers-that-matter.md +78 -0
  1229. package/skills/pitch-deck/references/slide-spine.md +149 -0
  1230. package/skills/pitch-deck/scripts/verify.sh +186 -0
  1231. package/skills/planetscale/SKILL.md +198 -0
  1232. package/skills/planetscale/evals/README.md +11 -0
  1233. package/skills/planetscale/evals/cases.yaml +46 -0
  1234. package/skills/planetscale/references/deploy-requests.md +75 -0
  1235. package/skills/planetscale/references/no-foreign-keys.md +88 -0
  1236. package/skills/planetscale/scripts/verify.sh +115 -0
  1237. package/skills/podcast/SKILL.md +166 -0
  1238. package/skills/podcast/evals/README.md +17 -0
  1239. package/skills/podcast/evals/cases.yaml +61 -0
  1240. package/skills/podcast/references/rss-and-namespace.md +136 -0
  1241. package/skills/podcast/scripts/verify.sh +246 -0
  1242. package/skills/postgresdb/SKILL.md +354 -0
  1243. package/skills/postgresdb/evals/README.md +55 -0
  1244. package/skills/postgresdb/evals/cases.yaml +57 -0
  1245. package/skills/postgresdb/references/migrations.md +279 -0
  1246. package/skills/postgresdb/references/operations-and-security.md +267 -0
  1247. package/skills/postgresdb/references/query-optimization.md +374 -0
  1248. package/skills/postgresdb/references/schema-and-indexing.md +379 -0
  1249. package/skills/postgresdb/scripts/verify.sh +191 -0
  1250. package/skills/power-automate/SKILL.md +160 -0
  1251. package/skills/power-automate/evals/README.md +17 -0
  1252. package/skills/power-automate/evals/cases.yaml +43 -0
  1253. package/skills/power-automate/references/dataverse-web-api.md +187 -0
  1254. package/skills/power-automate/references/entra-auth-setup.md +75 -0
  1255. package/skills/power-automate/references/flowstudio-mcp-and-limits.md +62 -0
  1256. package/skills/presentations/SKILL.md +258 -0
  1257. package/skills/presentations/evals/README.md +61 -0
  1258. package/skills/presentations/evals/cases.yaml +56 -0
  1259. package/skills/presentations/references/brand-grounding.md +160 -0
  1260. package/skills/presentations/references/markdown-decks.md +290 -0
  1261. package/skills/presentations/references/pptx-python.md +242 -0
  1262. package/skills/presentations/references/slide-design.md +261 -0
  1263. package/skills/presentations/references/storytelling-and-decks.md +150 -0
  1264. package/skills/presentations/scripts/verify.sh +252 -0
  1265. package/skills/press-kit/SKILL.md +243 -0
  1266. package/skills/press-kit/evals/README.md +15 -0
  1267. package/skills/press-kit/evals/cases.yaml +55 -0
  1268. package/skills/press-kit/references/release-types.md +102 -0
  1269. package/skills/press-kit/references/templates.md +132 -0
  1270. package/skills/press-kit/scripts/verify.sh +161 -0
  1271. package/skills/pricing/SKILL.md +160 -0
  1272. package/skills/pricing/evals/README.md +5 -0
  1273. package/skills/pricing/evals/cases.yaml +44 -0
  1274. package/skills/pricing/references/localization.md +56 -0
  1275. package/skills/pricing/references/pricing-models.md +55 -0
  1276. package/skills/pricing/scripts/verify.sh +91 -0
  1277. package/skills/prisma-orm/SKILL.md +313 -0
  1278. package/skills/prisma-orm/evals/README.md +12 -0
  1279. package/skills/prisma-orm/evals/cases.yaml +56 -0
  1280. package/skills/prisma-orm/references/migrations-and-v7-upgrade.md +197 -0
  1281. package/skills/prisma-orm/references/queries-and-performance.md +169 -0
  1282. package/skills/prisma-orm/scripts/verify.sh +137 -0
  1283. package/skills/procurement/SKILL.md +174 -0
  1284. package/skills/procurement/evals/README.md +20 -0
  1285. package/skills/procurement/evals/cases.yaml +49 -0
  1286. package/skills/procurement/references/scorecard-and-tco.md +100 -0
  1287. package/skills/procurement/references/sourcing-requests.md +116 -0
  1288. package/skills/procurement/scripts/verify.sh +280 -0
  1289. package/skills/project-ops/SKILL.md +130 -0
  1290. package/skills/project-ops/evals/README.md +3 -0
  1291. package/skills/project-ops/evals/cases.yaml +71 -0
  1292. package/skills/project-ops/references/raid-and-rag.md +58 -0
  1293. package/skills/project-ops/references/status-report-template.md +68 -0
  1294. package/skills/project-ops/scripts/verify.sh +257 -0
  1295. package/skills/prompt-engineering/SKILL.md +127 -0
  1296. package/skills/prompt-engineering/evals/README.md +11 -0
  1297. package/skills/prompt-engineering/evals/cases.yaml +46 -0
  1298. package/skills/prompt-engineering/references/eval-templates.md +94 -0
  1299. package/skills/prompt-engineering/references/output-contracts.md +120 -0
  1300. package/skills/prompt-engineering/scripts/verify.sh +84 -0
  1301. package/skills/proposals/SKILL.md +159 -0
  1302. package/skills/proposals/evals/README.md +3 -0
  1303. package/skills/proposals/evals/cases.yaml +53 -0
  1304. package/skills/proposals/references/proposal-skeleton.md +110 -0
  1305. package/skills/proposals/references/sow-skeleton.md +79 -0
  1306. package/skills/proposals/scripts/verify.sh +201 -0
  1307. package/skills/prototype/LOGIC.md +79 -0
  1308. package/skills/prototype/SKILL.md +28 -0
  1309. package/skills/prototype/UI.md +112 -0
  1310. package/skills/prototype/agents/openai.yaml +3 -0
  1311. package/skills/prototype/evals/cases.yaml +32 -0
  1312. package/skills/python/SKILL.md +320 -0
  1313. package/skills/python/evals/README.md +19 -0
  1314. package/skills/python/evals/cases.yaml +46 -0
  1315. package/skills/python/references/async.md +136 -0
  1316. package/skills/python/references/stdlib.md +162 -0
  1317. package/skills/python/references/typing.md +160 -0
  1318. package/skills/python/scripts/verify.sh +125 -0
  1319. package/skills/rag/SKILL.md +209 -0
  1320. package/skills/rag/evals/README.md +13 -0
  1321. package/skills/rag/evals/cases.yaml +45 -0
  1322. package/skills/rag/references/evaluation.md +99 -0
  1323. package/skills/rag/references/pipeline.md +151 -0
  1324. package/skills/rag/scripts/verify.sh +99 -0
  1325. package/skills/rails/SKILL.md +264 -0
  1326. package/skills/rails/evals/README.md +12 -0
  1327. package/skills/rails/evals/cases.yaml +47 -0
  1328. package/skills/rails/references/activerecord.md +148 -0
  1329. package/skills/rails/references/hotwire.md +139 -0
  1330. package/skills/rails/references/testing.md +110 -0
  1331. package/skills/rails/scripts/verify.sh +128 -0
  1332. package/skills/railway/SKILL.md +245 -0
  1333. package/skills/railway/evals/README.md +14 -0
  1334. package/skills/railway/evals/cases.yaml +44 -0
  1335. package/skills/railway/references/cli-cookbook.md +137 -0
  1336. package/skills/railway/references/config-as-code.md +120 -0
  1337. package/skills/railway/scripts/verify.sh +162 -0
  1338. package/skills/react/SKILL.md +182 -0
  1339. package/skills/react/evals/README.md +3 -0
  1340. package/skills/react/evals/cases.yaml +43 -0
  1341. package/skills/react/references/data-and-state.md +152 -0
  1342. package/skills/react/references/performance.md +75 -0
  1343. package/skills/react/references/routing.md +99 -0
  1344. package/skills/react/scripts/verify.sh +123 -0
  1345. package/skills/react-native/SKILL.md +215 -0
  1346. package/skills/react-native/evals/README.md +3 -0
  1347. package/skills/react-native/evals/cases.yaml +42 -0
  1348. package/skills/react-native/references/native-modules.md +123 -0
  1349. package/skills/react-native/references/performance-debugging.md +46 -0
  1350. package/skills/react-native/scripts/verify.sh +120 -0
  1351. package/skills/redis/SKILL.md +298 -0
  1352. package/skills/redis/evals/README.md +10 -0
  1353. package/skills/redis/evals/cases.yaml +43 -0
  1354. package/skills/redis/references/caching.md +116 -0
  1355. package/skills/redis/references/locks-and-rate-limiting.md +140 -0
  1356. package/skills/redis/references/queues.md +102 -0
  1357. package/skills/redis/scripts/verify.sh +164 -0
  1358. package/skills/remotion-video/SKILL.md +218 -0
  1359. package/skills/remotion-video/evals/README.md +23 -0
  1360. package/skills/remotion-video/evals/cases.yaml +64 -0
  1361. package/skills/remotion-video/references/captions-pipeline.md +163 -0
  1362. package/skills/remotion-video/references/render-and-pipeline.md +131 -0
  1363. package/skills/remotion-video/scripts/verify.sh +169 -0
  1364. package/skills/render/SKILL.md +256 -0
  1365. package/skills/render/evals/README.md +12 -0
  1366. package/skills/render/evals/cases.yaml +45 -0
  1367. package/skills/render/references/blueprint-reference.md +203 -0
  1368. package/skills/render/scripts/verify.sh +167 -0
  1369. package/skills/replicate/SKILL.md +210 -0
  1370. package/skills/replicate/evals/README.md +9 -0
  1371. package/skills/replicate/evals/cases.yaml +45 -0
  1372. package/skills/replicate/references/cog-packaging.md +89 -0
  1373. package/skills/replicate/references/deployments-api.md +87 -0
  1374. package/skills/replicate/references/webhooks-and-async.md +110 -0
  1375. package/skills/replicate/scripts/verify.sh +162 -0
  1376. package/skills/replicate-images/SKILL.md +241 -0
  1377. package/skills/replicate-images/evals/README.md +13 -0
  1378. package/skills/replicate-images/evals/cases.yaml +41 -0
  1379. package/skills/replicate-images/references/editing-recipes.md +129 -0
  1380. package/skills/replicate-images/references/models.md +131 -0
  1381. package/skills/replicate-images/scripts/verify.sh +178 -0
  1382. package/skills/reporting/SKILL.md +176 -0
  1383. package/skills/reporting/evals/README.md +12 -0
  1384. package/skills/reporting/evals/cases.yaml +46 -0
  1385. package/skills/reporting/references/pipeline.md +213 -0
  1386. package/skills/reporting/scripts/verify.sh +149 -0
  1387. package/skills/research/SKILL.md +14 -0
  1388. package/skills/research/evals/cases.yaml +32 -0
  1389. package/skills/research-ops/SKILL.md +200 -0
  1390. package/skills/research-ops/evals/README.md +13 -0
  1391. package/skills/research-ops/evals/cases.yaml +38 -0
  1392. package/skills/research-ops/references/credibility-rubric.md +78 -0
  1393. package/skills/research-ops/references/memo-template.md +63 -0
  1394. package/skills/research-ops/scripts/verify.sh +181 -0
  1395. package/skills/retention/SKILL.md +206 -0
  1396. package/skills/retention/evals/README.md +13 -0
  1397. package/skills/retention/evals/cases.yaml +42 -0
  1398. package/skills/retention/references/health-score-and-metrics.md +97 -0
  1399. package/skills/retention/references/save-and-winback-plays.md +65 -0
  1400. package/skills/review-management/SKILL.md +204 -0
  1401. package/skills/review-management/evals/README.md +13 -0
  1402. package/skills/review-management/evals/cases.yaml +60 -0
  1403. package/skills/review-management/references/platform-apis.md +86 -0
  1404. package/skills/review-management/scripts/verify.sh +128 -0
  1405. package/skills/revision-de-cambios/SKILL.md +152 -0
  1406. package/skills/revision-de-cambios/evals/cases.yaml +32 -0
  1407. package/skills/revision-de-cambios/removed-signals.md +38 -0
  1408. package/skills/revision-de-cambios/scope-resolution.md +88 -0
  1409. package/skills/revision-interfaz/SKILL.md +144 -0
  1410. package/skills/revision-interfaz/evals/cases.yaml +32 -0
  1411. package/skills/roast-me/SKILL.md +122 -0
  1412. package/skills/roast-me/evals/README.md +76 -0
  1413. package/skills/roast-me/evals/cases.yaml +75 -0
  1414. package/skills/roast-me/prompts/analyze.md +90 -0
  1415. package/skills/roast-me/prompts/compute.md +100 -0
  1416. package/skills/roast-me/prompts/roast.md +181 -0
  1417. package/skills/roast-me/tools/adapters/__init__.py +1 -0
  1418. package/skills/roast-me/tools/adapters/base.py +65 -0
  1419. package/skills/roast-me/tools/adapters/claude.py +140 -0
  1420. package/skills/roast-me/tools/adapters/codex.py +206 -0
  1421. package/skills/roast-me/tools/adapters/gemini.py +142 -0
  1422. package/skills/roast-me/tools/adapters/registry.py +68 -0
  1423. package/skills/roast-me/tools/extract_prompts.py +519 -0
  1424. package/skills/ruby/SKILL.md +295 -0
  1425. package/skills/ruby/evals/README.md +12 -0
  1426. package/skills/ruby/evals/cases.yaml +41 -0
  1427. package/skills/ruby/references/gems-and-testing.md +208 -0
  1428. package/skills/ruby/references/metaprogramming.md +161 -0
  1429. package/skills/ruby/scripts/verify.sh +83 -0
  1430. package/skills/runpod/SKILL.md +238 -0
  1431. package/skills/runpod/evals/README.md +11 -0
  1432. package/skills/runpod/evals/cases.yaml +47 -0
  1433. package/skills/runpod/references/cost-and-scaling.md +85 -0
  1434. package/skills/runpod/references/serverless-workers.md +101 -0
  1435. package/skills/runpod/scripts/verify.sh +126 -0
  1436. package/skills/rust/SKILL.md +320 -0
  1437. package/skills/rust/evals/README.md +12 -0
  1438. package/skills/rust/evals/cases.yaml +42 -0
  1439. package/skills/rust/references/async-tokio.md +141 -0
  1440. package/skills/rust/references/axum-service.md +132 -0
  1441. package/skills/rust/references/ownership.md +86 -0
  1442. package/skills/rust/references/testing.md +108 -0
  1443. package/skills/rust/scripts/verify.sh +91 -0
  1444. package/skills/sales-pipeline/SKILL.md +162 -0
  1445. package/skills/sales-pipeline/evals/README.md +13 -0
  1446. package/skills/sales-pipeline/evals/cases.yaml +60 -0
  1447. package/skills/sales-pipeline/references/forecasting-math.md +82 -0
  1448. package/skills/sales-pipeline/references/stage-playbook.md +84 -0
  1449. package/skills/sales-pipeline/scripts/verify.sh +210 -0
  1450. package/skills/scaling/SKILL.md +137 -0
  1451. package/skills/scaling/evals/README.md +3 -0
  1452. package/skills/scaling/evals/cases.yaml +42 -0
  1453. package/skills/scaling/references/load-testing-k6.md +127 -0
  1454. package/skills/scaling/scripts/example.load.js +24 -0
  1455. package/skills/scaling/scripts/verify.sh +70 -0
  1456. package/skills/secure-coding/SKILL.md +336 -0
  1457. package/skills/secure-coding/evals/README.md +68 -0
  1458. package/skills/secure-coding/evals/cases.yaml +55 -0
  1459. package/skills/secure-coding/references/authn-authz.md +249 -0
  1460. package/skills/secure-coding/references/owasp-by-stack.md +574 -0
  1461. package/skills/secure-coding/references/secrets-and-supply-chain.md +205 -0
  1462. package/skills/secure-coding/references/threat-modeling.md +213 -0
  1463. package/skills/secure-coding/scripts/verify.sh +208 -0
  1464. package/skills/security-scan/SKILL.md +219 -0
  1465. package/skills/security-scan/evals/README.md +14 -0
  1466. package/skills/security-scan/evals/cases.yaml +50 -0
  1467. package/skills/security-scan/references/tools.md +97 -0
  1468. package/skills/security-scan/references/triage.md +92 -0
  1469. package/skills/security-scan/scripts/verify.sh +108 -0
  1470. package/skills/seo-geo/SKILL.md +192 -0
  1471. package/skills/seo-geo/evals/README.md +14 -0
  1472. package/skills/seo-geo/evals/cases.yaml +45 -0
  1473. package/skills/seo-geo/references/ai-crawler-control.md +104 -0
  1474. package/skills/seo-geo/references/schema-recipes.md +130 -0
  1475. package/skills/seo-geo/scripts/verify.sh +236 -0
  1476. package/skills/shopify/SKILL.md +229 -0
  1477. package/skills/shopify/evals/README.md +14 -0
  1478. package/skills/shopify/evals/cases.yaml +41 -0
  1479. package/skills/shopify/references/apps-graphql.md +103 -0
  1480. package/skills/shopify/references/checkout-extensibility.md +71 -0
  1481. package/skills/shopify/references/liquid-themes.md +89 -0
  1482. package/skills/shopify/scripts/verify.sh +120 -0
  1483. package/skills/shortform-editing/SKILL.md +161 -0
  1484. package/skills/shortform-editing/evals/README.md +16 -0
  1485. package/skills/shortform-editing/evals/cases.yaml +61 -0
  1486. package/skills/shortform-editing/references/captions.md +85 -0
  1487. package/skills/shortform-editing/references/ffmpeg-pipeline.md +126 -0
  1488. package/skills/shortform-editing/scripts/verify.sh +148 -0
  1489. package/skills/shortform-ideation/SKILL.md +145 -0
  1490. package/skills/shortform-ideation/evals/README.md +20 -0
  1491. package/skills/shortform-ideation/evals/cases.yaml +58 -0
  1492. package/skills/shortform-ideation/references/experiment-ledger.md +85 -0
  1493. package/skills/shortform-ideation/references/trend-sources.md +69 -0
  1494. package/skills/shortform-ideation/scripts/verify.sh +172 -0
  1495. package/skills/shortform-packaging/SKILL.md +252 -0
  1496. package/skills/shortform-packaging/evals/README.md +10 -0
  1497. package/skills/shortform-packaging/evals/cases.yaml +48 -0
  1498. package/skills/shortform-packaging/references/package-templates.md +128 -0
  1499. package/skills/shortform-packaging/scripts/verify.sh +210 -0
  1500. package/skills/shortform-strategy/SKILL.md +161 -0
  1501. package/skills/shortform-strategy/evals/README.md +3 -0
  1502. package/skills/shortform-strategy/evals/cases.yaml +52 -0
  1503. package/skills/shortform-strategy/references/learning-loop-template.md +57 -0
  1504. package/skills/shortform-strategy/references/platform-signals-2026.md +46 -0
  1505. package/skills/shortform-strategy/scripts/verify.sh +176 -0
  1506. package/skills/show-me/SKILL.md +140 -0
  1507. package/skills/show-me/evals/README.md +23 -0
  1508. package/skills/show-me/evals/cases.yaml +61 -0
  1509. package/skills/simplify-code/SKILL.md +101 -0
  1510. package/skills/simplify-code/evals/README.md +3 -0
  1511. package/skills/simplify-code/evals/cases.yaml +42 -0
  1512. package/skills/sitios-calidad-premio/SKILL.md +66 -0
  1513. package/skills/sitios-calidad-premio/evals/cases.yaml +32 -0
  1514. package/skills/skill-scout/SKILL.md +169 -0
  1515. package/skills/skill-scout/evals/README.md +12 -0
  1516. package/skills/skill-scout/evals/cases.yaml +56 -0
  1517. package/skills/skill-scout/references/install-commands.md +76 -0
  1518. package/skills/skill-scout/scripts/verify.sh +154 -0
  1519. package/skills/social-publisher/SKILL.md +179 -0
  1520. package/skills/social-publisher/evals/README.md +14 -0
  1521. package/skills/social-publisher/evals/cases.yaml +55 -0
  1522. package/skills/social-publisher/references/calendar-schema.md +97 -0
  1523. package/skills/social-publisher/references/platform-limits.md +56 -0
  1524. package/skills/social-publisher/scripts/verify.sh +232 -0
  1525. package/skills/solid-js/SKILL.md +260 -0
  1526. package/skills/solid-js/evals/README.md +3 -0
  1527. package/skills/solid-js/evals/cases.yaml +38 -0
  1528. package/skills/solid-js/references/reactivity-deep-dive.md +89 -0
  1529. package/skills/solid-js/references/router-and-start.md +93 -0
  1530. package/skills/solid-js/scripts/verify.sh +130 -0
  1531. package/skills/sop-builder/SKILL.md +233 -0
  1532. package/skills/sop-builder/evals/README.md +14 -0
  1533. package/skills/sop-builder/evals/cases.yaml +48 -0
  1534. package/skills/sop-builder/references/sop-skeleton.md +170 -0
  1535. package/skills/source-grounded-development/SKILL.md +108 -0
  1536. package/skills/source-grounded-development/evals/README.md +3 -0
  1537. package/skills/source-grounded-development/evals/cases.yaml +42 -0
  1538. package/skills/spreadsheet-ops/SKILL.md +180 -0
  1539. package/skills/spreadsheet-ops/evals/README.md +33 -0
  1540. package/skills/spreadsheet-ops/evals/cases.yaml +42 -0
  1541. package/skills/spreadsheet-ops/references/formula-cookbook.md +70 -0
  1542. package/skills/spreadsheet-ops/references/python-excel.md +87 -0
  1543. package/skills/spreadsheet-ops/references/sheets-api-appsscript.md +118 -0
  1544. package/skills/spreadsheet-ops/scripts/verify.sh +152 -0
  1545. package/skills/spring-boot/SKILL.md +350 -0
  1546. package/skills/spring-boot/evals/README.md +11 -0
  1547. package/skills/spring-boot/evals/cases.yaml +49 -0
  1548. package/skills/spring-boot/references/jpa.md +94 -0
  1549. package/skills/spring-boot/references/security.md +92 -0
  1550. package/skills/spring-boot/references/testing.md +95 -0
  1551. package/skills/spring-boot/scripts/verify.sh +115 -0
  1552. package/skills/sql/SKILL.md +286 -0
  1553. package/skills/sql/evals/README.md +9 -0
  1554. package/skills/sql/evals/cases.yaml +49 -0
  1555. package/skills/sql/references/ctes-and-recursion.md +63 -0
  1556. package/skills/sql/references/joins-and-sets.md +71 -0
  1557. package/skills/sql/references/portability.md +38 -0
  1558. package/skills/sql/references/window-functions.md +72 -0
  1559. package/skills/sql/scripts/verify.sh +139 -0
  1560. package/skills/sqlite-turso/SKILL.md +214 -0
  1561. package/skills/sqlite-turso/evals/README.md +24 -0
  1562. package/skills/sqlite-turso/evals/cases.yaml +45 -0
  1563. package/skills/sqlite-turso/references/embedded-replicas.md +96 -0
  1564. package/skills/sqlite-turso/scripts/verify.sh +95 -0
  1565. package/skills/stripe/SKILL.md +269 -0
  1566. package/skills/stripe/evals/README.md +11 -0
  1567. package/skills/stripe/evals/cases.yaml +45 -0
  1568. package/skills/stripe/references/going-live.md +64 -0
  1569. package/skills/stripe/references/webhook-events.md +79 -0
  1570. package/skills/stripe/scripts/verify.sh +130 -0
  1571. package/skills/structured-extraction/SKILL.md +230 -0
  1572. package/skills/structured-extraction/evals/README.md +13 -0
  1573. package/skills/structured-extraction/evals/cases.yaml +70 -0
  1574. package/skills/structured-extraction/references/providers.md +152 -0
  1575. package/skills/structured-extraction/scripts/verify.sh +160 -0
  1576. package/skills/suggest/SKILL.md +138 -0
  1577. package/skills/suggest/evals/README.md +17 -0
  1578. package/skills/suggest/evals/cases.yaml +78 -0
  1579. package/skills/supabase/SKILL.md +268 -0
  1580. package/skills/supabase/evals/README.md +12 -0
  1581. package/skills/supabase/evals/cases.yaml +42 -0
  1582. package/skills/supabase/references/auth-ssr.md +173 -0
  1583. package/skills/supabase/references/rls-cookbook.md +122 -0
  1584. package/skills/supabase/scripts/verify.sh +149 -0
  1585. package/skills/svelte/SKILL.md +238 -0
  1586. package/skills/svelte/evals/README.md +3 -0
  1587. package/skills/svelte/evals/cases.yaml +41 -0
  1588. package/skills/svelte/references/runes.md +97 -0
  1589. package/skills/svelte/references/sveltekit-data.md +156 -0
  1590. package/skills/svelte/scripts/verify.sh +128 -0
  1591. package/skills/swift-ios/SKILL.md +224 -0
  1592. package/skills/swift-ios/evals/README.md +3 -0
  1593. package/skills/swift-ios/evals/cases.yaml +46 -0
  1594. package/skills/swift-ios/references/concurrency.md +132 -0
  1595. package/skills/swift-ios/references/testing.md +112 -0
  1596. package/skills/swift-ios/scripts/verify.sh +98 -0
  1597. package/skills/tastemaker/SECURITY.md +85 -0
  1598. package/skills/tastemaker/SKILL.md +183 -0
  1599. package/skills/tastemaker/assets/anime-starter.js +94 -0
  1600. package/skills/tastemaker/assets/artifact-kit.css +154 -0
  1601. package/skills/tastemaker/assets/artifact-kit.js +47 -0
  1602. package/skills/tastemaker/assets/gsap-starter.js +89 -0
  1603. package/skills/tastemaker/assets/reveal.css +46 -0
  1604. package/skills/tastemaker/assets/reveal.js +56 -0
  1605. package/skills/tastemaker/evals/cases.yaml +32 -0
  1606. package/skills/tastemaker/ideagram/LICENSE +21 -0
  1607. package/skills/tastemaker/ideagram/README.md +69 -0
  1608. package/skills/tastemaker/ideagram/SKILL.md +88 -0
  1609. package/skills/tastemaker/ideagram/assets/primitives/figure-pointing.svg +13 -0
  1610. package/skills/tastemaker/ideagram/assets/primitives/figure-sitting-desk.svg +11 -0
  1611. package/skills/tastemaker/ideagram/assets/primitives/figure-standing.svg +11 -0
  1612. package/skills/tastemaker/ideagram/assets/primitives/prop-chart-bar.svg +8 -0
  1613. package/skills/tastemaker/ideagram/assets/primitives/prop-document.svg +10 -0
  1614. package/skills/tastemaker/ideagram/assets/primitives/prop-envelope.svg +7 -0
  1615. package/skills/tastemaker/ideagram/assets/primitives/prop-lightbulb.svg +14 -0
  1616. package/skills/tastemaker/ideagram/assets/primitives/prop-rocket.svg +8 -0
  1617. package/skills/tastemaker/ideagram/assets/primitives/prop-shield.svg +5 -0
  1618. package/skills/tastemaker/ideagram/assets/primitives/prop-speech-bubble.svg +7 -0
  1619. package/skills/tastemaker/ideagram/references/composition-patterns.md +49 -0
  1620. package/skills/tastemaker/ideagram/references/metaphor-library.md +34 -0
  1621. package/skills/tastemaker/ideagram/references/prompt-template.md +50 -0
  1622. package/skills/tastemaker/ideagram/references/qa-checklist.md +19 -0
  1623. package/skills/tastemaker/ideagram/references/style-contract.md +29 -0
  1624. package/skills/tastemaker/ideagram/references/style-dna.md +43 -0
  1625. package/skills/tastemaker/ideagram/references/undraw-anatomy.md +49 -0
  1626. package/skills/tastemaker/ideagram/scripts/build_library_index.py +119 -0
  1627. package/skills/tastemaker/ideagram/scripts/export_png.py +110 -0
  1628. package/skills/tastemaker/ideagram/scripts/extract_component.py +110 -0
  1629. package/skills/tastemaker/ideagram/scripts/recolor_svg.py +107 -0
  1630. package/skills/tastemaker/ideagram/scripts/recolor_undraw.py +111 -0
  1631. package/skills/tastemaker/ideagram/scripts/validate_assets.py +84 -0
  1632. package/skills/tastemaker/references/animation-guidelines.md +252 -0
  1633. package/skills/tastemaker/references/anti-slop-checklist.md +118 -0
  1634. package/skills/tastemaker/references/asset-curation.md +80 -0
  1635. package/skills/tastemaker/references/component-catalog.md +97 -0
  1636. package/skills/tastemaker/references/component-patterns.md +148 -0
  1637. package/skills/tastemaker/references/component-sourcing.md +150 -0
  1638. package/skills/tastemaker/references/diversification.md +68 -0
  1639. package/skills/tastemaker/references/hero-guidelines.md +108 -0
  1640. package/skills/tastemaker/references/illustration-sources.md +51 -0
  1641. package/skills/tastemaker/references/interface-quality-rules.md +148 -0
  1642. package/skills/tastemaker/references/library-selection.md +50 -0
  1643. package/skills/tastemaker/references/logo-sourcing.md +43 -0
  1644. package/skills/tastemaker/references/macrostructures.md +41 -0
  1645. package/skills/tastemaker/references/narrative-arc.md +57 -0
  1646. package/skills/tastemaker/references/prototype-variants.md +70 -0
  1647. package/skills/tastemaker/references/reference-intelligence.md +121 -0
  1648. package/skills/tastemaker/references/style-lock-format.md +130 -0
  1649. package/skills/tastemaker/references/style-tokens.md +256 -0
  1650. package/skills/tastemaker/references/taste-memory.md +105 -0
  1651. package/skills/tastemaker/references/tech-stack-guides.md +45 -0
  1652. package/skills/tastemaker/references/verbs/audit.md +41 -0
  1653. package/skills/tastemaker/references/verbs/comps.md +62 -0
  1654. package/skills/tastemaker/references/verbs/study.md +64 -0
  1655. package/skills/tastemaker/scripts/_netguard.py +81 -0
  1656. package/skills/tastemaker/scripts/anti_slop_scan.py +271 -0
  1657. package/skills/tastemaker/scripts/audit_motion.py +233 -0
  1658. package/skills/tastemaker/scripts/check_contrast.py +166 -0
  1659. package/skills/tastemaker/scripts/check_domains.py +158 -0
  1660. package/skills/tastemaker/scripts/export_favicons.py +129 -0
  1661. package/skills/tastemaker/scripts/extract_palette.py +123 -0
  1662. package/skills/tastemaker/scripts/fetch_icons.py +180 -0
  1663. package/skills/tastemaker/scripts/fetch_photos.py +275 -0
  1664. package/skills/tastemaker/scripts/generate_palette.py +238 -0
  1665. package/skills/tastemaker/scripts/recolor_svg.py +107 -0
  1666. package/skills/tastemaker/scripts/test_security.py +124 -0
  1667. package/skills/tastemaker/scripts/validate_assets.py +84 -0
  1668. package/skills/tauri/SKILL.md +219 -0
  1669. package/skills/tauri/evals/README.md +12 -0
  1670. package/skills/tauri/evals/cases.yaml +46 -0
  1671. package/skills/tauri/references/bundling-distribution.md +129 -0
  1672. package/skills/tauri/references/security.md +143 -0
  1673. package/skills/tauri/scripts/verify.sh +178 -0
  1674. package/skills/teach/GLOSSARY-FORMAT.md +35 -0
  1675. package/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  1676. package/skills/teach/MISSION-FORMAT.md +31 -0
  1677. package/skills/teach/RESOURCES-FORMAT.md +32 -0
  1678. package/skills/teach/SKILL.md +132 -0
  1679. package/skills/teach/evals/cases.yaml +32 -0
  1680. package/skills/technical-writing/SKILL.md +230 -0
  1681. package/skills/technical-writing/evals/README.md +12 -0
  1682. package/skills/technical-writing/evals/cases.yaml +53 -0
  1683. package/skills/technical-writing/references/diataxis-modes.md +131 -0
  1684. package/skills/technical-writing/references/vale-starter.md +90 -0
  1685. package/skills/technical-writing/scripts/verify.sh +83 -0
  1686. package/skills/terms-conditions/SKILL.md +147 -0
  1687. package/skills/terms-conditions/evals/README.md +14 -0
  1688. package/skills/terms-conditions/evals/cases.yaml +48 -0
  1689. package/skills/terms-conditions/references/clause-library.md +158 -0
  1690. package/skills/terms-conditions/references/notices-and-aup.md +125 -0
  1691. package/skills/terms-conditions/scripts/verify.sh +92 -0
  1692. package/skills/testing-go/SKILL.md +263 -0
  1693. package/skills/testing-go/evals/README.md +3 -0
  1694. package/skills/testing-go/evals/cases.yaml +46 -0
  1695. package/skills/testing-go/references/coverage-and-benchmarks.md +85 -0
  1696. package/skills/testing-go/references/mocks-and-fakes.md +140 -0
  1697. package/skills/testing-go/references/synctest-and-concurrency.md +82 -0
  1698. package/skills/testing-go/scripts/verify.sh +72 -0
  1699. package/skills/testing-py/SKILL.md +197 -0
  1700. package/skills/testing-py/evals/README.md +5 -0
  1701. package/skills/testing-py/evals/cases.yaml +44 -0
  1702. package/skills/testing-py/references/mocking.md +141 -0
  1703. package/skills/testing-py/references/property-testing.md +99 -0
  1704. package/skills/testing-py/scripts/verify.sh +117 -0
  1705. package/skills/testing-web/SKILL.md +244 -0
  1706. package/skills/testing-web/evals/README.md +11 -0
  1707. package/skills/testing-web/evals/cases.yaml +52 -0
  1708. package/skills/testing-web/references/jest-setup.md +88 -0
  1709. package/skills/testing-web/references/recipes.md +116 -0
  1710. package/skills/testing-web/scripts/verify.sh +111 -0
  1711. package/skills/tiktok-api/SKILL.md +319 -0
  1712. package/skills/tiktok-api/evals/README.md +17 -0
  1713. package/skills/tiktok-api/evals/cases.yaml +51 -0
  1714. package/skills/tiktok-api/references/metrics-and-publish.md +127 -0
  1715. package/skills/tiktok-api/references/oauth-setup.md +105 -0
  1716. package/skills/tiktok-api/references/wiki-schema.md +119 -0
  1717. package/skills/tiktok-api/scripts/verify.sh +96 -0
  1718. package/skills/to-questionnaire/SKILL.md +55 -0
  1719. package/skills/to-questionnaire/evals/cases.yaml +32 -0
  1720. package/skills/to-spec/SKILL.md +80 -0
  1721. package/skills/to-spec/evals/cases.yaml +32 -0
  1722. package/skills/to-tickets/SKILL.md +108 -0
  1723. package/skills/to-tickets/evals/cases.yaml +32 -0
  1724. package/skills/together-fireworks/SKILL.md +176 -0
  1725. package/skills/together-fireworks/evals/README.md +3 -0
  1726. package/skills/together-fireworks/evals/cases.yaml +50 -0
  1727. package/skills/together-fireworks/references/batch-and-tuning.md +59 -0
  1728. package/skills/together-fireworks/references/models-and-pricing.md +79 -0
  1729. package/skills/together-fireworks/scripts/verify.sh +165 -0
  1730. package/skills/training-data/SKILL.md +226 -0
  1731. package/skills/training-data/evals/README.md +13 -0
  1732. package/skills/training-data/evals/cases.yaml +41 -0
  1733. package/skills/training-data/references/formats.md +118 -0
  1734. package/skills/training-data/references/synthesis-dedup-quality.md +134 -0
  1735. package/skills/translation-l10n/SKILL.md +229 -0
  1736. package/skills/translation-l10n/evals/README.md +3 -0
  1737. package/skills/translation-l10n/evals/cases.yaml +39 -0
  1738. package/skills/translation-l10n/references/icu-cookbook.md +82 -0
  1739. package/skills/translation-l10n/references/rtl-and-bidi.md +60 -0
  1740. package/skills/typescript/SKILL.md +225 -0
  1741. package/skills/typescript/evals/README.md +15 -0
  1742. package/skills/typescript/evals/cases.yaml +46 -0
  1743. package/skills/typescript/references/build-and-monorepo.md +141 -0
  1744. package/skills/typescript/references/type-system.md +162 -0
  1745. package/skills/typescript/scripts/verify.sh +52 -0
  1746. package/skills/ui-engineering/SKILL.md +114 -0
  1747. package/skills/ui-engineering/evals/cases.yaml +38 -0
  1748. package/skills/unit-economics/SKILL.md +180 -0
  1749. package/skills/unit-economics/evals/README.md +5 -0
  1750. package/skills/unit-economics/evals/cases.yaml +43 -0
  1751. package/skills/unit-economics/references/formulas.md +144 -0
  1752. package/skills/unit-economics/scripts/verify.sh +179 -0
  1753. package/skills/unity/SKILL.md +282 -0
  1754. package/skills/unity/evals/README.md +8 -0
  1755. package/skills/unity/evals/cases.yaml +43 -0
  1756. package/skills/unity/references/build-and-platforms.md +65 -0
  1757. package/skills/unity/references/input-system.md +102 -0
  1758. package/skills/unity/references/lifecycle-deep-dive.md +75 -0
  1759. package/skills/unreal/SKILL.md +270 -0
  1760. package/skills/unreal/evals/README.md +12 -0
  1761. package/skills/unreal/evals/cases.yaml +45 -0
  1762. package/skills/unreal/references/blueprint-cpp-parity.md +109 -0
  1763. package/skills/unreal/references/gameplay-framework.md +95 -0
  1764. package/skills/unreal/references/packaging.md +83 -0
  1765. package/skills/unslop/SKILL.md +114 -0
  1766. package/skills/unslop/evals/README.md +25 -0
  1767. package/skills/unslop/evals/cases.yaml +60 -0
  1768. package/skills/unsloth/SKILL.md +254 -0
  1769. package/skills/unsloth/evals/README.md +10 -0
  1770. package/skills/unsloth/evals/cases.yaml +42 -0
  1771. package/skills/unsloth/references/export.md +75 -0
  1772. package/skills/unsloth/references/grpo.md +91 -0
  1773. package/skills/unsloth/references/masking-and-templates.md +91 -0
  1774. package/skills/variant-explorer/SKILL.md +93 -0
  1775. package/skills/variant-explorer/evals/cases.yaml +38 -0
  1776. package/skills/vector-db/SKILL.md +189 -0
  1777. package/skills/vector-db/evals/README.md +10 -0
  1778. package/skills/vector-db/evals/cases.yaml +45 -0
  1779. package/skills/vector-db/references/engines.md +175 -0
  1780. package/skills/vector-db/references/tuning.md +62 -0
  1781. package/skills/vector-db/scripts/verify.sh +110 -0
  1782. package/skills/vercel/SKILL.md +242 -0
  1783. package/skills/vercel/evals/README.md +23 -0
  1784. package/skills/vercel/evals/cases.yaml +45 -0
  1785. package/skills/vercel/references/cli-cookbook.md +98 -0
  1786. package/skills/vercel/references/vercel-json.md +120 -0
  1787. package/skills/vercel/scripts/verify.sh +168 -0
  1788. package/skills/video-a-superprompt/SKILL.md +74 -0
  1789. package/skills/video-a-superprompt/evals/cases.yaml +32 -0
  1790. package/skills/video-a-superprompt/references/superprompt-template.md +87 -0
  1791. package/skills/video-shorts/SKILL.md +163 -0
  1792. package/skills/video-shorts/evals/README.md +15 -0
  1793. package/skills/video-shorts/evals/cases.yaml +56 -0
  1794. package/skills/video-shorts/references/hook-and-script-patterns.md +95 -0
  1795. package/skills/video-shorts/references/specs-and-safe-zones.md +74 -0
  1796. package/skills/video-shorts/scripts/verify.sh +172 -0
  1797. package/skills/viral-score/SKILL.md +122 -0
  1798. package/skills/viral-score/evals/README.md +16 -0
  1799. package/skills/viral-score/evals/cases.yaml +50 -0
  1800. package/skills/vllm/SKILL.md +235 -0
  1801. package/skills/vllm/evals/README.md +9 -0
  1802. package/skills/vllm/evals/cases.yaml +47 -0
  1803. package/skills/vllm/references/flags-and-endpoints.md +105 -0
  1804. package/skills/vllm/references/memory-and-throughput.md +78 -0
  1805. package/skills/vocabulario-animacion/SKILL.md +173 -0
  1806. package/skills/vocabulario-animacion/evals/cases.yaml +32 -0
  1807. package/skills/vue-nuxt/SKILL.md +323 -0
  1808. package/skills/vue-nuxt/evals/README.md +11 -0
  1809. package/skills/vue-nuxt/evals/cases.yaml +49 -0
  1810. package/skills/vue-nuxt/references/data-and-state.md +127 -0
  1811. package/skills/vue-nuxt/references/migration-nuxt4.md +79 -0
  1812. package/skills/vue-nuxt/references/nitro-and-rendering.md +117 -0
  1813. package/skills/vue-nuxt/references/reactivity.md +135 -0
  1814. package/skills/vue-nuxt/scripts/verify.sh +148 -0
  1815. package/skills/wait-what/SKILL.md +9 -0
  1816. package/skills/wait-what/evals/cases.yaml +32 -0
  1817. package/skills/wayfinder/SKILL.md +146 -0
  1818. package/skills/wayfinder/evals/cases.yaml +32 -0
  1819. package/skills/webhooks/SKILL.md +229 -0
  1820. package/skills/webhooks/evals/README.md +15 -0
  1821. package/skills/webhooks/evals/cases.yaml +46 -0
  1822. package/skills/webhooks/references/framework-raw-body.md +97 -0
  1823. package/skills/webhooks/references/signature-schemes.md +66 -0
  1824. package/skills/webhooks/scripts/verify.sh +142 -0
  1825. package/skills/webinar/SKILL.md +196 -0
  1826. package/skills/webinar/evals/README.md +14 -0
  1827. package/skills/webinar/evals/cases.yaml +44 -0
  1828. package/skills/webinar/references/email-cadence.md +75 -0
  1829. package/skills/webinar/references/run-of-show.md +83 -0
  1830. package/skills/whatsapp-telegram/SKILL.md +235 -0
  1831. package/skills/whatsapp-telegram/evals/README.md +11 -0
  1832. package/skills/whatsapp-telegram/evals/cases.yaml +44 -0
  1833. package/skills/whatsapp-telegram/references/telegram-bot-api.md +91 -0
  1834. package/skills/whatsapp-telegram/references/whatsapp-cloud-api.md +103 -0
  1835. package/skills/whatsapp-telegram/scripts/verify.sh +90 -0
  1836. package/skills/wordpress/SKILL.md +224 -0
  1837. package/skills/wordpress/evals/README.md +3 -0
  1838. package/skills/wordpress/evals/cases.yaml +50 -0
  1839. package/skills/wordpress/references/hardening.md +108 -0
  1840. package/skills/wordpress/references/performance.md +80 -0
  1841. package/skills/wordpress/references/woocommerce.md +65 -0
  1842. package/skills/wordpress/scripts/verify.sh +96 -0
  1843. package/skills/write-adr/ADR-TEMPLATE.md +34 -0
  1844. package/skills/write-adr/README-TEMPLATE.md +32 -0
  1845. package/skills/write-adr/SKILL.md +56 -0
  1846. package/skills/write-adr/evals/cases.yaml +32 -0
  1847. package/skills/writing-for-agents/SKILL-MECHANICS.md +22 -0
  1848. package/skills/writing-for-agents/SKILL.md +83 -0
  1849. package/skills/writing-for-agents/evals/cases.yaml +32 -0
  1850. package/skills/youtube-api/SKILL.md +272 -0
  1851. package/skills/youtube-api/evals/README.md +3 -0
  1852. package/skills/youtube-api/evals/cases.yaml +50 -0
  1853. package/skills/youtube-api/references/analytics-queries.md +89 -0
  1854. package/skills/youtube-api/references/oauth-setup.md +55 -0
  1855. package/skills/youtube-api/references/wiki-schema.md +91 -0
  1856. package/skills/youtube-api/scripts/verify.sh +84 -0
  1857. package/skills/youtube-ideation/SKILL.md +234 -0
  1858. package/skills/youtube-ideation/evals/README.md +14 -0
  1859. package/skills/youtube-ideation/evals/cases.yaml +52 -0
  1860. package/skills/youtube-ideation/references/idea-ledger-and-loop.md +89 -0
  1861. package/skills/youtube-ideation/references/research-and-signals.md +92 -0
  1862. package/skills/youtube-ideation/scripts/verify.sh +237 -0
  1863. package/skills/youtube-packaging/SKILL.md +228 -0
  1864. package/skills/youtube-packaging/evals/README.md +16 -0
  1865. package/skills/youtube-packaging/evals/cases.yaml +48 -0
  1866. package/skills/youtube-packaging/references/description-and-chapters.md +203 -0
  1867. package/skills/youtube-packaging/scripts/verify.sh +250 -0
  1868. package/skills/youtube-strategy/SKILL.md +164 -0
  1869. package/skills/youtube-strategy/evals/README.md +5 -0
  1870. package/skills/youtube-strategy/evals/cases.yaml +61 -0
  1871. package/skills/youtube-strategy/references/channel-architecture.md +46 -0
  1872. package/skills/youtube-strategy/references/wiki-records.md +119 -0
  1873. package/skills/youtube-strategy/scripts/verify.sh +122 -0
  1874. package/skills/youtube-thumbnails/SKILL.md +185 -0
  1875. package/skills/youtube-thumbnails/evals/README.md +11 -0
  1876. package/skills/youtube-thumbnails/evals/cases.yaml +48 -0
  1877. package/skills/youtube-thumbnails/references/composition-and-specs.md +69 -0
  1878. package/skills/youtube-thumbnails/references/experiment-log-format.md +91 -0
  1879. package/skills/youtube-thumbnails/scripts/verify.sh +123 -0
  1880. package/skills/zapier/SKILL.md +145 -0
  1881. package/skills/zapier/evals/README.md +5 -0
  1882. package/skills/zapier/evals/cases.yaml +50 -0
  1883. package/skills/zapier/references/programmatic-limits-and-partner-api.md +48 -0
  1884. package/skills/zapier/references/when-to-use-vs-n8n-make.md +44 -0
  1885. package/skills/zapier/references/zapier-mcp-tools.md +72 -0
  1886. package/targets/_md-block.js +62 -0
  1887. package/targets/agent-catalog.js +220 -0
  1888. package/targets/agent-sources.json +48 -0
  1889. package/targets/agents.js +238 -0
  1890. package/targets/claude.js +216 -0
  1891. package/targets/commands.js +211 -0
  1892. package/targets/cursor.js +30 -0
  1893. package/targets/danger-guard.mjs +138 -0
  1894. package/targets/gitmoji-guard.mjs +251 -0
  1895. package/targets/hook-once.mjs +123 -0
  1896. package/targets/index.js +184 -0
  1897. package/targets/memory.js +276 -0
  1898. package/targets/opencode-memory-plugin.js +65 -0
  1899. package/targets/sello.mjs +439 -0
  1900. package/targets/session-memory-adapter.mjs +132 -0
  1901. package/targets/session-memory-core.mjs +477 -0
  1902. package/targets/session-memory.mjs +27 -0
  1903. package/targets/session-start.mjs +279 -0
  1904. package/targets/ship-guard.mjs +101 -0
  1905. package/targets/userprompt-gate.mjs +31 -0
  1906. package/targets/worklog-checkpoint.mjs +26 -0
  1907. package/targets/worktree-reaper.mjs +466 -0
@@ -0,0 +1,290 @@
1
+ ---
2
+ name: modal
3
+ description: "Use when running Python or GPU workloads serverlessly on Modal — modal.App, inline container Images, gpu= on @app.function, Volumes for weight caching, Cron schedules, ASGI endpoints, modal run vs serve vs deploy. NOT managed prediction APIs with no container of your own (that is replicate); NOT SSH-able GPU boxes rented by the hour (that is runpod)."
4
+ tags: [modal, serverless, gpu, python, ai-infra, deployment, cron, web-endpoint]
5
+ recommends: [replicate, runpod, fastapi, docker, python, llm-pipeline]
6
+ origin: risco
7
+ ---
8
+
9
+ # Modal — serverless Python & GPU as decorators
10
+
11
+ Modal runs your Python on remote containers without you ever writing a Dockerfile or a YAML
12
+ file. The mental model: **infrastructure is declared inline as Python decorators.** A
13
+ `modal.App` is the deployable unit; each `@app.function` runs in its own container built from
14
+ a `modal.Image` you describe in code; you attach a GPU, a Volume, or a Secret as keyword
15
+ arguments and the platform provisions, scales to zero, and tears down for you. There is no
16
+ control plane to babysit — the source file *is* the infra.
17
+
18
+ Pinned stack: **modal 1.4.3** (released 2026-05-18), Python **3.10–3.14** (`>=3.10,<3.15`).
19
+ Install with `pip install modal` then `modal setup` to authenticate. Everything below uses
20
+ the Modal 1.0+ API; several pre-1.0 forms were removed and are called out as Bad→Good.
21
+
22
+ ## Not this skill
23
+
24
+ Modal owns the serverless-container-as-decorators surface and its CLI lifecycle; the *contents*
25
+ of your function belong elsewhere.
26
+
27
+ | The job | Goes to |
28
+ |---|---|
29
+ | Calling a **managed prediction API** with no container of your own | [`replicate`](../replicate/SKILL.md) / [`together-fireworks`](../together-fireworks/SKILL.md) / [`fal`](../fal/SKILL.md) |
30
+ | Renting a **persistent, SSH-able GPU box** by the hour/week | [`runpod`](../runpod/SKILL.md) |
31
+ | **FastAPI design** (routing, Pydantic, deps) independent of host | [`fastapi`](../fastapi/SKILL.md) |
32
+ | Writing a **Dockerfile** for a registry / k8s / Compose | [`docker`](../docker/SKILL.md) |
33
+ | General **Python language/runtime** questions | [`python`](../python/SKILL.md) |
34
+ | **RAG / LLM pipeline** orchestration logic itself | [`llm-pipeline`](../llm-pipeline/SKILL.md) |
35
+
36
+ ## Decision: which entrypoint?
37
+
38
+ | You want… | Use | Persists after exit? |
39
+ |---|---|---|
40
+ | Run a function once and exit (script, batch) | `modal run app.py` + `@app.local_entrypoint()` | No (ephemeral) |
41
+ | Hot-reload dev loop for a web endpoint | `modal serve app.py` | No (dies on Ctrl-C) |
42
+ | A persistent named deployment (prod, schedules, endpoints) | `modal deploy app.py` | Yes |
43
+ | Fan out work across many containers | `.map()` / `.starmap()` / `.spawn()` inside an entrypoint | n/a |
44
+
45
+ Rule: **schedules and live web endpoints require `modal deploy`.** `modal run` exits when the
46
+ entrypoint returns, so a Cron defined under `modal run` never fires. `modal serve` is for the
47
+ dev loop only — it watches your files and redeploys on save, but the app vanishes when you
48
+ stop it.
49
+
50
+ ## The minimal app skeleton
51
+
52
+ ```python
53
+ import modal
54
+
55
+ app = modal.App("hello-modal")
56
+
57
+ # The image is the container spec. Build it once, reuse across functions.
58
+ image = modal.Image.debian_slim(python_version="3.12").uv_pip_install("requests")
59
+
60
+
61
+ @app.function(image=image)
62
+ def fetch(url: str) -> int:
63
+ import requests # imported INSIDE the function: it lives in the remote image, not locally
64
+
65
+ return len(requests.get(url).content)
66
+
67
+
68
+ @app.local_entrypoint()
69
+ def main() -> None:
70
+ # Runs on your laptop; .remote() ships the call to a Modal container.
71
+ print(fetch.remote("https://modal.com"))
72
+ ```
73
+
74
+ Run it: `modal run app.py`. **Bad** = wiring infra with argparse + a bash launcher + a
75
+ hand-rolled Dockerfile. **Good** = the decorators above; the app, image, and scaling are all
76
+ declared in the one file. Note the in-function import: dependencies you `uv_pip_install` exist
77
+ in the *remote* image, so import them inside the function (or guard top-level imports), not at
78
+ module top where your laptop would need them too.
79
+
80
+ ## Images — pin, layer, cache
81
+
82
+ Build images by chaining methods on `modal.Image`. Rules, each with its why:
83
+
84
+ 1. **Prefer `.uv_pip_install(...)` over `.pip_install(...)`** — it resolves and installs with
85
+ `uv`, materially faster image builds.
86
+ 2. **Pin versions** — `.uv_pip_install("torch==2.5.1", "transformers==4.46.0")`. Unpinned
87
+ deps make builds non-reproducible and silently drift on rebuild.
88
+ 3. **Order layers stable→volatile** — system packages and big wheels first, your fast-changing
89
+ code last. Modal caches each layer; a change busts that layer and everything after it.
90
+ 4. **Add your own code with `.add_local_dir(...)` / `.add_local_python_source(...)`**, not by
91
+ pip-installing your repo. These are applied last so editing your source doesn't rebuild torch.
92
+ 5. **`.from_registry("...")`** when you need a specific base image; **`.apt_install("ffmpeg")`**
93
+ for system binaries; **`.run_commands(...)`** for arbitrary build steps.
94
+
95
+ ```python
96
+ image = (
97
+ modal.Image.debian_slim(python_version="3.12")
98
+ .apt_install("ffmpeg") # stable: rarely changes
99
+ .uv_pip_install("torch==2.5.1", "transformers==4.46.0") # heavy wheels, pinned
100
+ .add_local_python_source("my_pkg") # volatile: your code, applied last
101
+ )
102
+ ```
103
+
104
+ → [`references/images-gpu-cookbook.md`](references/images-gpu-cookbook.md) for vLLM / torch+CUDA
105
+ / diffusers recipes and the download-once weight-cache pattern.
106
+
107
+ ## GPU — it's a string now
108
+
109
+ In Modal 1.0+ the GPU is a **string** on the decorator. The old `modal.gpu.H100()` objects
110
+ were removed.
111
+
112
+ - Single GPU: `gpu="H100"`.
113
+ - Count via colon: `gpu="A100:2"` (two A100s in one container).
114
+ - Memory variant: `gpu="A100-80GB"` (also `A100-40GB`).
115
+ - Fallback list (first available wins): `gpu=["H100", "A100", "any"]`.
116
+ - Supported types: `T4, L4, A10, L40S, A100(-40GB/-80GB), RTX-PRO-6000, H100, H200, B200`.
117
+
118
+ ```python
119
+ # Bad — removed API, raises at import.
120
+ # @app.function(gpu=modal.gpu.A100())
121
+
122
+ # Good — string form.
123
+ @app.function(image=image, gpu="A100-80GB", timeout=600)
124
+ def embed(texts: list[str]) -> list[list[float]]: ...
125
+ ```
126
+
127
+ Pick the smallest GPU that fits: **T4/L4** for cheap inference and small models, **A10/L40S**
128
+ mid-range, **A100/H100** for training and large-model serving, **H200/B200** for frontier-scale.
129
+ GPU time is billed per second a container is alive — never attach a GPU to a CPU-only job, and
130
+ keep `scaledown_window` tight so idle GPU containers don't burn money.
131
+
132
+ ## Scaling & lifecycle
133
+
134
+ Tune these keyword args on `@app.function`, each with its why:
135
+
136
+ | Param | Effect | Why |
137
+ |---|---|---|
138
+ | `min_containers=N` | Keep N warm instances always running | Kills cold starts for latency-sensitive endpoints (costs idle compute) |
139
+ | `buffer_containers=N` | Pre-warm N extra beyond current load | Smooths bursty traffic |
140
+ | `scaledown_window=300` | Seconds an idle container lingers before shutdown | Reuse hot containers across nearby calls; lower = cheaper, higher = warmer |
141
+ | `timeout=600` | Max seconds a single call may run | Caps runaway jobs |
142
+ | `retries=3` | Auto-retry failed inputs | Survives transient failures in `.map()` fan-outs |
143
+
144
+ Migration note: `keep_warm` → **`min_containers`** and `container_idle_timeout` →
145
+ **`scaledown_window`** in the 1.0 migration. The old names are gone.
146
+
147
+ Concurrency within a container is now its own decorator: **`@modal.concurrent(max_inputs=N)`**
148
+ stacked under `@app.function` (it replaces the old `allow_concurrent_inputs=` argument). Use it
149
+ so one container handles N simultaneous requests instead of one-per-container.
150
+
151
+ ## Volumes & Secrets
152
+
153
+ A `Volume` is a distributed filesystem you mount into containers to persist data across runs —
154
+ the canonical use is caching downloaded model weights so cold starts skip the re-download.
155
+
156
+ ```python
157
+ weights = modal.Volume.from_name("hf-cache", create_if_missing=True)
158
+
159
+
160
+ @app.function(image=image, gpu="H100", volumes={"/cache": weights})
161
+ def serve_model():
162
+ # Reader: refresh the view so you see writes from other containers.
163
+ weights.reload()
164
+ # ... load model from /cache ...
165
+
166
+
167
+ @app.function(image=image, volumes={"/cache": weights})
168
+ def download_weights():
169
+ # ... write files into /cache ...
170
+ weights.commit() # WITHOUT this, writes are NOT durable across containers
171
+ ```
172
+
173
+ **Gotcha:** writers must call `vol.commit()` to persist; readers call `vol.reload()` to see
174
+ another container's committed writes. Forgetting `commit()` is the #1 "my cache is empty"
175
+ bug — the files existed in that container and vanished with it.
176
+
177
+ Secrets land as **environment variables** in the container:
178
+
179
+ ```python
180
+ @app.function(image=image, secrets=[modal.Secret.from_name("hf-token")])
181
+ def pull():
182
+ import os
183
+
184
+ token = os.environ["HF_TOKEN"] # value injected from the named Modal Secret
185
+ ```
186
+
187
+ Never bake a token into the image (`.run_commands("export TOKEN=...")`) — it's recorded in
188
+ layer history. Use a Secret. The cookbook above also carries the HF/OpenAI secret patterns.
189
+
190
+ ## Web endpoints
191
+
192
+ Stack a web decorator **under** `@app.function`. Pick by surface:
193
+
194
+ | Decorator | Use for | Needs |
195
+ |---|---|---|
196
+ | `@modal.fastapi_endpoint()` | A single GET/POST function-as-URL | `fastapi[standard]` in image |
197
+ | `@modal.asgi_app()` | A full FastAPI/Starlette app you return | `fastapi[standard]` |
198
+ | `@modal.wsgi_app()` | A Flask/Django WSGI app | the framework |
199
+ | `@modal.web_server(port=8000)` | Your own server process (e.g. vLLM) on a port | the server |
200
+
201
+ **Decorator stack order matters:** `@app.function` is outermost (top), then optional
202
+ `@modal.concurrent`, then the web decorator innermost (bottom, closest to `def`).
203
+
204
+ ```python
205
+ @app.function(image=image, gpu="H100", min_containers=1, scaledown_window=300)
206
+ @modal.concurrent(max_inputs=10) # middle
207
+ @modal.asgi_app() # innermost
208
+ def web():
209
+ from fastapi import FastAPI
210
+
211
+ api = FastAPI()
212
+
213
+ @api.get("/health")
214
+ def health():
215
+ return {"ok": True}
216
+
217
+ return api
218
+ ```
219
+
220
+ Develop with `modal serve app.py` (hot-reload); ship with `modal deploy app.py` (stable URL).
221
+ For custom domains, proxy-auth tokens, batching (`@modal.batched`), and concurrency tuning →
222
+ [`references/web-and-scaling.md`](references/web-and-scaling.md). For the FastAPI app's *own*
223
+ design (routes, Pydantic, deps), that's [`fastapi`](../fastapi/SKILL.md) — this skill only mounts it.
224
+
225
+ ## Scheduled jobs
226
+
227
+ ```python
228
+ # Fixed wall-clock time, with timezone — survives redeploys at the same clock time.
229
+ @app.function(schedule=modal.Cron("0 6 * * *", timezone="America/New_York"))
230
+ def nightly_report(): ...
231
+
232
+
233
+ # Interval relative to deploy time.
234
+ @app.function(schedule=modal.Period(hours=5))
235
+ def every_five_hours(): ...
236
+ ```
237
+
238
+ **Gotcha:** `Period` is measured from deploy time and **resets on every redeploy** — redeploy
239
+ at 4:59 and your "every 5 hours" clock restarts. `Cron` is wall-clock stable; prefer it for
240
+ "run at 6am" semantics. Either way you must **`modal deploy`** (not `modal run`) for the
241
+ schedule to live on the platform.
242
+
243
+ ## Parallelism
244
+
245
+ Fan a function out across containers without managing a pool:
246
+
247
+ ```python
248
+ @app.local_entrypoint()
249
+ def main():
250
+ urls = ["https://a.com", "https://b.com", "https://c.com"]
251
+ # .map: one arg per call, results in input order.
252
+ sizes = list(fetch.map(urls))
253
+ # .starmap: each item is an argument tuple. .spawn: fire-and-forget -> handle.get() later.
254
+ handle = fetch.spawn("https://slow.com")
255
+ print(sizes, handle.get())
256
+ ```
257
+
258
+ `.map(iterable)` returns results in order by default; pass `order_outputs=False` to yield as
259
+ they complete (faster when latencies vary). Combine with `retries=` on the function so a
260
+ single bad input doesn't sink the batch.
261
+
262
+ ## Anti-patterns
263
+
264
+ | Anti-pattern | Do instead |
265
+ |---|---|
266
+ | "I'll use `gpu=modal.gpu.A100()` like the old docs" | Removed in 1.0. Use the string `gpu="A100-80GB"`. |
267
+ | "Attach a GPU, it might speed up this CPU job" | GPU is billed per second alive. CPU-only job → no `gpu=`. |
268
+ | "My files are written, the Volume will keep them" | Not without `vol.commit()` (writer) / `vol.reload()` (reader). |
269
+ | "Pin later — `uv_pip_install('torch')` is fine for now" | Unpinned deps drift; builds aren't reproducible. Pin every version. |
270
+ | "`modal run` it, the endpoint/schedule will stay up" | `run` is ephemeral; it exits. Use `modal deploy` for anything persistent. |
271
+ | "Order the decorators however — Modal figures it out" | `@app.function` outermost, web decorator innermost. Wrong order errors. |
272
+ | "Bake the HF token into the image with `run_commands`" | Leaks into layer history. Use `modal.Secret.from_name(...)`. |
273
+ | "Just call the model via a managed API through Modal" | If you write no container, that's a managed-API job → [`replicate`](../replicate/SKILL.md). |
274
+ | "I need a box to SSH into for a week" | That's a persistent rental → [`runpod`](../runpod/SKILL.md), not Modal's scale-to-zero. |
275
+ | "Set `min_containers` high so it's always fast" | Idle warm containers cost money 24/7. Tune `scaledown_window` first. |
276
+
277
+ ## Verify
278
+
279
+ [`scripts/verify.sh`](scripts/verify.sh) `[TARGET]` statically lints the nearest emitted Modal
280
+ `*.py`: it requires a `modal.App(`, **fails** if the removed `modal.gpu.` object form appears,
281
+ checks that any web decorator sits under an `@app.function`, and that any `Volume` uses
282
+ `from_name(..., create_if_missing=...)`. It runs `python -c "import modal"` only if modal is
283
+ installed (skip-pass otherwise), needs **no Modal credentials**, and exits 0 on an empty target.
284
+
285
+ ## Project grounding (docs)
286
+
287
+ In a project with a `docs/` layer (the [`harness`](../harness/SKILL.md) wiki), read
288
+ `docs/wiki/stack/modal.md` first, then record this app's real Modal choices there — GPU types,
289
+ image base, Volume names, schedule, endpoint shape — and index it in `docs/wiki/index.md`. No
290
+ `docs/`? Skip silently.
@@ -0,0 +1,29 @@
1
+ # Eval harness — `modal` skill
2
+
3
+ These cases are run by an **agent harness** (an LLM agent with the skill catalog available for
4
+ routing), not a plain shell script. `cases.yaml` is the fixture; this file is the procedure.
5
+ No Modal account or credentials are needed — every check is about *routing* and the *generated
6
+ code rubric*, not live execution against Modal.
7
+
8
+ ## 1. Triggering accuracy
9
+
10
+ Load only the skill descriptions (this `modal` one plus the bare names of routing siblings:
11
+ replicate, runpod, fastapi, docker, python, llm-pipeline), not the bodies. For each prompt in
12
+ `should_trigger` / `should_not_trigger`, ask which skill the agent would invoke, running 3–5
13
+ trials per prompt. `should_trigger` passes if `modal` wins the majority; `should_not_trigger`
14
+ passes if `modal` does **not** fire (bonus if it routes to the named `route_to` sibling). Pass
15
+ bar: ≥90% of prompts, and no near-miss may fire `modal` in a majority of its trials. The
16
+ Catalan/Spanish and the `gpu=modal.gpu.A100()` prompts are the ones to watch for flakiness.
17
+
18
+ ## 2. Capability uplift (with vs without)
19
+
20
+ For each `capability` scenario, run the agent twice — once with no `modal` skill loaded, once
21
+ with it fully loaded — and grade each output against the scenario's `must_include` checklist
22
+ (a point counts only if genuinely correct, not merely mentioned). Pass bar: WITH-skill
23
+ coverage ≥80% of the rubric, and WITH must clearly beat WITHOUT. The load-bearing points are
24
+ the string GPU form, `Volume.from_name(create_if_missing=True)` with commit/reload, correct
25
+ web-decorator stack order under `@app.function`, and `modal deploy` (not `run`) for anything
26
+ persistent. Any rubric point the skill never produces is a gap to fix in `SKILL.md`.
27
+
28
+ This is judgment-based, not byte-exact; record trial counts and the judge (human or model)
29
+ alongside results for reproducibility.
@@ -0,0 +1,50 @@
1
+ skill: modal
2
+
3
+ should_trigger:
4
+ - prompt: "Run my Python embedding job on an H100 without managing any servers — just ship the function and have it scale."
5
+ why: "Core serverless GPU on Modal: @app.function + gpu string + scale-to-zero. The defining use case."
6
+ - prompt: "My @app.function fails with gpu=modal.gpu.A100(). What's the right way to ask for that GPU now?"
7
+ why: "Non-obvious 1.0-migration error: the modal.gpu.X() object form was removed for the string form. Modal-specific symptom."
8
+ - prompt: "Cache my HuggingFace model weights across runs so cold starts don't re-download 16GB every time."
9
+ why: "Volume-backed weight-cache pattern (from_name + commit/reload) — squarely Modal state, phrased without naming Modal."
10
+ - prompt: "modal serve isn't hot-reloading my fastapi_endpoint changes — edits to the handler don't show up."
11
+ why: "Non-obvious dev-loop symptom tied to Modal's serve-vs-deploy lifecycle and web decorators."
12
+ - prompt: "Schedule a nightly scrape in the cloud at 6am New York time and keep it running."
13
+ why: "modal.Cron with timezone + the deploy-not-run gotcha for schedules to live. Cron/Period territory."
14
+ - prompt: "Desplegar un model de difusió amb GPU serverless i exposar-lo per HTTP amb endpoint propi."
15
+ why: "Catalan: serverless GPU + web endpoint (web_server/asgi_app) — the GPU-serving-over-HTTP core."
16
+ - prompt: "Ejecutar Python en GPU serverless que escale a cero y solo pague por segundo de uso."
17
+ why: "Spanish: scale-to-zero per-second GPU compute — Modal's billing/scaling model, not a managed API."
18
+
19
+ should_not_trigger:
20
+ - prompt: "Run Stable Diffusion through a hosted prediction API where I just POST a prompt and get an image — no infra code."
21
+ route_to: "replicate"
22
+ why: "Managed prediction endpoint with no container of your own; Modal is for code-first containers."
23
+ - prompt: "Rent a persistent GPU pod I can SSH into and keep running for a week to iterate by hand."
24
+ route_to: "runpod"
25
+ why: "Persistent long-lived rentable GPU box; Modal is scale-to-zero serverless, not per-pod rental."
26
+ - prompt: "Design my FastAPI routers, Pydantic v2 models, and dependency injection for a user API."
27
+ route_to: "fastapi"
28
+ why: "FastAPI app design independent of host; Modal only mounts such an app, it doesn't design it."
29
+ - prompt: "Write a Dockerfile and push the image to a registry to deploy on Kubernetes."
30
+ route_to: "docker"
31
+ why: "Generic container/registry/k8s mechanics; Modal builds images inline in Python, no Dockerfile."
32
+ - prompt: "Structure my RAG retrieval, chunking, and reranking pipeline logic."
33
+ route_to: "llm-pipeline"
34
+ why: "LLM/RAG orchestration logic itself; Modal would only host it, the pipeline design is the sibling's."
35
+
36
+ capability:
37
+ - scenario: "User asks: 'Build a Modal app that serves a vLLM endpoint on an H100 with a warm pool and a weight-cache volume, and tell me how to ship it.'"
38
+ must_include:
39
+ - "modal.App(...) defined as the deployable unit"
40
+ - "modal.Image with .uv_pip_install/.pip_install including vllm and fastapi[standard] (or equivalent server deps)"
41
+ - "GPU requested as the string form gpu=\"H100\" (NOT modal.gpu.H100())"
42
+ - "modal.Volume.from_name(..., create_if_missing=True) mounted via volumes={\"/path\": vol} for weight caching, with commit/reload noted"
43
+ - "Warm pool + lifecycle: min_containers and scaledown_window (and timeout) on @app.function"
44
+ - "A web decorator (@modal.web_server(port=...) for vLLM's own server, or @modal.asgi_app()) stacked UNDER @app.function in correct order"
45
+ - "Ship with `modal deploy` (not `modal run`) because the endpoint must persist"
46
+ - scenario: "User asks: 'Schedule a Python function to run every night at 6am New York time on Modal, and make sure it actually keeps firing.'"
47
+ must_include:
48
+ - "schedule=modal.Cron(\"0 6 * * *\", timezone=\"America/New_York\") on @app.function (Cron preferred over Period for wall-clock time)"
49
+ - "Note that Period resets on every redeploy whereas Cron is wall-clock stable (if Period is mentioned at all)"
50
+ - "Must `modal deploy` (not `modal run`) for the schedule to live on the platform"
@@ -0,0 +1,160 @@
1
+ # Images, GPU & state cookbook
2
+
3
+ Deep recipes for `modal.Image` builds, GPU selection, and Volume/Secret-backed state.
4
+ All forms are Modal 1.0+ (modal 1.4.3). GPU is always a string; `modal.gpu.X()` is removed.
5
+
6
+ ## Image recipes
7
+
8
+ ### Torch + CUDA inference
9
+
10
+ ```python
11
+ import modal
12
+
13
+ image = (
14
+ modal.Image.debian_slim(python_version="3.12")
15
+ .uv_pip_install(
16
+ "torch==2.5.1",
17
+ "transformers==4.46.0",
18
+ "accelerate==1.1.1",
19
+ )
20
+ )
21
+ ```
22
+
23
+ `debian_slim` already ships a CUDA-capable userspace for the GPU you attach — you do not
24
+ install CUDA yourself. Pin every wheel so a rebuild is byte-for-byte reproducible.
25
+
26
+ ### vLLM server (own HTTP server via web_server)
27
+
28
+ ```python
29
+ vllm_image = (
30
+ modal.Image.debian_slim(python_version="3.12")
31
+ .uv_pip_install("vllm==0.6.4", "fastapi[standard]")
32
+ )
33
+
34
+
35
+ @app.function(image=vllm_image, gpu="H100", scaledown_window=300, timeout=600)
36
+ @modal.concurrent(max_inputs=32)
37
+ @modal.web_server(port=8000, startup_timeout=300)
38
+ def serve():
39
+ import subprocess
40
+
41
+ # vLLM exposes its own OpenAI-compatible server on :8000; web_server proxies it.
42
+ subprocess.Popen(
43
+ "vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000",
44
+ shell=True,
45
+ )
46
+ ```
47
+
48
+ `web_server` is the right decorator when the process *is* the server (vLLM, TGI, a custom
49
+ uvicorn). Use `startup_timeout` to allow weight loading before health checks begin.
50
+
51
+ ### Diffusers image generation
52
+
53
+ ```python
54
+ diff_image = modal.Image.debian_slim(python_version="3.12").uv_pip_install(
55
+ "diffusers==0.31.0", "torch==2.5.1", "transformers==4.46.0", "accelerate==1.1.1"
56
+ )
57
+ ```
58
+
59
+ ### System binaries (ffmpeg, git)
60
+
61
+ ```python
62
+ image = (
63
+ modal.Image.debian_slim()
64
+ .apt_install("ffmpeg", "git") # system layer first — rarely changes
65
+ .uv_pip_install("imageio-ffmpeg==0.5.1")
66
+ )
67
+ ```
68
+
69
+ ### Custom base image
70
+
71
+ ```python
72
+ image = modal.Image.from_registry(
73
+ "nvidia/cuda:12.4.0-devel-ubuntu22.04", add_python="3.12"
74
+ ).uv_pip_install("xformers==0.0.28.post3")
75
+ ```
76
+
77
+ Reach for `from_registry` only when `debian_slim` can't express what you need (a specific CUDA
78
+ devel toolchain, a vendor image). It's heavier and slower to pull.
79
+
80
+ ## GPU selection matrix
81
+
82
+ | GPU string | Rough fit | Notes |
83
+ |---|---|---|
84
+ | `"T4"` | Cheap small-model inference, embeddings | 16GB; cheapest |
85
+ | `"L4"` | Efficient inference, light vision | 24GB |
86
+ | `"A10"` | Mid-range inference | 24GB |
87
+ | `"L40S"` | Mid/large inference, some training | 48GB |
88
+ | `"A100-40GB"` / `"A100-80GB"` | Training, 7–70B serving | colon for count: `"A100:4"` |
89
+ | `"H100"` | Fast large-model training/serving | 80GB |
90
+ | `"H200"` | Larger memory frontier work | 141GB |
91
+ | `"B200"` | Frontier-scale | newest |
92
+ | `"RTX-PRO-6000"` | Workstation-class | |
93
+
94
+ Multi-GPU: `gpu="A100:8"`. Fallbacks for capacity: `gpu=["H100", "A100", "any"]` — Modal grabs
95
+ the first available so a job isn't stuck waiting for one exact type. Always start with the
96
+ smallest GPU your model fits in; step up only when you OOM.
97
+
98
+ ## Volume-backed weight cache (download once, mount everywhere)
99
+
100
+ The pattern that makes GPU cold starts cheap: download weights into a Volume once, then mount
101
+ the same Volume read-mostly into every serving container.
102
+
103
+ ```python
104
+ import modal
105
+
106
+ app = modal.App("cached-llm")
107
+ cache = modal.Volume.from_name("hf-cache", create_if_missing=True)
108
+ image = modal.Image.debian_slim(python_version="3.12").uv_pip_install(
109
+ "huggingface_hub==0.26.2", "transformers==4.46.0", "torch==2.5.1"
110
+ )
111
+ CACHE_DIR = "/cache"
112
+
113
+
114
+ @app.function(
115
+ image=image,
116
+ volumes={CACHE_DIR: cache},
117
+ secrets=[modal.Secret.from_name("hf-token")],
118
+ timeout=1800,
119
+ )
120
+ def warm_cache(repo: str = "meta-llama/Llama-3.1-8B-Instruct"):
121
+ import os
122
+ from huggingface_hub import snapshot_download
123
+
124
+ snapshot_download(repo, cache_dir=CACHE_DIR, token=os.environ["HF_TOKEN"])
125
+ cache.commit() # persist the download so serving containers can read it
126
+
127
+
128
+ @app.function(image=image, gpu="H100", volumes={CACHE_DIR: cache})
129
+ def generate(prompt: str):
130
+ cache.reload() # see what warm_cache committed
131
+ import os
132
+
133
+ os.environ["HF_HOME"] = CACHE_DIR # transformers reads weights from the mounted cache
134
+ # ... load model from CACHE_DIR, no re-download ...
135
+ ```
136
+
137
+ Run `modal run app.py::warm_cache` once, then deploy the serving function. Without
138
+ `cache.commit()` the download evaporates with the container; without `cache.reload()` the
139
+ serving container may not see it yet.
140
+
141
+ ## Secret patterns
142
+
143
+ ```python
144
+ # Reference an existing named Secret (created via dashboard or `modal secret create`).
145
+ hf = modal.Secret.from_name("hf-token") # injects HF_TOKEN env var
146
+ openai = modal.Secret.from_name("openai") # injects OPENAI_API_KEY
147
+
148
+ # Ad-hoc inline (for local dev only; prefer named Secrets in prod).
149
+ inline = modal.Secret.from_dict({"MY_FLAG": "1"})
150
+
151
+
152
+ @app.function(secrets=[hf, openai])
153
+ def call():
154
+ import os
155
+
156
+ return os.environ["OPENAI_API_KEY"][:6]
157
+ ```
158
+
159
+ Secrets become environment variables inside the container. Never put them in the image, in
160
+ `run_commands`, or in source — those persist in layer history and in git.
@@ -0,0 +1,138 @@
1
+ # Web endpoints & scaling — deep dive
2
+
3
+ The four web decorators, concurrency/batching, and the cold-start vs cost tradeoff.
4
+ All Modal 1.0+ (modal 1.4.3). Stack order is always: `@app.function` outermost, then optional
5
+ `@modal.concurrent`, then the web decorator innermost.
6
+
7
+ ## The four web decorators
8
+
9
+ ### `@modal.fastapi_endpoint()` — one function, one URL
10
+
11
+ The lightest option: turn a single function into a GET/POST endpoint. Needs
12
+ `fastapi[standard]` in the image.
13
+
14
+ ```python
15
+ image = modal.Image.debian_slim().uv_pip_install("fastapi[standard]")
16
+
17
+
18
+ @app.function(image=image)
19
+ @modal.fastapi_endpoint(method="POST", docs=True)
20
+ def predict(payload: dict) -> dict:
21
+ return {"echo": payload}
22
+ ```
23
+
24
+ Pass `method=` for the verb and `docs=True` to expose the OpenAPI docs page. Good for a quick
25
+ inference URL; reach for `asgi_app` when you need routing.
26
+
27
+ ### `@modal.asgi_app()` — a full FastAPI / Starlette app
28
+
29
+ Return an ASGI app object. Use when you want multiple routes, middleware, or a real API surface.
30
+
31
+ ```python
32
+ @app.function(image=image)
33
+ @modal.concurrent(max_inputs=20)
34
+ @modal.asgi_app()
35
+ def api():
36
+ from fastapi import FastAPI
37
+
38
+ web = FastAPI()
39
+
40
+ @web.get("/items/{item_id}")
41
+ def read(item_id: int):
42
+ return {"item_id": item_id}
43
+
44
+ return web
45
+ ```
46
+
47
+ The *design* of this FastAPI app (Pydantic models, dependencies, error envelopes) is the
48
+ `fastapi` sibling's job — Modal only hosts it.
49
+
50
+ ### `@modal.wsgi_app()` — Flask / Django
51
+
52
+ Return a WSGI callable. Same stacking; install the framework in the image.
53
+
54
+ ```python
55
+ @app.function(image=modal.Image.debian_slim().uv_pip_install("flask==3.1.0"))
56
+ @modal.wsgi_app()
57
+ def flask_app():
58
+ from flask import Flask
59
+
60
+ web = Flask(__name__)
61
+
62
+ @web.route("/")
63
+ def index():
64
+ return "ok"
65
+
66
+ return web
67
+ ```
68
+
69
+ ### `@modal.web_server(port=...)` — run your own server
70
+
71
+ When the workload spawns its own HTTP server (vLLM, TGI, a uvicorn process), use `web_server`
72
+ and let Modal proxy the port.
73
+
74
+ ```python
75
+ @app.function(image=vllm_image, gpu="H100")
76
+ @modal.web_server(port=8000, startup_timeout=300)
77
+ def serve():
78
+ import subprocess
79
+
80
+ subprocess.Popen("vllm serve <model> --port 8000", shell=True)
81
+ ```
82
+
83
+ `startup_timeout` covers slow model loads before health checks begin.
84
+
85
+ ## Concurrency: `@modal.concurrent`
86
+
87
+ One container, many simultaneous inputs. Replaces the removed `allow_concurrent_inputs=` arg.
88
+
89
+ ```python
90
+ @app.function(image=image)
91
+ @modal.concurrent(max_inputs=100)
92
+ def handler(x): ...
93
+ ```
94
+
95
+ Set `max_inputs` to what a single container can handle concurrently without resource
96
+ contention — for I/O-bound work it can be high; for GPU inference it's bounded by VRAM and
97
+ batch capacity. Too high → OOM / latency spikes; too low → you pay for more containers than
98
+ needed.
99
+
100
+ ## Batching: `@modal.batched`
101
+
102
+ Coalesce individual calls into batches server-side (great for GPU inference throughput).
103
+
104
+ ```python
105
+ @app.function(image=image, gpu="A100")
106
+ @modal.batched(max_batch_size=16, wait_ms=50)
107
+ def embed(texts: list[str]) -> list[list[float]]:
108
+ # Modal collects up to 16 calls (or waits 50ms) and passes them as one list.
109
+ ...
110
+ ```
111
+
112
+ `max_batch_size` caps the batch; `wait_ms` is how long to wait to fill it. Trade a little
113
+ latency for much higher GPU utilization.
114
+
115
+ ## Scaling & cold-start tradeoff
116
+
117
+ | Param | Lower value | Higher value |
118
+ |---|---|---|
119
+ | `min_containers` | Scale fully to zero — cheapest, cold starts on first hit | Warm pool always ready — no cold start, pays idle 24/7 |
120
+ | `buffer_containers` | No pre-warm buffer | Absorbs traffic bursts before autoscale catches up |
121
+ | `scaledown_window` | Containers die fast after idle — cheaper, more cold starts | Stay warm longer — fewer cold starts, more idle cost |
122
+
123
+ Tuning order for a latency-sensitive endpoint: first widen `scaledown_window` so nearby
124
+ requests reuse a hot container; only set `min_containers >= 1` if you truly need zero cold
125
+ starts (e.g. a customer-facing API with an SLA). For a GPU endpoint, even `min_containers=1`
126
+ is a real ongoing cost — measure before pinning it.
127
+
128
+ ## Custom domains, auth, proxy tokens
129
+
130
+ - **Custom domain:** map your domain to the deployed app in the Modal dashboard; the
131
+ deployment URL is stable after `modal deploy`.
132
+ - **Endpoint auth:** protect a `fastapi_endpoint`/`asgi_app` with Modal proxy auth tokens so
133
+ only callers with the token reach it — configure tokens on the function and pass them as
134
+ request headers. Prefer this over hand-rolling auth inside the handler for machine-to-machine
135
+ endpoints.
136
+ - **Dev vs prod:** iterate with `modal serve` (hot reload, ephemeral URL); ship with
137
+ `modal deploy` (persistent named app, stable URL). Never rely on a `modal serve` URL in
138
+ production — it dies when you stop the process.