skilldrop-cli 0.16.3__py3-none-any.whl

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 (757) hide show
  1. skilldrop_cli/__init__.py +16 -0
  2. skilldrop_cli/__main__.py +3 -0
  3. skilldrop_cli/data/LICENSE +9 -0
  4. skilldrop_cli/data/LICENSE-APACHE +202 -0
  5. skilldrop_cli/data/LICENSE-MIT +21 -0
  6. skilldrop_cli/data/agents/README.md +127 -0
  7. skilldrop_cli/data/agents/code-quality.md +40 -0
  8. skilldrop_cli/data/agents/devils-advocate.md +40 -0
  9. skilldrop_cli/data/agents/security-reviewer.md +44 -0
  10. skilldrop_cli/data/bin/skilldrop.js +2110 -0
  11. skilldrop_cli/data/catalogue.json +187 -0
  12. skilldrop_cli/data/contracts/agent.schema.json +28 -0
  13. skilldrop_cli/data/contracts/catalogue.schema.json +33 -0
  14. skilldrop_cli/data/contracts/guide.schema.json +18 -0
  15. skilldrop_cli/data/contracts/loop.schema.json +87 -0
  16. skilldrop_cli/data/contracts/pack.schema.json +75 -0
  17. skilldrop_cli/data/contracts/skill.schema.json +110 -0
  18. skilldrop_cli/data/contracts/terminals.json +33 -0
  19. skilldrop_cli/data/model-routing.json +474 -0
  20. skilldrop_cli/data/package.json +46 -0
  21. skilldrop_cli/data/packs/ai-engineering/pack.json +57 -0
  22. skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/SKILL.md +90 -0
  23. skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/evals/eval_queries.json +34 -0
  24. skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/evals/evals.json +19 -0
  25. skilldrop_cli/data/packs/ai-engineering/skills/agent-adoption-stage/manifest.json +39 -0
  26. skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/SKILL.md +63 -0
  27. skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/evals/eval_queries.json +11 -0
  28. skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/evals/evals.json +28 -0
  29. skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/manifest.json +11 -0
  30. skilldrop_cli/data/packs/ai-engineering/skills/agent-budget/templates/budget-spec.md +30 -0
  31. skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/SKILL.md +70 -0
  32. skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/evals/eval_queries.json +11 -0
  33. skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/evals/evals.json +28 -0
  34. skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/manifest.json +11 -0
  35. skilldrop_cli/data/packs/ai-engineering/skills/agent-loop-design/templates/loop-spec.md +46 -0
  36. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/SKILL.md +89 -0
  37. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/evals/eval_queries.json +15 -0
  38. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/evals/evals.json +41 -0
  39. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/examples/support-triage-agent.md +117 -0
  40. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/manifest.json +11 -0
  41. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/reference.md +101 -0
  42. skilldrop_cli/data/packs/ai-engineering/skills/agent-threat-model/templates/agent-threat-model.md +71 -0
  43. skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/SKILL.md +61 -0
  44. skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/evals/eval_queries.json +34 -0
  45. skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/evals/evals.json +19 -0
  46. skilldrop_cli/data/packs/ai-engineering/skills/ai-adoption-rollout/manifest.json +33 -0
  47. skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/SKILL.md +68 -0
  48. skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/evals/eval_queries.json +34 -0
  49. skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/evals/evals.json +17 -0
  50. skilldrop_cli/data/packs/ai-engineering/skills/ai-readiness-assessment/manifest.json +35 -0
  51. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/SKILL.md +67 -0
  52. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/evals/eval_queries.json +34 -0
  53. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/evals/evals.json +19 -0
  54. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-policy/manifest.json +33 -0
  55. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/SKILL.md +111 -0
  56. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/evals/eval_queries.json +30 -0
  57. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +19 -0
  58. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/evals/files/1/northwind-ai-events.csv +4213 -0
  59. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/examples/weekly-engineering-team.md +133 -0
  60. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/manifest.json +12 -0
  61. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/scripts/build_report.py +436 -0
  62. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/templates/report-per-user.md +42 -0
  63. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/templates/report-team-rollup.md +49 -0
  64. skilldrop_cli/data/packs/ai-engineering/skills/ai-usage-report/templates/usage-event-schema.md +76 -0
  65. skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/SKILL.md +59 -0
  66. skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/evals/eval_queries.json +34 -0
  67. skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/evals/evals.json +18 -0
  68. skilldrop_cli/data/packs/ai-engineering/skills/ai-use-case-triage/manifest.json +34 -0
  69. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/SKILL.md +73 -0
  70. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/evals/eval_queries.json +34 -0
  71. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/evals/evals.json +19 -0
  72. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/manifest.json +11 -0
  73. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/reference.md +58 -0
  74. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/templates/eval-plan.md +63 -0
  75. skilldrop_cli/data/packs/ai-engineering/skills/llm-eval-harness/templates/golden-case.jsonl +5 -0
  76. skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/SKILL.md +69 -0
  77. skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/evals/eval_queries.json +11 -0
  78. skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/evals/evals.json +29 -0
  79. skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/manifest.json +11 -0
  80. skilldrop_cli/data/packs/ai-engineering/skills/subagent-design/templates/orchestration-plan.md +47 -0
  81. skilldrop_cli/data/packs/api-builder/pack.json +48 -0
  82. skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/SKILL.md +84 -0
  83. skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/evals/eval_queries.json +30 -0
  84. skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/evals/evals.json +19 -0
  85. skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/evals/files/1/SKILL.md +31 -0
  86. skilldrop_cli/data/packs/api-builder/skills/eval-harness-generator/manifest.json +11 -0
  87. skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/SKILL.md +90 -0
  88. skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/evals/eval_queries.json +30 -0
  89. skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/evals/evals.json +19 -0
  90. skilldrop_cli/data/packs/api-builder/skills/prompt-caching-advisor/manifest.json +11 -0
  91. skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/SKILL.md +75 -0
  92. skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/evals/eval_queries.json +30 -0
  93. skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/evals/evals.json +18 -0
  94. skilldrop_cli/data/packs/api-builder/skills/token-budget-estimator/manifest.json +11 -0
  95. skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/SKILL.md +111 -0
  96. skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/evals/eval_queries.json +30 -0
  97. skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/evals/evals.json +18 -0
  98. skilldrop_cli/data/packs/api-builder/skills/tool-use-schema-writer/manifest.json +11 -0
  99. skilldrop_cli/data/packs/converters/pack.json +66 -0
  100. skilldrop_cli/data/packs/converters/skills/file-to-markdown/SKILL.md +103 -0
  101. skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/eval_queries.json +34 -0
  102. skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/evals.json +27 -0
  103. skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/files/1/northwind-q3.pptx +0 -0
  104. skilldrop_cli/data/packs/converters/skills/file-to-markdown/evals/files/2/acme-contract-summary.pdf +93 -0
  105. skilldrop_cli/data/packs/converters/skills/file-to-markdown/examples/inputs/accounts.json +1 -0
  106. skilldrop_cli/data/packs/converters/skills/file-to-markdown/examples/inputs/fabrikam-status.html +14 -0
  107. skilldrop_cli/data/packs/converters/skills/file-to-markdown/examples/mixed-inputs.md +306 -0
  108. skilldrop_cli/data/packs/converters/skills/file-to-markdown/manifest.json +49 -0
  109. skilldrop_cli/data/packs/converters/skills/file-to-markdown/scripts/to_markdown.py +1299 -0
  110. skilldrop_cli/data/packs/converters/skills/md-to-docx/SKILL.md +124 -0
  111. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/eval_queries.json +10 -0
  112. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/evals.json +29 -0
  113. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/brand.json +80 -0
  114. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/logo-white.png +0 -0
  115. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/logo.png +0 -0
  116. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/brand/mark.png +0 -0
  117. skilldrop_cli/data/packs/converters/skills/md-to-docx/evals/files/1/docs/vendor-onboarding.md +42 -0
  118. skilldrop_cli/data/packs/converters/skills/md-to-docx/examples/q3-support-review-input.md +54 -0
  119. skilldrop_cli/data/packs/converters/skills/md-to-docx/examples/q3-support-review.md +80 -0
  120. skilldrop_cli/data/packs/converters/skills/md-to-docx/examples/tickets-by-region.png +0 -0
  121. skilldrop_cli/data/packs/converters/skills/md-to-docx/manifest.json +52 -0
  122. skilldrop_cli/data/packs/converters/skills/md-to-docx/reference.md +89 -0
  123. skilldrop_cli/data/packs/converters/skills/md-to-docx/scripts/md_to_docx.py +1114 -0
  124. skilldrop_cli/data/packs/converters/skills/md-to-html/SKILL.md +100 -0
  125. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/eval_queries.json +34 -0
  126. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/evals.json +18 -0
  127. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/brand.json +80 -0
  128. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/logo-white.png +0 -0
  129. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/logo.png +0 -0
  130. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/brand/mark.png +0 -0
  131. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/docs/q3-review.md +35 -0
  132. skilldrop_cli/data/packs/converters/skills/md-to-html/evals/files/1/img/dashboard.png +0 -0
  133. skilldrop_cli/data/packs/converters/skills/md-to-html/examples/inputs/chart.svg +8 -0
  134. skilldrop_cli/data/packs/converters/skills/md-to-html/examples/inputs/ops-review.md +48 -0
  135. skilldrop_cli/data/packs/converters/skills/md-to-html/examples/ops-review.md +83 -0
  136. skilldrop_cli/data/packs/converters/skills/md-to-html/manifest.json +43 -0
  137. skilldrop_cli/data/packs/converters/skills/md-to-html/reference.md +70 -0
  138. skilldrop_cli/data/packs/converters/skills/md-to-html/scripts/md_to_html.py +652 -0
  139. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/SKILL.md +120 -0
  140. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/eval_queries.json +9 -0
  141. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/evals.json +28 -0
  142. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/files/1/exports/northwind-invoices.csv +25 -0
  143. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/evals/files/2/reports/q3-ops-review.md +32 -0
  144. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/examples/vendor-review-input.md +28 -0
  145. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/examples/vendor-review.md +94 -0
  146. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/manifest.json +33 -0
  147. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/reference.md +94 -0
  148. skilldrop_cli/data/packs/converters/skills/md-to-xlsx/scripts/md_to_xlsx.py +667 -0
  149. skilldrop_cli/data/packs/converters/skills/mermaid-render/SKILL.md +109 -0
  150. skilldrop_cli/data/packs/converters/skills/mermaid-render/evals/eval_queries.json +30 -0
  151. skilldrop_cli/data/packs/converters/skills/mermaid-render/evals/evals.json +17 -0
  152. skilldrop_cli/data/packs/converters/skills/mermaid-render/evals/files/1/docs/contoso-orders.md +23 -0
  153. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/broken-diagrams.md +147 -0
  154. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/broken-flowchart.mmd +8 -0
  155. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/broken-sequence.mmd +11 -0
  156. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/checkout-flow.mmd +9 -0
  157. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/design-notes.md +35 -0
  158. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/fixed-flowchart.mmd +9 -0
  159. skilldrop_cli/data/packs/converters/skills/mermaid-render/examples/inputs/typo.mmd +2 -0
  160. skilldrop_cli/data/packs/converters/skills/mermaid-render/manifest.json +40 -0
  161. skilldrop_cli/data/packs/converters/skills/mermaid-render/reference.md +70 -0
  162. skilldrop_cli/data/packs/converters/skills/mermaid-render/scripts/render_mermaid.py +486 -0
  163. skilldrop_cli/data/packs/core/loops/ship-a-draft/LOOP.md +77 -0
  164. skilldrop_cli/data/packs/core/loops/ship-a-draft/evals/eval_queries.json +30 -0
  165. skilldrop_cli/data/packs/core/loops/ship-a-draft/evals/evals.json +25 -0
  166. skilldrop_cli/data/packs/core/loops/ship-a-draft/loop.json +41 -0
  167. skilldrop_cli/data/packs/core/pack.json +50 -0
  168. skilldrop_cli/data/packs/core/skills/brief-intake/SKILL.md +79 -0
  169. skilldrop_cli/data/packs/core/skills/brief-intake/evals/eval_queries.json +34 -0
  170. skilldrop_cli/data/packs/core/skills/brief-intake/evals/evals.json +16 -0
  171. skilldrop_cli/data/packs/core/skills/brief-intake/manifest.json +11 -0
  172. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-adr.md +41 -0
  173. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-decision-log.md +35 -0
  174. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-deck.md +43 -0
  175. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-design-doc.md +48 -0
  176. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-exec-summary.md +47 -0
  177. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-generic.md +45 -0
  178. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-runbook.md +44 -0
  179. skilldrop_cli/data/packs/core/skills/brief-intake/templates/brief-tech-comparison.md +38 -0
  180. skilldrop_cli/data/packs/core/skills/council-review/SKILL.md +106 -0
  181. skilldrop_cli/data/packs/core/skills/council-review/evals/eval_queries.json +38 -0
  182. skilldrop_cli/data/packs/core/skills/council-review/evals/evals.json +18 -0
  183. skilldrop_cli/data/packs/core/skills/council-review/examples/redis-cache-decision.md +75 -0
  184. skilldrop_cli/data/packs/core/skills/council-review/manifest.json +11 -0
  185. skilldrop_cli/data/packs/core/skills/council-review/reference.md +76 -0
  186. skilldrop_cli/data/packs/core/skills/council-review/seats/architect.md +29 -0
  187. skilldrop_cli/data/packs/core/skills/council-review/seats/bench.md +39 -0
  188. skilldrop_cli/data/packs/core/skills/council-review/seats/operator.md +27 -0
  189. skilldrop_cli/data/packs/core/skills/council-review/seats/pragmatist.md +29 -0
  190. skilldrop_cli/data/packs/core/skills/council-review/seats/security-engineer.md +29 -0
  191. skilldrop_cli/data/packs/core/skills/council-review/seats/user-advocate.md +27 -0
  192. skilldrop_cli/data/packs/core/skills/council-review/templates/council-review.md +59 -0
  193. skilldrop_cli/data/packs/core/skills/doc-critique/SKILL.md +119 -0
  194. skilldrop_cli/data/packs/core/skills/doc-critique/evals/eval_queries.json +38 -0
  195. skilldrop_cli/data/packs/core/skills/doc-critique/evals/evals.json +17 -0
  196. skilldrop_cli/data/packs/core/skills/doc-critique/examples/design-doc-critique.md +34 -0
  197. skilldrop_cli/data/packs/core/skills/doc-critique/manifest.json +11 -0
  198. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/adr.md +36 -0
  199. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/decision-log.md +39 -0
  200. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/deck.md +45 -0
  201. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/design-doc.md +42 -0
  202. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/exec-summary.md +41 -0
  203. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/generic.md +40 -0
  204. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/runbook.md +42 -0
  205. skilldrop_cli/data/packs/core/skills/doc-critique/rubrics/tech-comparison.md +40 -0
  206. skilldrop_cli/data/packs/core/skills/doc-critique/templates/critique.md +49 -0
  207. skilldrop_cli/data/packs/core/skills/output-hygiene/SKILL.md +97 -0
  208. skilldrop_cli/data/packs/core/skills/output-hygiene/evals/eval_queries.json +11 -0
  209. skilldrop_cli/data/packs/core/skills/output-hygiene/evals/evals.json +30 -0
  210. skilldrop_cli/data/packs/core/skills/output-hygiene/manifest.json +34 -0
  211. skilldrop_cli/data/packs/core/skills/output-hygiene/reference.md +106 -0
  212. skilldrop_cli/data/packs/core/skills/output-hygiene/scripts/scrub.py +315 -0
  213. skilldrop_cli/data/packs/data-analytics/pack.json +57 -0
  214. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/SKILL.md +83 -0
  215. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/evals/eval_queries.json +34 -0
  216. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/evals/evals.json +19 -0
  217. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/examples/support-staffing.md +84 -0
  218. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/manifest.json +40 -0
  219. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/reference.md +45 -0
  220. skilldrop_cli/data/packs/data-analytics/skills/dashboard-spec/templates/dashboard-spec.md +55 -0
  221. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/SKILL.md +84 -0
  222. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/evals/eval_queries.json +34 -0
  223. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/evals/evals.json +19 -0
  224. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/examples/refund-rate.md +104 -0
  225. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/manifest.json +41 -0
  226. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/reference.md +67 -0
  227. skilldrop_cli/data/packs/data-analytics/skills/metric-definition/templates/metric-spec.md +70 -0
  228. skilldrop_cli/data/packs/data-analytics/skills/sql-review/SKILL.md +83 -0
  229. skilldrop_cli/data/packs/data-analytics/skills/sql-review/evals/eval_queries.json +34 -0
  230. skilldrop_cli/data/packs/data-analytics/skills/sql-review/evals/evals.json +19 -0
  231. skilldrop_cli/data/packs/data-analytics/skills/sql-review/examples/revenue-by-region.md +174 -0
  232. skilldrop_cli/data/packs/data-analytics/skills/sql-review/manifest.json +42 -0
  233. skilldrop_cli/data/packs/data-analytics/skills/sql-review/reference.md +84 -0
  234. skilldrop_cli/data/packs/data-analytics/skills/sql-review/scripts/sql_lint.py +461 -0
  235. skilldrop_cli/data/packs/design/pack.json +60 -0
  236. skilldrop_cli/data/packs/design/skills/brand-kit/SKILL.md +105 -0
  237. skilldrop_cli/data/packs/design/skills/brand-kit/evals/eval_queries.json +30 -0
  238. skilldrop_cli/data/packs/design/skills/brand-kit/evals/evals.json +18 -0
  239. skilldrop_cli/data/packs/design/skills/brand-kit/evals/files/1/brand/northwind-logo-white.png +0 -0
  240. skilldrop_cli/data/packs/design/skills/brand-kit/evals/files/1/brand/northwind-logo.png +0 -0
  241. skilldrop_cli/data/packs/design/skills/brand-kit/examples/northwind-brand.md +48 -0
  242. skilldrop_cli/data/packs/design/skills/brand-kit/manifest.json +45 -0
  243. skilldrop_cli/data/packs/design/skills/brand-kit/scripts/check_brand.py +114 -0
  244. skilldrop_cli/data/packs/design/skills/brand-kit/templates/brand.json +54 -0
  245. skilldrop_cli/data/packs/design/skills/deck-builder/SKILL.md +201 -0
  246. skilldrop_cli/data/packs/design/skills/deck-builder/evals/eval_queries.json +14 -0
  247. skilldrop_cli/data/packs/design/skills/deck-builder/evals/evals.json +40 -0
  248. skilldrop_cli/data/packs/design/skills/deck-builder/examples/exec-board-update.md +108 -0
  249. skilldrop_cli/data/packs/design/skills/deck-builder/examples/templated-brand-deck.md +148 -0
  250. skilldrop_cli/data/packs/design/skills/deck-builder/manifest.json +18 -0
  251. skilldrop_cli/data/packs/design/skills/deck-builder/reference.md +180 -0
  252. skilldrop_cli/data/packs/design/skills/deck-builder/requirements.txt +3 -0
  253. skilldrop_cli/data/packs/design/skills/deck-builder/scripts/build_deck.py +1134 -0
  254. skilldrop_cli/data/packs/design/skills/deck-builder/templates/deck-spec.json +168 -0
  255. skilldrop_cli/data/packs/design/skills/deck-builder/templates/palettes.json +59 -0
  256. skilldrop_cli/data/packs/design/skills/marketing-flyer/SKILL.md +113 -0
  257. skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/eval_queries.json +30 -0
  258. skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/evals.json +18 -0
  259. skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/brand.json +80 -0
  260. skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/logo-white.png +0 -0
  261. skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/logo.png +0 -0
  262. skilldrop_cli/data/packs/design/skills/marketing-flyer/evals/files/1/brand/mark.png +0 -0
  263. skilldrop_cli/data/packs/design/skills/marketing-flyer/examples/community-health-fair.md +68 -0
  264. skilldrop_cli/data/packs/design/skills/marketing-flyer/manifest.json +40 -0
  265. skilldrop_cli/data/packs/design/skills/marketing-flyer/reference.md +54 -0
  266. skilldrop_cli/data/packs/design/skills/marketing-flyer/scripts/build_flyer.py +323 -0
  267. skilldrop_cli/data/packs/design/skills/marketing-flyer/templates/flyer-spec.json +26 -0
  268. skilldrop_cli/data/packs/design/skills/slide-outliner/SKILL.md +58 -0
  269. skilldrop_cli/data/packs/design/skills/slide-outliner/evals/eval_queries.json +34 -0
  270. skilldrop_cli/data/packs/design/skills/slide-outliner/evals/evals.json +16 -0
  271. skilldrop_cli/data/packs/design/skills/slide-outliner/manifest.json +11 -0
  272. skilldrop_cli/data/packs/design/skills/slide-outliner/templates/deck-outline.md +131 -0
  273. skilldrop_cli/data/packs/dev-team/loops/build/LOOP.md +80 -0
  274. skilldrop_cli/data/packs/dev-team/loops/build/evals/eval_queries.json +30 -0
  275. skilldrop_cli/data/packs/dev-team/loops/build/evals/evals.json +27 -0
  276. skilldrop_cli/data/packs/dev-team/loops/build/loop.json +48 -0
  277. skilldrop_cli/data/packs/dev-team/loops/release/LOOP.md +91 -0
  278. skilldrop_cli/data/packs/dev-team/loops/release/loop.json +47 -0
  279. skilldrop_cli/data/packs/dev-team/pack.json +56 -0
  280. skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/SKILL.md +74 -0
  281. skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/evals/eval_queries.json +30 -0
  282. skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/evals/evals.json +19 -0
  283. skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/examples/login-form.md +76 -0
  284. skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/manifest.json +11 -0
  285. skilldrop_cli/data/packs/dev-team/skills/accessibility-audit/reference.md +69 -0
  286. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/SKILL.md +82 -0
  287. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/eval_queries.json +15 -0
  288. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/evals.json +50 -0
  289. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/Makefile +5 -0
  290. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/alembic/versions/0001_create_bookings.py +10 -0
  291. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/booking/__init__.py +0 -0
  292. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/booking/app.py +8 -0
  293. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/pyproject.toml +11 -0
  294. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/1/tests/test_health.py +5 -0
  295. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/2/AGENTS.md +3 -0
  296. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/2/package.json +12 -0
  297. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/evals/files/2/src/index.ts +1 -0
  298. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/manifest.json +11 -0
  299. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/reference.md +89 -0
  300. skilldrop_cli/data/packs/dev-team/skills/agents-md-generator/templates/agents-md.md +48 -0
  301. skilldrop_cli/data/packs/dev-team/skills/bug-triage/SKILL.md +67 -0
  302. skilldrop_cli/data/packs/dev-team/skills/bug-triage/evals/eval_queries.json +34 -0
  303. skilldrop_cli/data/packs/dev-team/skills/bug-triage/evals/evals.json +17 -0
  304. skilldrop_cli/data/packs/dev-team/skills/bug-triage/manifest.json +14 -0
  305. skilldrop_cli/data/packs/dev-team/skills/bug-triage/templates/bug-ticket.md +86 -0
  306. skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/SKILL.md +134 -0
  307. skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/evals/eval_queries.json +30 -0
  308. skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/evals/evals.json +19 -0
  309. skilldrop_cli/data/packs/dev-team/skills/contribution-wizard/manifest.json +11 -0
  310. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/SKILL.md +143 -0
  311. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/evals/eval_queries.json +38 -0
  312. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/evals/evals.json +19 -0
  313. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/examples/rate-limiter-review.md +46 -0
  314. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/adversarial-review.md +88 -0
  315. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/edge-cases.md +95 -0
  316. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/future-proofing.md +75 -0
  317. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/lenses/test-coverage.md +90 -0
  318. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/manifest.json +14 -0
  319. skilldrop_cli/data/packs/dev-team/skills/devils-advocate/templates/challenge.md +118 -0
  320. skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/SKILL.md +88 -0
  321. skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/evals/eval_queries.json +30 -0
  322. skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/evals/evals.json +19 -0
  323. skilldrop_cli/data/packs/dev-team/skills/feature-implement-loop/manifest.json +14 -0
  324. skilldrop_cli/data/packs/dev-team/skills/launch-readiness/SKILL.md +95 -0
  325. skilldrop_cli/data/packs/dev-team/skills/launch-readiness/evals/eval_queries.json +10 -0
  326. skilldrop_cli/data/packs/dev-team/skills/launch-readiness/evals/evals.json +19 -0
  327. skilldrop_cli/data/packs/dev-team/skills/launch-readiness/examples/schema-change-revise.md +54 -0
  328. skilldrop_cli/data/packs/dev-team/skills/launch-readiness/manifest.json +24 -0
  329. skilldrop_cli/data/packs/dev-team/skills/launch-readiness/templates/readiness-report.md +41 -0
  330. skilldrop_cli/data/packs/dev-team/skills/migration-plan/SKILL.md +68 -0
  331. skilldrop_cli/data/packs/dev-team/skills/migration-plan/evals/eval_queries.json +34 -0
  332. skilldrop_cli/data/packs/dev-team/skills/migration-plan/evals/evals.json +16 -0
  333. skilldrop_cli/data/packs/dev-team/skills/migration-plan/manifest.json +11 -0
  334. skilldrop_cli/data/packs/dev-team/skills/migration-plan/templates/migration-plan.md +68 -0
  335. skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/SKILL.md +85 -0
  336. skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/evals/eval_queries.json +11 -0
  337. skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/evals/evals.json +26 -0
  338. skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/examples/pre-merge-verdict.md +43 -0
  339. skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/manifest.json +15 -0
  340. skilldrop_cli/data/packs/dev-team/skills/pre-merge-review/scripts/gate.py +189 -0
  341. skilldrop_cli/data/packs/dev-team/skills/release-notes/SKILL.md +61 -0
  342. skilldrop_cli/data/packs/dev-team/skills/release-notes/evals/eval_queries.json +30 -0
  343. skilldrop_cli/data/packs/dev-team/skills/release-notes/evals/evals.json +19 -0
  344. skilldrop_cli/data/packs/dev-team/skills/release-notes/manifest.json +11 -0
  345. skilldrop_cli/data/packs/dev-team/skills/release-notes/templates/release-notes.md +83 -0
  346. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/SKILL.md +170 -0
  347. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/evals/eval_queries.json +34 -0
  348. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/evals/evals.json +16 -0
  349. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/manifest.json +11 -0
  350. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/reference.md +151 -0
  351. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/github-actions-sonar-server.yml.tmpl +50 -0
  352. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/github-actions-sonarcloud.yml.tmpl +53 -0
  353. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/readme-snippet.md +38 -0
  354. skilldrop_cli/data/packs/dev-team/skills/sonar-onboard/templates/sonar-project.properties.tmpl +31 -0
  355. skilldrop_cli/data/packs/dev-team/skills/sonar-review/SKILL.md +220 -0
  356. skilldrop_cli/data/packs/dev-team/skills/sonar-review/evals/eval_queries.json +34 -0
  357. skilldrop_cli/data/packs/dev-team/skills/sonar-review/evals/evals.json +16 -0
  358. skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/bugs.md +48 -0
  359. skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/code-smells.md +64 -0
  360. skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/coverage-and-duplication.md +74 -0
  361. skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/security-hotspots.md +56 -0
  362. skilldrop_cli/data/packs/dev-team/skills/sonar-review/lenses/vulnerabilities.md +52 -0
  363. skilldrop_cli/data/packs/dev-team/skills/sonar-review/manifest.json +37 -0
  364. skilldrop_cli/data/packs/dev-team/skills/sonar-review/reference.md +167 -0
  365. skilldrop_cli/data/packs/dev-team/skills/sonar-review/templates/report.md +84 -0
  366. skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/SKILL.md +59 -0
  367. skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/evals/eval_queries.json +34 -0
  368. skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/evals/evals.json +16 -0
  369. skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/manifest.json +11 -0
  370. skilldrop_cli/data/packs/dev-team/skills/test-plan-generator/templates/test-plan.md +83 -0
  371. skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/SKILL.md +88 -0
  372. skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/evals/eval_queries.json +34 -0
  373. skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/evals/evals.json +16 -0
  374. skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/examples/notifications-epic.md +123 -0
  375. skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/manifest.json +14 -0
  376. skilldrop_cli/data/packs/dev-team/skills/user-story-splitter/templates/story.md +40 -0
  377. skilldrop_cli/data/packs/experience-design/pack.json +68 -0
  378. skilldrop_cli/data/packs/experience-design/skills/content-design/SKILL.md +77 -0
  379. skilldrop_cli/data/packs/experience-design/skills/content-design/evals/eval_queries.json +34 -0
  380. skilldrop_cli/data/packs/experience-design/skills/content-design/evals/evals.json +18 -0
  381. skilldrop_cli/data/packs/experience-design/skills/content-design/examples/parking-permit-page.md +102 -0
  382. skilldrop_cli/data/packs/experience-design/skills/content-design/manifest.json +41 -0
  383. skilldrop_cli/data/packs/experience-design/skills/content-design/scripts/readability.py +115 -0
  384. skilldrop_cli/data/packs/experience-design/skills/content-design/templates/content-spec.md +45 -0
  385. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/SKILL.md +79 -0
  386. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/evals/eval_queries.json +34 -0
  387. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/evals/evals.json +19 -0
  388. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/examples/text-field-spec.md +121 -0
  389. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/manifest.json +46 -0
  390. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/reference.md +66 -0
  391. skilldrop_cli/data/packs/experience-design/skills/design-system-spec/templates/component-spec.md +74 -0
  392. skilldrop_cli/data/packs/experience-design/skills/information-architecture/SKILL.md +76 -0
  393. skilldrop_cli/data/packs/experience-design/skills/information-architecture/evals/eval_queries.json +34 -0
  394. skilldrop_cli/data/packs/experience-design/skills/information-architecture/evals/evals.json +19 -0
  395. skilldrop_cli/data/packs/experience-design/skills/information-architecture/examples/payroll-app-nav.md +127 -0
  396. skilldrop_cli/data/packs/experience-design/skills/information-architecture/manifest.json +46 -0
  397. skilldrop_cli/data/packs/experience-design/skills/information-architecture/reference.md +54 -0
  398. skilldrop_cli/data/packs/experience-design/skills/information-architecture/templates/ia-spec.md +77 -0
  399. skilldrop_cli/data/packs/experience-design/skills/service-blueprint/SKILL.md +76 -0
  400. skilldrop_cli/data/packs/experience-design/skills/service-blueprint/evals/eval_queries.json +30 -0
  401. skilldrop_cli/data/packs/experience-design/skills/service-blueprint/evals/evals.json +19 -0
  402. skilldrop_cli/data/packs/experience-design/skills/service-blueprint/examples/insurance-claim-blueprint.md +107 -0
  403. skilldrop_cli/data/packs/experience-design/skills/service-blueprint/manifest.json +45 -0
  404. skilldrop_cli/data/packs/experience-design/skills/service-blueprint/templates/blueprint.md +72 -0
  405. skilldrop_cli/data/packs/experience-design/skills/ux-writing/SKILL.md +77 -0
  406. skilldrop_cli/data/packs/experience-design/skills/ux-writing/evals/eval_queries.json +34 -0
  407. skilldrop_cli/data/packs/experience-design/skills/ux-writing/evals/evals.json +19 -0
  408. skilldrop_cli/data/packs/experience-design/skills/ux-writing/examples/team-invite-flow.md +66 -0
  409. skilldrop_cli/data/packs/experience-design/skills/ux-writing/manifest.json +41 -0
  410. skilldrop_cli/data/packs/experience-design/skills/ux-writing/templates/string-table.md +22 -0
  411. skilldrop_cli/data/packs/grc/pack.json +57 -0
  412. skilldrop_cli/data/packs/grc/skills/dpia/SKILL.md +123 -0
  413. skilldrop_cli/data/packs/grc/skills/dpia/evals/eval_queries.json +34 -0
  414. skilldrop_cli/data/packs/grc/skills/dpia/evals/evals.json +19 -0
  415. skilldrop_cli/data/packs/grc/skills/dpia/examples/acme-warehouse-performance.md +159 -0
  416. skilldrop_cli/data/packs/grc/skills/dpia/manifest.json +47 -0
  417. skilldrop_cli/data/packs/grc/skills/dpia/reference.md +118 -0
  418. skilldrop_cli/data/packs/grc/skills/dpia/templates/dpia.md +103 -0
  419. skilldrop_cli/data/packs/grc/skills/risk-register/SKILL.md +139 -0
  420. skilldrop_cli/data/packs/grc/skills/risk-register/evals/eval_queries.json +34 -0
  421. skilldrop_cli/data/packs/grc/skills/risk-register/evals/evals.json +19 -0
  422. skilldrop_cli/data/packs/grc/skills/risk-register/examples/northwind-register.csv +9 -0
  423. skilldrop_cli/data/packs/grc/skills/risk-register/examples/northwind-register.md +127 -0
  424. skilldrop_cli/data/packs/grc/skills/risk-register/manifest.json +43 -0
  425. skilldrop_cli/data/packs/grc/skills/risk-register/reference.md +99 -0
  426. skilldrop_cli/data/packs/grc/skills/risk-register/scripts/check_register.py +338 -0
  427. skilldrop_cli/data/packs/grc/skills/risk-register/templates/risk-register.csv +2 -0
  428. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/SKILL.md +117 -0
  429. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/evals/eval_queries.json +34 -0
  430. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/evals/evals.json +19 -0
  431. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/examples/northwind-evidence-map.csv +17 -0
  432. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/examples/northwind-type2-security.md +127 -0
  433. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/manifest.json +41 -0
  434. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/reference.md +156 -0
  435. skilldrop_cli/data/packs/grc/skills/soc2-evidence-map/templates/evidence-map.csv +2 -0
  436. skilldrop_cli/data/packs/infra-as-code/pack.json +51 -0
  437. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/SKILL.md +85 -0
  438. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/evals/eval_queries.json +34 -0
  439. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/evals/evals.json +31 -0
  440. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/README.md +71 -0
  441. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/examples/basic/main.tf +30 -0
  442. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/main.tf +153 -0
  443. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/outputs.tf +14 -0
  444. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/variables.tf +71 -0
  445. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket/versions.tf +10 -0
  446. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/examples/s3-log-bucket.md +50 -0
  447. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/manifest.json +41 -0
  448. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/reference.md +105 -0
  449. skilldrop_cli/data/packs/infra-as-code/skills/terraform-module/templates/module-readme.md +55 -0
  450. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/SKILL.md +87 -0
  451. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/evals/eval_queries.json +34 -0
  452. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/evals/evals.json +30 -0
  453. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/evals/files/2/plan.json +133 -0
  454. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/examples/northwind-orders-plan.json +174 -0
  455. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/examples/northwind-orders.md +87 -0
  456. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/manifest.json +48 -0
  457. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/reference.md +77 -0
  458. skilldrop_cli/data/packs/infra-as-code/skills/terraform-plan-review/scripts/plan_summary.py +361 -0
  459. skilldrop_cli/data/packs/product-manager/loops/discover/LOOP.md +81 -0
  460. skilldrop_cli/data/packs/product-manager/loops/discover/evals/eval_queries.json +30 -0
  461. skilldrop_cli/data/packs/product-manager/loops/discover/evals/evals.json +26 -0
  462. skilldrop_cli/data/packs/product-manager/loops/discover/loop.json +41 -0
  463. skilldrop_cli/data/packs/product-manager/pack.json +61 -0
  464. skilldrop_cli/data/packs/product-manager/skills/business-case/SKILL.md +64 -0
  465. skilldrop_cli/data/packs/product-manager/skills/business-case/evals/eval_queries.json +30 -0
  466. skilldrop_cli/data/packs/product-manager/skills/business-case/evals/evals.json +19 -0
  467. skilldrop_cli/data/packs/product-manager/skills/business-case/examples/build-vs-buy-flags.md +42 -0
  468. skilldrop_cli/data/packs/product-manager/skills/business-case/manifest.json +11 -0
  469. skilldrop_cli/data/packs/product-manager/skills/business-case/templates/business-case.md +60 -0
  470. skilldrop_cli/data/packs/product-manager/skills/okr-cascade/SKILL.md +59 -0
  471. skilldrop_cli/data/packs/product-manager/skills/okr-cascade/evals/eval_queries.json +12 -0
  472. skilldrop_cli/data/packs/product-manager/skills/okr-cascade/evals/evals.json +28 -0
  473. skilldrop_cli/data/packs/product-manager/skills/okr-cascade/manifest.json +11 -0
  474. skilldrop_cli/data/packs/product-manager/skills/okr-cascade/templates/okr-cascade.md +46 -0
  475. skilldrop_cli/data/packs/product-manager/skills/prd-draft/SKILL.md +62 -0
  476. skilldrop_cli/data/packs/product-manager/skills/prd-draft/evals/eval_queries.json +34 -0
  477. skilldrop_cli/data/packs/product-manager/skills/prd-draft/evals/evals.json +17 -0
  478. skilldrop_cli/data/packs/product-manager/skills/prd-draft/manifest.json +16 -0
  479. skilldrop_cli/data/packs/product-manager/skills/prd-draft/templates/prd.md +66 -0
  480. skilldrop_cli/data/packs/product-manager/skills/prfaq/SKILL.md +76 -0
  481. skilldrop_cli/data/packs/product-manager/skills/prfaq/evals/eval_queries.json +13 -0
  482. skilldrop_cli/data/packs/product-manager/skills/prfaq/evals/evals.json +32 -0
  483. skilldrop_cli/data/packs/product-manager/skills/prfaq/manifest.json +11 -0
  484. skilldrop_cli/data/packs/product-manager/skills/prfaq/templates/prfaq.md +60 -0
  485. skilldrop_cli/data/packs/product-manager/skills/requirements-interview/SKILL.md +61 -0
  486. skilldrop_cli/data/packs/product-manager/skills/requirements-interview/evals/eval_queries.json +34 -0
  487. skilldrop_cli/data/packs/product-manager/skills/requirements-interview/evals/evals.json +16 -0
  488. skilldrop_cli/data/packs/product-manager/skills/requirements-interview/manifest.json +14 -0
  489. skilldrop_cli/data/packs/product-manager/skills/requirements-interview/templates/interview-kit.md +63 -0
  490. skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/SKILL.md +63 -0
  491. skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/evals/eval_queries.json +13 -0
  492. skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/evals/evals.json +36 -0
  493. skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/examples/market-entry-tows.md +42 -0
  494. skilldrop_cli/data/packs/product-manager/skills/strategy-analysis/manifest.json +15 -0
  495. skilldrop_cli/data/packs/product-manager/skills/success-metrics/SKILL.md +65 -0
  496. skilldrop_cli/data/packs/product-manager/skills/success-metrics/evals/eval_queries.json +11 -0
  497. skilldrop_cli/data/packs/product-manager/skills/success-metrics/evals/evals.json +27 -0
  498. skilldrop_cli/data/packs/product-manager/skills/success-metrics/manifest.json +11 -0
  499. skilldrop_cli/data/packs/product-manager/skills/success-metrics/templates/metrics-plan.md +55 -0
  500. skilldrop_cli/data/packs/product-manager/skills/user-journey-map/SKILL.md +65 -0
  501. skilldrop_cli/data/packs/product-manager/skills/user-journey-map/evals/eval_queries.json +12 -0
  502. skilldrop_cli/data/packs/product-manager/skills/user-journey-map/evals/evals.json +30 -0
  503. skilldrop_cli/data/packs/product-manager/skills/user-journey-map/examples/b2b-saas-onboarding.md +69 -0
  504. skilldrop_cli/data/packs/product-manager/skills/user-journey-map/manifest.json +15 -0
  505. skilldrop_cli/data/packs/product-manager/skills/user-journey-map/templates/journey-map.md +47 -0
  506. skilldrop_cli/data/packs/research/pack.json +52 -0
  507. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/SKILL.md +131 -0
  508. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/evals/eval_queries.json +34 -0
  509. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/evals/evals.json +19 -0
  510. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/examples/conversion-drop.md +132 -0
  511. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/manifest.json +43 -0
  512. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/reference.md +107 -0
  513. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/scripts/ach_matrix.py +204 -0
  514. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/templates/hypothesis-comparison.md +61 -0
  515. skilldrop_cli/data/packs/research/skills/hypothesis-comparison/templates/matrix.csv +4 -0
  516. skilldrop_cli/data/packs/research/skills/research-plan/SKILL.md +122 -0
  517. skilldrop_cli/data/packs/research/skills/research-plan/evals/eval_queries.json +34 -0
  518. skilldrop_cli/data/packs/research/skills/research-plan/evals/evals.json +28 -0
  519. skilldrop_cli/data/packs/research/skills/research-plan/examples/four-day-week-plan.md +97 -0
  520. skilldrop_cli/data/packs/research/skills/research-plan/manifest.json +47 -0
  521. skilldrop_cli/data/packs/research/skills/research-plan/reference.md +88 -0
  522. skilldrop_cli/data/packs/research/skills/research-plan/templates/research-plan.md +54 -0
  523. skilldrop_cli/data/packs/research/skills/source-synthesis/SKILL.md +123 -0
  524. skilldrop_cli/data/packs/research/skills/source-synthesis/evals/eval_queries.json +34 -0
  525. skilldrop_cli/data/packs/research/skills/source-synthesis/evals/evals.json +19 -0
  526. skilldrop_cli/data/packs/research/skills/source-synthesis/examples/four-day-week.md +146 -0
  527. skilldrop_cli/data/packs/research/skills/source-synthesis/manifest.json +42 -0
  528. skilldrop_cli/data/packs/research/skills/source-synthesis/reference.md +92 -0
  529. skilldrop_cli/data/packs/research/skills/source-synthesis/scripts/citations.py +314 -0
  530. skilldrop_cli/data/packs/research/skills/source-synthesis/templates/synthesis.md +46 -0
  531. skilldrop_cli/data/packs/skill-engineering/pack.json +46 -0
  532. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/SKILL.md +139 -0
  533. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/evals/eval_queries.json +10 -0
  534. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/evals/evals.json +19 -0
  535. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/examples/release-notes-skill.md +185 -0
  536. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/manifest.json +42 -0
  537. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/reference.md +144 -0
  538. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/templates/eval_queries.json +9 -0
  539. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/templates/evals.json +16 -0
  540. skilldrop_cli/data/packs/skill-engineering/skills/skill-author/templates/skill-template.md +52 -0
  541. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/SKILL.md +131 -0
  542. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/eval_queries.json +11 -0
  543. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/evals.json +19 -0
  544. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/changelog-writer/SKILL.md +10 -0
  545. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/SKILL.md +12 -0
  546. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/references/tone.md +3 -0
  547. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/evals/files/1/skills/pr-summary/scripts/collect.py +6 -0
  548. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/examples/meeting-notes-review.md +147 -0
  549. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/manifest.json +50 -0
  550. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/reference.md +135 -0
  551. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/scripts/lint_skill.py +481 -0
  552. skilldrop_cli/data/packs/skill-engineering/skills/skill-review/templates/review.md +43 -0
  553. skilldrop_cli/data/packs/solution-architect/loops/design/LOOP.md +83 -0
  554. skilldrop_cli/data/packs/solution-architect/loops/design/evals/eval_queries.json +30 -0
  555. skilldrop_cli/data/packs/solution-architect/loops/design/evals/evals.json +26 -0
  556. skilldrop_cli/data/packs/solution-architect/loops/design/loop.json +47 -0
  557. skilldrop_cli/data/packs/solution-architect/pack.json +65 -0
  558. skilldrop_cli/data/packs/solution-architect/skills/adr-generator/SKILL.md +50 -0
  559. skilldrop_cli/data/packs/solution-architect/skills/adr-generator/evals/eval_queries.json +34 -0
  560. skilldrop_cli/data/packs/solution-architect/skills/adr-generator/evals/evals.json +17 -0
  561. skilldrop_cli/data/packs/solution-architect/skills/adr-generator/manifest.json +11 -0
  562. skilldrop_cli/data/packs/solution-architect/skills/adr-generator/templates/madr.md +56 -0
  563. skilldrop_cli/data/packs/solution-architect/skills/adr-generator/templates/nygard.md +19 -0
  564. skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/SKILL.md +69 -0
  565. skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/evals/eval_queries.json +34 -0
  566. skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/evals/evals.json +18 -0
  567. skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/manifest.json +11 -0
  568. skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/reference.md +73 -0
  569. skilldrop_cli/data/packs/solution-architect/skills/api-contract-draft/templates/openapi-skeleton.yaml +148 -0
  570. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/SKILL.md +66 -0
  571. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/evals/eval_queries.json +34 -0
  572. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/evals/evals.json +16 -0
  573. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/examples/aws-three-tier.md +44 -0
  574. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/examples/c4-container-saas.md +51 -0
  575. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/examples/microservices-sequence.md +49 -0
  576. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/manifest.json +31 -0
  577. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/c4-container.puml +31 -0
  578. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/mermaid-aws.md +52 -0
  579. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/mermaid-flowchart.md +37 -0
  580. skilldrop_cli/data/packs/solution-architect/skills/architecture-diagrams/templates/mermaid-sequence.md +39 -0
  581. skilldrop_cli/data/packs/solution-architect/skills/data-contract/SKILL.md +67 -0
  582. skilldrop_cli/data/packs/solution-architect/skills/data-contract/evals/eval_queries.json +34 -0
  583. skilldrop_cli/data/packs/solution-architect/skills/data-contract/evals/evals.json +16 -0
  584. skilldrop_cli/data/packs/solution-architect/skills/data-contract/manifest.json +11 -0
  585. skilldrop_cli/data/packs/solution-architect/skills/data-contract/reference.md +46 -0
  586. skilldrop_cli/data/packs/solution-architect/skills/data-contract/templates/data-contract.md +69 -0
  587. skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/SKILL.md +68 -0
  588. skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/evals/eval_queries.json +34 -0
  589. skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/evals/evals.json +16 -0
  590. skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/manifest.json +11 -0
  591. skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/reference.md +56 -0
  592. skilldrop_cli/data/packs/solution-architect/skills/db-schema-design/templates/schema-design.md +75 -0
  593. skilldrop_cli/data/packs/solution-architect/skills/design-doc/SKILL.md +49 -0
  594. skilldrop_cli/data/packs/solution-architect/skills/design-doc/evals/eval_queries.json +34 -0
  595. skilldrop_cli/data/packs/solution-architect/skills/design-doc/evals/evals.json +17 -0
  596. skilldrop_cli/data/packs/solution-architect/skills/design-doc/manifest.json +14 -0
  597. skilldrop_cli/data/packs/solution-architect/skills/design-doc/templates/design-doc.md +98 -0
  598. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/SKILL.md +87 -0
  599. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/evals/eval_queries.json +34 -0
  600. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/evals/evals.json +15 -0
  601. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/manifest.json +36 -0
  602. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/reference.md +91 -0
  603. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/requirements.txt +3 -0
  604. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/_figma_client.py +71 -0
  605. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/frame_to_mermaid.py +102 -0
  606. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/inspect_file.py +46 -0
  607. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/list_comments.py +35 -0
  608. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/scripts/post_comment.py +52 -0
  609. skilldrop_cli/data/packs/solution-architect/skills/figma-diagrams/templates/figjam-import.json +20 -0
  610. skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/SKILL.md +63 -0
  611. skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/evals/eval_queries.json +34 -0
  612. skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/evals/evals.json +16 -0
  613. skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/manifest.json +16 -0
  614. skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/reference.md +74 -0
  615. skilldrop_cli/data/packs/solution-architect/skills/nfr-spec/templates/nfr-spec.md +56 -0
  616. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/SKILL.md +103 -0
  617. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/evals/eval_queries.json +34 -0
  618. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/evals/evals.json +16 -0
  619. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/manifest.json +11 -0
  620. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/reference.md +150 -0
  621. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/templates/description.md +52 -0
  622. skilldrop_cli/data/packs/solution-architect/skills/reverse-architecture/templates/extraction.md +55 -0
  623. skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/SKILL.md +56 -0
  624. skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/evals/eval_queries.json +30 -0
  625. skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/evals/evals.json +18 -0
  626. skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/examples/queue-selection.md +41 -0
  627. skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/manifest.json +11 -0
  628. skilldrop_cli/data/packs/solution-architect/skills/tech-comparison-matrix/templates/matrix.md +45 -0
  629. skilldrop_cli/data/packs/solution-architect/skills/threat-model/SKILL.md +65 -0
  630. skilldrop_cli/data/packs/solution-architect/skills/threat-model/evals/eval_queries.json +34 -0
  631. skilldrop_cli/data/packs/solution-architect/skills/threat-model/evals/evals.json +18 -0
  632. skilldrop_cli/data/packs/solution-architect/skills/threat-model/examples/document-upload.md +56 -0
  633. skilldrop_cli/data/packs/solution-architect/skills/threat-model/manifest.json +11 -0
  634. skilldrop_cli/data/packs/solution-architect/skills/threat-model/reference.md +69 -0
  635. skilldrop_cli/data/packs/sre-oncall/loops/operate/LOOP.md +84 -0
  636. skilldrop_cli/data/packs/sre-oncall/loops/operate/evals/eval_queries.json +30 -0
  637. skilldrop_cli/data/packs/sre-oncall/loops/operate/evals/evals.json +25 -0
  638. skilldrop_cli/data/packs/sre-oncall/loops/operate/loop.json +41 -0
  639. skilldrop_cli/data/packs/sre-oncall/pack.json +59 -0
  640. skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/SKILL.md +65 -0
  641. skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/evals/eval_queries.json +34 -0
  642. skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/evals/evals.json +19 -0
  643. skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/manifest.json +11 -0
  644. skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/reference.md +54 -0
  645. skilldrop_cli/data/packs/sre-oncall/skills/capacity-cost-model/templates/cost-model.md +68 -0
  646. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/SKILL.md +121 -0
  647. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/evals/eval_queries.json +34 -0
  648. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/evals/evals.json +29 -0
  649. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/examples/acme-aws-september.md +247 -0
  650. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/examples/acme-cur-2026-08-09.csv +1085 -0
  651. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/manifest.json +49 -0
  652. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/reference.md +100 -0
  653. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/scripts/cost_summary.py +630 -0
  654. skilldrop_cli/data/packs/sre-oncall/skills/cloud-cost-review/templates/cost-review.md +36 -0
  655. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/SKILL.md +114 -0
  656. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/eval_queries.json +34 -0
  657. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/evals.json +28 -0
  658. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/deploys.csv +49 -0
  659. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/incidents.csv +7 -0
  660. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/evals/files/1/prs.csv +84 -0
  661. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/checkout-api-8-weeks.md +123 -0
  662. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/deployments.csv +49 -0
  663. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/incidents.csv +7 -0
  664. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/examples/prs.csv +84 -0
  665. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/manifest.json +48 -0
  666. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/reference.md +83 -0
  667. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/scripts/delivery_metrics.py +566 -0
  668. skilldrop_cli/data/packs/sre-oncall/skills/delivery-metrics-report/templates/delivery-report.md +31 -0
  669. skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/SKILL.md +68 -0
  670. skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/evals/eval_queries.json +34 -0
  671. skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/evals/evals.json +16 -0
  672. skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/manifest.json +14 -0
  673. skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/reference.md +43 -0
  674. skilldrop_cli/data/packs/sre-oncall/skills/incident-comms/templates/messages.md +82 -0
  675. skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/SKILL.md +70 -0
  676. skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/evals/eval_queries.json +34 -0
  677. skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/evals/evals.json +16 -0
  678. skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/manifest.json +15 -0
  679. skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/reference.md +67 -0
  680. skilldrop_cli/data/packs/sre-oncall/skills/observability-plan/templates/observability-plan.md +62 -0
  681. skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/SKILL.md +66 -0
  682. skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/evals/eval_queries.json +34 -0
  683. skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/evals/evals.json +17 -0
  684. skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/manifest.json +14 -0
  685. skilldrop_cli/data/packs/sre-oncall/skills/postmortem-generator/templates/postmortem.md +67 -0
  686. skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/SKILL.md +42 -0
  687. skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/evals/eval_queries.json +34 -0
  688. skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/evals/evals.json +17 -0
  689. skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/manifest.json +11 -0
  690. skilldrop_cli/data/packs/sre-oncall/skills/runbook-generator/templates/runbook.md +109 -0
  691. skilldrop_cli/data/packs/stakeholder-comms/pack.json +60 -0
  692. skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/SKILL.md +74 -0
  693. skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/evals/eval_queries.json +34 -0
  694. skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/evals/evals.json +15 -0
  695. skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/manifest.json +11 -0
  696. skilldrop_cli/data/packs/stakeholder-comms/skills/audience-profile/reference.md +175 -0
  697. skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/SKILL.md +68 -0
  698. skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/evals/eval_queries.json +34 -0
  699. skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/evals/evals.json +17 -0
  700. skilldrop_cli/data/packs/stakeholder-comms/skills/decision-log/manifest.json +11 -0
  701. skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/SKILL.md +45 -0
  702. skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/evals/eval_queries.json +34 -0
  703. skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/evals/evals.json +17 -0
  704. skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/manifest.json +11 -0
  705. skilldrop_cli/data/packs/stakeholder-comms/skills/exec-summary/templates/exec-summary.md +48 -0
  706. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/SKILL.md +77 -0
  707. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/evals/eval_queries.json +34 -0
  708. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/evals/evals.json +18 -0
  709. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/examples/local-setup-guide.md +127 -0
  710. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/manifest.json +11 -0
  711. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/templates/api-reference.md +120 -0
  712. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/templates/design-walkthrough.md +72 -0
  713. skilldrop_cli/data/packs/stakeholder-comms/skills/guide-builder/templates/setup-guide.md +109 -0
  714. skilldrop_cli/data/packs/trackers/pack.json +61 -0
  715. skilldrop_cli/data/packs/trackers/skills/backlog-triage/SKILL.md +116 -0
  716. skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/eval_queries.json +34 -0
  717. skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/evals.json +30 -0
  718. skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/files/1/examples/northwind-backlog.csv +28 -0
  719. skilldrop_cli/data/packs/trackers/skills/backlog-triage/evals/files/2/issues.json +6052 -0
  720. skilldrop_cli/data/packs/trackers/skills/backlog-triage/examples/northwind-backlog.csv +28 -0
  721. skilldrop_cli/data/packs/trackers/skills/backlog-triage/examples/northwind-checkout-triage.md +202 -0
  722. skilldrop_cli/data/packs/trackers/skills/backlog-triage/manifest.json +42 -0
  723. skilldrop_cli/data/packs/trackers/skills/backlog-triage/reference.md +106 -0
  724. skilldrop_cli/data/packs/trackers/skills/backlog-triage/scripts/triage_backlog.py +461 -0
  725. skilldrop_cli/data/packs/trackers/skills/backlog-triage/templates/triage-report.md +42 -0
  726. skilldrop_cli/data/packs/trackers/skills/team-status-report/SKILL.md +111 -0
  727. skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/eval_queries.json +30 -0
  728. skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/evals.json +30 -0
  729. skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/files/1/examples/northwind-week-40.csv +16 -0
  730. skilldrop_cli/data/packs/trackers/skills/team-status-report/evals/files/2/issues.json +1212 -0
  731. skilldrop_cli/data/packs/trackers/skills/team-status-report/examples/northwind-week-40.csv +16 -0
  732. skilldrop_cli/data/packs/trackers/skills/team-status-report/examples/northwind-weekly-status.md +160 -0
  733. skilldrop_cli/data/packs/trackers/skills/team-status-report/manifest.json +33 -0
  734. skilldrop_cli/data/packs/trackers/skills/team-status-report/reference.md +92 -0
  735. skilldrop_cli/data/packs/trackers/skills/team-status-report/scripts/status_counts.py +486 -0
  736. skilldrop_cli/data/packs/trackers/skills/team-status-report/templates/status-report.md +42 -0
  737. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/SKILL.md +116 -0
  738. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/eval_queries.json +34 -0
  739. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/evals.json +31 -0
  740. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/files/1/examples/prd-guest-checkout.md +53 -0
  741. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/files/2/examples/prd-guest-checkout.md +53 -0
  742. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/evals/files/2/examples/tracker-after-two-weeks.csv +30 -0
  743. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/guest-checkout-spec.json +98 -0
  744. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/guest-checkout-sync.md +151 -0
  745. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/prd-guest-checkout.md +53 -0
  746. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/examples/tracker-after-two-weeks.csv +30 -0
  747. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/manifest.json +41 -0
  748. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/reference.md +101 -0
  749. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/scripts/brief_sync.py +501 -0
  750. skilldrop_cli/data/packs/trackers/skills/tracker-brief-sync/templates/issues-spec.json +26 -0
  751. skilldrop_cli/data/profiles.json +24 -0
  752. skilldrop_cli-0.16.3.dist-info/METADATA +91 -0
  753. skilldrop_cli-0.16.3.dist-info/RECORD +757 -0
  754. skilldrop_cli-0.16.3.dist-info/WHEEL +5 -0
  755. skilldrop_cli-0.16.3.dist-info/entry_points.txt +2 -0
  756. skilldrop_cli-0.16.3.dist-info/licenses/LICENSE +9 -0
  757. skilldrop_cli-0.16.3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: business-case
3
+ description: Build a business case for a build/buy/defer investment decision — do-nothing always included as the baseline, benefits quantified as re-runnable calculations with confidence tags, full costs (build + run + opportunity), ranges instead of false precision, and the flip-assumption named. Use when the user needs to justify an investment, write a business case, compare build vs buy vs defer, or get budget/sponsor approval for an initiative.
4
+ ---
5
+
6
+ # business-case
7
+
8
+ Produces the document a sponsor can approve, challenge, or kill on its merits — because every benefit shows its arithmetic, every option includes the one nobody advocates for (doing nothing), and the case names the single assumption that flips the recommendation. Decides *whether to invest*; `tech-comparison-matrix` picks between technologies after, `prd-draft` captures requirements after, `exec-summary` compresses this doc for a board.
9
+
10
+ ## How to respond
11
+
12
+ 1. **Pin the decision and the decider.** What exactly is being decided ("invest ~3 engineer-quarters in X" — not "improve our tooling"), who decides, and by when. Ask at most 2 questions, spent on the **cost of the status quo** ("what does the current state cost per month, in what units?") and the **decision deadline**. A business case without a named decision is an essay.
13
+
14
+ 2. **Always include Option 0: do nothing.** Costed like every other option — the status quo has a price (ongoing pain, growing risk, deferred opportunity) and the case must beat it *explicitly*, not by assumption. Then 2–3 real alternatives (typically build / buy / partial-defer). Every option presented is one someone could genuinely champion; a lineup of two strawmen escorting the preferred option is theater, and reviewers smell it.
15
+
16
+ 3. **Quantify benefits as calculations a reviewer can re-run.** Every benefit shows: the formula, each input with its source tag, and a **confidence tag** (high = measured data, medium = reasonable extrapolation, low = informed guess). ✅ *"40 agents × ~20 min/ticket saved `[data: time study]` × 30 tickets/day → 18–24 FTE-hours/day, confidence: medium (assumes 75–100% of tickets touch the flow)"* — ❌ *"significant efficiency gains"* — an adjective benefit is a benefit that didn't survive arithmetic.
17
+
18
+ 4. **Use ranges, never false precision.** Three estimates multiplied together do not produce "327% ROI" — they produce a range, and the case says which end is likelier and why. State payback as a range too ("breakeven month 7–11"). Single-point outputs from multi-guess inputs are the most reliable sign a case is selling, not informing.
19
+
20
+ 5. **Cost all three layers, per option**: **build** (people × time, the dominant and most-lowballed term — include ramp-up and the integration tail), **run** (infra, licenses, support burden, maintenance — the layer "buy" options hide in year 2+ pricing and "build" options hide in maintenance), and **opportunity** (what these people would otherwise ship — name the displaced thing, don't leave it abstract).
21
+
22
+ 6. **Name the flip-assumption.** The sensitivity question, answered honestly: *which single input, if wrong, reverses the recommendation?* ✅ *"The case rests on ≥60% agent adoption; below ~40%, Option 0 wins — adoption is `[low confidence]`, so we propose a 4-week pilot before full commit."* If no single assumption flips it, say which *pair* does. A case with no flip-condition is claiming certainty it cannot have.
23
+
24
+ 7. **Recommend one option, committally.** The recommendation names the option, the reasoning in two sentences, what was given up (the strongest point of the runner-up, stated fairly), and any de-risking step (pilot, staged commit) tied to the flip-assumption. "It depends" is the analyst's job half-done; the decider can disagree with a recommendation, but they can't disagree with a shrug.
25
+
26
+ 8. **Lead with the ask.** The first lines of the document: the decision requested, the cost, the headline benefit range, the deadline. ✅ *"Ask: approve 3 engineer-quarters (~$210k loaded) for Option B; expected payback month 7–11; decision needed by July 1 to hit Q4 capacity."* Emit with [`templates/business-case.md`](templates/business-case.md), one message.
27
+
28
+ ## Useful references in this skill
29
+
30
+ - [`templates/business-case.md`](templates/business-case.md) — the skeleton: ask-first structure, option table, benefit-calculation blocks, sensitivity section
31
+
32
+ ## Quality bar
33
+
34
+ - **Option 0 is present and costed.** A case that doesn't price the status quo hasn't established there's a problem worth money.
35
+ - **Every benefit is a re-runnable calculation** with sourced inputs and a confidence tag. Reviewers check arithmetic; they can't check adjectives.
36
+ - **Outputs are ranges; the case says which end is likelier.** False precision fails the doc even when the direction is right.
37
+ - **All three cost layers appear per option** — build, run, opportunity — with the displaced work named, not waved at.
38
+ - **The flip-assumption is identified** and, where confidence on it is low, a de-risking step is proposed before full commitment.
39
+ - **The recommendation is singular and the runner-up's best argument is stated fairly.** A case that strawmans the alternative converts no skeptics.
40
+ - **The ask is the first thing read** — option, cost, benefit range, deadline, in under 40 words.
41
+
42
+ ## When to use this skill
43
+
44
+ - ✅ "Should we build this?" / "write the business case for X"
45
+ - ✅ Build vs buy vs defer with real money or quarters at stake
46
+ - ✅ Budget/headcount approval needs a document, not a hallway pitch
47
+ - ✅ A persistent "we should really fix this" needs its cost of inaction priced
48
+
49
+ ## When NOT to use this skill
50
+
51
+ - ❌ The investment decision is already made — go to `prd-draft`
52
+ - ❌ Choosing between technologies for an approved initiative — `tech-comparison-matrix`
53
+ - ❌ Compressing an existing case for execs — `exec-summary`
54
+ - ❌ Trivial cost ("should we buy a $400/yr tool") — the case costs more than the decision; just decide
55
+
56
+ ## Anti-patterns to avoid
57
+
58
+ - ❌ **Omitting do-nothing.** Every option looks good against an unexamined status quo — that's why it gets omitted.
59
+ - ❌ **Adjective benefits.** "Improved efficiency, better experience, reduced risk" — three claims, zero numbers, nothing a reviewer can challenge.
60
+ - ❌ **False precision.** "327% ROI" from three guesses. Ranges with a stated lean, always.
61
+ - ❌ **Year-one costing.** Build cost without run cost — the buy option's renewal pricing and the build option's maintenance both live in year 2+, which is where cases go to die.
62
+ - ❌ **Sunk-cost scaffolding.** "We've already invested 2 quarters" argues for nothing; the case is forward-looking from today's zero.
63
+ - ❌ **Option theater.** Two deliberately weak alternatives flanking the favorite. Reviewers notice, and the case loses its credibility along with the vote.
64
+ - ❌ **Burying the ask.** Page 4, paragraph 2, "in light of the above we suggest…" — the sponsor read the first five lines; the ask lives there or nowhere.
@@ -0,0 +1,30 @@
1
+ [
2
+ {
3
+ "query": "Write the business case for building our own feature-flag service versus buying one",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "Should we invest two engineer-quarters in rebuilding search? I need something to take to the sponsor",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "Compare build vs buy vs defer for the new data pipeline, with the cost of doing nothing priced",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "I need budget approval for an observability overhaul — help me justify the spend",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "The investment's approved — now write the PRD for the ML router",
20
+ "should_trigger": false
21
+ },
22
+ {
23
+ "query": "Pick between Kafka, Kinesis, and Pub/Sub for the approved event bus",
24
+ "should_trigger": false
25
+ },
26
+ {
27
+ "query": "Compress this 12-page business case into a one-page summary for the board",
28
+ "should_trigger": false
29
+ }
30
+ ]
@@ -0,0 +1,19 @@
1
+ {
2
+ "skill_name": "business-case",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Write the business case for replacing our homegrown support ticket router at Northwind. Today 40 agents each spend about 20 minutes a day manually re-routing misassigned tickets (from a two-week time study). Loaded agent cost is $45/hour. Options on the table: build a ML router (estimate 3 engineers for 2 quarters), buy a vendor tool (Vendor X quoted $60k/year, year-two price unknown), or keep things as they are. The same 3 engineers would otherwise ship the self-serve billing portal. The VP of Support decides by November 15.",
7
+ "assertions": [
8
+ "The first lines state the ask — option, cost, benefit range, and the November 15 deadline — in under 40 words",
9
+ "Option 0 (do nothing) is present and costed using the user's 40 agents x 20 min/day x $45/hour figures",
10
+ "Every benefit is a re-runnable calculation with formula, sourced inputs, and a confidence tag (high/medium/low)",
11
+ "Outputs such as ROI and payback are ranges with a stated lean, not single-point figures like '327% ROI'",
12
+ "Each option shows build, run, and opportunity cost, with the displaced work named as the self-serve billing portal",
13
+ "The vendor's unknown year-two price is called out as an unknown or flagged assumption, not filled with an invented number",
14
+ "Names the flip-assumption that would reverse the recommendation, with a de-risking step if its confidence is low",
15
+ "Recommends exactly one option and states the runner-up's strongest argument fairly"
16
+ ]
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,42 @@
1
+ # Worked example — build vs. buy a feature-flag system
2
+
3
+ Input → output oracle for `business-case`. Shows the ask first (< 40 words), Option 0
4
+ costed, benefits as re-runnable calculations with confidence tags, all three cost
5
+ layers, ranges, the flip-assumption, and a singular recommendation that states the
6
+ runner-up's best argument fairly.
7
+
8
+ ## Input
9
+
10
+ > "Should [Acme] build an in-house feature-flag system or buy a SaaS one? ~30
11
+ > engineers, currently gating releases with config files and redeploys."
12
+
13
+ ## Output
14
+
15
+ ### The ask
16
+ **Buy the SaaS feature-flag service (~$18–30k/yr).** It pays back in < 3 months against ~$140k of first-year build cost and recurring toil, and frees roadmap capacity now. Decision needed before next quarter's release-velocity commitments.
17
+
18
+ ### Options (Option 0 is costed)
19
+
20
+ | Option | Build (one-time) | Run (yr 1) | Opportunity cost |
21
+ |---|--:|--:|--:|
22
+ | **0 — Status quo** (config + redeploy) | $0 | ~$60–90k/yr toil | Slow releases → est. 1–2 delayed launches/yr |
23
+ | **1 — Build in-house** | ~$110–160k | ~$25–40k/yr (on-call, maint.) | 2 eng × 3–4 mo off roadmap |
24
+ | **2 — Buy SaaS** | ~$5k (integrate) | ~$18–30k/yr license | ~1 eng-week integration |
25
+
26
+ ### Benefits (re-runnable calculations, sourced, confidence-tagged)
27
+
28
+ - **Toil removed vs. Option 0:** each gated release currently costs ~1 eng-hr of redeploy coordination × ~15 releases/mo × $120 loaded/hr = **~$22k/yr** recovered. *(confidence: medium — release count from deploy logs; hourly is loaded-cost estimate.)*
29
+ - **Incident reduction:** flag-based instant rollback vs. redeploy shortens mean remediation from ~40 min to ~5 min; at ~6 rollback-worthy incidents/yr that's ~3.5 hrs × team = **~$8–15k/yr** avoided. *(confidence: low — incident count is small-sample; range reflects it.)*
30
+ - **Release velocity:** decoupling deploy from release plausibly removes 1–2 launch slips/yr; value is real but **not costed here** (depends on launch revenue) — flagged for the decision owner.
31
+
32
+ Totals are ranges; the **lower end is likelier** for the hard-dollar items (toil is the solid number; incident/velocity are directional).
33
+
34
+ ### The flip-assumption
35
+ The case flips to **Build** only if **flag evaluation must run in a data plane the SaaS can't reach** (e.g. strict data-residency or sub-ms in-process evaluation at scale). Confidence that this *doesn't* apply is medium. **De-risking step before committing to Buy:** a 1-week spike confirming the SaaS SDK meets latency + residency requirements — cheap insurance against the one assumption that would reverse the decision.
36
+
37
+ ### Recommendation
38
+ **Buy (Option 2).** Lowest first-year cost, fastest payback, and it returns ~2 engineers to the roadmap that Build would consume. **The runner-up's best argument, stated fairly:** Build is genuinely better *if* flag evaluation becomes a core differentiator or a hard data-residency constraint emerges — in that world the SaaS boundary bites and owning the system is worth the cost. The spike above is what tells us which world we're in.
39
+
40
+ ## Why this passes the quality bar
41
+
42
+ The ask leads in under 40 words; Option 0 is present and costed; every benefit is a calculation with sourced inputs and a confidence tag; outputs are ranges naming the likelier end; all three cost layers appear per option; the flip-assumption is identified with a de-risking step; and the recommendation is singular while stating the runner-up's strongest case honestly.
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "business-case",
3
+ "version": "0.1.0",
4
+ "description": "Build a business case for a build/buy/defer investment decision — do-nothing always included as the baseline, benefits quantified as re-runnable calculations with confidence tags, full costs (build + run + opportunity), ranges instead of false precision, and the flip-assumption named. Use when the user needs to justify an investment, write a business case, compare build vs buy vs defer, or get budget/sponsor approval for an initiative.",
5
+ "entrypoint": "SKILL.md",
6
+ "deps": { "npm": [], "pip": [] },
7
+ "env": { "required": [], "optional": [] },
8
+ "related": ["exec-summary", "prd-draft", "tech-comparison-matrix"],
9
+ "tags": ["business-case", "investment", "build-vs-buy", "roi", "cost-benefit", "decision"],
10
+ "model": { "tier": "heavy", "rationale": "Weighted multi-option judgment with a committal recommendation — same failure mode as tech-comparison-matrix: cheaper models mis-weight costs, inflate benefits, and miss the flip-assumption. Never downgrade." }
11
+ }
@@ -0,0 +1,60 @@
1
+ # Business-case template
2
+
3
+ Ask first. Ranges, not points. Every number traceable to a tagged input.
4
+
5
+ ```markdown
6
+ # Business case: {decision, named — "Invest 3 engineer-quarters in unified agent view"}
7
+
8
+ ## The ask (≤40 words)
9
+
10
+ Approve **{option}** — {cost range, loaded} — expected {headline benefit range},
11
+ payback {range}. Decision needed by **{date}** because {what the deadline forfeits}.
12
+
13
+ **Decider:** {role} · **Author:** {role} · **Date:** {YYYY-MM-DD}
14
+
15
+ ## The problem, priced
16
+
17
+ {2–3 sentences: what the status quo costs per month, in units the decider budgets
18
+ in (FTE-hours, churn, incidents, $). Inputs tagged [data:…] / [reported:…] / [estimate].}
19
+
20
+ ## Options
21
+
22
+ | | Option 0: do nothing | Option A: {…} | Option B: {…} |
23
+ |---|---|---|---|
24
+ | Build cost | — | {range, loaded, incl. ramp + integration tail} | {range} |
25
+ | Run cost (annual, yr 2+) | {status-quo ongoing cost} | {infra + licenses + maintenance} | {…} |
26
+ | Opportunity cost | {what worsens by deferring} | {the displaced work, named} | {…} |
27
+ | Headline benefit | 0 (baseline) | {range + confidence} | {range + confidence} |
28
+ | Time to value | — | {range} | {range} |
29
+ | Champion-able? | yes — {who'd argue it} | yes — {…} | yes — {…} |
30
+
31
+ ## Benefit calculations (re-runnable)
32
+
33
+ ### {Benefit 1, Option A}
34
+ - Formula: {inputs → output}
35
+ - Inputs: {value [data: source]} × {value [estimate]} × …
36
+ - Result: **{range}** · Confidence: {high|medium|low} — {why}
37
+
38
+ {Repeat per material benefit. A benefit with no calculation block doesn't appear in the option table.}
39
+
40
+ ## Sensitivity — the flip-assumption
41
+
42
+ **The recommendation flips if:** {single input + the threshold — "agent adoption < ~40%"}
43
+ **Confidence on that input:** {tag} → **De-risking step:** {pilot / staged commit / data pull, with cost and duration}
44
+ {If no single input flips it, name the pair that does.}
45
+
46
+ ## Recommendation (one option)
47
+
48
+ **{Option}.** {Two sentences of reasoning.}
49
+ **What we give up:** {the runner-up's strongest point, stated fairly.}
50
+ **Conditions:** {the de-risking step above; any staging of the commitment.}
51
+
52
+ ## Risks beyond the numbers
53
+
54
+ - {execution/organizational/vendor risk} — {mitigation or acceptance, one line each}
55
+
56
+ ## Not in this case
57
+
58
+ {What was deliberately excluded from the math (unquantifiable strategic upside,
59
+ morale, …) — named so the decider can weigh it qualitatively, not smuggled into the numbers.}
60
+ ```
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: okr-cascade
3
+ description: Cascade company OKRs to team-level OKRs — with a gap registry for objectives no team credibly owns, and a causal metric tree connecting each team KR to the north-star it's supposed to move. Use when the user wants to set or cascade OKRs, align team goals to company goals, "turn strategy into quarterly objectives", or audit existing OKRs for gaps and vanity metrics.
4
+ ---
5
+
6
+ # okr-cascade
7
+
8
+ Turns company objectives into team OKRs that actually roll up — and surfaces what a cascade usually hides: the objectives nobody credibly owns (the **gap registry**) and the KRs that count activity instead of causing outcomes (the **causal metric tree**). Org-level counterpart to `success-metrics`, which owns feature-level measurement — this skill decides *what the teams aim at*; `success-metrics` designs how one feature proves it moved a KR.
9
+
10
+ ## How to respond
11
+
12
+ 1. **Get the company OKRs and the cycle.** From the input or by asking (at most 2 questions, spent on: *"what are the company's top 3–5 objectives this cycle, verbatim?"* and *"which teams are in scope?"*). Record company OKRs **verbatim** — rewriting the company's words without saying so corrupts the roll-up. No company objectives exist at all → stop; that's a strategy conversation (`strategy-analysis`), not a cascade. Non-interactive run (no user to ask): an unstated cycle or team list gets assumed and tagged `[assumption]`; absent company OKRs are never invented — emit `BLOCKED: need the company OKRs, verbatim — rerun with the top 3–5 objectives, their KRs, and the teams in scope` instead.
13
+
14
+ 2. **Grade the company KRs before cascading them.** Each company KR is either an **outcome** (a customer or business result: retention, revenue, time-to-value) or an **output** (a thing shipped: "launch v2", "migrate to k8s"). Outputs at company level get flagged with the outcome they presumably serve — ✅ *"'Launch self-serve onboarding' → presumably serves activation rate; recommend restating as the activation target"*. Cascading an output produces teams that hit every KR while the business stands still.
15
+
16
+ 3. **Derive team OKRs per company objective.** For each in-scope team: an objective (qualitative, motivating, this-cycle) and 2–4 KRs that are (a) **measurable at the team's scope** — the team's work moves the number without needing three other teams to also succeed; (b) **causally upstream** of a company KR, with the causal sentence written out: ✅ *"Cut p95 checkout latency to 800ms — slow checkout is the top named cause of cart abandonment `[data: support tags]`, which feeds company KR 'checkout conversion +2pp'"*; (c) **scored 0.0–1.0 at cycle end** — a KR that can only be "done/not done" is a task wearing a KR's clothes. Not every team maps to every objective — forcing it manufactures alignment theater; a team with no credible contribution to an objective simply doesn't appear under it.
17
+
18
+ 4. **Build the gap registry.** A gap is a company objective or KR with **no team-level expression** after step 3 — no owner, no credible path, or a current-vs-target delta no in-scope team can close. Name each gap (kebab-case slug), state which company KR it starves, and rank gaps by the weight of the objective they block. The registry is a first-class output: a cascade with zero gaps on the first pass usually means step 3 was generous, not that the org is perfectly shaped — say so if it happens.
19
+
20
+ 5. **Draw the causal metric tree.** North-star (the one user-behavioral outcome metric capturing this cycle's most strategic objective — never "features shipped") at the root; each team KR attached at its causal position as a leading indicator; each edge carrying its causal sentence. A KR that can't be attached to the tree is either a guardrail (label it) or measurement theater (cut it, and say which). No credible north-star derivable → report that as the cascade's top finding and recommend naming one before committing OKRs.
21
+
22
+ 6. **Emit with [`templates/okr-cascade.md`](templates/okr-cascade.md)** in one message: company OKRs (verbatim, with output-KR flags), team OKRs with causal sentences, ranked gap registry, metric tree (Mermaid `flowchart` — north-star at root, KRs as leaves), and next steps: each team KR needing full measurement design → `success-metrics`; each gap needing a decision → the owner who must staff or explicitly drop it.
23
+
24
+ ## Useful references in this skill
25
+
26
+ - [`templates/okr-cascade.md`](templates/okr-cascade.md) — cascade tables, gap registry, and metric-tree skeleton
27
+
28
+ ## Quality bar
29
+
30
+ - **Company OKRs appear verbatim**, and every restated one is marked as restated with the reason.
31
+ - **Every team KR has its causal sentence** naming the company KR it feeds and the mechanism. "Aligns with company goals" is not a mechanism.
32
+ - **Every team KR is scorable 0.0–1.0** and measurable at the team's own scope. Binary deliverables are tasks — they can live under a KR, not as one.
33
+ - **Output KRs are flagged** at every level, each with the outcome it presumably serves.
34
+ - **The gap registry is present and ranked** — even when its honest content is "none found; here's why that's suspicious".
35
+ - **The metric tree has one north-star**, and every KR is attached, labeled guardrail, or explicitly cut.
36
+
37
+ ## When to use this skill
38
+
39
+ - ✅ "Cascade our company OKRs to the platform/growth/mobile teams"
40
+ - ✅ Quarterly planning: turning strategy into team objectives
41
+ - ✅ Auditing existing OKRs — which are vanity, which roll up nowhere
42
+ - ✅ "Leadership set five objectives; which have no owner?"
43
+
44
+ ## When NOT to use this skill
45
+
46
+ - ❌ Measuring one feature's success — `success-metrics` (it declares org OKRs out of scope; this skill returns the favor)
47
+ - ❌ No strategy exists to cascade — `strategy-analysis` or `prfaq` first
48
+ - ❌ Sprint/backlog prioritization — OKRs are aims, not a work queue
49
+ - ❌ Individual performance goals — cascading OKRs to persons turns a steering tool into a rating tool, and both break
50
+
51
+ ## Anti-patterns to avoid
52
+
53
+ - ❌ **Cascading outputs.** "Company: launch v2 → Team: ship 12 features" — everyone hits 100% while retention falls. Flag outputs at intake or inherit the disease.
54
+ - ❌ **Alignment theater.** Every team forced under every objective, with prose doing the aligning that causality can't. Empty cells are information.
55
+ - ❌ **Vanity KRs.** Page views, sign-ups, story points. If the number can improve while the business doesn't, it can't be a KR.
56
+ - ❌ **A gapless first pass.** The registry exists because real orgs have orphaned objectives — a clean sheet means the bar in step 3 slipped.
57
+ - ❌ **KR-as-task-list.** "Complete the migration" scores 0 or 1 and measures effort. What outcome does the migration purchase? That's the KR.
58
+ - ❌ **Metric list instead of metric tree.** "DAU, NPS, churn, revenue" with no causal positions is a dashboard inventory, not a tree — every node needs its edge.
59
+ - ❌ **Silent rewording of company OKRs.** Improving leadership's phrasing without marking it breaks the roll-up contract and hides a real disagreement worth surfacing.
@@ -0,0 +1,12 @@
1
+ [
2
+ { "query": "Cascade our company OKRs down to team level", "should_trigger": true },
3
+ { "query": "Help me set quarterly OKRs for the platform team that align to company goals", "should_trigger": true },
4
+ { "query": "Audit our existing OKRs — which ones are vanity metrics?", "should_trigger": true },
5
+ { "query": "Leadership set five objectives; which have no team owner?", "should_trigger": true },
6
+ { "query": "Turn our strategy into Q4 objectives for the org", "should_trigger": true },
7
+
8
+ { "query": "How do we know this feature worked? Define its success metrics", "should_trigger": false },
9
+ { "query": "Prioritize our sprint backlog for next iteration", "should_trigger": false },
10
+ { "query": "Run a SWOT on our market position", "should_trigger": false },
11
+ { "query": "Set performance goals for my direct reports", "should_trigger": false }
12
+ ]
@@ -0,0 +1,28 @@
1
+ {
2
+ "skill_name": "okr-cascade",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Cascade these company OKRs to our three teams (platform, growth, mobile). O1: Become the default choice for mid-market DevOps teams — KR1: net revenue retention 115%, KR2: launch the v2 platform. O2: Operational excellence — KR1: 99.95% availability. Cycle: Q4.",
7
+ "assertions": [
8
+ "Company OKRs appear verbatim; 'launch the v2 platform' is flagged as an output KR with the outcome it presumably serves",
9
+ "Each team KR has a written causal sentence naming the company KR it feeds and the mechanism",
10
+ "Each team KR has baseline → target and is scorable 0.0–1.0 — no binary 'complete the migration' KRs",
11
+ "Not every team is forced under every objective — teams with no credible contribution are omitted from that objective",
12
+ "A ranked gap registry is present (or explicitly states none found and why that is suspicious)",
13
+ "A causal metric tree with exactly one north-star is emitted; every team KR is attached, labeled guardrail, or explicitly cut",
14
+ "The north-star is user-behavioral, not 'features shipped' or another output",
15
+ "Next steps route team KRs to success-metrics for measurement design and gaps to a named decision owner"
16
+ ]
17
+ },
18
+ {
19
+ "id": 2,
20
+ "prompt": "[Non-interactive run — no user available to answer questions] Cascade our OKRs to the teams.",
21
+ "assertions": [
22
+ "No company OKRs are invented — the output is BLOCKED: need the company OKRs, verbatim",
23
+ "The BLOCKED output states what to rerun with (the top 3-5 objectives and their KRs, plus teams in scope)",
24
+ "No cascade tables, gap registry, or metric tree appear"
25
+ ]
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "okr-cascade",
3
+ "version": "0.1.1",
4
+ "description": "Cascade company OKRs to team-level OKRs — with a gap registry for objectives no team credibly owns, and a causal metric tree connecting each team KR to the north-star it's supposed to move. Use when the user wants to set or cascade OKRs, align team goals to company goals, \"turn strategy into quarterly objectives\", or audit existing OKRs for gaps and vanity metrics.",
5
+ "entrypoint": "SKILL.md",
6
+ "deps": { "npm": [], "pip": [] },
7
+ "env": { "required": [], "optional": [] },
8
+ "related": ["prfaq", "strategy-analysis", "success-metrics"],
9
+ "tags": ["okr", "goals", "alignment", "north-star", "metric-tree", "quarterly-planning"],
10
+ "model": { "tier": "standard", "rationale": "Structured derivation against a fixed roll-up discipline; the causal-sentence and gap judgments need care but the template bounds them. Escalate via ambiguous-input when the company objectives themselves are contested." }
11
+ }
@@ -0,0 +1,46 @@
1
+ # OKR Cascade — {cycle, e.g. 2026 Q4}
2
+
3
+ > Teams in scope: {list} · Source of company OKRs: {doc/person} · Status: DRAFT
4
+
5
+ ## Company OKRs (verbatim)
6
+
7
+ ### O1: {objective, verbatim}
8
+ | KR | Type | Note |
9
+ |---|---|---|
10
+ | {KR verbatim} | outcome / **output ⚠** | {if output: the outcome it presumably serves} |
11
+
12
+ ## Team OKRs
13
+
14
+ ### Team: {name}
15
+
16
+ **O: {team objective — qualitative, motivating, this cycle}** _(feeds company O1)_
17
+
18
+ | KR | Baseline → Target | Causal sentence (mechanism → company KR) | Scoring |
19
+ |---|---|---|---|
20
+ | {KR} | {x → y} | {why moving this moves company KR n} | {how 0.0–1.0 is graded, e.g. linear on pp gained} |
21
+
22
+ <!-- A team with no credible contribution to an objective doesn't appear under it. -->
23
+
24
+ ## Gap registry (ranked)
25
+
26
+ | # | Gap slug | Company KR or objective it starves | Why no team covers it | Decision needed from |
27
+ |---|---|---|---|---|
28
+ | 1 | {kebab-slug} | {KR, or "On (objective-level)"} | {no owner / no credible path / delta too large} | {role} |
29
+
30
+ ## Causal metric tree
31
+
32
+ North-star: **{one user-behavioral outcome metric}**
33
+
34
+ ```mermaid
35
+ flowchart BT
36
+ KR1["{team KR}"] -->|"{causal sentence, short}"| NS["{north-star}"]
37
+ KR2["{team KR}"] -->|"{…}"| NS
38
+ G1["{guardrail KR}"] -.->|guardrail| NS
39
+ ```
40
+
41
+ Cut from the tree: {KRs that attached nowhere, and why} — or "none".
42
+
43
+ ## Next steps
44
+
45
+ - {team KR} → run `success-metrics` for full measurement design (baseline, counter-metric, instrumentation)
46
+ - {gap slug} → {owner role} staffs it or explicitly drops it by {date}
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: prd-draft
3
+ description: Draft a Product Requirements Document from a feature idea or brief — evidence-backed problem statement with zero solution language, testable MoSCoW-prioritized requirements, mandatory non-goals, and a success line per goal. Use when the user needs a PRD, wants to capture business requirements for a feature, or asks to turn an idea, pitch, or brief into a requirements doc.
4
+ ---
5
+
6
+ # prd-draft
7
+
8
+ Turns "the business wants X" into the document that aligns everyone on **what problem, for whom, how we'll know** — before anyone argues about how. The missing link in the pipeline: `brief-intake` (raw mess → brief) → **`prd-draft`** → `user-story-splitter` (stories), `nfr-spec` (quality targets), `success-metrics` (measurement), `design-doc` (the how).
9
+
10
+ ## How to respond
11
+
12
+ 1. **Ingest the idea** — a `brief-intake` output, a pitch paragraph, a meeting note. Ask at most 2 questions, spent on the two highest-leverage unknowns: **evidence** ("what tells us users actually have this problem?") and the **binding constraint** ("fixed deadline, fixed scope, or fixed team?"). Everything else: pick a default, tag it `[assumption]`.
13
+
14
+ 2. **Write the problem statement with zero solution nouns.** It names users, their situation, the pain, and the evidence — and survives the test: *could this paragraph justify a completely different solution than the one everyone has in mind?* ✅ *"Support agents spend ~20 min/ticket reconstructing customer order history across three tools `[reported by support lead]`"* — ❌ *"We need an order-history dashboard"* (that's a solution wearing a problem costume).
15
+
16
+ 3. **Name the users specifically enough to find one.** Primary persona + their job-to-be-done; secondary personas listed but explicitly deprioritized. "All users" is not a persona — if the feature really serves everyone, name who feels the pain *most*.
17
+
18
+ 4. **State goals with a success line each.** Every goal carries one measurable "we'll know it worked when …" sentence — target, timeframe, baseline if known. One line here; the full measurement design (instrumentation, guardrails) is `success-metrics`' job — point the user there.
19
+
20
+ 5. **Write requirements that are testable and solution-free**, each with a MoSCoW priority — and the **Won't-have list is mandatory**: ✅ *"M — Agent sees a customer's orders from all channels in one view, ≤3s after lookup"* — ❌ *"M — Use Redis to cache order data"* (implementation, belongs in `design-doc`) — ❌ *"S — The experience is seamless"* (untestable, belongs nowhere). Requirements describe observable behavior or capability; each one is checkable by a tester or demo.
21
+
22
+ 6. **Make non-goals carry weight — minimum 3.** Non-goals are the section that kills scope creep in review instead of in sprint 4. Each names the thing stakeholders will plausibly ask for, and one line on why it's out: ✅ *"Editing orders from this view — read-only for v1; write paths triple the authz surface (revisit after launch metrics)"*.
23
+
24
+ 7. **List open questions with owners and dates** — the unknowns that block requirement freeze, each assigned to a person/role who can actually answer it. An open question without an owner is a future surprise.
25
+
26
+ 8. **Emit the PRD with [`templates/prd.md`](templates/prd.md)** in one message, sized for a 30-minute read. End with the handoff map: stories → `user-story-splitter`, quality targets → `nfr-spec`, measurement → `success-metrics`, technical approach → `design-doc`.
27
+
28
+ ## Useful references in this skill
29
+
30
+ - [`templates/prd.md`](templates/prd.md) — the PRD skeleton with the solution-language test and MoSCoW table
31
+
32
+ ## Quality bar
33
+
34
+ - **The problem statement passes the alternative-solution test.** If only one solution could follow from it, it's a spec, not a problem.
35
+ - **Every requirement is verifiable** — a tester can demo it pass/fail. Implementation choices and adjective requirements both fail.
36
+ - **Won't-have list is non-empty and specific.** "Out of scope: everything else" is an empty gesture; name the tempting things.
37
+ - **Every goal has a success line with a number and a timeframe.** "Improve agent efficiency" is a hope; "median handle time −25% within 60 days of GA" is a goal.
38
+ - **Evidence is tagged to its source** — `[reported by X]`, `[data: Y]`, `[assumption]`. A PRD's authority is exactly as good as its weakest untagged claim.
39
+ - **It reads in 30 minutes.** Length is a tax on every reviewer; appendices exist for the rest.
40
+
41
+ ## When to use this skill
42
+
43
+ - ✅ A feature idea needs to become an agreed requirements doc before design starts
44
+ - ✅ "Write a PRD for X" / "capture the business requirements for X"
45
+ - ✅ A `brief-intake` output is ready to be shaped into the canonical product doc
46
+ - ✅ Two teams disagree about what's being built — the PRD is the alignment artifact
47
+
48
+ ## When NOT to use this skill
49
+
50
+ - ❌ The technical how — architecture, stack, data model → `design-doc`
51
+ - ❌ Splitting into sprint-sized work → `user-story-splitter` (after the PRD)
52
+ - ❌ Whether to invest at all → `business-case`; the PRD assumes the investment decision is made
53
+ - ❌ A tiny change that needs a ticket, not a doc → `user-story-splitter` or `bug-triage`
54
+
55
+ ## Anti-patterns to avoid
56
+
57
+ - ❌ **Solution-as-problem.** "Problem: we don't have a dashboard." The absence of a solution is never the problem.
58
+ - ❌ **Implementation smuggled into requirements.** "Must use Kafka" — the PRD owns *what*; smuggled *hows* pre-empt design without review.
59
+ - ❌ **Adjective requirements.** Fast, seamless, intuitive, robust — each one either gets a number or gets cut.
60
+ - ❌ **The empty non-goals section.** A PRD that excludes nothing has decided nothing; it's a wish list with a header.
61
+ - ❌ **Stakeholder wish-list flattening.** Every request recorded as "Must" because saying Should felt political — MoSCoW with one priority level is no prioritization.
62
+ - ❌ **The 40-page PRD.** Completeness theater; nobody reviews page 23, so page 23 ships unreviewed.
@@ -0,0 +1,34 @@
1
+ [
2
+ {
3
+ "query": "Draft a PRD for this feature",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "Write the product requirements document from this idea",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "I need testable requirements with MoSCoW priorities and non-goals",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "Turn this feature idea into a PRD engineering can build from",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Write the press release before the product exists",
20
+ "should_trigger": false
21
+ },
22
+ {
23
+ "query": "Draft the engineering design doc for this",
24
+ "should_trigger": false
25
+ },
26
+ {
27
+ "query": "Split this epic into INVEST user stories",
28
+ "should_trigger": false
29
+ },
30
+ {
31
+ "query": "Write interview questions for our stakeholders",
32
+ "should_trigger": false
33
+ }
34
+ ]
@@ -0,0 +1,17 @@
1
+ {
2
+ "skill_name": "prd-draft",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Draft a PRD for a saved-search feature in our analytics product — users keep re-running the same filters every morning.",
7
+ "assertions": [
8
+ "The problem statement contains zero solution language and passes the alternative-solution test — more than one solution could follow from it",
9
+ "Every requirement is verifiable — a tester can demo it pass or fail; adjective requirements and implementation choices are rejected",
10
+ "Requirements are MoSCoW-prioritized",
11
+ "The won't-have list is non-empty and names specific excluded things",
12
+ "Each goal carries a success line stating how it will be measured",
13
+ "Claims that need evidence are marked rather than asserted as fact"
14
+ ]
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "prd-draft",
3
+ "version": "0.1.0",
4
+ "description": "Draft a Product Requirements Document from a feature idea or brief — evidence-backed problem statement with zero solution language, testable MoSCoW-prioritized requirements, mandatory non-goals, and a success line per goal. Use when the user needs a PRD, wants to capture business requirements for a feature, or asks to turn an idea, pitch, or brief into a requirements doc.",
5
+ "entrypoint": "SKILL.md",
6
+ "deps": { "npm": [], "pip": [] },
7
+ "env": { "required": [], "optional": [] },
8
+ "related": ["brief-intake", "bug-triage", "business-case", "design-doc", "nfr-spec", "success-metrics", "user-story-splitter"],
9
+ "handoff": [
10
+ { "to": "nfr-spec", "when": "the functional requirements are agreed", "purpose": "Set the quality targets the design will be judged against.", "fallback": "If nfr-spec is absent, state latency, availability and scale targets inline as numbers, not adjectives." },
11
+ { "to": "user-story-splitter", "when": "the requirements are ready to become units of work", "purpose": "Split into vertically-sliced stories with acceptance criteria.", "fallback": "If user-story-splitter is absent, slice inline and give each story acceptance criteria a test can assert." },
12
+ { "to": "design-doc", "when": "the what is agreed and the how is open", "purpose": "Design the system that satisfies these requirements.", "fallback": "If design-doc is absent, write the approach, the alternatives, and the trade-offs inline." }
13
+ ],
14
+ "tags": ["prd", "requirements", "product", "discovery", "moscow", "non-goals"],
15
+ "model": { "tier": "standard", "rationale": "Synthesizes a structured requirements doc from a brief. The solution-language discipline needs care; bounded by the template. Escalate via ambiguous-input on contested scope." }
16
+ }
@@ -0,0 +1,66 @@
1
+ # PRD template
2
+
3
+ Sized for a 30-minute read. Every claim tagged `[reported by …]`, `[data: …]`, or `[assumption]`.
4
+
5
+ ```markdown
6
+ # PRD: {feature name — noun phrase, not a solution name if avoidable}
7
+
8
+ **Status:** draft | in review | frozen · **Owner:** {role} · **Date:** {YYYY-MM-DD}
9
+ **Binding constraint:** {fixed deadline | fixed scope | fixed team} `[reported|assumption]`
10
+
11
+ ## Problem
12
+
13
+ {Who, in what situation, suffers what, evidenced by what. Zero solution nouns.
14
+ Test before moving on: could this paragraph justify a completely different
15
+ solution than the one in everyone's head? If not, rewrite.}
16
+
17
+ ## Users
18
+
19
+ **Primary:** {persona specific enough to find one} — job-to-be-done: {what they're
20
+ trying to accomplish when they hit the problem}
21
+ **Secondary (explicitly deprioritized):** {personas served incidentally, one line on why not primary}
22
+
23
+ ## Goals
24
+
25
+ | # | Goal | We'll know it worked when |
26
+ |---|---|---|
27
+ | G1 | {outcome, not output} | {metric + target + timeframe; baseline if known, else "[baseline needed]"} |
28
+
29
+ Full measurement design (instrumentation, guardrails, decision rule): hand to `success-metrics`.
30
+
31
+ ## Requirements
32
+
33
+ | ID | Requirement (testable, solution-free) | MoSCoW | Maps to goal |
34
+ |---|---|---|---|
35
+ | R1 | {observable behavior/capability a tester can verdict} | M | G1 |
36
+ | R2 | … | S | G1 |
37
+
38
+ **Won't have (this version):**
39
+ - {the tempting thing} — {one line why out}
40
+
41
+ ## Non-goals (minimum 3 — the scope-creep firewall)
42
+
43
+ - **{Thing stakeholders will plausibly ask for}** — {why it's out; when it might come back}
44
+
45
+ ## Quality targets
46
+
47
+ One line each if known; full treatment → `nfr-spec`.
48
+ {e.g. "Agent-facing: p95 lookup < 3s. Availability follows the support-tools tier."}
49
+
50
+ ## Open questions
51
+
52
+ | Question | Owner | Needed by |
53
+ |---|---|---|
54
+ | {blocker to freezing requirements} | {person/role who can answer} | {date} |
55
+
56
+ ## Assumptions log
57
+
58
+ - [assumption] {default picked} — challenge by {date/review}
59
+
60
+ ## Handoffs
61
+
62
+ - Stories & slicing → `user-story-splitter`
63
+ - Quality targets → `nfr-spec`
64
+ - Measurement → `success-metrics`
65
+ - Technical approach → `design-doc`
66
+ ```