rsc-universal 0.1.1

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 (1418) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +279 -0
  3. package/manifest.json +4761 -0
  4. package/package.json +59 -0
  5. package/schema/frontmatter.schema.json +12 -0
  6. package/scripts/build-manifest.js +72 -0
  7. package/scripts/consult.js +106 -0
  8. package/scripts/detect-repo.js +118 -0
  9. package/scripts/doctor.js +21 -0
  10. package/scripts/eval-lint.sh +179 -0
  11. package/scripts/install-apply.js +52 -0
  12. package/scripts/install-plan.js +13 -0
  13. package/scripts/lib/behavior-score.js +103 -0
  14. package/scripts/lib/frontmatter.js +47 -0
  15. package/scripts/lib/harden-policy.js +41 -0
  16. package/scripts/lib/manifest.js +18 -0
  17. package/scripts/lib/recommend.js +36 -0
  18. package/scripts/lib/registry.js +110 -0
  19. package/scripts/lib/result-envelope.js +35 -0
  20. package/scripts/lib/state.js +12 -0
  21. package/scripts/lib/ui.js +17 -0
  22. package/scripts/reviewer-guard.sh +67 -0
  23. package/scripts/rsc.js +108 -0
  24. package/scripts/skill-behavior-eval.js +33 -0
  25. package/scripts/skill-behavior-eval.workflow.js +136 -0
  26. package/scripts/skill-behavior-rubric.md +63 -0
  27. package/scripts/skill-harden-rubric.md +40 -0
  28. package/scripts/skill-harden.workflow.js +161 -0
  29. package/scripts/skill-rubric.md +39 -0
  30. package/scripts/skill-scoreboard.workflow.js +35 -0
  31. package/skills/ab-testing/SKILL.md +191 -0
  32. package/skills/ab-testing/evals/README.md +8 -0
  33. package/skills/ab-testing/evals/cases.yaml +49 -0
  34. package/skills/ab-testing/references/pitfalls.md +74 -0
  35. package/skills/ab-testing/references/sample-size-and-cuped.md +128 -0
  36. package/skills/ab-testing/scripts/verify.sh +89 -0
  37. package/skills/accessibility/SKILL.md +218 -0
  38. package/skills/accessibility/evals/README.md +3 -0
  39. package/skills/accessibility/evals/cases.yaml +47 -0
  40. package/skills/accessibility/references/aria-patterns.md +113 -0
  41. package/skills/accessibility/references/wcag22-checklist.md +83 -0
  42. package/skills/accessibility/scripts/verify.sh +103 -0
  43. package/skills/ads/SKILL.md +175 -0
  44. package/skills/ads/evals/README.md +15 -0
  45. package/skills/ads/evals/cases.yaml +58 -0
  46. package/skills/ads/references/platform-specs.md +73 -0
  47. package/skills/ads/references/roas-model.md +77 -0
  48. package/skills/ads/scripts/verify.sh +210 -0
  49. package/skills/agent-eval/SKILL.md +213 -0
  50. package/skills/agent-eval/evals/README.md +12 -0
  51. package/skills/agent-eval/evals/cases.yaml +45 -0
  52. package/skills/agent-eval/references/judge-design.md +118 -0
  53. package/skills/agent-eval/references/runner-and-gate.md +183 -0
  54. package/skills/agent-eval/scripts/verify.sh +161 -0
  55. package/skills/agent-safety/SKILL.md +176 -0
  56. package/skills/agent-safety/evals/README.md +12 -0
  57. package/skills/agent-safety/evals/cases.yaml +46 -0
  58. package/skills/agent-safety/references/threat-model.md +51 -0
  59. package/skills/ai-media/SKILL.md +196 -0
  60. package/skills/ai-media/evals/README.md +3 -0
  61. package/skills/ai-media/evals/cases.yaml +45 -0
  62. package/skills/ai-media/references/ffmpeg-assembly.md +117 -0
  63. package/skills/ai-media/references/models-and-params.md +78 -0
  64. package/skills/ai-media/scripts/verify.sh +103 -0
  65. package/skills/analytics/SKILL.md +219 -0
  66. package/skills/analytics/evals/README.md +9 -0
  67. package/skills/analytics/evals/cases.yaml +53 -0
  68. package/skills/analytics/references/event-taxonomy.md +75 -0
  69. package/skills/analytics/references/ga4-setup.md +122 -0
  70. package/skills/analytics/references/posthog-setup.md +100 -0
  71. package/skills/analytics/scripts/verify.sh +95 -0
  72. package/skills/analyze/SKILL.md +136 -0
  73. package/skills/analyze/evals/README.md +72 -0
  74. package/skills/analyze/evals/cases.yaml +74 -0
  75. package/skills/angular/SKILL.md +288 -0
  76. package/skills/angular/evals/README.md +3 -0
  77. package/skills/angular/evals/cases.yaml +38 -0
  78. package/skills/angular/references/migration.md +81 -0
  79. package/skills/angular/references/signals-rxjs.md +92 -0
  80. package/skills/angular/scripts/verify.sh +122 -0
  81. package/skills/api-connector-builder/SKILL.md +285 -0
  82. package/skills/api-connector-builder/evals/README.md +11 -0
  83. package/skills/api-connector-builder/evals/cases.yaml +47 -0
  84. package/skills/api-connector-builder/references/auth-flows.md +132 -0
  85. package/skills/api-connector-builder/references/pagination.md +144 -0
  86. package/skills/api-connector-builder/scripts/verify.sh +172 -0
  87. package/skills/api-design/SKILL.md +189 -0
  88. package/skills/api-design/evals/README.md +3 -0
  89. package/skills/api-design/evals/cases.yaml +45 -0
  90. package/skills/api-design/references/graphql-design.md +70 -0
  91. package/skills/api-design/references/openapi-contract.md +86 -0
  92. package/skills/api-design/references/rest-conventions.md +63 -0
  93. package/skills/api-design/references/versioning-and-evolution.md +49 -0
  94. package/skills/api-design/scripts/verify.sh +138 -0
  95. package/skills/article-writing/SKILL.md +175 -0
  96. package/skills/article-writing/evals/README.md +3 -0
  97. package/skills/article-writing/evals/cases.yaml +47 -0
  98. package/skills/article-writing/references/ai-tell-banlist.md +114 -0
  99. package/skills/article-writing/references/on-page-seo.md +133 -0
  100. package/skills/article-writing/scripts/verify.sh +165 -0
  101. package/skills/astro/SKILL.md +275 -0
  102. package/skills/astro/evals/README.md +3 -0
  103. package/skills/astro/evals/cases.yaml +41 -0
  104. package/skills/astro/references/content-layer.md +118 -0
  105. package/skills/astro/references/deploy-and-integrations.md +163 -0
  106. package/skills/astro/scripts/verify.sh +137 -0
  107. package/skills/author-skill/SKILL.md +206 -0
  108. package/skills/author-skill/evals/README.md +66 -0
  109. package/skills/author-skill/evals/cases.yaml +75 -0
  110. package/skills/author-skill/references/description-recipe.md +84 -0
  111. package/skills/author-skill/references/eval-authoring.md +74 -0
  112. package/skills/author-skill/references/rsc-conventions.md +91 -0
  113. package/skills/automation-flows/SKILL.md +132 -0
  114. package/skills/automation-flows/evals/README.md +5 -0
  115. package/skills/automation-flows/evals/cases.yaml +44 -0
  116. package/skills/automation-flows/references/error-handling.md +58 -0
  117. package/skills/automation-flows/references/n8n-workflow-json.md +63 -0
  118. package/skills/automation-flows/scripts/verify.sh +78 -0
  119. package/skills/aws-essentials/SKILL.md +223 -0
  120. package/skills/aws-essentials/evals/README.md +10 -0
  121. package/skills/aws-essentials/evals/cases.yaml +44 -0
  122. package/skills/aws-essentials/references/iam-least-privilege.md +134 -0
  123. package/skills/aws-essentials/references/rds-cloudfront-recipes.md +127 -0
  124. package/skills/aws-essentials/scripts/verify.sh +99 -0
  125. package/skills/backups/SKILL.md +137 -0
  126. package/skills/backups/evals/README.md +3 -0
  127. package/skills/backups/evals/cases.yaml +42 -0
  128. package/skills/backups/references/engine-recipes.md +121 -0
  129. package/skills/backups/references/restore-runbook.md +65 -0
  130. package/skills/backups/scripts/verify.sh +80 -0
  131. package/skills/bash-scripting/SKILL.md +231 -0
  132. package/skills/bash-scripting/evals/README.md +3 -0
  133. package/skills/bash-scripting/evals/cases.yaml +45 -0
  134. package/skills/bash-scripting/references/portability.md +97 -0
  135. package/skills/bash-scripting/scripts/verify.sh +140 -0
  136. package/skills/bookkeeping/SKILL.md +184 -0
  137. package/skills/bookkeeping/evals/README.md +5 -0
  138. package/skills/bookkeeping/evals/cases.yaml +52 -0
  139. package/skills/bookkeeping/references/chart-of-accounts.md +87 -0
  140. package/skills/bookkeeping/references/reconciliation-playbook.md +54 -0
  141. package/skills/bookkeeping/references/tricky-transactions.md +192 -0
  142. package/skills/brand-identity/SKILL.md +161 -0
  143. package/skills/brand-identity/evals/README.md +14 -0
  144. package/skills/brand-identity/evals/cases.yaml +43 -0
  145. package/skills/brand-identity/references/color-and-tokens.md +129 -0
  146. package/skills/brand-identity/references/logo-and-assets.md +117 -0
  147. package/skills/brand-identity/scripts/verify.sh +224 -0
  148. package/skills/brand-voice/SKILL.md +183 -0
  149. package/skills/brand-voice/evals/README.md +3 -0
  150. package/skills/brand-voice/evals/cases.yaml +57 -0
  151. package/skills/brand-voice/references/voice-guide-template.md +150 -0
  152. package/skills/brand-voice/references/word-bank.md +61 -0
  153. package/skills/brand-voice/scripts/verify.sh +190 -0
  154. package/skills/building-agents/SKILL.md +469 -0
  155. package/skills/building-agents/evals/README.md +68 -0
  156. package/skills/building-agents/evals/cases.yaml +60 -0
  157. package/skills/building-agents/references/agent-loops-and-harness.md +371 -0
  158. package/skills/building-agents/references/evals-and-observability.md +420 -0
  159. package/skills/building-agents/references/mcp-servers.md +294 -0
  160. package/skills/building-agents/references/provider-abstraction.md +489 -0
  161. package/skills/building-agents/references/tools-and-rag.md +417 -0
  162. package/skills/building-agents/scripts/verify.sh +121 -0
  163. package/skills/business-intelligence/SKILL.md +176 -0
  164. package/skills/business-intelligence/evals/README.md +3 -0
  165. package/skills/business-intelligence/evals/cases.yaml +43 -0
  166. package/skills/business-intelligence/references/authoring-semantic-models.md +120 -0
  167. package/skills/business-intelligence/references/wiring-agents-and-apis.md +79 -0
  168. package/skills/business-intelligence/scripts/verify.sh +143 -0
  169. package/skills/calendar-scheduling/SKILL.md +196 -0
  170. package/skills/calendar-scheduling/evals/README.md +14 -0
  171. package/skills/calendar-scheduling/evals/cases.yaml +45 -0
  172. package/skills/calendar-scheduling/references/google-calendar-sync.md +78 -0
  173. package/skills/calendar-scheduling/references/provider-matrix.md +71 -0
  174. package/skills/calendar-scheduling/scripts/verify.sh +117 -0
  175. package/skills/case-studies/SKILL.md +147 -0
  176. package/skills/case-studies/evals/README.md +3 -0
  177. package/skills/case-studies/evals/cases.yaml +63 -0
  178. package/skills/case-studies/references/case-study-skeleton.md +90 -0
  179. package/skills/case-studies/references/consent-and-substantiation.md +80 -0
  180. package/skills/case-studies/scripts/verify.sh +161 -0
  181. package/skills/chatbot/SKILL.md +168 -0
  182. package/skills/chatbot/evals/README.md +13 -0
  183. package/skills/chatbot/evals/cases.yaml +43 -0
  184. package/skills/chatbot/references/handoff-and-sales.md +71 -0
  185. package/skills/chatbot/references/system-prompt-and-guardrails.md +78 -0
  186. package/skills/chatbot/scripts/verify.sh +162 -0
  187. package/skills/chrome-extension/SKILL.md +169 -0
  188. package/skills/chrome-extension/evals/README.md +12 -0
  189. package/skills/chrome-extension/evals/cases.yaml +40 -0
  190. package/skills/chrome-extension/references/store-and-migration.md +84 -0
  191. package/skills/chrome-extension/scripts/verify.sh +62 -0
  192. package/skills/clarify/SKILL.md +159 -0
  193. package/skills/clarify/evals/README.md +70 -0
  194. package/skills/clarify/evals/cases.yaml +71 -0
  195. package/skills/clickhouse-analytics/SKILL.md +165 -0
  196. package/skills/clickhouse-analytics/evals/README.md +3 -0
  197. package/skills/clickhouse-analytics/evals/cases.yaml +45 -0
  198. package/skills/clickhouse-analytics/references/ingestion-and-mvs.md +109 -0
  199. package/skills/clickhouse-analytics/references/query-optimization.md +76 -0
  200. package/skills/clickhouse-analytics/references/schema-and-engines.md +63 -0
  201. package/skills/clickhouse-analytics/scripts/verify.sh +109 -0
  202. package/skills/client-onboarding/SKILL.md +254 -0
  203. package/skills/client-onboarding/evals/README.md +14 -0
  204. package/skills/client-onboarding/evals/cases.yaml +40 -0
  205. package/skills/client-onboarding/references/onboarding-playbook.md +126 -0
  206. package/skills/cloudflare/SKILL.md +191 -0
  207. package/skills/cloudflare/evals/README.md +15 -0
  208. package/skills/cloudflare/evals/cases.yaml +46 -0
  209. package/skills/cloudflare/references/storage-primitives.md +104 -0
  210. package/skills/cloudflare/references/wrangler-config.md +91 -0
  211. package/skills/cloudflare/scripts/verify.sh +133 -0
  212. package/skills/code-review/SKILL.md +143 -0
  213. package/skills/code-review/evals/README.md +3 -0
  214. package/skills/code-review/evals/cases.yaml +55 -0
  215. package/skills/code-review/references/pr-workflow.md +67 -0
  216. package/skills/codebase-onboarding/SKILL.md +133 -0
  217. package/skills/codebase-onboarding/evals/README.md +3 -0
  218. package/skills/codebase-onboarding/evals/cases.yaml +69 -0
  219. package/skills/codebase-onboarding/references/recon-playbook.md +57 -0
  220. package/skills/codebase-onboarding/scripts/verify.sh +54 -0
  221. package/skills/cold-outreach/SKILL.md +206 -0
  222. package/skills/cold-outreach/evals/README.md +3 -0
  223. package/skills/cold-outreach/evals/cases.yaml +60 -0
  224. package/skills/cold-outreach/references/compliance-footer.md +50 -0
  225. package/skills/cold-outreach/references/hook-derivation.md +73 -0
  226. package/skills/cold-outreach/references/templates.md +88 -0
  227. package/skills/cold-outreach/scripts/verify.sh +170 -0
  228. package/skills/community/SKILL.md +225 -0
  229. package/skills/community/evals/README.md +3 -0
  230. package/skills/community/evals/cases.yaml +40 -0
  231. package/skills/community/references/metrics-and-rituals.md +58 -0
  232. package/skills/community/references/platform-playbooks.md +64 -0
  233. package/skills/community/scripts/verify.sh +83 -0
  234. package/skills/competitor-watch/SKILL.md +193 -0
  235. package/skills/competitor-watch/evals/README.md +19 -0
  236. package/skills/competitor-watch/evals/cases.yaml +54 -0
  237. package/skills/competitor-watch/references/monitoring-config.md +124 -0
  238. package/skills/competitor-watch/references/tracker-schema.md +79 -0
  239. package/skills/competitor-watch/scripts/verify.sh +253 -0
  240. package/skills/compliance/SKILL.md +184 -0
  241. package/skills/compliance/evals/README.md +14 -0
  242. package/skills/compliance/evals/cases.yaml +46 -0
  243. package/skills/compliance/references/frameworks.md +108 -0
  244. package/skills/compliance/references/operating-rhythm.md +79 -0
  245. package/skills/compliance/scripts/verify.sh +168 -0
  246. package/skills/compose-multiplatform/SKILL.md +198 -0
  247. package/skills/compose-multiplatform/evals/README.md +3 -0
  248. package/skills/compose-multiplatform/evals/cases.yaml +40 -0
  249. package/skills/compose-multiplatform/references/ios-interop.md +91 -0
  250. package/skills/compose-multiplatform/references/project-setup.md +96 -0
  251. package/skills/compose-multiplatform/scripts/verify.sh +123 -0
  252. package/skills/constitution/SKILL.md +160 -0
  253. package/skills/constitution/evals/README.md +68 -0
  254. package/skills/constitution/evals/cases.yaml +72 -0
  255. package/skills/constitution/references/constitution-template.md +90 -0
  256. package/skills/content-engine/SKILL.md +164 -0
  257. package/skills/content-engine/evals/README.md +17 -0
  258. package/skills/content-engine/evals/cases.yaml +62 -0
  259. package/skills/content-engine/references/atomization.md +81 -0
  260. package/skills/content-engine/references/brief-and-pipeline.md +90 -0
  261. package/skills/content-engine/scripts/verify.sh +146 -0
  262. package/skills/context-budget/SKILL.md +132 -0
  263. package/skills/context-budget/evals/README.md +11 -0
  264. package/skills/context-budget/evals/cases.yaml +40 -0
  265. package/skills/context-budget/references/handoff-and-compaction.md +96 -0
  266. package/skills/continuous-learning/SKILL.md +136 -0
  267. package/skills/continuous-learning/evals/README.md +16 -0
  268. package/skills/continuous-learning/evals/cases.yaml +39 -0
  269. package/skills/continuous-learning/references/lesson-routing.md +106 -0
  270. package/skills/contracts/SKILL.md +124 -0
  271. package/skills/contracts/evals/README.md +3 -0
  272. package/skills/contracts/evals/cases.yaml +42 -0
  273. package/skills/contracts/references/clause-library.md +129 -0
  274. package/skills/contracts/references/review-playbook.md +49 -0
  275. package/skills/contracts/scripts/verify.sh +53 -0
  276. package/skills/coolify/SKILL.md +201 -0
  277. package/skills/coolify/evals/README.md +21 -0
  278. package/skills/coolify/evals/cases.yaml +46 -0
  279. package/skills/coolify/references/databases-and-backups.md +99 -0
  280. package/skills/coolify/references/deploy-recipes.md +105 -0
  281. package/skills/coolify/references/install-and-proxy.md +80 -0
  282. package/skills/coolify/scripts/verify.sh +123 -0
  283. package/skills/cost-tracking/SKILL.md +183 -0
  284. package/skills/cost-tracking/evals/README.md +3 -0
  285. package/skills/cost-tracking/evals/cases.yaml +45 -0
  286. package/skills/cost-tracking/references/cloud-caps.md +52 -0
  287. package/skills/cost-tracking/references/pricing-tables.md +51 -0
  288. package/skills/cost-tracking/scripts/verify.sh +135 -0
  289. package/skills/course-builder/SKILL.md +186 -0
  290. package/skills/course-builder/evals/README.md +16 -0
  291. package/skills/course-builder/evals/cases.yaml +49 -0
  292. package/skills/course-builder/references/assessment-design.md +74 -0
  293. package/skills/course-builder/references/grounding-and-scoping.md +69 -0
  294. package/skills/course-builder/references/outcomes-and-blooms.md +82 -0
  295. package/skills/course-builder/scripts/verify.sh +247 -0
  296. package/skills/course-storytelling/SKILL.md +205 -0
  297. package/skills/course-storytelling/evals/README.md +54 -0
  298. package/skills/course-storytelling/evals/cases.yaml +50 -0
  299. package/skills/course-storytelling/references/brunson-frameworks.md +190 -0
  300. package/skills/course-storytelling/references/concept-landing-recipe.md +136 -0
  301. package/skills/course-storytelling/references/course-analysis.md +124 -0
  302. package/skills/course-storytelling/references/learner-grounding.md +183 -0
  303. package/skills/course-storytelling/references/mental-models.md +115 -0
  304. package/skills/course-storytelling/scripts/verify.sh +223 -0
  305. package/skills/cpp/SKILL.md +349 -0
  306. package/skills/cpp/evals/README.md +14 -0
  307. package/skills/cpp/evals/cases.yaml +44 -0
  308. package/skills/cpp/references/cmake.md +167 -0
  309. package/skills/cpp/references/move-and-templates.md +130 -0
  310. package/skills/cpp/references/undefined-behavior.md +86 -0
  311. package/skills/cpp/scripts/verify.sh +165 -0
  312. package/skills/csharp-dotnet/SKILL.md +291 -0
  313. package/skills/csharp-dotnet/evals/README.md +3 -0
  314. package/skills/csharp-dotnet/evals/cases.yaml +48 -0
  315. package/skills/csharp-dotnet/references/aspnetcore.md +99 -0
  316. package/skills/csharp-dotnet/references/async.md +82 -0
  317. package/skills/csharp-dotnet/references/efcore.md +96 -0
  318. package/skills/csharp-dotnet/scripts/verify.sh +90 -0
  319. package/skills/customer-support/SKILL.md +193 -0
  320. package/skills/customer-support/evals/README.md +13 -0
  321. package/skills/customer-support/evals/cases.yaml +61 -0
  322. package/skills/customer-support/references/macros-and-sla.md +142 -0
  323. package/skills/dashboard/SKILL.md +205 -0
  324. package/skills/dashboard/evals/README.md +3 -0
  325. package/skills/dashboard/evals/cases.yaml +50 -0
  326. package/skills/dashboard/references/chart-selection.md +34 -0
  327. package/skills/dashboard/references/tile-schema.md +164 -0
  328. package/skills/dashboard/scripts/verify.sh +130 -0
  329. package/skills/data-cleaning/SKILL.md +285 -0
  330. package/skills/data-cleaning/evals/README.md +16 -0
  331. package/skills/data-cleaning/evals/cases.yaml +57 -0
  332. package/skills/data-cleaning/references/normalization-recipes.md +136 -0
  333. package/skills/data-cleaning/references/validation-patterns.md +134 -0
  334. package/skills/data-cleaning/scripts/verify.sh +115 -0
  335. package/skills/data-policy/SKILL.md +163 -0
  336. package/skills/data-policy/evals/README.md +15 -0
  337. package/skills/data-policy/evals/cases.yaml +44 -0
  338. package/skills/data-policy/references/consent-and-ropa.md +97 -0
  339. package/skills/data-policy/references/retention-schedule.md +83 -0
  340. package/skills/data-policy/scripts/verify.sh +143 -0
  341. package/skills/data-scraper/SKILL.md +134 -0
  342. package/skills/data-scraper/evals/README.md +3 -0
  343. package/skills/data-scraper/evals/cases.yaml +46 -0
  344. package/skills/data-scraper/references/anti-bot.md +85 -0
  345. package/skills/data-scraper/references/frameworks.md +116 -0
  346. package/skills/data-scraper/references/legal-compliance.md +59 -0
  347. package/skills/data-scraper/scripts/verify.sh +166 -0
  348. package/skills/db-migrations/SKILL.md +254 -0
  349. package/skills/db-migrations/evals/README.md +10 -0
  350. package/skills/db-migrations/evals/cases.yaml +46 -0
  351. package/skills/db-migrations/references/backfill-and-batching.md +105 -0
  352. package/skills/db-migrations/references/expand-contract-playbook.md +152 -0
  353. package/skills/db-migrations/references/tools-and-runners.md +88 -0
  354. package/skills/db-migrations/scripts/verify.sh +112 -0
  355. package/skills/debug/SKILL.md +227 -0
  356. package/skills/debug/evals/README.md +88 -0
  357. package/skills/debug/evals/cases.yaml +74 -0
  358. package/skills/decision-records/SKILL.md +189 -0
  359. package/skills/decision-records/evals/README.md +3 -0
  360. package/skills/decision-records/evals/cases.yaml +43 -0
  361. package/skills/decision-records/references/templates.md +232 -0
  362. package/skills/decision-records/scripts/verify.sh +105 -0
  363. package/skills/deployment/SKILL.md +439 -0
  364. package/skills/deployment/evals/README.md +50 -0
  365. package/skills/deployment/evals/cases.yaml +53 -0
  366. package/skills/deployment/references/coolify.md +216 -0
  367. package/skills/deployment/references/dockerfiles-by-stack.md +319 -0
  368. package/skills/deployment/references/github-actions.md +295 -0
  369. package/skills/deployment/references/hosting-targets.md +272 -0
  370. package/skills/deployment/scripts/verify.sh +134 -0
  371. package/skills/design/SKILL.md +399 -0
  372. package/skills/design/evals/README.md +53 -0
  373. package/skills/design/evals/cases.yaml +56 -0
  374. package/skills/design/references/brand-grounding.md +187 -0
  375. package/skills/design/references/copywriting-frameworks.md +138 -0
  376. package/skills/design/references/landing-anatomy-and-cro.md +202 -0
  377. package/skills/design/references/motion-and-interaction.md +182 -0
  378. package/skills/design/references/research-method.md +147 -0
  379. package/skills/design/references/signature-and-craft.md +148 -0
  380. package/skills/design/references/trends-2026.md +80 -0
  381. package/skills/design/references/visual-system.md +236 -0
  382. package/skills/design/scripts/verify.sh +248 -0
  383. package/skills/digitalocean/SKILL.md +251 -0
  384. package/skills/digitalocean/evals/README.md +10 -0
  385. package/skills/digitalocean/evals/cases.yaml +37 -0
  386. package/skills/digitalocean/references/app-spec.md +126 -0
  387. package/skills/digitalocean/references/droplet-ops.md +95 -0
  388. package/skills/digitalocean/scripts/verify.sh +102 -0
  389. package/skills/django/SKILL.md +268 -0
  390. package/skills/django/evals/README.md +11 -0
  391. package/skills/django/evals/cases.yaml +47 -0
  392. package/skills/django/references/drf.md +109 -0
  393. package/skills/django/references/orm-performance.md +91 -0
  394. package/skills/django/references/security.md +81 -0
  395. package/skills/django/references/testing.md +86 -0
  396. package/skills/django/scripts/verify.sh +115 -0
  397. package/skills/docker/SKILL.md +283 -0
  398. package/skills/docker/evals/README.md +10 -0
  399. package/skills/docker/evals/cases.yaml +44 -0
  400. package/skills/docker/references/base-images-and-stages.md +104 -0
  401. package/skills/docker/references/compose-recipes.md +109 -0
  402. package/skills/docker/scripts/verify.sh +149 -0
  403. package/skills/document-processing/SKILL.md +214 -0
  404. package/skills/document-processing/evals/README.md +3 -0
  405. package/skills/document-processing/evals/cases.yaml +65 -0
  406. package/skills/document-processing/references/engines.md +67 -0
  407. package/skills/document-processing/scripts/verify.sh +172 -0
  408. package/skills/domains-dns/SKILL.md +146 -0
  409. package/skills/domains-dns/evals/README.md +16 -0
  410. package/skills/domains-dns/evals/cases.yaml +47 -0
  411. package/skills/domains-dns/references/record-cookbook.md +94 -0
  412. package/skills/domains-dns/references/tls-and-acme.md +90 -0
  413. package/skills/domains-dns/references/verify-and-debug.md +64 -0
  414. package/skills/domains-dns/scripts/verify.sh +163 -0
  415. package/skills/drizzle-orm/SKILL.md +234 -0
  416. package/skills/drizzle-orm/evals/README.md +12 -0
  417. package/skills/drizzle-orm/evals/cases.yaml +47 -0
  418. package/skills/drizzle-orm/references/relations-and-drivers.md +118 -0
  419. package/skills/drizzle-orm/scripts/verify.sh +155 -0
  420. package/skills/duckdb/SKILL.md +207 -0
  421. package/skills/duckdb/evals/README.md +31 -0
  422. package/skills/duckdb/evals/cases.yaml +41 -0
  423. package/skills/duckdb/references/python-and-interop.md +105 -0
  424. package/skills/duckdb/references/remote-and-lakehouse.md +101 -0
  425. package/skills/duckdb/scripts/verify.sh +71 -0
  426. package/skills/dynamodb/SKILL.md +217 -0
  427. package/skills/dynamodb/evals/README.md +8 -0
  428. package/skills/dynamodb/evals/cases.yaml +46 -0
  429. package/skills/dynamodb/references/access-patterns.md +127 -0
  430. package/skills/dynamodb/references/capacity-and-limits.md +78 -0
  431. package/skills/dynamodb/scripts/verify.sh +108 -0
  432. package/skills/e-signature/SKILL.md +185 -0
  433. package/skills/e-signature/evals/README.md +3 -0
  434. package/skills/e-signature/evals/cases.yaml +44 -0
  435. package/skills/e-signature/references/docusign.md +83 -0
  436. package/skills/e-signature/references/dropbox-sign.md +73 -0
  437. package/skills/e-signature/references/legal-tiers.md +37 -0
  438. package/skills/e-signature/scripts/verify.sh +81 -0
  439. package/skills/e2e-testing/SKILL.md +243 -0
  440. package/skills/e2e-testing/evals/README.md +10 -0
  441. package/skills/e2e-testing/evals/cases.yaml +64 -0
  442. package/skills/e2e-testing/references/config-and-ci.md +156 -0
  443. package/skills/e2e-testing/references/flakiness-playbook.md +124 -0
  444. package/skills/e2e-testing/scripts/verify.sh +117 -0
  445. package/skills/electron/SKILL.md +221 -0
  446. package/skills/electron/evals/README.md +13 -0
  447. package/skills/electron/evals/cases.yaml +38 -0
  448. package/skills/electron/references/packaging-and-updates.md +122 -0
  449. package/skills/electron/references/security-and-ipc.md +158 -0
  450. package/skills/electron/scripts/verify.sh +143 -0
  451. package/skills/elixir/SKILL.md +217 -0
  452. package/skills/elixir/evals/README.md +3 -0
  453. package/skills/elixir/evals/cases.yaml +41 -0
  454. package/skills/elixir/references/mix-and-releases.md +91 -0
  455. package/skills/elixir/references/otp-patterns.md +96 -0
  456. package/skills/elixir/scripts/verify.sh +76 -0
  457. package/skills/email-connector/SKILL.md +294 -0
  458. package/skills/email-connector/evals/README.md +19 -0
  459. package/skills/email-connector/evals/cases.yaml +39 -0
  460. package/skills/email-connector/references/providers.md +107 -0
  461. package/skills/email-connector/scripts/verify.sh +72 -0
  462. package/skills/email-deliverability/SKILL.md +168 -0
  463. package/skills/email-deliverability/evals/README.md +21 -0
  464. package/skills/email-deliverability/evals/cases.yaml +45 -0
  465. package/skills/email-deliverability/scripts/verify.sh +98 -0
  466. package/skills/embeddings-search/SKILL.md +193 -0
  467. package/skills/embeddings-search/evals/README.md +10 -0
  468. package/skills/embeddings-search/evals/cases.yaml +44 -0
  469. package/skills/embeddings-search/references/evaluation.md +86 -0
  470. package/skills/embeddings-search/references/models.md +73 -0
  471. package/skills/embeddings-search/scripts/verify.sh +103 -0
  472. package/skills/error-handling/SKILL.md +307 -0
  473. package/skills/error-handling/evals/README.md +12 -0
  474. package/skills/error-handling/evals/cases.yaml +46 -0
  475. package/skills/error-handling/references/boundaries-and-messaging.md +120 -0
  476. package/skills/error-handling/references/retry-and-resilience.md +154 -0
  477. package/skills/error-handling/scripts/verify.sh +110 -0
  478. package/skills/expo/SKILL.md +253 -0
  479. package/skills/expo/evals/README.md +13 -0
  480. package/skills/expo/evals/cases.yaml +44 -0
  481. package/skills/expo/references/config-plugins.md +117 -0
  482. package/skills/expo/references/eas-update.md +118 -0
  483. package/skills/expo/scripts/verify.sh +132 -0
  484. package/skills/fal/SKILL.md +210 -0
  485. package/skills/fal/evals/README.md +3 -0
  486. package/skills/fal/evals/cases.yaml +42 -0
  487. package/skills/fal/references/models-and-cost.md +53 -0
  488. package/skills/fal/references/queue-and-webhooks.md +153 -0
  489. package/skills/fal/scripts/verify.sh +72 -0
  490. package/skills/fastapi/SKILL.md +499 -0
  491. package/skills/fastapi/evals/README.md +50 -0
  492. package/skills/fastapi/evals/cases.yaml +55 -0
  493. package/skills/fastapi/references/database.md +347 -0
  494. package/skills/fastapi/references/production.md +338 -0
  495. package/skills/fastapi/references/security.md +330 -0
  496. package/skills/fastapi/references/testing.md +349 -0
  497. package/skills/fastapi/scripts/verify.sh +116 -0
  498. package/skills/finance-ops/SKILL.md +149 -0
  499. package/skills/finance-ops/evals/README.md +3 -0
  500. package/skills/finance-ops/evals/cases.yaml +39 -0
  501. package/skills/finance-ops/references/cash-flow-forecast.md +57 -0
  502. package/skills/finance-ops/references/month-close.md +59 -0
  503. package/skills/finance-ops/references/reconciliation.md +65 -0
  504. package/skills/finance-ops/scripts/verify.sh +166 -0
  505. package/skills/financial-model/SKILL.md +170 -0
  506. package/skills/financial-model/evals/README.md +3 -0
  507. package/skills/financial-model/evals/cases.yaml +53 -0
  508. package/skills/financial-model/references/benchmarks-and-scenarios.md +55 -0
  509. package/skills/financial-model/references/model-structure.md +67 -0
  510. package/skills/financial-model/references/revenue-build.md +68 -0
  511. package/skills/financial-model/scripts/verify.sh +232 -0
  512. package/skills/firebase/SKILL.md +251 -0
  513. package/skills/firebase/evals/README.md +12 -0
  514. package/skills/firebase/evals/cases.yaml +45 -0
  515. package/skills/firebase/references/cloud-functions.md +102 -0
  516. package/skills/firebase/references/data-modeling.md +108 -0
  517. package/skills/firebase/references/security-rules.md +137 -0
  518. package/skills/firebase/scripts/verify.sh +98 -0
  519. package/skills/flutter/SKILL.md +448 -0
  520. package/skills/flutter/evals/README.md +54 -0
  521. package/skills/flutter/evals/cases.yaml +69 -0
  522. package/skills/flutter/references/architecture-and-state.md +499 -0
  523. package/skills/flutter/references/i18n-and-dependencies.md +197 -0
  524. package/skills/flutter/references/performance.md +299 -0
  525. package/skills/flutter/references/testing.md +385 -0
  526. package/skills/flutter/references/ui-and-navigation.md +378 -0
  527. package/skills/flutter/scripts/verify.sh +104 -0
  528. package/skills/fly-io/SKILL.md +206 -0
  529. package/skills/fly-io/evals/README.md +3 -0
  530. package/skills/fly-io/evals/cases.yaml +42 -0
  531. package/skills/fly-io/references/fly-toml.md +155 -0
  532. package/skills/fly-io/references/multi-region.md +66 -0
  533. package/skills/fly-io/scripts/verify.sh +90 -0
  534. package/skills/forecasting/SKILL.md +139 -0
  535. package/skills/forecasting/evals/README.md +13 -0
  536. package/skills/forecasting/evals/cases.yaml +47 -0
  537. package/skills/forecasting/references/accuracy-and-backtesting.md +104 -0
  538. package/skills/forecasting/references/methods-cheatsheet.md +94 -0
  539. package/skills/forecasting/scripts/verify.sh +99 -0
  540. package/skills/fundraising/SKILL.md +162 -0
  541. package/skills/fundraising/evals/README.md +18 -0
  542. package/skills/fundraising/evals/cases.yaml +76 -0
  543. package/skills/fundraising/references/funnel-math.md +90 -0
  544. package/skills/fundraising/references/process-playbook.md +97 -0
  545. package/skills/gcp-essentials/SKILL.md +327 -0
  546. package/skills/gcp-essentials/evals/README.md +12 -0
  547. package/skills/gcp-essentials/evals/cases.yaml +38 -0
  548. package/skills/gcp-essentials/references/deploy-recipes.md +81 -0
  549. package/skills/gcp-essentials/references/iam-and-auth.md +94 -0
  550. package/skills/gcp-essentials/references/networking-and-sql.md +74 -0
  551. package/skills/gcp-essentials/scripts/verify.sh +158 -0
  552. package/skills/gdpr-privacy/SKILL.md +167 -0
  553. package/skills/gdpr-privacy/evals/README.md +3 -0
  554. package/skills/gdpr-privacy/evals/cases.yaml +47 -0
  555. package/skills/gdpr-privacy/references/dpa-and-transfers.md +63 -0
  556. package/skills/gdpr-privacy/references/dsar-and-consent.md +83 -0
  557. package/skills/gdpr-privacy/references/privacy-policy-blueprint.md +99 -0
  558. package/skills/gdpr-privacy/scripts/verify.sh +84 -0
  559. package/skills/git-workflow/SKILL.md +190 -0
  560. package/skills/git-workflow/evals/README.md +10 -0
  561. package/skills/git-workflow/evals/cases.yaml +47 -0
  562. package/skills/git-workflow/references/interactive-rebase.md +89 -0
  563. package/skills/github-actions/SKILL.md +256 -0
  564. package/skills/github-actions/evals/README.md +3 -0
  565. package/skills/github-actions/evals/cases.yaml +45 -0
  566. package/skills/github-actions/references/caching-and-matrix.md +92 -0
  567. package/skills/github-actions/references/oidc-deploys.md +130 -0
  568. package/skills/github-actions/scripts/verify.sh +105 -0
  569. package/skills/go/SKILL.md +438 -0
  570. package/skills/go/evals/README.md +56 -0
  571. package/skills/go/evals/cases.yaml +55 -0
  572. package/skills/go/references/concurrency.md +557 -0
  573. package/skills/go/references/http-services.md +529 -0
  574. package/skills/go/references/testing.md +338 -0
  575. package/skills/go/scripts/verify.sh +109 -0
  576. package/skills/google-workspace/SKILL.md +287 -0
  577. package/skills/google-workspace/evals/README.md +16 -0
  578. package/skills/google-workspace/evals/cases.yaml +44 -0
  579. package/skills/google-workspace/references/api-recipes.md +148 -0
  580. package/skills/google-workspace/references/auth-setup.md +100 -0
  581. package/skills/google-workspace/scripts/verify.sh +128 -0
  582. package/skills/grants/SKILL.md +171 -0
  583. package/skills/grants/evals/README.md +3 -0
  584. package/skills/grants/evals/cases.yaml +69 -0
  585. package/skills/grants/references/budget-justification.md +71 -0
  586. package/skills/grants/references/jurisdictions.md +35 -0
  587. package/skills/grants/references/logic-model.md +66 -0
  588. package/skills/grants/scripts/verify.sh +193 -0
  589. package/skills/harness/SKILL.md +329 -0
  590. package/skills/harness/assets/_TEMPLATE/.env.example +8 -0
  591. package/skills/harness/assets/_TEMPLATE/CREDENTIALS.md +25 -0
  592. package/skills/harness/assets/_TEMPLATE/README.md +25 -0
  593. package/skills/harness/assets/_TEMPLATE/test_connection.sh +30 -0
  594. package/skills/harness/evals/README.md +54 -0
  595. package/skills/harness/evals/cases.yaml +72 -0
  596. package/skills/harness/examples/audit-example.md +120 -0
  597. package/skills/harness/references/agents-md-template.md +41 -0
  598. package/skills/harness/references/audit-report-template.html +140 -0
  599. package/skills/harness/references/audit-report-template.md +116 -0
  600. package/skills/harness/references/claude-md-template.md +98 -0
  601. package/skills/harness/references/inbox-readme-template.md +51 -0
  602. package/skills/harness/references/ingest-formats.md +185 -0
  603. package/skills/harness/references/providers.yaml +3410 -0
  604. package/skills/harness/references/tools-readme-template.md +88 -0
  605. package/skills/harness/references/wiki-archive-template.html +81 -0
  606. package/skills/harness/references/wiki-article-template.md +20 -0
  607. package/skills/harness/references/wiki-dashboard-template.html +136 -0
  608. package/skills/harness/references/wiki-deep-improve-report-template.html +126 -0
  609. package/skills/harness/references/wiki-gaps-template.md +18 -0
  610. package/skills/harness/references/wiki-index-template.md +23 -0
  611. package/skills/harness/references/wiki-protocol.md +699 -0
  612. package/skills/harness/references/wiki-raw-template.md +7 -0
  613. package/skills/hetzner/SKILL.md +221 -0
  614. package/skills/hetzner/evals/README.md +35 -0
  615. package/skills/hetzner/evals/cases.yaml +46 -0
  616. package/skills/hetzner/references/cloud-init.md +120 -0
  617. package/skills/hetzner/references/plans-and-locations.md +56 -0
  618. package/skills/hetzner/scripts/verify.sh +122 -0
  619. package/skills/hiring/SKILL.md +248 -0
  620. package/skills/hiring/evals/README.md +13 -0
  621. package/skills/hiring/evals/cases.yaml +41 -0
  622. package/skills/hiring/references/templates.md +118 -0
  623. package/skills/htmx/SKILL.md +261 -0
  624. package/skills/htmx/evals/README.md +3 -0
  625. package/skills/htmx/evals/cases.yaml +38 -0
  626. package/skills/htmx/references/patterns.md +113 -0
  627. package/skills/htmx/references/server-contract.md +91 -0
  628. package/skills/htmx/scripts/verify.sh +93 -0
  629. package/skills/huggingface/SKILL.md +190 -0
  630. package/skills/huggingface/evals/README.md +11 -0
  631. package/skills/huggingface/evals/cases.yaml +41 -0
  632. package/skills/huggingface/references/endpoints-and-spaces.md +99 -0
  633. package/skills/huggingface/references/hub-and-cli.md +85 -0
  634. package/skills/huggingface/references/inference-providers.md +115 -0
  635. package/skills/huggingface/scripts/verify.sh +123 -0
  636. package/skills/implement/SKILL.md +283 -0
  637. package/skills/implement/evals/README.md +56 -0
  638. package/skills/implement/evals/cases.yaml +43 -0
  639. package/skills/init/SKILL.md +184 -0
  640. package/skills/init/evals/README.md +49 -0
  641. package/skills/init/evals/cases.yaml +74 -0
  642. package/skills/init/references/accompaniment-and-profile.md +140 -0
  643. package/skills/init/references/discovery.md +90 -0
  644. package/skills/init/references/recommend-skills.md +115 -0
  645. package/skills/init/scripts/verify.sh +122 -0
  646. package/skills/instagram-api/SKILL.md +241 -0
  647. package/skills/instagram-api/evals/README.md +3 -0
  648. package/skills/instagram-api/evals/cases.yaml +43 -0
  649. package/skills/instagram-api/references/insights-metrics.md +88 -0
  650. package/skills/instagram-api/references/publish-reel.md +98 -0
  651. package/skills/instagram-api/scripts/verify.sh +137 -0
  652. package/skills/inventory/SKILL.md +131 -0
  653. package/skills/inventory/evals/README.md +3 -0
  654. package/skills/inventory/evals/cases.yaml +43 -0
  655. package/skills/inventory/references/abc-xyz.md +52 -0
  656. package/skills/inventory/references/ddmrp.md +32 -0
  657. package/skills/inventory/references/reorder-policies.md +85 -0
  658. package/skills/inventory/references/safety-stock.md +63 -0
  659. package/skills/inventory/scripts/verify.sh +155 -0
  660. package/skills/investor-materials/SKILL.md +175 -0
  661. package/skills/investor-materials/evals/README.md +15 -0
  662. package/skills/investor-materials/evals/cases.yaml +60 -0
  663. package/skills/investor-materials/references/dataroom-checklist.md +134 -0
  664. package/skills/investor-materials/references/update-and-onepager-templates.md +152 -0
  665. package/skills/investor-materials/scripts/verify.sh +148 -0
  666. package/skills/invoicing/SKILL.md +154 -0
  667. package/skills/invoicing/evals/README.md +5 -0
  668. package/skills/invoicing/evals/cases.yaml +49 -0
  669. package/skills/invoicing/references/dunning-ladder.md +53 -0
  670. package/skills/invoicing/references/e-invoicing-mandates.md +43 -0
  671. package/skills/invoicing/scripts/fixtures/broken-invoice.json +13 -0
  672. package/skills/invoicing/scripts/fixtures/valid-invoice.json +15 -0
  673. package/skills/invoicing/scripts/verify.sh +133 -0
  674. package/skills/ip-trademark/SKILL.md +186 -0
  675. package/skills/ip-trademark/evals/README.md +10 -0
  676. package/skills/ip-trademark/evals/cases.yaml +47 -0
  677. package/skills/ip-trademark/references/jurisdictions.md +63 -0
  678. package/skills/ip-trademark/references/ownership-and-licensing.md +90 -0
  679. package/skills/java/SKILL.md +341 -0
  680. package/skills/java/evals/README.md +23 -0
  681. package/skills/java/evals/cases.yaml +43 -0
  682. package/skills/java/references/builds.md +133 -0
  683. package/skills/java/references/concurrency.md +108 -0
  684. package/skills/java/references/streams.md +102 -0
  685. package/skills/java/scripts/verify.sh +107 -0
  686. package/skills/knowledge-ops/SKILL.md +125 -0
  687. package/skills/knowledge-ops/evals/README.md +16 -0
  688. package/skills/knowledge-ops/evals/cases.yaml +50 -0
  689. package/skills/knowledge-ops/references/gardening-playbook.md +116 -0
  690. package/skills/kotlin-android/SKILL.md +245 -0
  691. package/skills/kotlin-android/evals/README.md +13 -0
  692. package/skills/kotlin-android/evals/cases.yaml +56 -0
  693. package/skills/kotlin-android/references/architecture.md +200 -0
  694. package/skills/kotlin-android/references/gradle-setup.md +125 -0
  695. package/skills/kotlin-android/scripts/verify.sh +109 -0
  696. package/skills/kpi-framework/SKILL.md +199 -0
  697. package/skills/kpi-framework/evals/README.md +11 -0
  698. package/skills/kpi-framework/evals/cases.yaml +42 -0
  699. package/skills/kpi-framework/references/definition-and-targets.md +64 -0
  700. package/skills/kpi-framework/references/metric-catalog.md +84 -0
  701. package/skills/landing-copy/SKILL.md +153 -0
  702. package/skills/landing-copy/evals/README.md +18 -0
  703. package/skills/landing-copy/evals/cases.yaml +63 -0
  704. package/skills/landing-copy/references/frameworks.md +61 -0
  705. package/skills/landing-copy/references/page-skeleton.md +92 -0
  706. package/skills/landing-copy/scripts/verify.sh +164 -0
  707. package/skills/laravel/SKILL.md +301 -0
  708. package/skills/laravel/evals/README.md +10 -0
  709. package/skills/laravel/evals/cases.yaml +45 -0
  710. package/skills/laravel/references/eloquent-patterns.md +126 -0
  711. package/skills/laravel/references/queues-and-scheduling.md +153 -0
  712. package/skills/laravel/scripts/verify.sh +128 -0
  713. package/skills/lead-gen/SKILL.md +155 -0
  714. package/skills/lead-gen/evals/README.md +3 -0
  715. package/skills/lead-gen/evals/cases.yaml +43 -0
  716. package/skills/lead-gen/references/data-sources.md +87 -0
  717. package/skills/lead-gen/references/scoring-model.md +93 -0
  718. package/skills/lead-gen/scripts/verify.sh +179 -0
  719. package/skills/linkedin-api/SKILL.md +211 -0
  720. package/skills/linkedin-api/evals/README.md +3 -0
  721. package/skills/linkedin-api/evals/cases.yaml +41 -0
  722. package/skills/linkedin-api/references/api-reference.md +168 -0
  723. package/skills/linkedin-api/scripts/verify.sh +98 -0
  724. package/skills/linkedin-carousels/SKILL.md +239 -0
  725. package/skills/linkedin-carousels/evals/README.md +13 -0
  726. package/skills/linkedin-carousels/evals/cases.yaml +62 -0
  727. package/skills/linkedin-carousels/references/carousel-patterns.md +200 -0
  728. package/skills/linkedin-carousels/scripts/verify.sh +160 -0
  729. package/skills/linkedin-content/SKILL.md +162 -0
  730. package/skills/linkedin-content/evals/README.md +13 -0
  731. package/skills/linkedin-content/evals/cases.yaml +62 -0
  732. package/skills/linkedin-content/references/hooks-and-formats.md +114 -0
  733. package/skills/linkedin-content/scripts/verify.sh +154 -0
  734. package/skills/linkedin-outreach/SKILL.md +174 -0
  735. package/skills/linkedin-outreach/evals/README.md +3 -0
  736. package/skills/linkedin-outreach/evals/cases.yaml +43 -0
  737. package/skills/linkedin-outreach/references/ledger-schema.md +48 -0
  738. package/skills/linkedin-outreach/references/sales-navigator-playbook.md +61 -0
  739. package/skills/linkedin-outreach/scripts/verify.sh +120 -0
  740. package/skills/linkedin-strategy/SKILL.md +167 -0
  741. package/skills/linkedin-strategy/evals/README.md +3 -0
  742. package/skills/linkedin-strategy/evals/cases.yaml +49 -0
  743. package/skills/linkedin-strategy/references/ssi-and-pillars.md +59 -0
  744. package/skills/linkedin-strategy/references/wiki-records.md +62 -0
  745. package/skills/linkedin-strategy/scripts/verify.sh +120 -0
  746. package/skills/llm-pipeline/SKILL.md +155 -0
  747. package/skills/llm-pipeline/evals/README.md +3 -0
  748. package/skills/llm-pipeline/evals/cases.yaml +44 -0
  749. package/skills/llm-pipeline/references/caching-layers.md +60 -0
  750. package/skills/llm-pipeline/references/litellm-router.md +101 -0
  751. package/skills/llm-pipeline/scripts/verify.sh +169 -0
  752. package/skills/logistics-ops/SKILL.md +219 -0
  753. package/skills/logistics-ops/evals/README.md +20 -0
  754. package/skills/logistics-ops/evals/cases.yaml +48 -0
  755. package/skills/logistics-ops/references/carriers-and-claims.md +105 -0
  756. package/skills/market-research/SKILL.md +145 -0
  757. package/skills/market-research/evals/README.md +3 -0
  758. package/skills/market-research/evals/cases.yaml +48 -0
  759. package/skills/market-research/references/demand-signals.md +63 -0
  760. package/skills/market-research/references/sizing-playbook.md +121 -0
  761. package/skills/market-research/scripts/verify.sh +215 -0
  762. package/skills/marketing/SKILL.md +233 -0
  763. package/skills/marketing/evals/README.md +61 -0
  764. package/skills/marketing/evals/cases.yaml +84 -0
  765. package/skills/marketing/references/brand-grounding.md +197 -0
  766. package/skills/marketing/references/campaigns-and-channels.md +151 -0
  767. package/skills/marketing/references/copy-frameworks.md +166 -0
  768. package/skills/marketing/references/landing-copy.md +191 -0
  769. package/skills/marketing/references/seo-geo.md +391 -0
  770. package/skills/marketing/scripts/seo_audit.py +166 -0
  771. package/skills/marketing/scripts/verify.sh +233 -0
  772. package/skills/medium-publishing/SKILL.md +152 -0
  773. package/skills/medium-publishing/evals/README.md +3 -0
  774. package/skills/medium-publishing/evals/cases.yaml +42 -0
  775. package/skills/medium-publishing/references/cross-post-and-canonical.md +65 -0
  776. package/skills/medium-publishing/references/legacy-api.md +100 -0
  777. package/skills/medium-strategy/SKILL.md +161 -0
  778. package/skills/medium-strategy/evals/README.md +3 -0
  779. package/skills/medium-strategy/evals/cases.yaml +50 -0
  780. package/skills/medium-strategy/references/distribution-and-boost.md +65 -0
  781. package/skills/medium-strategy/references/wiki-records.md +60 -0
  782. package/skills/medium-strategy/scripts/verify.sh +118 -0
  783. package/skills/medium-writing/SKILL.md +140 -0
  784. package/skills/medium-writing/evals/README.md +5 -0
  785. package/skills/medium-writing/evals/cases.yaml +39 -0
  786. package/skills/medium-writing/references/title-patterns.md +79 -0
  787. package/skills/meeting-notes/SKILL.md +168 -0
  788. package/skills/meeting-notes/evals/README.md +14 -0
  789. package/skills/meeting-notes/evals/cases.yaml +46 -0
  790. package/skills/meeting-notes/references/templates.md +140 -0
  791. package/skills/modal/SKILL.md +307 -0
  792. package/skills/modal/evals/README.md +29 -0
  793. package/skills/modal/evals/cases.yaml +50 -0
  794. package/skills/modal/references/images-gpu-cookbook.md +160 -0
  795. package/skills/modal/references/web-and-scaling.md +138 -0
  796. package/skills/modal/scripts/verify.sh +127 -0
  797. package/skills/mongodb/SKILL.md +342 -0
  798. package/skills/mongodb/evals/README.md +29 -0
  799. package/skills/mongodb/evals/cases.yaml +41 -0
  800. package/skills/mongodb/references/aggregation.md +115 -0
  801. package/skills/mongodb/references/data-modeling.md +135 -0
  802. package/skills/mongodb/references/transactions-and-ops.md +128 -0
  803. package/skills/mongodb/scripts/verify.sh +151 -0
  804. package/skills/monitoring/SKILL.md +155 -0
  805. package/skills/monitoring/evals/README.md +3 -0
  806. package/skills/monitoring/evals/cases.yaml +47 -0
  807. package/skills/monitoring/references/burn-rate-and-oncall.md +128 -0
  808. package/skills/monitoring/references/tool-setup.md +154 -0
  809. package/skills/monitoring/scripts/verify.sh +145 -0
  810. package/skills/mysql/SKILL.md +249 -0
  811. package/skills/mysql/evals/README.md +12 -0
  812. package/skills/mysql/evals/cases.yaml +49 -0
  813. package/skills/mysql/references/indexing-and-explain.md +161 -0
  814. package/skills/mysql/references/mysql-vs-mariadb.md +78 -0
  815. package/skills/mysql/references/online-ddl-and-migrations.md +120 -0
  816. package/skills/mysql/references/replication-and-ha.md +115 -0
  817. package/skills/mysql/scripts/verify.sh +141 -0
  818. package/skills/neon/SKILL.md +218 -0
  819. package/skills/neon/evals/README.md +11 -0
  820. package/skills/neon/evals/cases.yaml +45 -0
  821. package/skills/neon/references/branching-ci.md +86 -0
  822. package/skills/neon/scripts/verify.sh +78 -0
  823. package/skills/nestjs/SKILL.md +225 -0
  824. package/skills/nestjs/evals/README.md +3 -0
  825. package/skills/nestjs/evals/cases.yaml +38 -0
  826. package/skills/nestjs/references/cross-cutting.md +135 -0
  827. package/skills/nestjs/references/testing-recipes.md +105 -0
  828. package/skills/nestjs/scripts/verify.sh +98 -0
  829. package/skills/netlify/SKILL.md +208 -0
  830. package/skills/netlify/evals/README.md +13 -0
  831. package/skills/netlify/evals/cases.yaml +43 -0
  832. package/skills/netlify/references/functions.md +97 -0
  833. package/skills/netlify/references/netlify-toml.md +115 -0
  834. package/skills/netlify/scripts/verify.sh +95 -0
  835. package/skills/newsletter/SKILL.md +162 -0
  836. package/skills/newsletter/evals/README.md +12 -0
  837. package/skills/newsletter/evals/cases.yaml +42 -0
  838. package/skills/newsletter/references/growth-loops.md +73 -0
  839. package/skills/newsletter/references/welcome-sequence.md +62 -0
  840. package/skills/newsletter/scripts/verify.sh +173 -0
  841. package/skills/nextjs/SKILL.md +472 -0
  842. package/skills/nextjs/evals/README.md +59 -0
  843. package/skills/nextjs/evals/cases.yaml +56 -0
  844. package/skills/nextjs/references/data-and-caching.md +309 -0
  845. package/skills/nextjs/references/metadata.md +208 -0
  846. package/skills/nextjs/references/performance.md +325 -0
  847. package/skills/nextjs/references/react.md +383 -0
  848. package/skills/nextjs/references/security.md +239 -0
  849. package/skills/nextjs/references/testing.md +290 -0
  850. package/skills/nextjs/scripts/verify.sh +141 -0
  851. package/skills/no-code-app/SKILL.md +153 -0
  852. package/skills/no-code-app/evals/README.md +3 -0
  853. package/skills/no-code-app/evals/cases.yaml +43 -0
  854. package/skills/no-code-app/references/platform-limits.md +100 -0
  855. package/skills/nodejs/SKILL.md +242 -0
  856. package/skills/nodejs/evals/README.md +3 -0
  857. package/skills/nodejs/evals/cases.yaml +39 -0
  858. package/skills/nodejs/references/express5-migration.md +53 -0
  859. package/skills/nodejs/references/graceful-shutdown.md +73 -0
  860. package/skills/nodejs/scripts/verify.sh +122 -0
  861. package/skills/notion-connector/SKILL.md +234 -0
  862. package/skills/notion-connector/evals/README.md +15 -0
  863. package/skills/notion-connector/evals/cases.yaml +45 -0
  864. package/skills/notion-connector/references/api-versions.md +63 -0
  865. package/skills/notion-connector/references/property-shapes.md +110 -0
  866. package/skills/notion-connector/references/sync-patterns.md +95 -0
  867. package/skills/notion-connector/scripts/verify.sh +162 -0
  868. package/skills/observability/SKILL.md +231 -0
  869. package/skills/observability/evals/README.md +3 -0
  870. package/skills/observability/evals/cases.yaml +49 -0
  871. package/skills/observability/references/collector-config.md +98 -0
  872. package/skills/observability/references/instrumentation-recipes.md +115 -0
  873. package/skills/observability/scripts/verify.sh +156 -0
  874. package/skills/ollama/SKILL.md +213 -0
  875. package/skills/ollama/evals/README.md +9 -0
  876. package/skills/ollama/evals/cases.yaml +43 -0
  877. package/skills/ollama/references/api.md +148 -0
  878. package/skills/ollama/references/hardware-sizing.md +87 -0
  879. package/skills/ollama/scripts/verify.sh +116 -0
  880. package/skills/orient/SKILL.md +54 -0
  881. package/skills/orient/evals/README.md +16 -0
  882. package/skills/orient/evals/cases.yaml +57 -0
  883. package/skills/orient/references/orientation-contract.md +34 -0
  884. package/skills/parallel/SKILL.md +198 -0
  885. package/skills/parallel/evals/README.md +62 -0
  886. package/skills/parallel/evals/cases.yaml +44 -0
  887. package/skills/people-ops/SKILL.md +122 -0
  888. package/skills/people-ops/evals/README.md +14 -0
  889. package/skills/people-ops/evals/cases.yaml +43 -0
  890. package/skills/people-ops/references/templates.md +129 -0
  891. package/skills/performance/SKILL.md +221 -0
  892. package/skills/performance/evals/README.md +3 -0
  893. package/skills/performance/evals/cases.yaml +47 -0
  894. package/skills/performance/references/profiling-playbook.md +54 -0
  895. package/skills/performance/scripts/verify.sh +94 -0
  896. package/skills/phoenix/SKILL.md +169 -0
  897. package/skills/phoenix/evals/README.md +3 -0
  898. package/skills/phoenix/evals/cases.yaml +40 -0
  899. package/skills/phoenix/references/auth-and-scopes.md +82 -0
  900. package/skills/phoenix/references/ecto-patterns.md +93 -0
  901. package/skills/phoenix/references/liveview.md +134 -0
  902. package/skills/phoenix/scripts/verify.sh +73 -0
  903. package/skills/php/SKILL.md +397 -0
  904. package/skills/php/evals/README.md +12 -0
  905. package/skills/php/evals/cases.yaml +45 -0
  906. package/skills/php/references/tooling.md +170 -0
  907. package/skills/php/references/type-system.md +220 -0
  908. package/skills/php/scripts/verify.sh +155 -0
  909. package/skills/pitch-deck/SKILL.md +209 -0
  910. package/skills/pitch-deck/evals/README.md +15 -0
  911. package/skills/pitch-deck/evals/cases.yaml +55 -0
  912. package/skills/pitch-deck/references/numbers-that-matter.md +78 -0
  913. package/skills/pitch-deck/references/slide-spine.md +149 -0
  914. package/skills/pitch-deck/scripts/verify.sh +186 -0
  915. package/skills/plan/SKILL.md +204 -0
  916. package/skills/plan/evals/README.md +62 -0
  917. package/skills/plan/evals/cases.yaml +49 -0
  918. package/skills/plan/references/plan-template.md +124 -0
  919. package/skills/planetscale/SKILL.md +223 -0
  920. package/skills/planetscale/evals/README.md +11 -0
  921. package/skills/planetscale/evals/cases.yaml +46 -0
  922. package/skills/planetscale/references/deploy-requests.md +75 -0
  923. package/skills/planetscale/references/no-foreign-keys.md +88 -0
  924. package/skills/planetscale/scripts/verify.sh +115 -0
  925. package/skills/podcast/SKILL.md +166 -0
  926. package/skills/podcast/evals/README.md +17 -0
  927. package/skills/podcast/evals/cases.yaml +61 -0
  928. package/skills/podcast/references/rss-and-namespace.md +136 -0
  929. package/skills/podcast/scripts/verify.sh +246 -0
  930. package/skills/postgresdb/SKILL.md +372 -0
  931. package/skills/postgresdb/evals/README.md +55 -0
  932. package/skills/postgresdb/evals/cases.yaml +57 -0
  933. package/skills/postgresdb/references/migrations.md +279 -0
  934. package/skills/postgresdb/references/operations-and-security.md +267 -0
  935. package/skills/postgresdb/references/query-optimization.md +374 -0
  936. package/skills/postgresdb/references/schema-and-indexing.md +379 -0
  937. package/skills/postgresdb/scripts/verify.sh +191 -0
  938. package/skills/presentations/SKILL.md +296 -0
  939. package/skills/presentations/evals/README.md +61 -0
  940. package/skills/presentations/evals/cases.yaml +56 -0
  941. package/skills/presentations/references/brand-grounding.md +160 -0
  942. package/skills/presentations/references/markdown-decks.md +290 -0
  943. package/skills/presentations/references/pptx-python.md +242 -0
  944. package/skills/presentations/references/slide-design.md +261 -0
  945. package/skills/presentations/references/storytelling-and-decks.md +150 -0
  946. package/skills/presentations/scripts/verify.sh +252 -0
  947. package/skills/press-kit/SKILL.md +243 -0
  948. package/skills/press-kit/evals/README.md +15 -0
  949. package/skills/press-kit/evals/cases.yaml +55 -0
  950. package/skills/press-kit/references/release-types.md +102 -0
  951. package/skills/press-kit/references/templates.md +132 -0
  952. package/skills/press-kit/scripts/verify.sh +161 -0
  953. package/skills/pricing/SKILL.md +160 -0
  954. package/skills/pricing/evals/README.md +5 -0
  955. package/skills/pricing/evals/cases.yaml +44 -0
  956. package/skills/pricing/references/localization.md +56 -0
  957. package/skills/pricing/references/pricing-models.md +55 -0
  958. package/skills/pricing/scripts/verify.sh +91 -0
  959. package/skills/prisma-orm/SKILL.md +320 -0
  960. package/skills/prisma-orm/evals/README.md +12 -0
  961. package/skills/prisma-orm/evals/cases.yaml +56 -0
  962. package/skills/prisma-orm/references/migrations-and-v7-upgrade.md +197 -0
  963. package/skills/prisma-orm/references/queries-and-performance.md +169 -0
  964. package/skills/prisma-orm/scripts/verify.sh +137 -0
  965. package/skills/procurement/SKILL.md +179 -0
  966. package/skills/procurement/evals/README.md +20 -0
  967. package/skills/procurement/evals/cases.yaml +49 -0
  968. package/skills/procurement/references/scorecard-and-tco.md +100 -0
  969. package/skills/procurement/references/sourcing-requests.md +116 -0
  970. package/skills/procurement/scripts/verify.sh +280 -0
  971. package/skills/project-ops/SKILL.md +130 -0
  972. package/skills/project-ops/evals/README.md +3 -0
  973. package/skills/project-ops/evals/cases.yaml +71 -0
  974. package/skills/project-ops/references/raid-and-rag.md +58 -0
  975. package/skills/project-ops/references/status-report-template.md +68 -0
  976. package/skills/project-ops/scripts/verify.sh +257 -0
  977. package/skills/prompt-engineering/SKILL.md +138 -0
  978. package/skills/prompt-engineering/evals/README.md +11 -0
  979. package/skills/prompt-engineering/evals/cases.yaml +46 -0
  980. package/skills/prompt-engineering/references/eval-templates.md +94 -0
  981. package/skills/prompt-engineering/references/output-contracts.md +120 -0
  982. package/skills/prompt-engineering/scripts/verify.sh +84 -0
  983. package/skills/proposals/SKILL.md +159 -0
  984. package/skills/proposals/evals/README.md +3 -0
  985. package/skills/proposals/evals/cases.yaml +53 -0
  986. package/skills/proposals/references/proposal-skeleton.md +110 -0
  987. package/skills/proposals/references/sow-skeleton.md +79 -0
  988. package/skills/proposals/scripts/verify.sh +201 -0
  989. package/skills/python/SKILL.md +369 -0
  990. package/skills/python/evals/README.md +19 -0
  991. package/skills/python/evals/cases.yaml +46 -0
  992. package/skills/python/references/async.md +136 -0
  993. package/skills/python/references/stdlib.md +162 -0
  994. package/skills/python/references/typing.md +160 -0
  995. package/skills/python/scripts/verify.sh +125 -0
  996. package/skills/rag/SKILL.md +226 -0
  997. package/skills/rag/evals/README.md +13 -0
  998. package/skills/rag/evals/cases.yaml +45 -0
  999. package/skills/rag/references/evaluation.md +99 -0
  1000. package/skills/rag/references/pipeline.md +151 -0
  1001. package/skills/rag/scripts/verify.sh +99 -0
  1002. package/skills/rails/SKILL.md +264 -0
  1003. package/skills/rails/evals/README.md +12 -0
  1004. package/skills/rails/evals/cases.yaml +47 -0
  1005. package/skills/rails/references/activerecord.md +148 -0
  1006. package/skills/rails/references/hotwire.md +139 -0
  1007. package/skills/rails/references/testing.md +110 -0
  1008. package/skills/rails/scripts/verify.sh +128 -0
  1009. package/skills/railway/SKILL.md +245 -0
  1010. package/skills/railway/evals/README.md +14 -0
  1011. package/skills/railway/evals/cases.yaml +44 -0
  1012. package/skills/railway/references/cli-cookbook.md +137 -0
  1013. package/skills/railway/references/config-as-code.md +120 -0
  1014. package/skills/railway/scripts/verify.sh +162 -0
  1015. package/skills/react/SKILL.md +222 -0
  1016. package/skills/react/evals/README.md +3 -0
  1017. package/skills/react/evals/cases.yaml +43 -0
  1018. package/skills/react/references/data-and-state.md +152 -0
  1019. package/skills/react/references/performance.md +75 -0
  1020. package/skills/react/references/routing.md +99 -0
  1021. package/skills/react/scripts/verify.sh +123 -0
  1022. package/skills/react-native/SKILL.md +220 -0
  1023. package/skills/react-native/evals/README.md +3 -0
  1024. package/skills/react-native/evals/cases.yaml +42 -0
  1025. package/skills/react-native/references/native-modules.md +123 -0
  1026. package/skills/react-native/references/performance-debugging.md +46 -0
  1027. package/skills/react-native/scripts/verify.sh +117 -0
  1028. package/skills/redis/SKILL.md +298 -0
  1029. package/skills/redis/evals/README.md +10 -0
  1030. package/skills/redis/evals/cases.yaml +43 -0
  1031. package/skills/redis/references/caching.md +116 -0
  1032. package/skills/redis/references/locks-and-rate-limiting.md +140 -0
  1033. package/skills/redis/references/queues.md +102 -0
  1034. package/skills/redis/scripts/verify.sh +164 -0
  1035. package/skills/remotion-video/SKILL.md +218 -0
  1036. package/skills/remotion-video/evals/README.md +23 -0
  1037. package/skills/remotion-video/evals/cases.yaml +64 -0
  1038. package/skills/remotion-video/references/captions-pipeline.md +163 -0
  1039. package/skills/remotion-video/references/render-and-pipeline.md +131 -0
  1040. package/skills/remotion-video/scripts/verify.sh +169 -0
  1041. package/skills/render/SKILL.md +256 -0
  1042. package/skills/render/evals/README.md +12 -0
  1043. package/skills/render/evals/cases.yaml +45 -0
  1044. package/skills/render/references/blueprint-reference.md +203 -0
  1045. package/skills/render/scripts/verify.sh +167 -0
  1046. package/skills/replicate/SKILL.md +210 -0
  1047. package/skills/replicate/evals/README.md +9 -0
  1048. package/skills/replicate/evals/cases.yaml +45 -0
  1049. package/skills/replicate/references/cog-packaging.md +89 -0
  1050. package/skills/replicate/references/deployments-api.md +87 -0
  1051. package/skills/replicate/references/webhooks-and-async.md +110 -0
  1052. package/skills/replicate/scripts/verify.sh +162 -0
  1053. package/skills/replicate-images/SKILL.md +241 -0
  1054. package/skills/replicate-images/evals/README.md +13 -0
  1055. package/skills/replicate-images/evals/cases.yaml +41 -0
  1056. package/skills/replicate-images/references/editing-recipes.md +129 -0
  1057. package/skills/replicate-images/references/models.md +131 -0
  1058. package/skills/replicate-images/scripts/verify.sh +178 -0
  1059. package/skills/reporting/SKILL.md +178 -0
  1060. package/skills/reporting/evals/README.md +12 -0
  1061. package/skills/reporting/evals/cases.yaml +46 -0
  1062. package/skills/reporting/references/pipeline.md +213 -0
  1063. package/skills/reporting/scripts/verify.sh +149 -0
  1064. package/skills/research-ops/SKILL.md +200 -0
  1065. package/skills/research-ops/evals/README.md +13 -0
  1066. package/skills/research-ops/evals/cases.yaml +38 -0
  1067. package/skills/research-ops/references/credibility-rubric.md +78 -0
  1068. package/skills/research-ops/references/memo-template.md +63 -0
  1069. package/skills/research-ops/scripts/verify.sh +181 -0
  1070. package/skills/retention/SKILL.md +206 -0
  1071. package/skills/retention/evals/README.md +13 -0
  1072. package/skills/retention/evals/cases.yaml +42 -0
  1073. package/skills/retention/references/health-score-and-metrics.md +97 -0
  1074. package/skills/retention/references/save-and-winback-plays.md +65 -0
  1075. package/skills/review/SKILL.md +222 -0
  1076. package/skills/review/evals/README.md +84 -0
  1077. package/skills/review/evals/cases.yaml +55 -0
  1078. package/skills/review-management/SKILL.md +204 -0
  1079. package/skills/review-management/evals/README.md +13 -0
  1080. package/skills/review-management/evals/cases.yaml +60 -0
  1081. package/skills/review-management/references/platform-apis.md +86 -0
  1082. package/skills/review-management/scripts/verify.sh +128 -0
  1083. package/skills/ruby/SKILL.md +316 -0
  1084. package/skills/ruby/evals/README.md +12 -0
  1085. package/skills/ruby/evals/cases.yaml +41 -0
  1086. package/skills/ruby/references/gems-and-testing.md +208 -0
  1087. package/skills/ruby/references/metaprogramming.md +161 -0
  1088. package/skills/ruby/scripts/verify.sh +83 -0
  1089. package/skills/runpod/SKILL.md +238 -0
  1090. package/skills/runpod/evals/README.md +11 -0
  1091. package/skills/runpod/evals/cases.yaml +47 -0
  1092. package/skills/runpod/references/cost-and-scaling.md +85 -0
  1093. package/skills/runpod/references/serverless-workers.md +101 -0
  1094. package/skills/runpod/scripts/verify.sh +126 -0
  1095. package/skills/rust/SKILL.md +395 -0
  1096. package/skills/rust/evals/README.md +12 -0
  1097. package/skills/rust/evals/cases.yaml +42 -0
  1098. package/skills/rust/references/async-tokio.md +141 -0
  1099. package/skills/rust/references/axum-service.md +132 -0
  1100. package/skills/rust/references/ownership.md +86 -0
  1101. package/skills/rust/references/testing.md +108 -0
  1102. package/skills/rust/scripts/verify.sh +91 -0
  1103. package/skills/sales-pipeline/SKILL.md +162 -0
  1104. package/skills/sales-pipeline/evals/README.md +13 -0
  1105. package/skills/sales-pipeline/evals/cases.yaml +60 -0
  1106. package/skills/sales-pipeline/references/forecasting-math.md +82 -0
  1107. package/skills/sales-pipeline/references/stage-playbook.md +84 -0
  1108. package/skills/sales-pipeline/scripts/verify.sh +210 -0
  1109. package/skills/scaling/SKILL.md +137 -0
  1110. package/skills/scaling/evals/README.md +3 -0
  1111. package/skills/scaling/evals/cases.yaml +42 -0
  1112. package/skills/scaling/references/load-testing-k6.md +127 -0
  1113. package/skills/scaling/scripts/example.load.js +24 -0
  1114. package/skills/scaling/scripts/verify.sh +70 -0
  1115. package/skills/sdd/SKILL.md +203 -0
  1116. package/skills/sdd/evals/README.md +60 -0
  1117. package/skills/sdd/evals/cases.yaml +78 -0
  1118. package/skills/sdd-init/SKILL.md +148 -0
  1119. package/skills/sdd-init/evals/README.md +3 -0
  1120. package/skills/sdd-init/evals/cases.yaml +43 -0
  1121. package/skills/secure-coding/SKILL.md +365 -0
  1122. package/skills/secure-coding/evals/README.md +68 -0
  1123. package/skills/secure-coding/evals/cases.yaml +55 -0
  1124. package/skills/secure-coding/references/authn-authz.md +249 -0
  1125. package/skills/secure-coding/references/owasp-by-stack.md +574 -0
  1126. package/skills/secure-coding/references/secrets-and-supply-chain.md +205 -0
  1127. package/skills/secure-coding/references/threat-modeling.md +213 -0
  1128. package/skills/secure-coding/scripts/verify.sh +208 -0
  1129. package/skills/security-scan/SKILL.md +239 -0
  1130. package/skills/security-scan/evals/README.md +14 -0
  1131. package/skills/security-scan/evals/cases.yaml +50 -0
  1132. package/skills/security-scan/references/tools.md +98 -0
  1133. package/skills/security-scan/references/triage.md +93 -0
  1134. package/skills/security-scan/scripts/verify.sh +108 -0
  1135. package/skills/seo-geo/SKILL.md +192 -0
  1136. package/skills/seo-geo/evals/README.md +14 -0
  1137. package/skills/seo-geo/evals/cases.yaml +45 -0
  1138. package/skills/seo-geo/references/ai-crawler-control.md +104 -0
  1139. package/skills/seo-geo/references/schema-recipes.md +130 -0
  1140. package/skills/seo-geo/scripts/verify.sh +236 -0
  1141. package/skills/ship/SKILL.md +258 -0
  1142. package/skills/ship/evals/README.md +89 -0
  1143. package/skills/ship/evals/cases.yaml +44 -0
  1144. package/skills/shopify/SKILL.md +229 -0
  1145. package/skills/shopify/evals/README.md +14 -0
  1146. package/skills/shopify/evals/cases.yaml +41 -0
  1147. package/skills/shopify/references/apps-graphql.md +103 -0
  1148. package/skills/shopify/references/checkout-extensibility.md +71 -0
  1149. package/skills/shopify/references/liquid-themes.md +89 -0
  1150. package/skills/shopify/scripts/verify.sh +120 -0
  1151. package/skills/shortform-editing/SKILL.md +161 -0
  1152. package/skills/shortform-editing/evals/README.md +16 -0
  1153. package/skills/shortform-editing/evals/cases.yaml +61 -0
  1154. package/skills/shortform-editing/references/captions.md +85 -0
  1155. package/skills/shortform-editing/references/ffmpeg-pipeline.md +126 -0
  1156. package/skills/shortform-editing/scripts/verify.sh +148 -0
  1157. package/skills/shortform-ideation/SKILL.md +153 -0
  1158. package/skills/shortform-ideation/evals/README.md +20 -0
  1159. package/skills/shortform-ideation/evals/cases.yaml +58 -0
  1160. package/skills/shortform-ideation/references/experiment-ledger.md +85 -0
  1161. package/skills/shortform-ideation/references/trend-sources.md +69 -0
  1162. package/skills/shortform-ideation/scripts/verify.sh +172 -0
  1163. package/skills/shortform-packaging/SKILL.md +247 -0
  1164. package/skills/shortform-packaging/evals/README.md +10 -0
  1165. package/skills/shortform-packaging/evals/cases.yaml +48 -0
  1166. package/skills/shortform-packaging/references/package-templates.md +117 -0
  1167. package/skills/shortform-packaging/scripts/verify.sh +210 -0
  1168. package/skills/shortform-strategy/SKILL.md +149 -0
  1169. package/skills/shortform-strategy/evals/README.md +3 -0
  1170. package/skills/shortform-strategy/evals/cases.yaml +52 -0
  1171. package/skills/shortform-strategy/references/learning-loop-template.md +49 -0
  1172. package/skills/shortform-strategy/references/platform-signals-2026.md +46 -0
  1173. package/skills/shortform-strategy/scripts/verify.sh +176 -0
  1174. package/skills/skill-scout/SKILL.md +133 -0
  1175. package/skills/skill-scout/evals/README.md +12 -0
  1176. package/skills/skill-scout/evals/cases.yaml +56 -0
  1177. package/skills/skill-scout/references/install-commands.md +76 -0
  1178. package/skills/skill-scout/scripts/verify.sh +154 -0
  1179. package/skills/social-publisher/SKILL.md +179 -0
  1180. package/skills/social-publisher/evals/README.md +14 -0
  1181. package/skills/social-publisher/evals/cases.yaml +55 -0
  1182. package/skills/social-publisher/references/calendar-schema.md +97 -0
  1183. package/skills/social-publisher/references/platform-limits.md +56 -0
  1184. package/skills/social-publisher/scripts/verify.sh +232 -0
  1185. package/skills/solid-js/SKILL.md +260 -0
  1186. package/skills/solid-js/evals/README.md +3 -0
  1187. package/skills/solid-js/evals/cases.yaml +38 -0
  1188. package/skills/solid-js/references/reactivity-deep-dive.md +89 -0
  1189. package/skills/solid-js/references/router-and-start.md +93 -0
  1190. package/skills/solid-js/scripts/verify.sh +130 -0
  1191. package/skills/sop-builder/SKILL.md +233 -0
  1192. package/skills/sop-builder/evals/README.md +14 -0
  1193. package/skills/sop-builder/evals/cases.yaml +48 -0
  1194. package/skills/sop-builder/references/sop-skeleton.md +170 -0
  1195. package/skills/specify/SKILL.md +214 -0
  1196. package/skills/specify/evals/README.md +73 -0
  1197. package/skills/specify/evals/cases.yaml +80 -0
  1198. package/skills/specify/references/eliciting-requirements.md +77 -0
  1199. package/skills/specify/references/spec-template.md +60 -0
  1200. package/skills/spreadsheet-ops/SKILL.md +180 -0
  1201. package/skills/spreadsheet-ops/evals/README.md +33 -0
  1202. package/skills/spreadsheet-ops/evals/cases.yaml +42 -0
  1203. package/skills/spreadsheet-ops/references/formula-cookbook.md +70 -0
  1204. package/skills/spreadsheet-ops/references/python-excel.md +87 -0
  1205. package/skills/spreadsheet-ops/references/sheets-api-appsscript.md +118 -0
  1206. package/skills/spreadsheet-ops/scripts/verify.sh +152 -0
  1207. package/skills/spring-boot/SKILL.md +375 -0
  1208. package/skills/spring-boot/evals/README.md +11 -0
  1209. package/skills/spring-boot/evals/cases.yaml +49 -0
  1210. package/skills/spring-boot/references/jpa.md +94 -0
  1211. package/skills/spring-boot/references/security.md +92 -0
  1212. package/skills/spring-boot/references/testing.md +95 -0
  1213. package/skills/spring-boot/scripts/verify.sh +115 -0
  1214. package/skills/sql/SKILL.md +286 -0
  1215. package/skills/sql/evals/README.md +9 -0
  1216. package/skills/sql/evals/cases.yaml +49 -0
  1217. package/skills/sql/references/ctes-and-recursion.md +63 -0
  1218. package/skills/sql/references/joins-and-sets.md +71 -0
  1219. package/skills/sql/references/portability.md +38 -0
  1220. package/skills/sql/references/window-functions.md +72 -0
  1221. package/skills/sql/scripts/verify.sh +139 -0
  1222. package/skills/sqlite-turso/SKILL.md +214 -0
  1223. package/skills/sqlite-turso/evals/README.md +24 -0
  1224. package/skills/sqlite-turso/evals/cases.yaml +45 -0
  1225. package/skills/sqlite-turso/references/embedded-replicas.md +96 -0
  1226. package/skills/sqlite-turso/scripts/verify.sh +95 -0
  1227. package/skills/stripe/SKILL.md +269 -0
  1228. package/skills/stripe/evals/README.md +11 -0
  1229. package/skills/stripe/evals/cases.yaml +45 -0
  1230. package/skills/stripe/references/going-live.md +64 -0
  1231. package/skills/stripe/references/webhook-events.md +79 -0
  1232. package/skills/stripe/scripts/verify.sh +130 -0
  1233. package/skills/structured-extraction/SKILL.md +230 -0
  1234. package/skills/structured-extraction/evals/README.md +13 -0
  1235. package/skills/structured-extraction/evals/cases.yaml +70 -0
  1236. package/skills/structured-extraction/references/providers.md +152 -0
  1237. package/skills/structured-extraction/scripts/verify.sh +160 -0
  1238. package/skills/suggest/SKILL.md +30 -0
  1239. package/skills/suggest/evals/README.md +14 -0
  1240. package/skills/suggest/evals/cases.yaml +51 -0
  1241. package/skills/supabase/SKILL.md +268 -0
  1242. package/skills/supabase/evals/README.md +12 -0
  1243. package/skills/supabase/evals/cases.yaml +42 -0
  1244. package/skills/supabase/references/auth-ssr.md +173 -0
  1245. package/skills/supabase/references/rls-cookbook.md +122 -0
  1246. package/skills/supabase/scripts/verify.sh +149 -0
  1247. package/skills/svelte/SKILL.md +238 -0
  1248. package/skills/svelte/evals/README.md +3 -0
  1249. package/skills/svelte/evals/cases.yaml +41 -0
  1250. package/skills/svelte/references/runes.md +97 -0
  1251. package/skills/svelte/references/sveltekit-data.md +156 -0
  1252. package/skills/svelte/scripts/verify.sh +128 -0
  1253. package/skills/swift-ios/SKILL.md +217 -0
  1254. package/skills/swift-ios/evals/README.md +3 -0
  1255. package/skills/swift-ios/evals/cases.yaml +46 -0
  1256. package/skills/swift-ios/references/concurrency.md +132 -0
  1257. package/skills/swift-ios/references/testing.md +112 -0
  1258. package/skills/swift-ios/scripts/verify.sh +98 -0
  1259. package/skills/tasks/SKILL.md +260 -0
  1260. package/skills/tasks/evals/README.md +70 -0
  1261. package/skills/tasks/evals/cases.yaml +75 -0
  1262. package/skills/tauri/SKILL.md +224 -0
  1263. package/skills/tauri/evals/README.md +12 -0
  1264. package/skills/tauri/evals/cases.yaml +46 -0
  1265. package/skills/tauri/references/bundling-distribution.md +129 -0
  1266. package/skills/tauri/references/security.md +143 -0
  1267. package/skills/tauri/scripts/verify.sh +178 -0
  1268. package/skills/technical-writing/SKILL.md +230 -0
  1269. package/skills/technical-writing/evals/README.md +12 -0
  1270. package/skills/technical-writing/evals/cases.yaml +53 -0
  1271. package/skills/technical-writing/references/diataxis-modes.md +131 -0
  1272. package/skills/technical-writing/references/vale-starter.md +90 -0
  1273. package/skills/technical-writing/scripts/verify.sh +83 -0
  1274. package/skills/terms-conditions/SKILL.md +147 -0
  1275. package/skills/terms-conditions/evals/README.md +14 -0
  1276. package/skills/terms-conditions/evals/cases.yaml +48 -0
  1277. package/skills/terms-conditions/references/clause-library.md +158 -0
  1278. package/skills/terms-conditions/references/notices-and-aup.md +125 -0
  1279. package/skills/terms-conditions/scripts/verify.sh +92 -0
  1280. package/skills/testing-go/SKILL.md +246 -0
  1281. package/skills/testing-go/evals/README.md +3 -0
  1282. package/skills/testing-go/evals/cases.yaml +44 -0
  1283. package/skills/testing-go/references/coverage-and-benchmarks.md +85 -0
  1284. package/skills/testing-go/references/mocks-and-fakes.md +140 -0
  1285. package/skills/testing-go/references/synctest-and-concurrency.md +82 -0
  1286. package/skills/testing-go/scripts/verify.sh +72 -0
  1287. package/skills/testing-py/SKILL.md +179 -0
  1288. package/skills/testing-py/evals/README.md +5 -0
  1289. package/skills/testing-py/evals/cases.yaml +44 -0
  1290. package/skills/testing-py/references/mocking.md +141 -0
  1291. package/skills/testing-py/references/property-testing.md +99 -0
  1292. package/skills/testing-py/scripts/verify.sh +117 -0
  1293. package/skills/testing-web/SKILL.md +224 -0
  1294. package/skills/testing-web/evals/README.md +11 -0
  1295. package/skills/testing-web/evals/cases.yaml +52 -0
  1296. package/skills/testing-web/references/jest-setup.md +88 -0
  1297. package/skills/testing-web/references/recipes.md +116 -0
  1298. package/skills/testing-web/scripts/verify.sh +111 -0
  1299. package/skills/tiktok-api/SKILL.md +315 -0
  1300. package/skills/tiktok-api/evals/README.md +17 -0
  1301. package/skills/tiktok-api/evals/cases.yaml +51 -0
  1302. package/skills/tiktok-api/references/metrics-and-publish.md +127 -0
  1303. package/skills/tiktok-api/references/oauth-setup.md +105 -0
  1304. package/skills/tiktok-api/references/wiki-schema.md +85 -0
  1305. package/skills/tiktok-api/scripts/verify.sh +96 -0
  1306. package/skills/together-fireworks/SKILL.md +181 -0
  1307. package/skills/together-fireworks/evals/README.md +3 -0
  1308. package/skills/together-fireworks/evals/cases.yaml +50 -0
  1309. package/skills/together-fireworks/references/batch-and-tuning.md +59 -0
  1310. package/skills/together-fireworks/references/models-and-pricing.md +79 -0
  1311. package/skills/together-fireworks/scripts/verify.sh +165 -0
  1312. package/skills/translation-l10n/SKILL.md +229 -0
  1313. package/skills/translation-l10n/evals/README.md +3 -0
  1314. package/skills/translation-l10n/evals/cases.yaml +39 -0
  1315. package/skills/translation-l10n/references/icu-cookbook.md +82 -0
  1316. package/skills/translation-l10n/references/rtl-and-bidi.md +60 -0
  1317. package/skills/typescript/SKILL.md +258 -0
  1318. package/skills/typescript/evals/README.md +15 -0
  1319. package/skills/typescript/evals/cases.yaml +46 -0
  1320. package/skills/typescript/references/build-and-monorepo.md +141 -0
  1321. package/skills/typescript/references/type-system.md +162 -0
  1322. package/skills/typescript/scripts/verify.sh +52 -0
  1323. package/skills/unit-economics/SKILL.md +180 -0
  1324. package/skills/unit-economics/evals/README.md +5 -0
  1325. package/skills/unit-economics/evals/cases.yaml +43 -0
  1326. package/skills/unit-economics/references/formulas.md +144 -0
  1327. package/skills/unit-economics/scripts/verify.sh +179 -0
  1328. package/skills/vector-db/SKILL.md +189 -0
  1329. package/skills/vector-db/evals/README.md +10 -0
  1330. package/skills/vector-db/evals/cases.yaml +45 -0
  1331. package/skills/vector-db/references/engines.md +175 -0
  1332. package/skills/vector-db/references/tuning.md +62 -0
  1333. package/skills/vector-db/scripts/verify.sh +110 -0
  1334. package/skills/vercel/SKILL.md +242 -0
  1335. package/skills/vercel/evals/README.md +23 -0
  1336. package/skills/vercel/evals/cases.yaml +45 -0
  1337. package/skills/vercel/references/cli-cookbook.md +98 -0
  1338. package/skills/vercel/references/vercel-json.md +120 -0
  1339. package/skills/vercel/scripts/verify.sh +168 -0
  1340. package/skills/verify/SKILL.md +188 -0
  1341. package/skills/verify/evals/README.md +78 -0
  1342. package/skills/verify/evals/cases.yaml +74 -0
  1343. package/skills/video-shorts/SKILL.md +163 -0
  1344. package/skills/video-shorts/evals/README.md +15 -0
  1345. package/skills/video-shorts/evals/cases.yaml +56 -0
  1346. package/skills/video-shorts/references/hook-and-script-patterns.md +95 -0
  1347. package/skills/video-shorts/references/specs-and-safe-zones.md +74 -0
  1348. package/skills/video-shorts/scripts/verify.sh +172 -0
  1349. package/skills/vue-nuxt/SKILL.md +384 -0
  1350. package/skills/vue-nuxt/evals/README.md +11 -0
  1351. package/skills/vue-nuxt/evals/cases.yaml +49 -0
  1352. package/skills/vue-nuxt/references/data-and-state.md +127 -0
  1353. package/skills/vue-nuxt/references/migration-nuxt4.md +79 -0
  1354. package/skills/vue-nuxt/references/nitro-and-rendering.md +117 -0
  1355. package/skills/vue-nuxt/references/reactivity.md +135 -0
  1356. package/skills/vue-nuxt/scripts/verify.sh +148 -0
  1357. package/skills/webhooks/SKILL.md +246 -0
  1358. package/skills/webhooks/evals/README.md +15 -0
  1359. package/skills/webhooks/evals/cases.yaml +46 -0
  1360. package/skills/webhooks/references/framework-raw-body.md +97 -0
  1361. package/skills/webhooks/references/signature-schemes.md +66 -0
  1362. package/skills/webhooks/scripts/verify.sh +142 -0
  1363. package/skills/webinar/SKILL.md +196 -0
  1364. package/skills/webinar/evals/README.md +14 -0
  1365. package/skills/webinar/evals/cases.yaml +44 -0
  1366. package/skills/webinar/references/email-cadence.md +75 -0
  1367. package/skills/webinar/references/run-of-show.md +83 -0
  1368. package/skills/whatsapp-telegram/SKILL.md +235 -0
  1369. package/skills/whatsapp-telegram/evals/README.md +11 -0
  1370. package/skills/whatsapp-telegram/evals/cases.yaml +44 -0
  1371. package/skills/whatsapp-telegram/references/telegram-bot-api.md +91 -0
  1372. package/skills/whatsapp-telegram/references/whatsapp-cloud-api.md +103 -0
  1373. package/skills/whatsapp-telegram/scripts/verify.sh +90 -0
  1374. package/skills/wordpress/SKILL.md +224 -0
  1375. package/skills/wordpress/evals/README.md +3 -0
  1376. package/skills/wordpress/evals/cases.yaml +50 -0
  1377. package/skills/wordpress/references/hardening.md +108 -0
  1378. package/skills/wordpress/references/performance.md +80 -0
  1379. package/skills/wordpress/references/woocommerce.md +65 -0
  1380. package/skills/wordpress/scripts/verify.sh +96 -0
  1381. package/skills/worktrees/SKILL.md +199 -0
  1382. package/skills/worktrees/evals/README.md +78 -0
  1383. package/skills/worktrees/evals/cases.yaml +47 -0
  1384. package/skills/youtube-api/SKILL.md +286 -0
  1385. package/skills/youtube-api/evals/README.md +3 -0
  1386. package/skills/youtube-api/evals/cases.yaml +50 -0
  1387. package/skills/youtube-api/references/analytics-queries.md +89 -0
  1388. package/skills/youtube-api/references/oauth-setup.md +55 -0
  1389. package/skills/youtube-api/references/wiki-schema.md +70 -0
  1390. package/skills/youtube-api/scripts/verify.sh +84 -0
  1391. package/skills/youtube-ideation/SKILL.md +234 -0
  1392. package/skills/youtube-ideation/evals/README.md +14 -0
  1393. package/skills/youtube-ideation/evals/cases.yaml +52 -0
  1394. package/skills/youtube-ideation/references/idea-ledger-and-loop.md +89 -0
  1395. package/skills/youtube-ideation/references/research-and-signals.md +92 -0
  1396. package/skills/youtube-ideation/scripts/verify.sh +237 -0
  1397. package/skills/youtube-packaging/SKILL.md +220 -0
  1398. package/skills/youtube-packaging/evals/README.md +16 -0
  1399. package/skills/youtube-packaging/evals/cases.yaml +48 -0
  1400. package/skills/youtube-packaging/references/description-and-chapters.md +135 -0
  1401. package/skills/youtube-packaging/scripts/verify.sh +250 -0
  1402. package/skills/youtube-strategy/SKILL.md +157 -0
  1403. package/skills/youtube-strategy/evals/README.md +5 -0
  1404. package/skills/youtube-strategy/evals/cases.yaml +61 -0
  1405. package/skills/youtube-strategy/references/channel-architecture.md +46 -0
  1406. package/skills/youtube-strategy/references/wiki-records.md +86 -0
  1407. package/skills/youtube-strategy/scripts/verify.sh +118 -0
  1408. package/skills/youtube-thumbnails/SKILL.md +180 -0
  1409. package/skills/youtube-thumbnails/evals/README.md +11 -0
  1410. package/skills/youtube-thumbnails/evals/cases.yaml +48 -0
  1411. package/skills/youtube-thumbnails/references/composition-and-specs.md +69 -0
  1412. package/skills/youtube-thumbnails/references/experiment-log-format.md +65 -0
  1413. package/skills/youtube-thumbnails/scripts/verify.sh +123 -0
  1414. package/targets/claude.js +23 -0
  1415. package/targets/codex.js +29 -0
  1416. package/targets/cursor.js +20 -0
  1417. package/targets/gemini.js +29 -0
  1418. package/targets/index.js +55 -0
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env bash
2
+ # verify.sh — static, no-network checker for the linkedin-api feedback log + secret guard.
3
+ # Read-only. Confirms each 02-DOCS/wiki/linkedin/*.md carries the required metric front-matter,
4
+ # and fails if a LinkedIn token / client secret is committed anywhere in the target tree.
5
+ # Exits 0 on a clean or not-yet-run target (no false failure), non-zero on a real issue.
6
+ #
7
+ # Usage: scripts/verify.sh [TARGET_DIR] (default: current directory)
8
+
9
+ set -euo pipefail
10
+
11
+ TARGET="${1:-.}"
12
+ fails=0
13
+
14
+ if [ ! -d "$TARGET" ]; then
15
+ echo "verify.sh: target '$TARGET' is not a directory" >&2
16
+ exit 2
17
+ fi
18
+
19
+ fail() { echo "FAIL [$1] $2"; fails=$((fails + 1)); }
20
+ pass() { echo "PASS [$1] $2"; }
21
+ note() { echo "NOTE [$1] $2"; }
22
+
23
+ # ---------------------------------------------------------------------------
24
+ # (1) Feedback-log front-matter check.
25
+ # ---------------------------------------------------------------------------
26
+ WIKI_DIR="$TARGET/02-DOCS/wiki/linkedin"
27
+ REQUIRED_KEYS="post_urn captured_at impressions engagement"
28
+
29
+ if [ ! -d "$WIKI_DIR" ]; then
30
+ note "wiki" "$WIKI_DIR not present — skill not yet run; nothing to check"
31
+ else
32
+ LOG_FILES=()
33
+ while IFS= read -r _f; do
34
+ [ -n "$_f" ] && LOG_FILES+=("$_f")
35
+ done < <(find "$WIKI_DIR" -maxdepth 1 -type f -name '*.md' 2>/dev/null)
36
+
37
+ if [ "${#LOG_FILES[@]}" -eq 0 ]; then
38
+ note "wiki" "$WIKI_DIR exists but holds no *.md feedback files yet"
39
+ else
40
+ for f in "${LOG_FILES[@]}"; do
41
+ missing=""
42
+ for key in $REQUIRED_KEYS; do
43
+ if ! grep -Eq "^${key}:" "$f" 2>/dev/null; then
44
+ missing="$missing $key"
45
+ fi
46
+ done
47
+ if [ -n "$missing" ]; then
48
+ fail "front-matter" "$f missing required key(s):$missing"
49
+ else
50
+ pass "front-matter" "$f has all required metric keys"
51
+ fi
52
+ done
53
+ fi
54
+ fi
55
+
56
+ # ---------------------------------------------------------------------------
57
+ # (2) Committed-secret guard. Scans source/config text, skips VCS/vendor dirs.
58
+ # ---------------------------------------------------------------------------
59
+ SCAN_FILES=()
60
+ while IFS= read -r _f; do
61
+ [ -n "$_f" ] && SCAN_FILES+=("$_f")
62
+ done < <(
63
+ find "$TARGET" \
64
+ \( -path '*/.git/*' -o -path '*/node_modules/*' -o -path '*/dist/*' \
65
+ -o -path '*/build/*' -o -path '*/.venv/*' -o -path '*/venv/*' \) -prune -o \
66
+ -type f \( -name '*.py' -o -name '*.js' -o -name '*.ts' -o -name '*.mjs' \
67
+ -o -name '*.json' -o -name '*.env' -o -name '*.yaml' -o -name '*.yml' \
68
+ -o -name '*.md' -o -name '*.sh' \) -print 2>/dev/null
69
+ )
70
+
71
+ secret_hit=0
72
+ for f in ${SCAN_FILES[@]+"${SCAN_FILES[@]}"}; do
73
+ [ -f "$f" ] || continue
74
+ # client_secret assigned a literal (not an env reference or a doc placeholder).
75
+ while IFS= read -r line; do
76
+ case "$line" in
77
+ *process.env*|*os.environ*|*ENV[*|*getenv*) continue ;; # env-injected, fine
78
+ *...*|*Bad:*|*Good:*|*YOUR_*|*example*|*EXAMPLE*) continue ;; # teaching placeholder, not a real secret
79
+ esac
80
+ fail "secret" "$f: $line"
81
+ secret_hit=1
82
+ done < <(grep -nE 'client_secret[[:space:]]*[=:][[:space:]]*["'"'"'][A-Za-z0-9_.-]{6,}' "$f" 2>/dev/null)
83
+
84
+ # AQED-style LinkedIn access-token literal.
85
+ while IFS= read -r line; do
86
+ fail "secret" "$f: $line (LinkedIn access-token literal)"
87
+ secret_hit=1
88
+ done < <(grep -nE 'AQ[ED][A-Za-z0-9_-]{20,}' "$f" 2>/dev/null)
89
+ done
90
+ [ "$secret_hit" -eq 0 ] && pass "secret" "no committed token / client_secret literals found"
91
+
92
+ # ---------------------------------------------------------------------------
93
+ if [ "$fails" -gt 0 ]; then
94
+ echo "verify.sh: $fails issue(s) in '$TARGET'"
95
+ exit 1
96
+ fi
97
+ echo "OK: linkedin-api checks passed for '$TARGET'"
98
+ exit 0
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: linkedin-carousels
3
+ description: "Use when designing a LinkedIn carousel / document post — the swipeable multi-page PDF that is currently the highest-reach native LinkedIn format — and you need the slide-by-slide build: a scroll-stopping cover hook, a narrative arc that pulls swipe-to-swipe, one focused idea per slide with real visual hierarchy, a payoff + CTA closer, and a PDF export spec. Triggers: 'turn this into a LinkedIn carousel', 'design a swipeable PDF document post', 'my carousel cover gets no swipes fix the hook', 'how many slides and what goes on each', 'restructure one-idea-per-slide', 'what size to export so it isnt cropped on mobile', 'convierte este post en un carrusel de LinkedIn', 'dissenya'm un carrusel de LinkedIn amb portada i CTA'. NOT the account/format plan (that is linkedin-strategy), NOT a text or single-image feed post (that is linkedin-content), NOT a spoken-to talk deck (that is presentations)."
4
+ tags: [linkedin, carousel, document-post, slide-design, visual-hierarchy, hook, b2b, social-content]
5
+ recommends: [linkedin-content, linkedin-strategy, brand-identity, brand-voice, presentations, social-publisher]
6
+ origin: risco
7
+ ---
8
+
9
+ # LinkedIn carousels
10
+
11
+ Design **one swipeable LinkedIn document post**: the cover hook, the narrative arc, one idea
12
+ per slide, and the PDF export spec. You hand back a slide-by-slide build ready to assemble in
13
+ Canva/Figma/Slides and a one-page design+export checklist.
14
+
15
+ You do not own the account plan (which formats, cadence, niche — that is
16
+ [`../linkedin-strategy/SKILL.md`](../linkedin-strategy/SKILL.md)), the words of a text or
17
+ single-image feed post ([`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md)), the
18
+ programmatic upload ([`../linkedin-api/SKILL.md`](../linkedin-api/SKILL.md)), or a spoken-to
19
+ 16:9 talk deck ([`../presentations/SKILL.md`](../presentations/SKILL.md)). Your artifact is the
20
+ *slides of a phone-read PDF* — sequence and visual hierarchy are the product.
21
+
22
+ ## What you produce
23
+
24
+ - **A cover slide spec** — the one slide that wins or loses the swipe to slide 2.
25
+ - **Interior slides** — each carrying a single focused idea, large type, a clear hierarchy.
26
+ - **A CTA closer** — the payoff slide plus one explicit ask.
27
+ - **A design + export spec** — canvas, safe area, type floor, PDF checklist (one page).
28
+ - **A one-line caption starter** — the first feed line; full caption tuning routes out.
29
+
30
+ Precondition: you need a topic, an angle, or a source (post/article). If the ask is the
31
+ account plan or a block of feed copy, you are in the wrong skill — see the handoffs table.
32
+
33
+ ## Ground first
34
+
35
+ A carousel inherits an identity; it does not invent one. Before you design slides:
36
+
37
+ - **Read the brand kit** if it exists in `02-DOCS/` (colors, type, logo) —
38
+ [`../brand-identity/SKILL.md`](../brand-identity/SKILL.md) owns it. Don't pick arbitrary fonts.
39
+ - **Read the voice** so the headlines sound like the account —
40
+ [`../brand-voice/SKILL.md`](../brand-voice/SKILL.md) owns it.
41
+ - **Pull the angle** from any plan/post already produced by
42
+ [`../linkedin-strategy/SKILL.md`](../linkedin-strategy/SKILL.md) or
43
+ [`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md). Reuse the hook, don't reopen it.
44
+
45
+ If none exist, name your assumptions on slide 0 of the spec and proceed — don't stall.
46
+
47
+ ## The swipe economics (why every rule below exists)
48
+
49
+ Document/carousel posts are the **highest-engagement native format on LinkedIn right now** —
50
+ they hit roughly 6.6% average engagement, ahead of every other format, and top-performing
51
+ pages post far more of them than median pages. The reason is **dwell time**: a swipeable deck
52
+ holds the thumb on screen, and dwell — not likes — is the algorithm's main distribution signal.
53
+
54
+ So the whole bet is the **cover slide and the swipe-to-slide-2 bounce**. If the cover doesn't
55
+ earn the first swipe, your slide count, your arc, and your CTA never get seen. Every swipe
56
+ after that extends dwell and signals quality, which is why each slide must *pull to the next*.
57
+ Design backwards from that: stop the thumb, then keep it moving.
58
+
59
+ ## The cover slide
60
+
61
+ This slide is the entire campaign. Build it to one job: earn the swipe.
62
+
63
+ - **Lead with a curiosity or benefit headline** — promise a payoff, not a topic label. Why: a
64
+ label ("Onboarding tips") gives no reason to swipe; a stake ("Why 60% of users quit in week
65
+ one") does.
66
+ - **One dominant element** — the headline reads first, before anything else. Why: a cover with
67
+ three competing focal points reads as zero.
68
+ - **Intentional white space** — let the headline breathe. Why: a dense cover looks like work,
69
+ and the thumb keeps scrolling.
70
+ - **An explicit swipe cue** — an arrow, "Swipe →", or a 1/8 counter. Why: tell people the
71
+ format is a deck so they know there's more.
72
+
73
+ The test: **would this stop *my own* thumb mid-scroll on a crowded feed?** If you hesitate,
74
+ the cover is too quiet.
75
+
76
+ ```text
77
+ Bad (topic label, no stake, no swipe reason)
78
+ ┌──────────────────────────┐
79
+ │ Tips for better │
80
+ │ user onboarding │
81
+ │ │
82
+ └──────────────────────────┘
83
+
84
+ Good (stake + payoff + swipe cue, one dominant line)
85
+ ┌──────────────────────────┐
86
+ │ 60% of new users quit │ ← largest element, reads first
87
+ │ in week one. │
88
+ │ │
89
+ │ Here's where they fall │ ← supporting line, smaller
90
+ │ off — and the fix. │
91
+ │ Swipe → │ ← explicit cue
92
+ └──────────────────────────┘
93
+ ```
94
+
95
+ More cover-hook shapes (number / contrarian / mistake / outcome / question) with Bad→Good
96
+ rewrites are in [`references/carousel-patterns.md`](references/carousel-patterns.md).
97
+
98
+ ## The narrative arc
99
+
100
+ A carousel is not a list — it is a sequence engineered so each slide creates a reason to see
101
+ the next. Pick **one** arc and map slides to it. Branch on the angle:
102
+
103
+ | Arc | Use when | Slide shape |
104
+ |---|---|---|
105
+ | Problem → tension → reveal → payoff | persuasive / insight post | cover, stakes, the wrong way, the shift, the payoff, CTA |
106
+ | Numbered steps / listicle | how-to, framework | cover, step 1..n, recap, CTA |
107
+ | Myth → truth | contrarian take | cover, the myth, why it's wrong, the truth, proof, CTA |
108
+ | Before → after | transformation / case study | cover, before, turning point, after, how, CTA |
109
+ | Data reveal | stat-led post | cover, setup, the number, why it matters, so-what, CTA |
110
+
111
+ **Momentum rule:** end each interior slide on a small open loop — a cliff line, a "but here's
112
+ the catch", a half-finished list — so the thumb keeps swiping. Why: a slide that fully resolves
113
+ gives permission to stop. Each arc expanded to a full slide map is in
114
+ [`references/carousel-patterns.md`](references/carousel-patterns.md).
115
+
116
+ ## One idea per slide + hierarchy
117
+
118
+ The line between a finished deck and one abandoned at slide 3 is **one idea per slide**.
119
+
120
+ - **One point per slide** — if a slide has two ideas, split it. Why: cramming dilutes the
121
+ message and stalls momentum; a single point is swiped through fast and remembered.
122
+ - **Type floor ≥ 28 px** — it is read on a phone, one-handed. Why: body text below ~28 px
123
+ forces a pinch-zoom, which is a stop.
124
+ - **One dominant element per slide** — a headline, a number, or a visual that reads first.
125
+ - **Generous white space + a consistent grid** — same margins, same headline position across
126
+ slides. Why: a stable frame lets the eye land instantly and the deck feels designed.
127
+
128
+ ```text
129
+ Bad — crammed, four competing points, tiny text
130
+ ┌──────────────────────────┐
131
+ │ Onboarding fixes: │
132
+ │ • Shorten the signup form │
133
+ │ • Add a progress bar │
134
+ │ • Send a day-1 email │
135
+ │ • Show a sample dataset │
136
+ └──────────────────────────┘
137
+
138
+ Good — one idea, one dominant element, breathing room
139
+ ┌──────────────────────────┐
140
+ │ Step 1 │
141
+ │ │
142
+ │ Cut the signup form to │ ← single point, large
143
+ │ 3 fields. │
144
+ │ │
145
+ │ Every extra field drops │ ← one supporting line
146
+ │ completion ~7%. │
147
+ └──────────────────────────┘
148
+ ```
149
+
150
+ ## Slide count
151
+
152
+ Aim for the **6–12 band, ~8 as the sweet spot** (cover + ~6 content + CTA). Reported peaks
153
+ cluster around 7–8 slides; 8–12 is where the highest dwell/save/share rates show up. Fewer
154
+ than 5 underdelivers (not worth the swipe); more than ~15 loses people before the payoff.
155
+
156
+ Treat the band as a guide, not a law: **length follows the arc, not a quota.** If the arc
157
+ resolves in 7 slides, ship 7 — don't pad to hit a number.
158
+
159
+ ## The CTA closer
160
+
161
+ The last slide is the payoff landing plus **one explicit ask**.
162
+
163
+ - **State the payoff first**, then ask. Why: people act after value, not before it.
164
+ - **One ask, tied to the payoff** — "Save this for your next onboarding review", "Comment your
165
+ worst week-one drop-off". Why: a bare "Follow for more" is generic and ignorable; an ask
166
+ hooked to what they just read converts.
167
+
168
+ ```text
169
+ Bad → "Follow me for more content." (generic, no reason)
170
+ Good → "Save this for your next onboarding review.
171
+ Which step are you missing? Comment below." (tied to payoff, one action)
172
+ ```
173
+
174
+ ## Design + export spec
175
+
176
+ ```text
177
+ Canvas: 1080×1350 (4:5 portrait, recommended) or 1080×1080 (1:1 fallback). No landscape.
178
+ Safe area: keep headline + key visual inside ~880×880; ~80 px padding on all sides.
179
+ Type: body ≥ 28 px (it is read on a phone).
180
+ Export: PDF only (1 slide = 1 page). Cap ~100-300 MB / 300 pp depending on source; keep < ~10 MB.
181
+ Gotchas: open the exported PDF and verify fonts — free Canva silently substitutes them;
182
+ disable bleed / crop marks — they add black bars to every slide;
183
+ preview on a PHONE before posting — the desktop view hides mobile crops.
184
+ ```
185
+
186
+ Portrait 4:5 takes the most vertical space in a mobile feed, which raises dwell and the chance
187
+ of a scroll-stop. PDF is the only export that preserves fonts and layout reliably across
188
+ devices — exporting slides as images loses crispness and breaks selectable text. The full
189
+ checklist in prose is in [`references/carousel-patterns.md`](references/carousel-patterns.md).
190
+
191
+ ## The feed caption handoff
192
+
193
+ A document post still has a **text caption above it**, and its first 1–2 lines (before the
194
+ "…more" fold) must restate the cover hook — that line is what people read before deciding to
195
+ expand and swipe. Give a one-line starter that echoes the cover, then route full feed-copy
196
+ length/tone tuning to [`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md). You own
197
+ the slides; that sibling owns the caption.
198
+
199
+ ## Handoffs
200
+
201
+ | When you actually want… | Go to |
202
+ |---|---|
203
+ | The account/format plan, cadence, niche, who to target | [`../linkedin-strategy/SKILL.md`](../linkedin-strategy/SKILL.md) |
204
+ | A text or single-image feed post (just the copy) | [`../linkedin-content/SKILL.md`](../linkedin-content/SKILL.md) |
205
+ | 1:1 DMs / connection-request outreach sequences | `linkedin-outreach` |
206
+ | To publish/schedule the deck via the LinkedIn API | [`../linkedin-api/SKILL.md`](../linkedin-api/SKILL.md) |
207
+ | A spoken-to 16:9 talk deck (speaker support) | [`../presentations/SKILL.md`](../presentations/SKILL.md) |
208
+ | The color / type / logo brand kit the deck is styled in | [`../brand-identity/SKILL.md`](../brand-identity/SKILL.md) |
209
+ | The reusable tone of voice the words are written in | [`../brand-voice/SKILL.md`](../brand-voice/SKILL.md) |
210
+ | A long-form article (the prose, not slides) | [`../article-writing/SKILL.md`](../article-writing/SKILL.md) |
211
+ | To cross-post / schedule the finished asset elsewhere | [`../social-publisher/SKILL.md`](../social-publisher/SKILL.md) |
212
+
213
+ ## Anti-patterns
214
+
215
+ | Anti-pattern | Why it fails | Do instead |
216
+ |---|---|---|
217
+ | Cover is a title slide / table of contents | No stake, no swipe reason — the deck dies at slide 1 | Lead with a curiosity/benefit headline that promises a payoff |
218
+ | Multiple ideas crammed on one slide | Dilutes the message, stalls momentum, forces tiny text | One focused idea per slide; split the rest into more slides |
219
+ | Body text under 28 px | Forces a pinch-zoom on mobile — that's a stop | Keep body ≥ 28 px; headlines far larger |
220
+ | Landscape (16:9) canvas | Takes minimal feed space, low dwell, looks like a talk deck | Portrait 1080×1350 (4:5), or 1080×1080 square fallback |
221
+ | A flat list with no arc | Nothing pulls the reader forward; they abandon early | Pick one arc; end each slide on a small open loop |
222
+ | 20+ slides | Loses people before the payoff | Stay in the 6–12 band (~8); let the arc set the length |
223
+ | Bare "Follow me for more" CTA | Generic, no reason to act | One explicit ask tied to the payoff (save/comment) |
224
+ | Exporting slides as images, not a PDF | Loses crispness, breaks the document-post format | Export one PDF, 1 slide = 1 page, < 10 MB |
225
+ | Trusting Canva's PDF fonts | Free Canva silently substitutes custom fonts | Open the exported PDF and verify fonts before upload |
226
+ | Never previewing on a phone | Desktop view hides mobile crops and bleed bars | Open the final PDF on a phone before posting |
227
+
228
+ ## Verify
229
+
230
+ If you wrote the spec to a file, lint it before handing off:
231
+
232
+ ```bash
233
+ scripts/verify.sh path/to/carousel-spec.md
234
+ ```
235
+
236
+ It checks (read-only) for a labeled cover slide, a slide count in 5–15 (warns outside 6–12), a
237
+ CTA slide with an explicit ask, a portrait/square canvas, a ≥28 px type floor, "PDF" as the
238
+ export target, and warns on any crammed (3+ bullet) interior slide. An empty or clean target
239
+ passes. The deeper rigor is the capability eval in `evals/`.
@@ -0,0 +1,13 @@
1
+ # Evals — linkedin-carousels
2
+
3
+ `cases.yaml` is a routing + capability spec, not an automated test suite. `should_trigger`
4
+ lists prompts whose description should route to this skill (including a non-obvious
5
+ cover-repair / export-size phrasing and a Spanish/Catalan one); `should_not_trigger` lists
6
+ near-miss prompts that must route to a real sibling (`linkedin-content`, `linkedin-strategy`,
7
+ `presentations`, `linkedin-api`, `brand-identity`) with the reason. `capability` is a rubric a
8
+ grader (human or LLM) applies to an actual produced carousel spec to confirm the skill changes
9
+ the output — not just that it loaded. There is no bundled runner: check routing by inspection
10
+ (does the description's "Use when" / Triggers / NOT boundary cover each prompt?), or feed the
11
+ file to the repo's eval tooling if one is present. To pressure-test capability, run the
12
+ scenario and score the result against `must_include`, then optionally lint the produced spec
13
+ with `../scripts/verify.sh path/to/spec.md`.
@@ -0,0 +1,62 @@
1
+ skill: linkedin-carousels
2
+
3
+ # Prompts that MUST load `linkedin-carousels`. The skill owns the SLIDES of a
4
+ # swipeable LinkedIn document post: the cover hook, the narrative arc, one idea
5
+ # per slide with real hierarchy, a CTA closer, and the PDF export spec. It does
6
+ # NOT own the account plan (linkedin-strategy), the text feed post
7
+ # (linkedin-content), the API upload (linkedin-api), or a 16:9 talk deck
8
+ # (presentations).
9
+ should_trigger:
10
+ - prompt: "Turn this blog post into a LinkedIn carousel — I want the slides laid out."
11
+ why: "Core job: transform a source into a slide-by-slide swipeable document post."
12
+
13
+ - prompt: "My carousel cover slide gets no swipes. Fix the hook."
14
+ why: "Non-obvious — a symptom, no word 'design'. Cover-hook repair is the highest-leverage thing the skill owns (the swipe-to-slide-2 bet)."
15
+
16
+ - prompt: "Design a swipeable PDF document post about onboarding: cover + 6 points + CTA."
17
+ why: "Explicit slide build with cover/interior/CTA structure — the exact deliverable."
18
+
19
+ - prompt: "What size should I export my LinkedIn carousel PDF at so it isn't cropped on mobile?"
20
+ why: "Non-obvious — sounds like a tooling question, but canvas/safe-area/PDF export is squarely in this skill's design spec."
21
+
22
+ - prompt: "My slides are crammed with bullets and there's no story — restructure one idea per slide with an arc."
23
+ why: "Structure + hierarchy repair: the one-idea-per-slide rule and narrative arc are core."
24
+
25
+ - prompt: "Convierte este post en un carrusel de LinkedIn amb portada i CTA."
26
+ why: "Spanish/Catalan phrasing for the core job — design a carousel with a cover and CTA."
27
+
28
+ # NEAR-MISS prompts that must NOT load `linkedin-carousels`. Each routes to the
29
+ # real sibling that owns it. The recurring trap: anything that touches LinkedIn
30
+ # but is the account plan, the feed copy, the API, or a spoken-to deck.
31
+ should_not_trigger:
32
+ - prompt: "Write me a LinkedIn text post with a strong hook line about remote work."
33
+ route_to: linkedin-content
34
+ why: "A single block of feed copy with no slides is the text/single-image post — owned by linkedin-content, not a multi-slide document."
35
+
36
+ - prompt: "Plan my LinkedIn content for the quarter — which formats and how often to post."
37
+ route_to: linkedin-strategy
38
+ why: "Account-level format/cadence/niche planning is the strategy, not the design of one deck."
39
+
40
+ - prompt: "Design a 16:9 deck for my conference talk with a speaker track."
41
+ route_to: presentations
42
+ why: "A spoken-to talk deck (landscape, speaker support) is presentations; a carousel is a portrait phone-read document, opposite reading context."
43
+
44
+ - prompt: "Schedule and auto-publish this carousel to LinkedIn via the API."
45
+ route_to: linkedin-api
46
+ why: "Programmatic upload/scheduling is linkedin-api; this skill stops at the designed PDF spec."
47
+
48
+ - prompt: "Define our brand colors and fonts for all our content."
49
+ route_to: brand-identity
50
+ why: "The reusable color/type/logo system is brand-identity; the carousel consumes that kit, it does not author it."
51
+
52
+ # CAPABILITY: prove the skill changes the output, not just routing.
53
+ capability:
54
+ - scenario: "Turn the topic 'why most onboarding flows lose users in week one' into a designed LinkedIn carousel, producing the full slide-by-slide spec plus the export spec."
55
+ must_include:
56
+ - "A cover slide with a curiosity/benefit headline (a stake/payoff, not a topic label), one dominant element, white space, and an explicit swipe cue — engineered to win the swipe-to-slide-2 bounce."
57
+ - "A named narrative arc (e.g. problem -> reveal -> payoff) with each interior slide mapped to it and ending on a small open loop that pulls to the next slide."
58
+ - "One focused idea per interior slide — a single headline line, not a multi-point bullet dump."
59
+ - "Total slide count in the 6-12 band (~8), with the length justified by the arc resolving, not by a quota."
60
+ - "A CTA closer slide that restates the payoff and makes one explicit ask tied to it (save/comment), not a bare 'follow me'."
61
+ - "A design/export spec: portrait 1080x1350 (or 1080x1080 fallback), ~880x880 safe area with ~80 px padding, >=28 px type floor, export to PDF (1 slide = 1 page, < 10 MB), and a phone-preview / font-substitution check."
62
+ - "A one-line feed caption starter whose first line restates the cover hook, with the handoff to linkedin-content for full caption tuning noted."
@@ -0,0 +1,200 @@
1
+ # Carousel patterns
2
+
3
+ Offloaded depth for `linkedin-carousels`. SKILL.md points here from the cover, narrative-arc,
4
+ and export sections. Everything here is a build aid — the SKILL.md rules still govern.
5
+
6
+ ## Slide-by-slide spec template
7
+
8
+ Produce one block per slide. Fill every field; "—" if a field genuinely doesn't apply.
9
+
10
+ ```text
11
+ SLIDE 0 — CONTEXT (not exported; for the build)
12
+ Topic / angle:
13
+ Source (post/article/idea):
14
+ Brand kit ref (02-DOCS or assumption):
15
+ Voice ref (02-DOCS or assumption):
16
+ Chosen arc:
17
+ Slide count:
18
+
19
+ SLIDE 1 — COVER
20
+ Headline (dominant, reads first):
21
+ Supporting line (smaller):
22
+ Dominant visual / treatment:
23
+ Swipe cue (arrow / "Swipe →" / 1/N counter):
24
+
25
+ SLIDE n — INTERIOR (repeat per slide)
26
+ Single idea (one sentence):
27
+ Headline line (large):
28
+ Supporting line (one, optional):
29
+ Dominant visual / number:
30
+ Open-loop close (cliff line into the next slide):
31
+
32
+ SLIDE N — CTA CLOSER
33
+ Payoff restatement (the satisfying landing):
34
+ One explicit ask (save / comment / share / visit):
35
+ ```
36
+
37
+ ## Cover-hook pattern library
38
+
39
+ Each shape, with a Bad (label) → Good (stake/payoff) rewrite. Pick the one that fits the angle.
40
+
41
+ ```text
42
+ 1. NUMBER
43
+ Bad "Things to improve onboarding"
44
+ Good "5 onboarding mistakes that cost you 60% of new users"
45
+
46
+ 2. CONTRARIAN
47
+ Bad "Onboarding best practices"
48
+ Good "Your onboarding checklist is why users churn. Delete half of it."
49
+
50
+ 3. MISTAKE
51
+ Bad "Onboarding tips"
52
+ Good "The week-one mistake almost every SaaS makes (and how to spot it)"
53
+
54
+ 4. OUTCOME
55
+ Bad "How onboarding works"
56
+ Good "How we cut week-one churn from 60% to 18% — the exact flow"
57
+
58
+ 5. QUESTION
59
+ Bad "About user retention"
60
+ Good "Why do 60% of your signups never come back? It's not the product."
61
+
62
+ 6. NOBODY-TELLS-YOU
63
+ Bad "Onboarding guide"
64
+ Good "Nobody tells you that onboarding fails before the user even logs in"
65
+
66
+ 7. STAKES / COST
67
+ Bad "User drop-off"
68
+ Good "Every extra signup field drops completion ~7%. Here's the math."
69
+ ```
70
+
71
+ Rule across all of them: the headline names a payoff or a stake, one line dominates, and a
72
+ swipe cue tells the reader the format is a deck.
73
+
74
+ ## Narrative-arc blueprints
75
+
76
+ Each arc expanded to a full slide map for an ~8-slide deck. Adjust count to fit the content —
77
+ length follows the arc, not a quota.
78
+
79
+ ```text
80
+ ARC A — PROBLEM → TENSION → REVEAL → PAYOFF (persuasive / insight)
81
+ 1 Cover: the stake (curiosity/benefit headline + swipe cue)
82
+ 2 The problem: name the pain the reader feels
83
+ 3 The tension: why the obvious fix doesn't work
84
+ 4 The reveal: the actual cause / the shift in thinking
85
+ 5 The mechanism: how the fix works
86
+ 6 The proof: a number, result, or example
87
+ 7 The payoff: what changes once they apply it
88
+ 8 CTA: restate payoff + one ask (save/comment)
89
+
90
+ ARC B — NUMBERED STEPS / LISTICLE (how-to, framework)
91
+ 1 Cover: "N steps to <outcome>" + swipe cue
92
+ 2..7 One step per slide (one idea, large type, open-loop close)
93
+ 8 Recap or the one step that matters most + CTA ask
94
+
95
+ ARC C — MYTH → TRUTH (contrarian)
96
+ 1 Cover: the contrarian claim + swipe cue
97
+ 2 The myth: what most people believe
98
+ 3 Why it's wrong: the flaw in the belief
99
+ 4 The truth: the better model
100
+ 5 Proof: evidence the truth holds
101
+ 6 So-what: what to do differently
102
+ 7 CTA: restate the truth + one ask
103
+
104
+ ARC D — BEFORE → AFTER (transformation / case)
105
+ 1 Cover: the transformation ("from X to Y") + swipe cue
106
+ 2 Before: the starting state and its cost
107
+ 3 The turning point: what changed
108
+ 4 After: the new state
109
+ 5 How: the steps that got there
110
+ 6 Lesson: what's transferable
111
+ 7 CTA: restate result + one ask
112
+
113
+ ARC E — DATA REVEAL (stat-led)
114
+ 1 Cover: tease the number, don't reveal it ("60% of users do THIS")
115
+ 2 Setup: why the number matters / how it was measured
116
+ 3 The number: reveal it as the dominant element
117
+ 4 Why it happens: the cause
118
+ 5 So-what: the implication for the reader
119
+ 6 Action: what to change
120
+ 7 CTA: restate the insight + one ask
121
+ ```
122
+
123
+ Momentum rule applies to every arc: end each interior slide on a small open loop (a cliff
124
+ line, a "but…", a half-answered question) so the reader swipes to resolve it.
125
+
126
+ ## Design + export checklist (in words)
127
+
128
+ - **Canvas.** Use 1080×1350 px (4:5 portrait) — it claims the most vertical feed space, which
129
+ raises dwell and scroll-stop chance. 1080×1080 (1:1 square) is the safe fallback. Never
130
+ landscape for the feed — it reads as a talk deck and takes minimal space.
131
+ - **Safe area.** Keep every headline and key visual inside a central ~880×880 region, ~80 px
132
+ padding on all sides. LinkedIn's in-feed viewer and mobile cropping can shave the edges.
133
+ - **Type floor.** Body text ≥ 28 px; headlines far larger so hierarchy reads at a glance. It
134
+ is consumed one-handed on a phone — anything smaller forces a pinch-zoom, which is a stop.
135
+ - **Export format.** PDF only — it preserves fonts and layout across devices. LinkedIn also
136
+ accepts PPTX/DOCX, but only PDF renders consistently. One slide = one PDF page.
137
+ - **File size.** Reported ceilings range ~100-300 MB / 300 pages depending on source (LinkedIn's
138
+ own Help page states 100 MB / 300 pages); keep it under ~10 MB so it loads fast in-feed.
139
+ Compress images if needed.
140
+ - **Font substitution.** On free Canva, custom fonts can be swapped at PDF export with no
141
+ warning. Open the exported PDF and confirm the fonts before upload.
142
+ - **Bleed / crop marks.** If accidentally enabled, they add black bars around every slide.
143
+ Disable them in export settings.
144
+ - **Phone preview.** Open the final PDF on an actual phone before posting — the desktop preview
145
+ hides crops and bars that only show on mobile.
146
+
147
+ ## Worked example — full 8-slide deck (Arc A)
148
+
149
+ Topic: "Why most onboarding flows lose users in week one." Arc A (problem → reveal → payoff).
150
+
151
+ ```text
152
+ SLIDE 1 — COVER
153
+ Headline: "60% of new users quit in week one."
154
+ Supporting: "It's almost never the product. Here's where they fall off."
155
+ Dominant: the "60%" set large; headline reads first
156
+ Swipe cue: "Swipe →" (1/8)
157
+
158
+ SLIDE 2 — THE PROBLEM
159
+ Idea: users churn before they reach value
160
+ Headline: "They never hit the 'aha' moment."
161
+ Supporting: "Most leave before doing the one thing that makes the product click."
162
+ Open loop: "And the usual fix makes it worse →"
163
+
164
+ SLIDE 3 — THE TENSION
165
+ Idea: adding more onboarding steps backfires
166
+ Headline: "More onboarding ≠ better onboarding."
167
+ Supporting: "Every extra setup screen is another exit."
168
+ Open loop: "So what actually keeps them? →"
169
+
170
+ SLIDE 4 — THE REVEAL
171
+ Idea: time-to-value is the real metric
172
+ Headline: "Cut the time to first value."
173
+ Supporting: "Get them to one real win fast — defer everything else."
174
+ Open loop: "Here's how, step by step →"
175
+
176
+ SLIDE 5 — THE MECHANISM
177
+ Idea: shorten the signup form
178
+ Headline: "Step 1: 3 fields, not 9."
179
+ Supporting: "Every extra field drops completion ~7%."
180
+ Open loop: "Then remove the empty state →"
181
+
182
+ SLIDE 6 — THE MECHANISM (cont.)
183
+ Idea: seed the first win
184
+ Headline: "Step 2: pre-load a sample so they see value in 30 seconds."
185
+ Supporting: "Don't make day one a blank screen."
186
+ Open loop: "The result? →"
187
+
188
+ SLIDE 7 — THE PAYOFF
189
+ Idea: the outcome of the changes
190
+ Headline: "Week-one churn: 60% → 18%."
191
+ Supporting: "Same product. Faster path to the 'aha'."
192
+ Open loop: "Want the checklist? →"
193
+
194
+ SLIDE 8 — CTA CLOSER
195
+ Payoff: "Faster time-to-value is the whole game in week one."
196
+ Ask: "Save this for your next onboarding review. Which step are you missing? Comment below."
197
+
198
+ CAPTION STARTER (hand to linkedin-content for tuning):
199
+ "60% of new users quit in week one — and it's almost never the product. 👇"
200
+ ```