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,61 @@
1
+ skill: customer-support
2
+
3
+ # Prompts that MUST load `customer-support`. The skill handles a LIVE ticket:
4
+ # triage (priority + intent) -> SLA clock -> draft on-voice reply -> de-escalate
5
+ # -> escalate with a handoff packet. It never writes the KB article, the
6
+ # onboarding flow, the retention program, or the auto-answer bot.
7
+ should_trigger:
8
+ - prompt: "A customer just emailed saying our app is down and they're losing money — how should I handle this ticket?"
9
+ why: "Core P1 path: triage to critical, acknowledge fast inside the FRT window, then escalate to engineering with a handoff packet."
10
+
11
+ - prompt: "Give me a set of canned replies for the most common support questions."
12
+ why: "The macro skeleton library is a named deliverable — ready replies the agent finishes, not verbatim templates."
13
+
14
+ - prompt: "This user is threatening to cancel and leave a bad review — draft a reply."
15
+ why: "Non-obvious: the word 'support' never appears, but a churn-risk de-escalation reply on a single live ticket is exactly this skill (not the retention program)."
16
+
17
+ - prompt: "Redacta una respuesta para un cliente enfadado que lleva 3 días sin contestación."
18
+ why: "Spanish for 'draft a reply for an angry customer who's gone 3 days without a response' — de-escalation plus an SLA breach, both owned here."
19
+
20
+ - prompt: "What first-response and resolution times should we promise for high vs low priority tickets?"
21
+ why: "Setting tiered FRT and resolution SLA targets by priority is a named use; the P1–P4 matrix is the artifact."
22
+
23
+ - prompt: "Tracta aquest ticket de suport i decideix si l'escalo a un humà."
24
+ why: "Catalan for 'triage this support ticket and decide whether to escalate it to a human' — triage plus the escalation call, the spine of the skill."
25
+
26
+ # NEAR-MISS prompts that must NOT load `customer-support`. Each routes to the
27
+ # sibling that owns it. Trap: anything that BUILDS the asset around the ticket
28
+ # (the doc, the bot, the program, the voice guide) instead of handling the ticket.
29
+ should_not_trigger:
30
+ - prompt: "Write the help-center article explaining how to reset a password."
31
+ route_to: "technical-writing"
32
+ why: "Authoring the KB doc is technical-writing; customer-support only consumes the KB to answer a ticket and links the article."
33
+
34
+ - prompt: "Set up the welcome flow for customers who just signed up."
35
+ route_to: "client-onboarding"
36
+ why: "New-customer activation and welcome sequence is client-onboarding, not an inbound support ticket."
37
+
38
+ - prompt: "Build a chatbot that auto-answers support questions from our docs."
39
+ route_to: "chatbot"
40
+ why: "Building the autonomous auto-answer bot is chatbot (+ rag); this skill defines the human/assisted playbook, not the bot."
41
+
42
+ - prompt: "Define our brand's tone of voice guidelines."
43
+ route_to: "brand-voice"
44
+ why: "Authoring the reusable voice spec is brand-voice; customer-support only applies that voice to a reply."
45
+
46
+ - prompt: "Design a win-back email campaign for customers who churned last quarter."
47
+ route_to: "retention"
48
+ why: "A renewal/win-back program is retention; customer-support handles only the single churn-risk ticket in the moment."
49
+
50
+ # CAPABILITY: graded against the rubric, not routing. The reply must be triaged
51
+ # AND answered, not just classified.
52
+ capability:
53
+ - scenario: "A P1 ticket: an enterprise VIP customer emails that CSV export has been throwing 500 errors since 9am, it's blocking their month-end close, they are angry and have said they'll cancel. Triage and draft how you'd handle it."
54
+ must_include:
55
+ - "Assigns P1 (critical) priority and names a first-response target in the 15–30 min range"
56
+ - "Acknowledges fast and sets an update time BEFORE promising a resolution or ETA"
57
+ - "De-escalates: acknowledges the frustration, first-person ownership, no banned phrase like 'calm down' or naked 'per our policy'"
58
+ - "Does NOT invent a fix, root cause, or ETA it cannot verify — offers the next update time instead"
59
+ - "Flags escalation to tier-2/engineering and includes a handoff packet (summary + steps tried + customer sentiment + collected variables)"
60
+ - "Names a metric to watch for this ticket (CSAT or FCR), not NPS"
61
+ - "Reply has no leftover {{placeholder}} and includes at least one personalized line specific to this ticket"
@@ -0,0 +1,142 @@
1
+ # Macros, SLA matrix, and escalation — full lookup
2
+
3
+ Reach for this mid-ticket. Every macro is a **skeleton you finish** — fill the
4
+ fields, add one bespoke line, and never send with a visible `{{placeholder}}`.
5
+ All macros follow the 4-beat order: empathy → answer → next step → close.
6
+
7
+ ## Macro skeleton library
8
+
9
+ ### 1. Acknowledgment (P1/P2, before you have the answer)
10
+
11
+ ```text
12
+ Hi {{first_name}} — I've got your report about {{problem_in_their_words}} and
13
+ I'm on it now. I don't have the full picture yet, but I'll update you by
14
+ {{time}} whether or not it's fixed. Thanks for flagging it. — {{agent}}
15
+ ```
16
+
17
+ ### 2. Info request (you need one thing to proceed)
18
+
19
+ ```text
20
+ Hi {{first_name}} — sorry {{feature}} is giving you trouble. To dig in I need
21
+ one thing: {{specific_ask}}. Once I have that I can {{next_action}}. — {{agent}}
22
+ ```
23
+
24
+ One ask only. If you need three, sequence them or batch them clearly.
25
+
26
+ ### 3. Resolved (closing a fixed ticket)
27
+
28
+ ```text
29
+ Hi {{first_name}} — {{problem}} is fixed as of {{time}}. {{what_changed}}.
30
+ Give it a try and reply here if anything still looks off; I'll keep this ticket
31
+ open until {{date}} just in case. — {{agent}}
32
+ ```
33
+
34
+ ### 4. Refund / billing adjustment
35
+
36
+ ```text
37
+ Hi {{first_name}} — you're right, {{what_went_wrong}}. I've issued a refund of
38
+ {{amount}} to {{method}}; it usually lands in {{timeframe}}. Here's the why so
39
+ it doesn't happen again: {{explanation}}. Sorry for the hassle. — {{agent}}
40
+ ```
41
+
42
+ Quote the refund window from the KB — never invent it.
43
+
44
+ ### 5. Known bug (issue is real, fix is pending)
45
+
46
+ ```text
47
+ Hi {{first_name}} — this is a real bug on our side, not anything you did, and
48
+ the team is already on it (ref {{tracking_id}}). Current status: {{status}}.
49
+ In the meantime this workaround gets you unblocked: {{workaround}}. I'll ping
50
+ you the moment it ships. — {{agent}}
51
+ ```
52
+
53
+ Never send "this is a known issue" alone — always pair it with status + ETA or
54
+ a workaround.
55
+
56
+ ### 6. Outage (P1, multi-customer)
57
+
58
+ ```text
59
+ Hi {{first_name}} — we're aware {{service}} is down and engineering is on it as
60
+ top priority. Live status: {{status_page_url}}. I'll update you here every
61
+ {{interval}} until it's resolved. Sorry for the disruption. — {{agent}}
62
+ ```
63
+
64
+ ### 7. Churn-save / de-escalation
65
+
66
+ ```text
67
+ Hi {{first_name}} — {{acknowledge_the_real_grievance}}, and I understand why
68
+ you're considering leaving. I dropped the ball on {{specific_failure}}. Here's
69
+ what I can do right now: {{concrete_offer_or_fix}} by {{time}}. If that doesn't
70
+ make it right, I'll loop in {{owner}} personally. — {{agent}}
71
+ ```
72
+
73
+ Acknowledge the feeling, own it in first person, one timed concrete step.
74
+
75
+ ### 8. Escalation hand-off (to the customer, while you escalate internally)
76
+
77
+ ```text
78
+ Hi {{first_name}} — this needs our {{team}} to get you a solid answer, so I've
79
+ handed it to {{specialist}} with everything you've told me — you won't have to
80
+ repeat anything. They'll reach out by {{time}}. — {{agent}}
81
+ ```
82
+
83
+ ### 9. Feature-request decline (say no without a dead end)
84
+
85
+ ```text
86
+ Hi {{first_name}} — {{feature_idea}} isn't on the roadmap right now, and I want
87
+ to be straight with you rather than string you along. I've logged it for the
88
+ product team ({{tracking_id}}). The closest thing available today is
89
+ {{nearest_alternative}}. — {{agent}}
90
+ ```
91
+
92
+ Never "unfortunately there's nothing we can do" — always offer the nearest path.
93
+
94
+ ### 10. Gentle close (no reply after a follow-up)
95
+
96
+ ```text
97
+ Hi {{first_name}} — I haven't heard back, so I'll close this for now. If
98
+ {{problem}} is still happening, just reply and it reopens right where we left
99
+ off — no need to start over. — {{agent}}
100
+ ```
101
+
102
+ ## Full SLA matrix by channel
103
+
104
+ First-response targets shift by channel: live channels (chat/phone) set a faster
105
+ expectation than async (email). Resolution targets stay constant by priority.
106
+
107
+ | Priority | Email FRT | Chat FRT | Phone FRT | Resolution |
108
+ |---|---|---|---|---|
109
+ | P1 critical | 30 min | 5–10 min | immediate | ASAP; status update every 30–60 min |
110
+ | P2 high | 1–2 h | 15 min | 5 min | same business day |
111
+ | P3 medium | 4–8 h | 30 min | 10 min | 1–2 business days |
112
+ | P4 low | ~1 business day | 1 h | n/a | best effort |
113
+
114
+ Keep to 3–4 tiers. Acknowledge inside the FRT window even when the fix will take
115
+ longer — the acknowledgment is the SLA you cannot miss.
116
+
117
+ ## Escalation matrix
118
+
119
+ | Trigger | Goes to | Owner | What must travel |
120
+ |---|---|---|---|
121
+ | Production outage / data loss | T3 engineering | on-call eng + support lead | full handoff packet + status-page link |
122
+ | "cancel / refund / lawyer / chargeback" | T2 + account owner | account owner | packet + sentiment flag |
123
+ | Enterprise / VIP account | T2 specialist | named CSM | packet + contract context |
124
+ | SLA about to blow | T2 | shift lead | packet + remaining-time |
125
+ | Policy/price claim, unverifiable | T2 | support lead | packet + the exact unanswered question |
126
+ | Assisted/AI draft <85% confidence | human T1 | any human agent | packet + the draft + the uncertainty |
127
+
128
+ ## Handoff packet template
129
+
130
+ Fill every field. A bare ticket link forces the customer to repeat themselves
131
+ (+90–180s, and it reads as "nobody read my ticket").
132
+
133
+ ```text
134
+ HANDOFF PACKET
135
+ - Customer + account tier: {{name}} — {{tier}}
136
+ - Ticket / priority: #{{id}} — {{priority}}
137
+ - One-line summary: {{what_is_wrong_in_one_line}}
138
+ - Steps already tried: {{what_you_ruled_out_or_attempted}}
139
+ - Customer sentiment: {{calm | frustrated | angry | churn-risk}}
140
+ - Collected variables: {{key=value pairs: plan, timestamps, region, IDs}}
141
+ - What I need from you: {{the_specific_question_or_action}}
142
+ ```
@@ -0,0 +1,205 @@
1
+ ---
2
+ name: dashboard
3
+ description: "Use when building or fixing a KPI dashboard that decision-makers will actually open and act on within one screen — arranging which metrics earn a tile, framing each tile so it answers a decision at a glance, and picking the right chart per metric. Triggers: 'build a KPI dashboard for leadership', 'exec dashboard on one screen', 'nobody opens the dashboard we built', '20 tiles and I still can't tell if the business is healthy', 'which chart for each of these metrics', 'munta un dashboard de KPIs per a direcció amb el north-star a dalt', 'el dashboard tiene demasiados gráficos y nadie lo mira'. NOT defining the metrics or their targets (that is kpi-framework), wiring the data (that is analytics), or writing a narrative status report (that is reporting)."
4
+ tags: [kpi-dashboard, data-visualization, executive-dashboard, chart-selection, dashboard-design, at-a-glance]
5
+ recommends: [kpi-framework, analytics, reporting, forecasting, business-intelligence, ab-testing, design, spreadsheet-ops]
6
+ origin: risco
7
+ ---
8
+
9
+ # dashboard
10
+
11
+ A dashboard is read in **5 seconds by someone who will not scroll**. If a busy reader cannot grasp business status that fast, the design failed — no matter how accurate the numbers are. Your job here is **arrangement, framing, and chart choice**, producing a checkable artifact:
12
+
13
+ - `dashboard.yaml` — a tile manifest (each tile: metric, chart, comparison, owner, refresh, decision).
14
+ - a one-screen layout sketch placing the north-star top-left.
15
+
16
+ You do **not** decide which metrics matter (that is [kpi-framework](../kpi-framework/SKILL.md)) and you do **not** wire the data source (that is [analytics](../analytics/SKILL.md)). You take a metric set that already exists and make it readable at a glance.
17
+
18
+ Run `scripts/verify.sh dashboard.yaml` before you hand off. It checks shape and discipline (tile budget, one north-star, required keys, banned charts) — never whether the numbers are correct.
19
+
20
+ ## The one rule: the 5-second read
21
+
22
+ A dashboard is a **glance, not a report**. The reader looks at the top-left, gets the headline, and decides whether anything needs their attention. Everything you do serves that.
23
+
24
+ - One north-star tile, read first, top-left. Why: a screen with no clear entry point forces the reader to hunt, and they won't.
25
+ - If a tile does not change a decision, it is decoration. Cut it (Decision Test below).
26
+ - A bare number is not actionable. Every number carries a comparison.
27
+
28
+ ## The Decision Test gate
29
+
30
+ No tile exists until its metric names the **action it drives**. Ask: *what does someone do differently based on this number?* If the answer is vague ("good to know", "shows we're growing"), the metric is vanity — cut it or convert it.
31
+
32
+ | Vanity metric (Bad) | Actionable conversion (Good) | Decision it drives |
33
+ | --- | --- | --- |
34
+ | Total followers | Follower-growth rate WoW | Double down or change content cadence |
35
+ | Total page views | Conversion rate by source | Reallocate spend to the converting channel |
36
+ | Cumulative signups | Activation rate (signup → key action) | Fix onboarding if activation drops |
37
+ | Total revenue (all-time) | MRR + net revenue retention | Whether to hire / extend runway |
38
+ | App downloads | 7-day retention | Kill or scale the acquisition channel |
39
+
40
+ Rule: an always-up counter ("total X") is almost always vanity. Convert it to a **rate or ratio** that can go down. Why: a number that only ever rises never triggers an action.
41
+
42
+ ## Tile budget: 5-9, exactly one north-star
43
+
44
+ Executive dashboards carry roughly **5 to 9 KPIs**. Human working memory caps near ~7 items; more tiles cause analysis paralysis and the screen stops being a glance.
45
+
46
+ - Exactly **one** tile flagged `north_star: true`. Why: a glance needs a single first read.
47
+ - 4-8 supporting tiles around it. Total ≤ 9.
48
+
49
+ When a stakeholder demands 20 metrics, do not cram them — **tier**:
50
+
51
+ - [ ] Does this metric drive a decision the leadership team makes weekly? → main screen.
52
+ - [ ] Is it a diagnostic you only check *after* a main tile turns red? → drill-down view, linked from the parent tile.
53
+ - [ ] Is it commentary / context that needs prose? → route to [reporting](../reporting/SKILL.md), not a tile.
54
+ - [ ] Is it a projection of a metric forward? → [forecasting](../forecasting/SKILL.md), not the live screen.
55
+ - [ ] Does the user want to slice it freely by dimension? → [business-intelligence](../business-intelligence/SKILL.md), not a fixed tile.
56
+
57
+ ## Framing every tile
58
+
59
+ The minimum viable tile is **not** a number. It is a number plus the context that makes it actionable:
60
+
61
+ ```text
62
+ value + comparison(target | prior | benchmark) + delta + units + date range
63
+ + RYG status + owner + refresh cadence
64
+ ```
65
+
66
+ Bad → Good:
67
+
68
+ ```text
69
+ Bad: Churn: 4.1%
70
+ Good: Monthly logo churn — 4.1% ▲0.6pp vs prior month (target ≤3.0%) 🔴
71
+ Owner: Head of CS · Refresh: daily · Range: May 2026
72
+ ```
73
+
74
+ Why each field earns its place:
75
+
76
+ - **comparison** — a number alone has no "is this good?"; target/prior/benchmark supplies it.
77
+ - **delta** — direction and magnitude of change is the second thing the eye wants.
78
+ - **units + date range** — "4.1%" of what, over what window; ambiguity kills trust.
79
+ - **RYG status** — lets the reader triage in the 5-second glance without reading the number.
80
+ - **owner** — every red tile needs an accountable human, or nothing happens.
81
+ - **refresh cadence** — tells the reader how stale the number can be; a "real-time" label on a weekly metric is a lie.
82
+
83
+ ## Chart per metric: pick by shape
84
+
85
+ Choose the chart from the **shape of the question**, not from what looks impressive. Full matrix and edge cases in `references/chart-selection.md`.
86
+
87
+ | Metric shape | Chart | Why |
88
+ | --- | --- | --- |
89
+ | Single headline number | Big-number tile + delta | Fastest read; the north-star usually lives here |
90
+ | Trend over time | Line | Slope shows direction instantly |
91
+ | Category comparison | Sorted horizontal bar | Length is easy to compare; sorting answers "who's worst" |
92
+ | Target vs actual | **Bullet chart** | Compact, comparable; replaces gauges/dials |
93
+ | Part-to-whole (≤5 parts) | Stacked bar or treemap | Pie only legible to 3-5 slices |
94
+ | Correlation | Scatter | Shows relationship between two measures |
95
+ | Distribution | Histogram | Shape of spread, not just average |
96
+
97
+ Kill-list (verify.sh enforces the first two):
98
+
99
+ - No `pie` beyond 5 categories — slices become unreadable. Use a sorted bar.
100
+ - No `gauge` / `dial` — they waste space and resist comparison. Use a **bullet chart**.
101
+ - No dual-axis trickery — two y-axes invent correlations that aren't there.
102
+ - No 3D, no donut-with-center-number gimmicks.
103
+
104
+ ## Layout & data-ink
105
+
106
+ Lay tiles out for the **Z / F scan pattern**: the eye starts top-left, sweeps right, drops down. Put the north-star top-left; group related KPIs together (acquisition cluster, revenue cluster, health cluster).
107
+
108
+ Apply the **data-ink ratio**: if a pixel shows no new information, remove it. Strip heavy borders, drop shadows, gradients, 3D, background textures — they raise cognitive load without adding meaning.
109
+
110
+ **Color is meaning, not decoration.** Use a status palette (red/yellow/green) only for status. A rainbow of tile colors with no semantic meaning makes the screen harder, not friendlier.
111
+
112
+ ```text
113
+ Before: 9 boxed-and-shadowed tiles, each a different bright color,
114
+ 3 pie charts, two gauges, no clear starting point.
115
+ After: north-star top-left (big number + sparkline);
116
+ flat tiles, hairline separators, neutral palette;
117
+ RYG reserved for status; bullets replace gauges;
118
+ sorted bar replaces the pies.
119
+ ```
120
+
121
+ ## The artifact: `dashboard.yaml`
122
+
123
+ Emit a manifest a BI tool, a web app, or a human can build from. Short schema here; full field reference in `references/tile-schema.md`.
124
+
125
+ ```yaml
126
+ # dashboard.yaml — one screen, one north-star
127
+ title: SaaS Exec Dashboard
128
+ date_range: "2026-05"
129
+ tiles:
130
+ - id: waa
131
+ north_star: true
132
+ metric: Weekly Active Accounts
133
+ chart: big_number # + sparkline trend
134
+ value_source: warehouse.fct_active_accounts
135
+ units: accounts
136
+ comparison: { type: target, value: 1200 }
137
+ delta: vs_prior_week
138
+ status_logic: "green ≥ target; yellow ≥ 90%; red < 90%"
139
+ owner: VP Product
140
+ refresh: daily
141
+ decision: "If below 90% of target two weeks running, escalate activation work."
142
+ - id: nrr
143
+ metric: Net Revenue Retention
144
+ chart: big_number
145
+ comparison: { type: benchmark, value: 110 } # %
146
+ units: percent
147
+ owner: VP Sales
148
+ refresh: monthly
149
+ decision: "Below 100% triggers a save/expansion review."
150
+ - id: churn
151
+ metric: Monthly Logo Churn
152
+ chart: line
153
+ comparison: { type: target, value: 3.0 }
154
+ units: percent
155
+ owner: Head of CS
156
+ refresh: daily
157
+ decision: "Above target investigates cohort + reason codes."
158
+ - id: runway
159
+ metric: Cash Runway
160
+ chart: bullet # actual vs target months
161
+ comparison: { type: target, value: 18 }
162
+ units: months
163
+ owner: CFO
164
+ refresh: monthly
165
+ decision: "Under 12 months opens fundraise / cost review."
166
+ - id: pipeline
167
+ metric: New Pipeline by Source
168
+ chart: sorted_bar
169
+ comparison: { type: prior, value: last_month }
170
+ units: currency
171
+ owner: Head of Marketing
172
+ refresh: weekly
173
+ decision: "Shift spend toward the top-converting source."
174
+ layout:
175
+ north_star: top_left
176
+ scan: Z
177
+ groups: [growth, revenue, health]
178
+ ```
179
+
180
+ verify.sh parses this, counts tiles (must be 1-9), checks exactly one `north_star: true`, requires `metric/chart/comparison/owner/refresh/decision` on every tile, and rejects banned charts.
181
+
182
+ ## Anti-patterns
183
+
184
+ | Anti-pattern | Why it fails | Do instead |
185
+ | --- | --- | --- |
186
+ | 20 tiles on one screen | Past ~7, no one can read it in 5 seconds | Cut to 5-9; tier the rest to a drill-down |
187
+ | Vanity metrics (totals, followers) | Never trigger an action | Apply the Decision Test; convert to rates |
188
+ | Bare numbers, no comparison | No "is this good?" signal | Add target / prior / benchmark + delta |
189
+ | Pie chart with 8 slices | Slices become unreadable | Sorted horizontal bar |
190
+ | Gauges and dials | Waste space, resist comparison | Bullet chart |
191
+ | Rainbow tile colors | Color reads as meaning when it isn't | Neutral tiles; RYG for status only |
192
+ | "Real-time" on everything | False precision; refresh-cost theater | Match refresh to decision cadence |
193
+ | It's actually a report | Prose + commentary isn't a glance | Move narrative to reporting |
194
+ | No north-star | Reader has no entry point | One `north_star: true` tile, top-left |
195
+
196
+ ## Handoff
197
+
198
+ - Metrics undefined? Define the north-star, metric tree, targets and owners first → [kpi-framework](../kpi-framework/SKILL.md).
199
+ - No data behind the tiles? Instrument events, funnels, attribution → [analytics](../analytics/SKILL.md).
200
+ - Need a written status with commentary on *why* a number moved → [reporting](../reporting/SKILL.md).
201
+ - Projecting a metric forward under scenarios → [forecasting](../forecasting/SKILL.md).
202
+ - Self-serve slice-and-dice / semantic layer → [business-intelligence](../business-intelligence/SKILL.md).
203
+ - Reading out an experiment / variant significance → [ab-testing](../ab-testing/SKILL.md).
204
+ - Visual polish, spacing, type scale of the rendered screen → [design](../design/SKILL.md).
205
+ - Pulling/joining the underlying numbers in a sheet → [spreadsheet-ops](../spreadsheet-ops/SKILL.md).
@@ -0,0 +1,3 @@
1
+ # Evals — dashboard
2
+
3
+ `cases.yaml` is a human/LLM-graded trigger and capability set, not an auto-runner. To use it: read each `should_trigger` prompt and confirm an agent routing skills would reach into `dashboard`, then read each `should_not_trigger` prompt and confirm it routes to the named sibling instead (the boundary against `kpi-framework`, `analytics`, `reporting`, `forecasting`, `business-intelligence`, and `ab-testing`) — eyeball the routing, don't just trust the labels. For the `capability` case, have the agent actually produce a `dashboard.yaml` from the 14-metric scenario, then grade the output against the `must_include` rubric and run `scripts/verify.sh path/to/dashboard.yaml`; a real pass means the rubric items are all present AND verify.sh exits 0. verify.sh needs `python3` with PyYAML and is read-only, so it is safe to run on any candidate artifact.
@@ -0,0 +1,50 @@
1
+ skill: dashboard
2
+
3
+ should_trigger:
4
+ - prompt: "Build a KPI dashboard for our leadership team that fits on one screen."
5
+ why: Core build job — arrange a metric set into a scannable one-screen layout.
6
+ - prompt: "Nobody opens the dashboard we built — it has too many charts and you can't tell if we're healthy."
7
+ why: Non-obvious audit/fix symptom; the tile-budget + 5-second-read failure mode this skill owns.
8
+ - prompt: "Which chart should each of these 8 metrics use? Some are trends, some are target-vs-actual."
9
+ why: Chart-per-metric selection is a core capability (line vs bullet vs sorted bar).
10
+ - prompt: "Munta un dashboard de KPIs per a direcció amb el north-star a dalt."
11
+ why: Catalan phrasing for the build job, including the north-star placement rule.
12
+ - prompt: "El dashboard tiene 20 gráficos y nadie lo mira — recórtalo a lo que de verdad importa."
13
+ why: Spanish phrasing; tile-budget + Decision Test (cutting vanity tiles).
14
+ - prompt: "Turn this list of metrics into a tiered, scannable layout with one north-star tile."
15
+ why: Layout hierarchy / Z-F scan with a single entry point.
16
+ - prompt: "Give me a dashboard.yaml manifest a developer can render for our exec metrics."
17
+ why: Producing the checkable artifact (tile manifest) is the literal output of this skill.
18
+
19
+ should_not_trigger:
20
+ - prompt: "Decide our north-star metric and build the metric tree with targets and owners."
21
+ route_to: kpi-framework
22
+ why: Defining which metrics matter and their targets — dashboard displays a metric set, it does not choose it.
23
+ - prompt: "Set up event tracking and funnels in PostHog so we can measure activation."
24
+ route_to: analytics
25
+ why: Instrumentation and data production — analytics produces the numbers the dashboard arranges.
26
+ - prompt: "Write the monthly board report with commentary on why churn rose."
27
+ route_to: reporting
28
+ why: A narrative document with prose, not a live at-a-glance screen.
29
+ - prompt: "Project our MRR for the next 4 quarters under three scenarios."
30
+ route_to: forecasting
31
+ why: Predicting a metric forward, not displaying current status.
32
+ - prompt: "Build a self-serve BI semantic layer so anyone can slice revenue by any dimension."
33
+ route_to: business-intelligence
34
+ why: Exploration / semantic modeling platform, not a fixed at-a-glance screen.
35
+ - prompt: "Read out our pricing A/B test — is variant B's lift significant?"
36
+ route_to: ab-testing
37
+ why: Experiment readout / variant significance, not dashboard layout.
38
+
39
+ capability:
40
+ - scenario: >
41
+ Given a raw list of 14 candidate metrics for a SaaS exec team — including vanity
42
+ ones like total signups, total page views, and total followers — produce a
43
+ dashboard.yaml manifest plus a one-screen layout.
44
+ must_include:
45
+ - Applies the Decision Test and cuts or converts vanity metrics (total signups → activation rate; page views → conversion rate by source; total followers → follower-growth rate).
46
+ - Final manifest has 5-9 tiles with exactly one tile flagged north_star true.
47
+ - Every tile carries a comparison (target | prior | benchmark), an owner, a refresh cadence, and a non-empty decision field.
48
+ - Correct chart per metric shape (trend → line, target-vs-actual → bullet, category comparison → sorted bar, headline → big_number); no pie >5 slices and no gauge/dial.
49
+ - A layout block placing the north-star top-left with a Z or F scan and grouped tiles.
50
+ - Valid YAML that passes scripts/verify.sh (parses, budget, one north-star, required keys, no banned charts).
@@ -0,0 +1,34 @@
1
+ # Chart selection — full matrix and edge cases
2
+
3
+ Pick the chart from the **shape of the question the metric answers**, not from novelty. The body table covers the common cases; this is the full matrix plus the situations where the obvious choice is wrong.
4
+
5
+ ## Full metric-shape → chart matrix
6
+
7
+ | Metric shape | Primary chart | Acceptable alternative | Avoid |
8
+ | --- | --- | --- | --- |
9
+ | One headline number, "where are we now" | Big-number tile + delta | Big number + sparkline | Gauge, dial |
10
+ | Value over time, "which way is it going" | Line | Area (only if part-to-whole over time) | Many overlapping lines (>4) |
11
+ | Compare a category across items | Sorted horizontal bar | Dot plot | Pie, vertical bars with long labels |
12
+ | Actual vs a single target | Bullet chart | Bar with a target reference line | Gauge, dial, donut |
13
+ | Part-to-whole, ≤5 parts | Stacked bar | Treemap, pie (3-5 slices only) | Pie >5, nested donuts |
14
+ | Part-to-whole over time | 100% stacked area/bar | Small multiples of stacked bars | 3D area |
15
+ | Relationship between two measures | Scatter | Bubble (adds a 3rd measure via size) | Dual-axis line |
16
+ | Distribution of a measure | Histogram | Box plot | Single average number alone |
17
+ | Progress toward a deadline/goal | Bullet or progress bar | Burn-up line | Gauge |
18
+ | Geographic spread | Choropleth map | Sorted bar by region | 3D map, bubble-on-map clutter |
19
+
20
+ ## Edge cases where the obvious chart is wrong
21
+
22
+ - **Sparkline inside a tile.** A north-star big number reads better with a tiny inline trend than with a separate chart tile. Use a sparkline when the *value* is the message and the *trend* is supporting context.
23
+ - **Small multiples beat one busy chart.** Comparing the same trend across 6 segments? Don't stack 6 lines on one axis — render 6 small identical line charts in a grid. The eye compares shapes faster than it untangles a spaghetti chart.
24
+ - **When a plain table beats every chart.** If the reader needs to look up exact values, compare more than ~3 precise numbers per row, or the data is inherently tabular (a ranked leaderboard with several columns), a clean table with right-aligned numbers and inline RYG cells wins. A chart that forces the reader back to a tooltip for the real number has failed.
25
+ - **Log scale.** Use only when values span orders of magnitude (e.g. error counts from 1 to 100,000) AND the audience understands log axes. For an exec dashboard, prefer splitting the metric or using a different view — a log axis silently understates big swings to a non-technical reader.
26
+ - **Annotating inflection points.** A trend line earns a one-line annotation at the moment something changed ("v2 launch", "price increase"). Why: the reader's first question at any bend is "what happened here"; answer it on the chart, not in a footnote.
27
+ - **Sorted bars for "who missed target".** When the question is accountability ("which regions are below plan"), sort bars by gap-to-target and color the misses. Don't sort alphabetically — sorting *is* the answer.
28
+ - **Dual axis: almost never.** Two y-axes on one chart invent correlations by letting you scale each line to "look related". If two metrics must be compared, normalize both to an index (base 100) and plot on one axis, or use two stacked charts.
29
+
30
+ ## Color discipline
31
+
32
+ - Reserve red/yellow/green strictly for **status**. If everything is colored, nothing signals.
33
+ - Use a single neutral hue for non-status series; differentiate by position and labels, not by a rainbow.
34
+ - Ensure status is not encoded by color alone — pair RYG with an icon or shape so the screen stays readable for color-blind viewers (visual polish lives in [design](../../design/SKILL.md)).
@@ -0,0 +1,164 @@
1
+ # Tile schema — `dashboard.yaml` field reference
2
+
3
+ The artifact `dashboard.yaml` is a manifest a BI tool, a web app, or a human can render. This is the full field-by-field reference, two filled examples, and exactly what `scripts/verify.sh` enforces.
4
+
5
+ ## Top-level keys
6
+
7
+ | Key | Required | Type | Notes |
8
+ | --- | --- | --- | --- |
9
+ | `title` | yes | string | Dashboard name shown to the reader |
10
+ | `date_range` | yes | string | Active window, e.g. `"2026-05"` or `"last 90d"` |
11
+ | `tiles` | yes | list | 1-9 entries (budget rule; verify.sh fails >9) |
12
+ | `layout` | yes | map | Placement + scan pattern (below) |
13
+
14
+ ## Tile fields
15
+
16
+ | Field | Required | Type | Notes |
17
+ | --- | --- | --- | --- |
18
+ | `id` | yes | string | Unique slug, referenced by drill-downs |
19
+ | `north_star` | one tile only | bool | Exactly one tile sets `true`; verify.sh enforces |
20
+ | `metric` | yes | string | Human label of the KPI |
21
+ | `chart` | yes | enum | `big_number`, `line`, `sorted_bar`, `bullet`, `stacked_bar`, `treemap`, `scatter`, `histogram`. Banned: `pie` >5 cats, `gauge`, `dial` |
22
+ | `value_source` | recommended | string | Where the number comes from (table/query/sheet) — analytics owns this |
23
+ | `units` | recommended | enum/string | `percent`, `currency`, `count`, `months`, etc. |
24
+ | `comparison` | yes | map | `{ type: target\|prior\|benchmark, value: <n or ref> }` |
25
+ | `delta` | recommended | string | What the change is measured against, e.g. `vs_prior_week` |
26
+ | `status_logic` | recommended | string | The RYG rule, e.g. `"green ≥ target; yellow ≥ 90%; red < 90%"` |
27
+ | `owner` | yes | string | Accountable human/role |
28
+ | `refresh` | yes | enum | `realtime`, `hourly`, `daily`, `weekly`, `monthly` — match to decision cadence |
29
+ | `decision` | yes | string | The Decision Test answer: what action this number drives. Must be non-empty |
30
+
31
+ ## `layout` block
32
+
33
+ | Field | Type | Notes |
34
+ | --- | --- | --- |
35
+ | `north_star` | enum | `top_left` (recommended) — where the entry-point tile sits |
36
+ | `scan` | enum | `Z` or `F` reading pattern |
37
+ | `groups` | list | Named clusters of related tiles, e.g. `[growth, revenue, health]` |
38
+
39
+ ## Example A — SaaS exec (the body's worked example, extended)
40
+
41
+ ```yaml
42
+ title: SaaS Exec Dashboard
43
+ date_range: "2026-05"
44
+ tiles:
45
+ - id: waa
46
+ north_star: true
47
+ metric: Weekly Active Accounts
48
+ chart: big_number
49
+ units: accounts
50
+ comparison: { type: target, value: 1200 }
51
+ delta: vs_prior_week
52
+ status_logic: "green ≥ target; yellow ≥ 90%; red < 90%"
53
+ owner: VP Product
54
+ refresh: daily
55
+ decision: "Below 90% of target two weeks running escalates activation work."
56
+ - id: nrr
57
+ metric: Net Revenue Retention
58
+ chart: big_number
59
+ units: percent
60
+ comparison: { type: benchmark, value: 110 }
61
+ owner: VP Sales
62
+ refresh: monthly
63
+ decision: "Below 100% triggers a save/expansion review."
64
+ - id: churn
65
+ metric: Monthly Logo Churn
66
+ chart: line
67
+ units: percent
68
+ comparison: { type: target, value: 3.0 }
69
+ owner: Head of CS
70
+ refresh: daily
71
+ decision: "Above target investigates cohort + reason codes."
72
+ - id: runway
73
+ metric: Cash Runway
74
+ chart: bullet
75
+ units: months
76
+ comparison: { type: target, value: 18 }
77
+ owner: CFO
78
+ refresh: monthly
79
+ decision: "Under 12 months opens fundraise / cost review."
80
+ - id: pipeline
81
+ metric: New Pipeline by Source
82
+ chart: sorted_bar
83
+ units: currency
84
+ comparison: { type: prior, value: last_month }
85
+ owner: Head of Marketing
86
+ refresh: weekly
87
+ decision: "Shift spend toward the top-converting source."
88
+ layout:
89
+ north_star: top_left
90
+ scan: Z
91
+ groups: [growth, revenue, health]
92
+ ```
93
+
94
+ ## Example B — E-commerce ops
95
+
96
+ ```yaml
97
+ title: E-commerce Ops Dashboard
98
+ date_range: "last 28d"
99
+ tiles:
100
+ - id: rev
101
+ north_star: true
102
+ metric: Net Revenue
103
+ chart: big_number
104
+ units: currency
105
+ comparison: { type: prior, value: prev_28d }
106
+ delta: vs_prior_period
107
+ status_logic: "green ≥ prior; yellow within -5%; red < -5%"
108
+ owner: Head of Ecom
109
+ refresh: daily
110
+ decision: "A red week triggers a promo / merchandising review."
111
+ - id: cvr
112
+ metric: Conversion Rate by Channel
113
+ chart: sorted_bar
114
+ units: percent
115
+ comparison: { type: benchmark, value: 2.5 }
116
+ owner: Growth Lead
117
+ refresh: daily
118
+ decision: "Reallocate ad spend toward channels above benchmark."
119
+ - id: aov
120
+ metric: Average Order Value
121
+ chart: line
122
+ units: currency
123
+ comparison: { type: prior, value: prev_28d }
124
+ owner: Merchandising
125
+ refresh: daily
126
+ decision: "Falling AOV prompts a bundle / upsell test."
127
+ - id: cac
128
+ metric: CAC vs Target
129
+ chart: bullet
130
+ units: currency
131
+ comparison: { type: target, value: 35 }
132
+ owner: Growth Lead
133
+ refresh: weekly
134
+ decision: "Over target pauses the worst-performing campaign."
135
+ - id: returns
136
+ metric: Return Rate
137
+ chart: line
138
+ units: percent
139
+ comparison: { type: target, value: 8.0 }
140
+ owner: Ops Manager
141
+ refresh: weekly
142
+ decision: "A rising trend opens a sizing/quality investigation."
143
+ layout:
144
+ north_star: top_left
145
+ scan: F
146
+ groups: [acquisition, revenue, fulfillment]
147
+ ```
148
+
149
+ ## What `verify.sh` enforces (and what it does not)
150
+
151
+ Enforces — **shape and discipline**:
152
+
153
+ 1. File parses as YAML.
154
+ 2. `tiles:` exists and holds 1-9 entries (fails if >9 — the budget rule).
155
+ 3. Exactly one tile has `north_star: true`.
156
+ 4. Every tile has non-empty `metric`, `chart`, `comparison`, `owner`, `refresh`, `decision`.
157
+ 5. No `chart: pie` with more than 5 categories; no `chart: gauge` or `chart: dial`.
158
+
159
+ Does **not** judge:
160
+
161
+ - Whether the chosen metrics are the *right* metrics — that is [kpi-framework](../../kpi-framework/SKILL.md).
162
+ - Whether the numbers/values are correct — that is the data layer ([analytics](../../analytics/SKILL.md)).
163
+
164
+ So a `dashboard.yaml` can pass verify.sh and still display the wrong metrics. verify.sh guards the craft of the dashboard, not the choice of what to measure.