@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,71 @@
1
+ # Checkout extensibility — migration off `checkout.liquid`
2
+
3
+ Companion to the Checkout surface section of `../SKILL.md`. The old model (`checkout.liquid`,
4
+ additional scripts, script tags, Script Editor) is deprecated and being removed.
5
+
6
+ ## The dated deadlines
7
+
8
+ - **2024-08-13** — Information / Shipping / Payment steps stopped supporting `checkout.liquid`.
9
+ - **2025-08-28** — Plus self-migrate deadline for Thank-you and Order-status page customizations
10
+ (additional scripts, script tags, `checkout.liquid`). This is the date to *act by*, not the
11
+ auto-upgrade date.
12
+ - **2026-01** — **automatic upgrades** of Thank-you and Order-status pages begin. Shopify gives a
13
+ 30-day email notice, then upgrades the store; any remaining additional-scripts, script-tag, or
14
+ `checkout.liquid` customizations stop running. (Non-Plus stores have a later self-migrate deadline
15
+ of 2026-08-26.)
16
+ - **2026-04-15** — legacy Shopify Scripts can no longer be **edited or published** (existing
17
+ published scripts keep running until the shutdown below — so a bug after this date has no in-Script fix).
18
+ - **2026-06-30** — legacy Shopify Scripts (Script Editor) **stop executing**. Replace with Functions.
19
+
20
+ If a store says "checkout customizations broke after the August upgrade," they usually mean the
21
+ 2025-08-28 deadline passed and they were caught by the automatic upgrade (rolling out from 2026-01) —
22
+ the old script no longer runs. Rebuild it on the seam below.
23
+
24
+ ## Migration map
25
+
26
+ | Old mechanism | New seam | What you build |
27
+ |---|---|---|
28
+ | `checkout.liquid` markup / additional scripts (UI) | **Checkout UI extensions** | a sandboxed extension targeting a checkout location |
29
+ | Script Editor discount logic | **Discount Function** | Wasm function returning discount operations |
30
+ | Script Editor shipping/delivery logic | **Delivery customization Function** | reorder/rename/hide shipping options |
31
+ | Script Editor payment logic | **Payment customization Function** | reorder/rename/hide payment methods |
32
+ | `<script>` analytics/tracking in checkout | **Web Pixels** (+ server-side events) | sandboxed pixel; subscribe to standard events |
33
+ | custom checkout CSS / branding | **Checkout Branding API** | GraphQL mutations on the checkout profile |
34
+
35
+ ## Checkout UI extensions
36
+
37
+ React/JS extensions that render at defined **targets** (e.g. `purchase.checkout.block.render`,
38
+ `purchase.checkout.delivery-address.render-before`). You get a typed API and components — **no DOM
39
+ access**, by design (PCI + stability). Configure target + capabilities in the extension's TOML.
40
+
41
+ ```jsx
42
+ import { reactExtension, Banner } from "@shopify/ui-extensions-react/checkout";
43
+ export default reactExtension("purchase.checkout.block.render", () => <Banner>Free gift over 50</Banner>);
44
+ ```
45
+
46
+ ## Functions
47
+
48
+ Deterministic server-side logic compiled to Wasm — author in Rust or JavaScript. A Function takes a
49
+ typed input (a GraphQL query you define against the function's input schema) and returns operations.
50
+ Categories: product discount, order discount, shipping discount, delivery customization, payment
51
+ customization, cart/checkout validation. Generate with `shopify app generate extension`, build, and
52
+ ship with `shopify app deploy`.
53
+
54
+ ```rust
55
+ #[shopify_function]
56
+ fn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {
57
+ // return discount operations from typed input
58
+ }
59
+ ```
60
+
61
+ ## Web Pixels
62
+
63
+ For tracking/analytics that previously lived in checkout `<script>` tags. A pixel runs in a sandbox
64
+ and subscribes to standard customer events (`checkout_completed`, `product_viewed`, …). It cannot
65
+ reach the page DOM; send events to your endpoint or a destination.
66
+
67
+ ## Plus-only surfaces
68
+
69
+ Full checkout UI customization and some Function/branding capabilities are **Shopify Plus-only**.
70
+ Non-Plus stores get a constrained set of UI extension targets. Confirm the merchant's plan before
71
+ promising a checkout customization.
@@ -0,0 +1,89 @@
1
+ # Liquid & Online Store 2.0 themes — deep dive
2
+
3
+ Companion to the Theme surface section of `../SKILL.md`. Everything here is OS 2.0 (GA 2021).
4
+
5
+ ## The architecture, end to end
6
+
7
+ A storefront page is assembled top-down:
8
+
9
+ 1. `layout/theme.liquid` — the HTML shell. Renders `{{ content_for_header }}` and
10
+ `{{ content_for_layout }}`. One per theme (plus optional `checkout` layout on Plus).
11
+ 2. A **JSON template** (`templates/product.json`, `templates/index.json`, …) declares which
12
+ sections render and their order — not Liquid, pure JSON the theme editor mutates.
13
+ 3. Each **section** (`sections/*.liquid`) is markup + a `{% schema %}` of settings and blocks.
14
+ 4. **Section groups** (`sections/header.json`, `sections/footer.json`) make header/footer
15
+ editable as section lists.
16
+ 5. **Snippets** (`snippets/*.liquid`) are partials, always via `{% render %}`.
17
+
18
+ ```json
19
+ // templates/product.json
20
+ {
21
+ "sections": {
22
+ "main": { "type": "main-product" },
23
+ "related": { "type": "related-products", "settings": { "heading": "You may also like" } }
24
+ },
25
+ "order": ["main", "related"]
26
+ }
27
+ ```
28
+
29
+ ## `{% schema %}` setting types & presets
30
+
31
+ The schema is JSON inside the `.liquid` file. Common setting types: `text`, `textarea`,
32
+ `richtext`, `image_picker`, `url`, `product`, `collection`, `product_list`, `color`, `range`,
33
+ `select`, `checkbox`, `font_picker`, `metaobject`/`metaobject_list`.
34
+
35
+ ```liquid
36
+ {% schema %}
37
+ {
38
+ "name": "Featured collection",
39
+ "tag": "section",
40
+ "settings": [
41
+ { "type": "collection", "id": "collection", "label": "Collection" },
42
+ { "type": "range", "id": "limit", "min": 2, "max": 12, "step": 1, "default": 8, "label": "Products" }
43
+ ],
44
+ "blocks": [
45
+ { "type": "text", "name": "Text", "settings": [{ "type": "richtext", "id": "body", "label": "Body" }] },
46
+ { "type": "@app" }
47
+ ],
48
+ "presets": [{ "name": "Featured collection", "blocks": [{ "type": "text" }] }]
49
+ }
50
+ {% endschema %}
51
+ ```
52
+
53
+ - `presets` is what makes the section show up in "Add section" in the editor. No preset → the
54
+ section exists but a merchant can't add it.
55
+ - `blocks` with `{ "type": "@app" }` accepts app-provided blocks (theme app extensions).
56
+ - Iterate blocks in render order: `{% for block in section.blocks %}{% render block.type, block: block %}{% endfor %}`
57
+ and emit `{{ block.shopify_attributes }}` on the block's root element so the editor can target it.
58
+
59
+ ## Theme blocks (OS 2.0 reusable blocks)
60
+
61
+ `blocks/*.liquid` define reusable, nestable blocks usable across sections — distinct from a
62
+ section's inline `blocks`. They have their own `{% schema %}` and can accept child blocks via
63
+ `"blocks": [{ "type": "@theme" }]`. Use them to avoid copy-pasting block markup between sections.
64
+
65
+ ## Dynamic sources, metafields & metaobjects
66
+
67
+ Bind structured content instead of hardcoding. A setting can carry a **dynamic source** so a
68
+ merchant connects it to a metafield in the editor. Read metafields in Liquid:
69
+
70
+ ```liquid
71
+ {{ product.metafields.custom.care_instructions | metafield_tag }}
72
+ {% assign spec = product.metafields.custom.spec.value %} {# metaobject reference #}
73
+ ```
74
+
75
+ Prefer this over an `if product.type == ...` ladder: the branch becomes a metafield lookup, so
76
+ new product types need data, not a theme deploy.
77
+
78
+ ## Storefront performance
79
+
80
+ - Responsive images: `{{ image | image_url: width: 800 | image_tag: loading: 'lazy', sizes: '...', widths: '300,600,800,1200' }}`.
81
+ - `loading="eager"` + a `<link rel="preload">` only for the LCP hero image; lazy-load the rest.
82
+ - Defer non-critical media and scripts; avoid render-blocking app embeds.
83
+ - Always `limit:` collection/loop output; unbounded loops dominate render time.
84
+
85
+ ## Theme Check
86
+
87
+ `shopify theme check` (config: `.theme-check.yml`) flags deprecated `include`, unused
88
+ assigns, missing `{{ block.shopify_attributes }}`, untranslated strings, and parser errors. Run
89
+ it locally and in CI. `theme dev` gives hot reload as the inner loop.
@@ -0,0 +1,120 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # verify.sh — advisory quality scan for a Shopify theme or app directory.
4
+ #
5
+ # Usage:
6
+ # ./scripts/verify.sh [TARGET_PATH]
7
+ #
8
+ # Read-only by default. Greps a theme/app dir for high-signal Shopify foot-guns and prints
9
+ # WARN / FAIL advisories. WARN = a smell to review; FAIL = a deprecated/removed mechanism that
10
+ # will break. Exits non-zero only when a FAIL-level issue is found in a real Shopify dir.
11
+ # On an empty or non-Shopify target it SKIPs and exits 0 (no false failure).
12
+ #
13
+ # Compatible with stock macOS bash 3.2: no mapfile, no associative arrays, find-based globbing.
14
+
15
+ set -euo pipefail
16
+
17
+ TARGET="${1:-.}"
18
+
19
+ if [ -t 1 ]; then
20
+ RED=$'\033[0;31m'; GREEN=$'\033[0;32m'; YELLOW=$'\033[0;33m'; RESET=$'\033[0m'
21
+ else
22
+ RED=''; GREEN=''; YELLOW=''; RESET=''
23
+ fi
24
+ warn() { printf '%sWARN%s %s\n' "$YELLOW" "$RESET" "$*"; }
25
+ ok() { printf '%s%s%s\n' "$GREEN" "$*" "$RESET"; }
26
+ fail() { printf '%sFAIL%s %s\n' "$RED" "$RESET" "$*"; }
27
+
28
+ WARNS=0; FAILS=0
29
+
30
+ # A Shopify dir has either theme structure (sections/ or templates/*.json or *.liquid) or an
31
+ # app/theme config TOML. Neither → nothing to verify, SKIP (exit 0).
32
+ shopify_present() {
33
+ if [ -f "$TARGET/shopify.app.toml" ] || [ -f "$TARGET/shopify.theme.toml" ]; then return 0; fi
34
+ if [ -n "$(find "$TARGET" -type f -name '*.liquid' -print -quit 2>/dev/null)" ]; then return 0; fi
35
+ if [ -d "$TARGET/sections" ] || [ -d "$TARGET/extensions" ]; then return 0; fi
36
+ return 1
37
+ }
38
+
39
+ if ! shopify_present; then
40
+ warn "no Shopify theme/app found under '${TARGET}' (no *.liquid, no shopify.*.toml, no sections/ or extensions/)"
41
+ ok "verify.sh: ok (nothing to verify)"
42
+ exit 0
43
+ fi
44
+
45
+ # grep_count <pattern> <find-name-filter...> — count matching lines across files, 0 if none.
46
+ # Uses find + grep so it stays bash-3.2 / BSD-grep safe and never errors on no match.
47
+ scan() { # scan <label> <level:warn|fail> <regex> <file-glob>
48
+ local label="$1" level="$2" regex="$3" glob="$4"
49
+ local hits
50
+ hits=$(find "$TARGET" -type f -name "$glob" -print0 2>/dev/null \
51
+ | xargs -0 grep -nE "$regex" 2>/dev/null || true)
52
+ if [ -n "$hits" ]; then
53
+ if [ "$level" = "fail" ]; then
54
+ fail "$label"; FAILS=$((FAILS + 1))
55
+ else
56
+ warn "$label"; WARNS=$((WARNS + 1))
57
+ fi
58
+ printf '%s\n' "$hits" | sed 's/^/ /' | head -10
59
+ fi
60
+ }
61
+
62
+ # 1. Deprecated {% include %} in Liquid (prefer {% render %}).
63
+ scan "deprecated {% include %} — use {% render %} (scoped, cacheable)" warn \
64
+ '\{%-?[[:space:]]*include[[:space:]]' '*.liquid'
65
+
66
+ # 2. Raw money output without a | money filter (heuristic: .price echoed without 'money').
67
+ scan "price output without | money — renders raw cents/locale wrong" warn \
68
+ '\{\{[^}]*\.price[^}|]*\}\}' '*.liquid'
69
+
70
+ # 3. checkout.liquid present — deprecated; automatic upgrades roll out starting 2026-01.
71
+ if find "$TARGET" -type f -name 'checkout.liquid' -print -quit 2>/dev/null | grep -q . ; then
72
+ fail "checkout.liquid present — deprecated/removed; migrate to checkout extensibility"
73
+ FAILS=$((FAILS + 1))
74
+ fi
75
+
76
+ # 4. ScriptTag / additional-script usage — deprecated checkout/tracking mechanism.
77
+ scan "ScriptTag / additional-scripts usage — deprecated; use Web Pixels / UI extensions" warn \
78
+ 'ScriptTag|additional_scripts|additional scripts' '*'
79
+
80
+ # 5. REST Admin API calls in app source — legacy; prefer GraphQL.
81
+ scan "REST Admin API call (/admin/api/.../.json) — legacy; use admin.graphql()" warn \
82
+ '/admin/api/[0-9]{4}-[0-9]{2}/[^"'"'"' ]+\.json' '*'
83
+
84
+ # 6. apiVersion pinned and within the supported window (2025-10 .. 2026-04 at time of writing;
85
+ # 2025-07 is sunsetting ~2026-07-16, so flag it). Unpinned or an older literal → warn.
86
+ APIV=$(find "$TARGET" -type f \( -name '*.js' -o -name '*.ts' -o -name '*.toml' \) -print0 2>/dev/null \
87
+ | xargs -0 grep -hoE 'apiVersion[^0-9]*(2[0-9]{3}-[0-9]{2})' 2>/dev/null \
88
+ | grep -oE '2[0-9]{3}-[0-9]{2}' | head -1 || true)
89
+ if [ -f "$TARGET/shopify.app.toml" ] || find "$TARGET" -type f -name '*.server.*' -print -quit 2>/dev/null | grep -q .; then
90
+ if [ -z "$APIV" ]; then
91
+ warn "no pinned apiVersion found in app config/server — pin a supported version (e.g. 2026-04)"
92
+ WARNS=$((WARNS + 1))
93
+ else
94
+ case "$APIV" in
95
+ 2026-04|2026-01|2025-10) : ;;
96
+ 2025-07) warn "apiVersion '2025-07' is sunsetting (accessible only until 2026-07-16) — bump to a current version"; WARNS=$((WARNS + 1)) ;;
97
+ *) warn "apiVersion '$APIV' is outside the supported window (2025-10..2026-04) — bump it"; WARNS=$((WARNS + 1)) ;;
98
+ esac
99
+ fi
100
+ fi
101
+
102
+ # 7. Run Theme Check if a config and the CLI are both present (still read-only).
103
+ if [ -f "$TARGET/.theme-check.yml" ] || [ -f "$TARGET/.theme-check.yaml" ]; then
104
+ if command -v shopify >/dev/null 2>&1; then
105
+ printf '==> shopify theme check\n'
106
+ if ! shopify theme check "$TARGET"; then
107
+ warn "theme check reported issues"; WARNS=$((WARNS + 1))
108
+ fi
109
+ else
110
+ warn ".theme-check.yml present but shopify CLI not installed — skipping theme check"
111
+ fi
112
+ fi
113
+
114
+ printf '\n%d warn, %d fail\n' "$WARNS" "$FAILS"
115
+ if [ "$FAILS" -gt 0 ]; then
116
+ fail "verify.sh: deprecated/removed mechanisms detected"
117
+ exit 1
118
+ fi
119
+ ok "verify.sh: ok"
120
+ exit 0
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: shortform-editing
3
+ description: "Use when you have raw 9:16 footage and need it cut into a post-ready vertical short — dead air removed, fast jump cuts, karaoke word-by-word burned-in captions from a transcript, cuts and zooms snapped to the music beat, safe-area placement so captions clear the platform UI, and a platform-correct MP4 export. NOT writing the script, hook, beats or caption text (that is `video-shorts`), NOT building a Remotion React composition codebase (that is `remotion-video`), NOT deciding when or where to post (that is `social-publisher`)."
4
+ tags: [video-editing, shortform, captions, ffmpeg, whisper, beat-sync, vertical-video]
5
+ recommends: [video-shorts, remotion-video, shortform-packaging, social-publisher, podcast]
6
+ origin: risco
7
+ ---
8
+
9
+ # Shortform Editing — Cut the Footage Into a Posted-Ready Short
10
+
11
+ *You are the edit-bay technician.* Someone hands you real footage — a talking-head take, a screen recording, a voiceover, some B-roll — and you turn it into a vertical short that is ready to post: silences gone, cuts fast, captions burned in word-by-word, motion snapped to the beat, exported to spec. You encode pixels and timing. You do not write the words or pick the hook.
12
+
13
+ The rigor is a **checkable file**: a `1080x1920` H.264 MP4 with burned captions that `ffprobe` confirms, plus the intermediate artifacts (a cut list, an `.ass`/`.srt`, a beat grid). If you cannot `ffprobe` the result and see the specs, you are not done.
14
+
15
+ ## Scope: three skills touch "a vertical video" — know your lane
16
+
17
+ | The ask | Goes to | Artifact |
18
+ |---|---|---|
19
+ | Write the script, hook, beats, on-screen caption *text*, edit decision sheet | `../video-shorts/SKILL.md` | a `.md` script |
20
+ | Cut/caption/export real footage, tool-agnostic | **here** | edited `.mp4` + caption/cut files |
21
+ | Build a Remotion React composition project (`<TransitionSeries>`, headless render) | `../remotion-video/SKILL.md` | a `.tsx` project |
22
+
23
+ One-line router: **footage in → cut, captioned, exported → this skill.** Words or a plan → `video-shorts`. A React codebase → `remotion-video`. You are the only one of the three that is tool-portable.
24
+
25
+ ## Pick your route first
26
+
27
+ Do not start cutting before you have chosen the tool. The choice is about who runs it and whether it must reproduce.
28
+
29
+ | Situation | Route | Why |
30
+ |---|---|---|
31
+ | Reproducible / batch / CI / "do this to 40 clips" | **ffmpeg + WhisperX** | scriptable, deterministic, no GUI — same input, same output |
32
+ | The repo is already a Remotion project | **`@remotion/captions`** | reuse the existing composition graph; don't shell out |
33
+ | A human is polishing one video by hand | **CapCut click-path** | fastest for a single hands-on pass with auto-captions + auto beat markers |
34
+
35
+ The rest of this skill is the **ffmpeg + WhisperX pipeline** (the reproducible path), with the Remotion and CapCut routes called out where they diverge. Long command blocks live in `references/ffmpeg-pipeline.md`; the caption detail lives in `references/captions.md`.
36
+
37
+ ## The reproducible pipeline, in order
38
+
39
+ This is the spine. Run it top to bottom; each step feeds the next.
40
+
41
+ **1. Extract a clean mono 16 kHz audio track for transcription.**
42
+
43
+ ```bash
44
+ ffmpeg -i in.mp4 -vn -ac 1 -ar 16000 a.wav
45
+ ```
46
+
47
+ *Why mono 16 kHz: that is what Whisper models expect; feeding stereo 48 kHz wastes time and changes nothing about accuracy.*
48
+
49
+ **2. Transcribe with word-level timestamps.** Segment timestamps are not enough — word-by-word captions need per-word timing.
50
+
51
+ ```bash
52
+ whisperx a.wav --model large-v3 --output_format json --highlight_words True
53
+ ```
54
+
55
+ WhisperX (v3.8.5) runs faster-whisper plus wav2vec2 forced alignment, giving word timing accurate to **under 100 ms** — the floor for karaoke highlight. faster-whisper alone with `word_timestamps=True` works (~10% overhead) but drifts more on word boundaries. *Why forced alignment: Whisper's native word stamps are interpolated and jitter; forced alignment pins each word to the audio.* See `references/captions.md` for the install and the JSON shape.
56
+
57
+ **3. Detect silence, then cut video AND audio together.** This is the step people get wrong.
58
+
59
+ ```bash
60
+ # Pass 1: find the silent ranges (speech threshold)
61
+ ffmpeg -i in.mp4 -af silencedetect=noise=-25dB:d=0.3 -f null - 2> silence.log
62
+ ```
63
+
64
+ `silenceremove` alone is an **audio-only filter and desyncs the video** — never use it as a one-shot. Parse the `silence_start` / `silence_end` lines from `silence.log`, invert them into keep-ranges, and build a `select` + `aselect` filter (or a trim+concat graph) that drops the same ranges from both streams. Thresholds: speech `noise=-25dB:d=0.3`; music beds `noise=-40dB:d=1`. The filter-generation snippet is in `references/ffmpeg-pipeline.md`.
65
+
66
+ **4. Build the beat grid** (only if you are cutting to music).
67
+
68
+ ```bash
69
+ python -c "import librosa; y,sr=librosa.load('music.wav'); \
70
+ _,b=librosa.beat.beat_track(y=y,sr=sr,units='time'); print(*b,sep='\n')" > beats.txt
71
+ ```
72
+
73
+ `beats.txt` is a list of beat times in seconds. CapCut drops these markers on the waveform automatically; librosa (or aubio) gives you the same grid in a script.
74
+
75
+ **5. Snap cut points and zoom keyframes to the nearest beat.** Round each cut time to its closest value in `beats.txt`. A zoom-punch on the beat reads as energy; see Beat sync below for when NOT to.
76
+
77
+ **6. Burn the karaoke `.ass` captions.**
78
+
79
+ ```bash
80
+ ffmpeg -i tightened.mp4 -vf "ass=captions.ass" -c:a copy captioned.mp4
81
+ ```
82
+
83
+ The `.ass` carries the per-word `\k` timing built from step 2's word timestamps and the safe-zone margins. Generation detail and the template are in Karaoke captions below.
84
+
85
+ **7. Export the platform master** (see Export specs).
86
+
87
+ ## Karaoke captions
88
+
89
+ Word-by-word captions are the signature look. Build them from the word timestamps, not from segment timestamps.
90
+
91
+ - **Timing.** Each word's on-screen highlight comes from its forced-alignment start/end. In `.ass`, the `\k<centiseconds>` tag advances the karaoke fill per word. Word-by-word from *segment* timing jitters and lands the highlight on the wrong word — always use the per-word stamps from step 2.
92
+ - **Legibility for sound-off.** Big bold sans, heavy outline/stroke, optional drop shadow. People watch muted: if it is not readable at a glance on a phone, it failed. Keep it to **≤ 2 lines / ~6 words** on screen at once.
93
+ - **Safe zone — the non-obvious one.** Place captions in the **vertical middle band**, not the bottom. Platform UI (right-rail icons, bottom caption/CTA/profile) covers the bottom ~15–20% and the right edge. Keep captions and key text inside the central ~80% of the `1080x1920` frame. Captions burned at the bottom get hidden behind the TikTok buttons — this is the #1 "my captions are broken" cause.
94
+
95
+ Minimal `.ass` style block (full template in `references/captions.md`):
96
+
97
+ ```text
98
+ [V4+ Styles]
99
+ Style: Karaoke,Montserrat,64,&H00FFFFFF,&H0000FFFF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,5,2,5,80,80,640,1
100
+ ```
101
+
102
+ `MarginV` (the trailing `640`) lifts the line into the middle band; the heavy `Outline` (`5`) keeps it readable on any background.
103
+
104
+ **Remotion route:** if you are inside a Remotion project, use `@remotion/captions` — `createTikTokStyleCaptions({ captions, combineTokensWithinMilliseconds })` pages the tokens. Low (200–500 ms) = word-by-word pop; high (1200–2000 ms) = phrase pages. Page `durationMs` was added in v4.0.261. **CapCut route:** Text → Auto captions → Generate, then restyle.
105
+
106
+ ## Beat sync
107
+
108
+ A beat grid (step 4) is a list of seconds. Snap your cut points and zoom keyframes to the nearest beat so motion lands on the music.
109
+
110
+ - **Bad → Good.** Cutting mid-word to land a cut exactly on a beat reads as a mistake → nudge the cut to the nearest beat that also respects the speech boundary. Honor the words first, the beat second.
111
+ - **When NOT to beat-cut.** A talking-head explainer where the words carry the value: clarity beats rhythm. Beat-cutting a person mid-sentence chops their delivery. Reserve beat sync for B-roll montages, transitions, and music-led segments.
112
+ - **Transitions stay cheap and fast.** Hard cut is the default. Whip-pan or zoom-punch only on a beat. Avoid 1-second crossfades in a 30-second short — they kill the pace; a short lives on fast hard cuts.
113
+
114
+ ## Export specs
115
+
116
+ The universal vertical master — one file that plays cleanly across all three platforms:
117
+
118
+ ```bash
119
+ ffmpeg -i captioned.mp4 \
120
+ -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2,setsar=1" \
121
+ -c:v libx264 -profile:v high -pix_fmt yuv420p -r 30 \
122
+ -c:a aac -b:a 192k -ar 48000 -ac 2 \
123
+ -movflags +faststart out.mp4
124
+ ```
125
+
126
+ `yuv420p` (broad playback), `+faststart` (web streaming starts before full download), AAC-LC 48 kHz. Use 30 fps; bump to **60 fps for high-motion** Shorts.
127
+
128
+ | Platform | Video bitrate | Notes |
129
+ |---|---|---|
130
+ | TikTok | ~2,000–4,000 kbps | lightest of the three |
131
+ | Instagram Reels | ~3,500–4,500 kbps | |
132
+ | YouTube Shorts (1080p) | ~8,000–15,000 kbps | up to ~53,000 for 4K/60 |
133
+
134
+ A single `1080x1920` H.264 MP4 @30 fps under **~250 MB** is safe everywhere. Verify before you ship:
135
+
136
+ ```bash
137
+ ffprobe -v error -select_streams v:0 \
138
+ -show_entries stream=width,height,codec_name,avg_frame_rate out.mp4
139
+ ```
140
+
141
+ Expect `width=1080 height=1920 codec_name=h264`. The full per-platform encode flags and `ffprobe` assertions are in `references/ffmpeg-pipeline.md`.
142
+
143
+ ## Anti-patterns
144
+
145
+ | Bad | Why it breaks | Good |
146
+ |---|---|---|
147
+ | `silenceremove` as a one-shot filter | It is audio-only; the video keeps playing → audio/video desync | `silencedetect` → invert ranges → `select`+`aselect` cut both streams |
148
+ | Word captions from segment timestamps | Highlight jitters and lands on the wrong word | Forced-alignment per-word stamps (WhisperX / `word_timestamps`) |
149
+ | Captions burned in the bottom 15–20% | Platform UI (buttons, CTA, profile) covers them | Place in the vertical middle band, central ~80% |
150
+ | One export reused for every platform | Over/under the bitrate target somewhere | Per-platform bitrate, or the safe universal master |
151
+ | 1-second crossfades in a 30s short | Kills the pace; reads slow | Hard cuts; whip/zoom only on a beat |
152
+ | Beat-cutting a talking-head mid-sentence | Chops the delivery; clarity lost | Beat-sync B-roll/montage only; honor speech boundaries |
153
+ | Re-running the encode to "check the specs" | Wastes minutes; the file already exists | `ffprobe` the output; verify, don't re-render |
154
+ | Writing the caption copy or the hook here | That is the script, not the cut | Route to `../video-shorts/SKILL.md`; you only burn it in |
155
+ | `ffmpeg` overwriting the source in place | One bad flag and the original is gone | Always write to a new file; keep `in.mp4` untouched |
156
+
157
+ ## Verify & references
158
+
159
+ - `bash scripts/verify.sh <output.mp4>` — runs `ffprobe` and asserts `width=1080`, `height=1920` (9:16), video codec `h264`, audio codec `aac`, fps in `{30, 60}`, and that a sibling `.srt`/`.ass` caption file exists and is non-empty. With no `ffprobe` it falls back to a path/extension check. Read-only; exits 0 on an empty/clean target so it never false-fails. The "does it feel on-beat" judgment is not mechanical — that lives in the capability eval.
160
+ - `references/ffmpeg-pipeline.md` — the full silence-detect → keep-range inversion → `select`/`aselect` filter generation that cuts video+audio together, the concat/trim approach, per-platform encode flags, `ffprobe` assertions, and desync/audio-drift/faststart troubleshooting.
161
+ - `references/captions.md` — WhisperX install + run, the word-timestamp JSON shape, the full `.ass` karaoke template with safe-zone margins, the Remotion `createTikTokStyleCaptions()` snippet with `combineTokensWithinMilliseconds` guidance, and the faster-whisper vs WhisperX tradeoff.
@@ -0,0 +1,16 @@
1
+ # Evals — shortform-editing
2
+
3
+ These are routing + capability checks for a human or an LLM judge, not a renderer
4
+ test — nothing here encodes a video. To run them, read `cases.yaml` and confirm the
5
+ skill's `description` would fire on every `should_trigger` prompt (including the
6
+ non-obvious "captions out of sync and hidden behind the TikTok buttons" symptom and
7
+ the Spanish/Catalan phrasings) and that each `should_not_trigger` prompt routes to
8
+ the named sibling instead (`video-shorts`, `remotion-video`, `social-publisher`,
9
+ `youtube-thumbnails`, `podcast`) rather than here. For the `capability` scenario,
10
+ have the skill produce the pipeline/commands and grade them line by line against the
11
+ `must_include` rubric: word-level transcription, a two-pass silence cut that removes
12
+ video AND audio together, a beat grid with cuts snapped to it, karaoke `.ass`
13
+ captions in the safe middle band, a 1080x1920 H.264/AAC export, and `ffprobe`
14
+ verification. The "does it feel on-beat" judgment is subjective and stays in this
15
+ rubric. To mechanically check a produced output, point `scripts/verify.sh` at the
16
+ emitted `.mp4`.
@@ -0,0 +1,61 @@
1
+ skill: shortform-editing
2
+
3
+ # This skill is the edit-bay technician: it CUTS real footage into a posted-ready
4
+ # vertical short — silence removal, karaoke burned captions from word timestamps,
5
+ # beat-synced cuts, platform-correct export. It does NOT write the script/hook
6
+ # (video-shorts), build a Remotion codebase (remotion-video), schedule posts
7
+ # (social-publisher), make thumbnails (youtube-thumbnails), or master podcast audio
8
+ # (podcast).
9
+
10
+ should_trigger:
11
+ - prompt: "Remove the dead air and silences from this talking-head clip automatically."
12
+ why: "Core silence-removal job — the skill's two-pass silencedetect → cut-both-streams move."
13
+
14
+ - prompt: "Burn TikTok-style word-by-word captions onto this short from my Whisper transcript."
15
+ why: "Core caption job — karaoke .ass from word-level timestamps."
16
+
17
+ - prompt: "Cut this footage to the beat of the song so the cuts land on the drops."
18
+ why: "Beat sync — build a beat grid and snap cut points to it."
19
+
20
+ - prompt: "Export this Reel with the right TikTok and Shorts specs."
21
+ why: "Export job — 1080x1920 H.264 master plus per-platform bitrate."
22
+
23
+ - prompt: "My burned-in captions are out of sync and getting hidden behind the TikTok buttons — fix the timing and placement."
24
+ why: "Non-obvious — the user names a symptom, not the skill; the fix is word-timestamp re-timing plus moving captions out of the bottom UI safe zone, both signature moves."
25
+
26
+ - prompt: "Quítale los silencios a este vídeo y ponle subtítulos quemados estilo TikTok."
27
+ why: "Spanish for 'remove the silences and add burned TikTok-style captions' — language coverage plus the two core jobs."
28
+
29
+ - prompt: "Munta'm aquest clip vertical amb talls ràpids sincronitzats amb la música."
30
+ why: "Catalan for 'edit this vertical clip with fast cuts synced to the music' — language coverage plus beat-synced cutting."
31
+
32
+ should_not_trigger:
33
+ - prompt: "Write me a 30-second hook and script for a Reel about cold brew."
34
+ route_to: video-shorts
35
+ why: "Words and a plan, no footage — the script/hook is authored, not cut."
36
+
37
+ - prompt: "Build a Remotion React project with a TransitionSeries and composition code I can render in CI."
38
+ route_to: remotion-video
39
+ why: "A React composition codebase, not a one-off cut on real footage."
40
+
41
+ - prompt: "When and where should I post this short across platforms?"
42
+ route_to: social-publisher
43
+ why: "Distribution and cadence, not the cut/encode."
44
+
45
+ - prompt: "Make me a thumbnail / cover frame for this short."
46
+ route_to: youtube-thumbnails
47
+ why: "A still packaging visual, not video editing."
48
+
49
+ - prompt: "Master and chapter my podcast episode audio for the RSS feed."
50
+ route_to: podcast
51
+ why: "Long-form audio mastering and feed work, not a vertical video cut."
52
+
53
+ capability:
54
+ - scenario: "Given a raw 9:16 talking-head clip plus a music track, produce an edited, posted-ready vertical MP4 with karaoke captions, and verify it."
55
+ must_include:
56
+ - "Word-level transcription via WhisperX (or faster-whisper word_timestamps), not segment-only timestamps"
57
+ - "Two-pass silence handling: silencedetect to find ranges, then a select/aselect (or trim+concat) filter that cuts video AND audio together — NOT silenceremove alone"
58
+ - "A beat grid (librosa/aubio/CapCut markers) with cut points snapped to the nearest beat, and the note that talking-head clarity can outrank rhythm"
59
+ - "Karaoke .ass captions with per-word \\k timing from the word timestamps, placed in the vertical middle band / central ~80% (not the bottom 15-20% UI zone)"
60
+ - "Export to 1080x1920 H.264 (yuv420p, +faststart) at 30 or 60 fps with AAC 48 kHz audio, per-platform bitrate or the safe universal master"
61
+ - "ffprobe verification of resolution, codecs, and frame rate on the output file"
@@ -0,0 +1,85 @@
1
+ # Captions — word timestamps, .ass karaoke, Remotion route
2
+
3
+ ## Why word-level timestamps
4
+
5
+ Karaoke captions highlight one word at a time. That needs each word's start/end, not the segment's. Two sources:
6
+
7
+ | Tool | Word timing accuracy | Cost | When |
8
+ |---|---|---|---|
9
+ | faster-whisper `word_timestamps=True` | interpolated, drifts on boundaries | ~10% overhead, ~4x faster on GPU / 2x on CPU vs reference Whisper (CTranslate2) | quick, GPU-light, tolerant of small drift |
10
+ | WhisperX v3.8.5 (faster-whisper + wav2vec2 forced alignment) | **< 100 ms** | extra alignment pass | word-by-word highlight where the fill must land on the right word |
11
+
12
+ For karaoke, prefer WhisperX. Its forced alignment pins each word to the audio instead of interpolating.
13
+
14
+ ## Install + run WhisperX
15
+
16
+ ```bash
17
+ pip install whisperx
18
+ whisperx a.wav --model large-v3 --language en \
19
+ --output_format json --highlight_words True --output_dir out/
20
+ ```
21
+
22
+ This emits `out/a.json`. Shape (trimmed):
23
+
24
+ ```json
25
+ {
26
+ "segments": [
27
+ {
28
+ "start": 0.31, "end": 2.84, "text": " here is the thing",
29
+ "words": [
30
+ { "word": "here", "start": 0.31, "end": 0.52 },
31
+ { "word": "is", "start": 0.52, "end": 0.64 },
32
+ { "word": "the", "start": 0.64, "end": 0.78 },
33
+ { "word": "thing","start": 0.78, "end": 1.10 }
34
+ ]
35
+ }
36
+ ]
37
+ }
38
+ ```
39
+
40
+ Each `words[i].start/end` is what drives the `.ass` `\k` timing and the Remotion token pages.
41
+
42
+ ## .ass karaoke template
43
+
44
+ ```text
45
+ [Script Info]
46
+ ScriptType: v4.00+
47
+ PlayResX: 1080
48
+ PlayResY: 1920
49
+
50
+ [V4+ Styles]
51
+ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
52
+ Style: Karaoke,Montserrat,64,&H00FFFFFF,&H0000FFFF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,5,2,5,80,80,640,1
53
+
54
+ [Events]
55
+ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
56
+ Dialogue: 0,0:00:00.31,0:00:01.10,Karaoke,,0,0,0,,{\k21}here {\k12}is {\k14}the {\k32}thing
57
+ ```
58
+
59
+ - `\k<centiseconds>` per word = `(word.end - word.start) * 100`, rounded. The karaoke fill advances by that many centiseconds.
60
+ - `PrimaryColour` is the highlighted/active fill; `SecondaryColour` is the not-yet-spoken color.
61
+ - `Alignment 5` = centered middle. `MarginV 640` lifts the line off the bottom into the safe middle band.
62
+ - `Outline 5` + `Shadow 2` keep it legible on any background for sound-off viewing.
63
+
64
+ ### Safe-zone math
65
+
66
+ Frame is `1080x1920`. Reserve the bottom ~15–20% (≈ 290–384 px) for platform UI and the right edge for the icon rail. Keep caption baselines inside the central ~80%: roughly **y from 384 to 1536**. A `MarginV` around `560–720` lands the line in the lower-middle of that band — high enough to clear the buttons, low enough to feel like a caption.
67
+
68
+ ## Remotion route (when the repo is a Remotion project)
69
+
70
+ ```tsx
71
+ import { createTikTokStyleCaptions, type Caption } from "@remotion/captions";
72
+
73
+ const captions: Caption[] = /* from convertToCaptions(whisperJson) */;
74
+
75
+ const { pages } = createTikTokStyleCaptions({
76
+ captions,
77
+ combineTokensWithinMilliseconds: 350, // low = word-by-word; 1200–2000 = phrase pages
78
+ });
79
+ ```
80
+
81
+ - `combineTokensWithinMilliseconds` is the page-size dial: low (200–500 ms) → one word per page → word-by-word pop; high (1200–2000 ms) → a phrase per page.
82
+ - Per-page `durationMs` is available since v4.0.261.
83
+ - Style the rendered token in the composition, not here; keep it in the same safe middle band (`bottom: ~25%` of a `1080x1920` frame).
84
+
85
+ Do not build a Remotion project just to caption a one-off clip — that is `../remotion-video/SKILL.md`. Use this route only when the project already exists.