opencode-knowledge-work 0.0.0-stage → 0.1.0

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 (472) hide show
  1. package/LICENSE +212 -0
  2. package/README.md +124 -2
  3. package/content/bio-research/.mcp.json +48 -0
  4. package/content/bio-research/CONNECTORS.md +23 -0
  5. package/content/bio-research/LICENSE +202 -0
  6. package/content/bio-research/README.md +83 -0
  7. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/LICENSE.txt +201 -0
  8. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/SKILL.md +280 -0
  9. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/asm_schema_overview.md +226 -0
  10. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/field_classification_guide.md +503 -0
  11. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/flattening_guide.md +254 -0
  12. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/supported_instruments.md +151 -0
  13. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/requirements.txt +26 -0
  14. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/convert_to_asm.py +543 -0
  15. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/export_parser.py +481 -0
  16. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/flatten_asm.py +254 -0
  17. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/validate_asm.py +1102 -0
  18. package/content/bio-research/skills/bio-research-nextflow-development/LICENSE.txt +201 -0
  19. package/content/bio-research/skills/bio-research-nextflow-development/SKILL.md +290 -0
  20. package/content/bio-research/skills/bio-research-nextflow-development/references/geo-sra-acquisition.md +416 -0
  21. package/content/bio-research/skills/bio-research-nextflow-development/references/installation.md +96 -0
  22. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/atacseq.md +138 -0
  23. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/rnaseq.md +118 -0
  24. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/sarek.md +145 -0
  25. package/content/bio-research/skills/bio-research-nextflow-development/references/troubleshooting.md +137 -0
  26. package/content/bio-research/skills/bio-research-nextflow-development/scripts/check_environment.py +452 -0
  27. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/genomes.yaml +148 -0
  28. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/atacseq.yaml +187 -0
  29. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/rnaseq.yaml +147 -0
  30. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/sarek.yaml +233 -0
  31. package/content/bio-research/skills/bio-research-nextflow-development/scripts/detect_data_type.py +300 -0
  32. package/content/bio-research/skills/bio-research-nextflow-development/scripts/generate_samplesheet.py +455 -0
  33. package/content/bio-research/skills/bio-research-nextflow-development/scripts/manage_genomes.py +521 -0
  34. package/content/bio-research/skills/bio-research-nextflow-development/scripts/sra_geo_fetch.py +732 -0
  35. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/__init__.py +69 -0
  36. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/file_discovery.py +189 -0
  37. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/ncbi_utils.py +808 -0
  38. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/sample_inference.py +290 -0
  39. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/validators.py +256 -0
  40. package/content/bio-research/skills/bio-research-scientific-problem-selection/LICENSE.txt +201 -0
  41. package/content/bio-research/skills/bio-research-scientific-problem-selection/SKILL.md +269 -0
  42. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/01-intuition-pumps.md +264 -0
  43. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/02-risk-assessment.md +323 -0
  44. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/03-optimization-function.md +481 -0
  45. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/04-parameter-strategy.md +396 -0
  46. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/05-decision-tree.md +85 -0
  47. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/06-adversity-planning.md +123 -0
  48. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/07-problem-inversion.md +152 -0
  49. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/08-integration-synthesis.md +173 -0
  50. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/09-meta-framework.md +504 -0
  51. package/content/bio-research/skills/bio-research-scvi-tools/LICENSE.txt +201 -0
  52. package/content/bio-research/skills/bio-research-scvi-tools/SKILL.md +155 -0
  53. package/content/bio-research/skills/bio-research-scvi-tools/references/atac_peakvi.md +398 -0
  54. package/content/bio-research/skills/bio-research-scvi-tools/references/batch_correction_sysvi.md +417 -0
  55. package/content/bio-research/skills/bio-research-scvi-tools/references/citeseq_totalvi.md +420 -0
  56. package/content/bio-research/skills/bio-research-scvi-tools/references/data_preparation.md +286 -0
  57. package/content/bio-research/skills/bio-research-scvi-tools/references/environment_setup.md +254 -0
  58. package/content/bio-research/skills/bio-research-scvi-tools/references/label_transfer.md +373 -0
  59. package/content/bio-research/skills/bio-research-scvi-tools/references/multiome_multivi.md +384 -0
  60. package/content/bio-research/skills/bio-research-scvi-tools/references/rna_velocity_velovi.md +410 -0
  61. package/content/bio-research/skills/bio-research-scvi-tools/references/scarches_mapping.md +401 -0
  62. package/content/bio-research/skills/bio-research-scvi-tools/references/scrna_integration.md +429 -0
  63. package/content/bio-research/skills/bio-research-scvi-tools/references/spatial_deconvolution.md +438 -0
  64. package/content/bio-research/skills/bio-research-scvi-tools/references/troubleshooting.md +420 -0
  65. package/content/bio-research/skills/bio-research-scvi-tools/scripts/cluster_embed.py +212 -0
  66. package/content/bio-research/skills/bio-research-scvi-tools/scripts/differential_expression.py +220 -0
  67. package/content/bio-research/skills/bio-research-scvi-tools/scripts/integrate_datasets.py +237 -0
  68. package/content/bio-research/skills/bio-research-scvi-tools/scripts/model_utils.py +634 -0
  69. package/content/bio-research/skills/bio-research-scvi-tools/scripts/prepare_data.py +169 -0
  70. package/content/bio-research/skills/bio-research-scvi-tools/scripts/train_model.py +370 -0
  71. package/content/bio-research/skills/bio-research-scvi-tools/scripts/transfer_labels.py +224 -0
  72. package/content/bio-research/skills/bio-research-scvi-tools/scripts/validate_adata.py +397 -0
  73. package/content/bio-research/skills/bio-research-single-cell-rna-qc/LICENSE.txt +201 -0
  74. package/content/bio-research/skills/bio-research-single-cell-rna-qc/SKILL.md +175 -0
  75. package/content/bio-research/skills/bio-research-single-cell-rna-qc/references/scverse_qc_guidelines.md +186 -0
  76. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_analysis.py +232 -0
  77. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_core.py +233 -0
  78. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_plotting.py +235 -0
  79. package/content/bio-research/skills/bio-research-start/SKILL.md +79 -0
  80. package/content/customer-support/.mcp.json +40 -0
  81. package/content/customer-support/CONNECTORS.md +19 -0
  82. package/content/customer-support/LICENSE +202 -0
  83. package/content/customer-support/README.md +140 -0
  84. package/content/customer-support/skills/customer-support-customer-escalation/SKILL.md +248 -0
  85. package/content/customer-support/skills/customer-support-customer-research/SKILL.md +252 -0
  86. package/content/customer-support/skills/customer-support-draft-response/SKILL.md +418 -0
  87. package/content/customer-support/skills/customer-support-kb-article/SKILL.md +351 -0
  88. package/content/customer-support/skills/customer-support-ticket-triage/SKILL.md +275 -0
  89. package/content/data/.mcp.json +36 -0
  90. package/content/data/CONNECTORS.md +18 -0
  91. package/content/data/LICENSE +202 -0
  92. package/content/data/README.md +121 -0
  93. package/content/data/skills/data-analyze/SKILL.md +119 -0
  94. package/content/data/skills/data-build-dashboard/SKILL.md +924 -0
  95. package/content/data/skills/data-create-viz/SKILL.md +154 -0
  96. package/content/data/skills/data-data-context-extractor/SKILL.md +227 -0
  97. package/content/data/skills/data-data-context-extractor/references/domain-template.md +147 -0
  98. package/content/data/skills/data-data-context-extractor/references/example-output.md +198 -0
  99. package/content/data/skills/data-data-context-extractor/references/skill-template.md +148 -0
  100. package/content/data/skills/data-data-context-extractor/references/sql-dialects.md +121 -0
  101. package/content/data/skills/data-data-context-extractor/scripts/package_data_skill.py +126 -0
  102. package/content/data/skills/data-data-visualization/SKILL.md +305 -0
  103. package/content/data/skills/data-explore-data/SKILL.md +325 -0
  104. package/content/data/skills/data-sql-queries/SKILL.md +428 -0
  105. package/content/data/skills/data-statistical-analysis/SKILL.md +245 -0
  106. package/content/data/skills/data-validate-data/SKILL.md +383 -0
  107. package/content/data/skills/data-write-query/SKILL.md +122 -0
  108. package/content/design/.mcp.json +44 -0
  109. package/content/design/CONNECTORS.md +18 -0
  110. package/content/design/README.md +117 -0
  111. package/content/design/skills/design-accessibility-review/SKILL.md +128 -0
  112. package/content/design/skills/design-design-critique/SKILL.md +118 -0
  113. package/content/design/skills/design-design-handoff/SKILL.md +131 -0
  114. package/content/design/skills/design-design-system/SKILL.md +190 -0
  115. package/content/design/skills/design-research-synthesis/SKILL.md +92 -0
  116. package/content/design/skills/design-user-research/SKILL.md +41 -0
  117. package/content/design/skills/design-ux-copy/SKILL.md +107 -0
  118. package/content/engineering/.mcp.json +48 -0
  119. package/content/engineering/CONNECTORS.md +19 -0
  120. package/content/engineering/README.md +136 -0
  121. package/content/engineering/skills/engineering-architecture/SKILL.md +85 -0
  122. package/content/engineering/skills/engineering-code-review/SKILL.md +118 -0
  123. package/content/engineering/skills/engineering-debug/SKILL.md +95 -0
  124. package/content/engineering/skills/engineering-deploy-checklist/SKILL.md +78 -0
  125. package/content/engineering/skills/engineering-documentation/SKILL.md +49 -0
  126. package/content/engineering/skills/engineering-incident-response/SKILL.md +158 -0
  127. package/content/engineering/skills/engineering-standup/SKILL.md +75 -0
  128. package/content/engineering/skills/engineering-system-design/SKILL.md +42 -0
  129. package/content/engineering/skills/engineering-tech-debt/SKILL.md +32 -0
  130. package/content/engineering/skills/engineering-testing-strategy/SKILL.md +33 -0
  131. package/content/enterprise-search/.mcp.json +36 -0
  132. package/content/enterprise-search/CONNECTORS.md +21 -0
  133. package/content/enterprise-search/LICENSE +202 -0
  134. package/content/enterprise-search/README.md +157 -0
  135. package/content/enterprise-search/skills/enterprise-search-digest/SKILL.md +173 -0
  136. package/content/enterprise-search/skills/enterprise-search-knowledge-synthesis/SKILL.md +258 -0
  137. package/content/enterprise-search/skills/enterprise-search-search/SKILL.md +178 -0
  138. package/content/enterprise-search/skills/enterprise-search-search-strategy/SKILL.md +222 -0
  139. package/content/enterprise-search/skills/enterprise-search-source-management/SKILL.md +173 -0
  140. package/content/finance/.mcp.json +32 -0
  141. package/content/finance/CONNECTORS.md +20 -0
  142. package/content/finance/LICENSE +202 -0
  143. package/content/finance/README.md +92 -0
  144. package/content/finance/skills/finance-audit-support/SKILL.md +374 -0
  145. package/content/finance/skills/finance-close-management/SKILL.md +221 -0
  146. package/content/finance/skills/finance-financial-statements/SKILL.md +335 -0
  147. package/content/finance/skills/finance-journal-entry/SKILL.md +131 -0
  148. package/content/finance/skills/finance-journal-entry-prep/SKILL.md +186 -0
  149. package/content/finance/skills/finance-reconciliation/SKILL.md +175 -0
  150. package/content/finance/skills/finance-sox-testing/SKILL.md +218 -0
  151. package/content/finance/skills/finance-variance-analysis/SKILL.md +266 -0
  152. package/content/human-resources/.mcp.json +28 -0
  153. package/content/human-resources/CONNECTORS.md +19 -0
  154. package/content/human-resources/README.md +138 -0
  155. package/content/human-resources/skills/human-resources-comp-analysis/SKILL.md +92 -0
  156. package/content/human-resources/skills/human-resources-draft-offer/SKILL.md +82 -0
  157. package/content/human-resources/skills/human-resources-interview-prep/SKILL.md +37 -0
  158. package/content/human-resources/skills/human-resources-onboarding/SKILL.md +104 -0
  159. package/content/human-resources/skills/human-resources-org-planning/SKILL.md +28 -0
  160. package/content/human-resources/skills/human-resources-people-report/SKILL.md +99 -0
  161. package/content/human-resources/skills/human-resources-performance-review/SKILL.md +149 -0
  162. package/content/human-resources/skills/human-resources-policy-lookup/SKILL.md +94 -0
  163. package/content/human-resources/skills/human-resources-recruiting-pipeline/SKILL.md +31 -0
  164. package/content/legal/.mcp.json +36 -0
  165. package/content/legal/CONNECTORS.md +21 -0
  166. package/content/legal/LICENSE +202 -0
  167. package/content/legal/README.md +234 -0
  168. package/content/legal/skills/legal-brief/SKILL.md +208 -0
  169. package/content/legal/skills/legal-compliance-check/SKILL.md +274 -0
  170. package/content/legal/skills/legal-legal-response/SKILL.md +457 -0
  171. package/content/legal/skills/legal-legal-risk-assessment/SKILL.md +265 -0
  172. package/content/legal/skills/legal-meeting-briefing/SKILL.md +220 -0
  173. package/content/legal/skills/legal-review-contract/SKILL.md +358 -0
  174. package/content/legal/skills/legal-signature-request/SKILL.md +104 -0
  175. package/content/legal/skills/legal-triage-nda/SKILL.md +262 -0
  176. package/content/legal/skills/legal-vendor-check/SKILL.md +159 -0
  177. package/content/manifest.json +86 -0
  178. package/content/marketing/.mcp.json +60 -0
  179. package/content/marketing/CONNECTORS.md +20 -0
  180. package/content/marketing/LICENSE +202 -0
  181. package/content/marketing/README.md +90 -0
  182. package/content/marketing/skills/marketing-brand-review/SKILL.md +276 -0
  183. package/content/marketing/skills/marketing-campaign-plan/SKILL.md +308 -0
  184. package/content/marketing/skills/marketing-competitive-brief/SKILL.md +331 -0
  185. package/content/marketing/skills/marketing-content-creation/SKILL.md +157 -0
  186. package/content/marketing/skills/marketing-draft-content/SKILL.md +117 -0
  187. package/content/marketing/skills/marketing-email-sequence/SKILL.md +220 -0
  188. package/content/marketing/skills/marketing-performance-report/SKILL.md +392 -0
  189. package/content/marketing/skills/marketing-seo-audit/SKILL.md +190 -0
  190. package/content/operations/.mcp.json +32 -0
  191. package/content/operations/CONNECTORS.md +20 -0
  192. package/content/operations/README.md +135 -0
  193. package/content/operations/skills/operations-capacity-plan/SKILL.md +113 -0
  194. package/content/operations/skills/operations-change-request/SKILL.md +121 -0
  195. package/content/operations/skills/operations-compliance-tracking/SKILL.md +44 -0
  196. package/content/operations/skills/operations-process-doc/SKILL.md +82 -0
  197. package/content/operations/skills/operations-process-optimization/SKILL.md +39 -0
  198. package/content/operations/skills/operations-risk-assessment/SKILL.md +40 -0
  199. package/content/operations/skills/operations-runbook/SKILL.md +87 -0
  200. package/content/operations/skills/operations-status-report/SKILL.md +77 -0
  201. package/content/operations/skills/operations-vendor-review/SKILL.md +104 -0
  202. package/content/pdf-viewer/.mcp.json +8 -0
  203. package/content/pdf-viewer/CONNECTORS.md +15 -0
  204. package/content/pdf-viewer/LICENSE +202 -0
  205. package/content/pdf-viewer/README.md +57 -0
  206. package/content/pdf-viewer/commands/annotate.md +51 -0
  207. package/content/pdf-viewer/commands/fill-form.md +73 -0
  208. package/content/pdf-viewer/commands/open.md +34 -0
  209. package/content/pdf-viewer/commands/sign.md +54 -0
  210. package/content/pdf-viewer/skills/pdf-viewer-view-pdf/SKILL.md +147 -0
  211. package/content/product-management/.mcp.json +72 -0
  212. package/content/product-management/CONNECTORS.md +22 -0
  213. package/content/product-management/LICENSE +202 -0
  214. package/content/product-management/README.md +118 -0
  215. package/content/product-management/commands/brainstorm.md +120 -0
  216. package/content/product-management/skills/product-management-competitive-brief/SKILL.md +302 -0
  217. package/content/product-management/skills/product-management-metrics-review/SKILL.md +388 -0
  218. package/content/product-management/skills/product-management-product-brainstorming/SKILL.md +273 -0
  219. package/content/product-management/skills/product-management-roadmap-update/SKILL.md +266 -0
  220. package/content/product-management/skills/product-management-sprint-planning/SKILL.md +94 -0
  221. package/content/product-management/skills/product-management-stakeholder-update/SKILL.md +352 -0
  222. package/content/product-management/skills/product-management-synthesize-research/SKILL.md +312 -0
  223. package/content/product-management/skills/product-management-write-spec/SKILL.md +250 -0
  224. package/content/productivity/.mcp.json +44 -0
  225. package/content/productivity/CONNECTORS.md +18 -0
  226. package/content/productivity/LICENSE +202 -0
  227. package/content/productivity/README.md +97 -0
  228. package/content/productivity/skills/dashboard.html +3111 -0
  229. package/content/productivity/skills/productivity-memory-management/SKILL.md +323 -0
  230. package/content/productivity/skills/productivity-start/SKILL.md +158 -0
  231. package/content/productivity/skills/productivity-task-management/SKILL.md +91 -0
  232. package/content/productivity/skills/productivity-update/SKILL.md +168 -0
  233. package/content/sales/.mcp.json +100 -0
  234. package/content/sales/CONNECTORS.md +36 -0
  235. package/content/sales/LICENSE +202 -0
  236. package/content/sales/README.md +148 -0
  237. package/content/sales/skills/sales-account-context/SKILL.md +94 -0
  238. package/content/sales/skills/sales-account-plan/SKILL.md +95 -0
  239. package/content/sales/skills/sales-account-research/SKILL.md +99 -0
  240. package/content/sales/skills/sales-account-tiering/SKILL.md +101 -0
  241. package/content/sales/skills/sales-call-prep/SKILL.md +111 -0
  242. package/content/sales/skills/sales-call-summary/SKILL.md +111 -0
  243. package/content/sales/skills/sales-close-plan/SKILL.md +106 -0
  244. package/content/sales/skills/sales-competitive-intelligence/SKILL.md +102 -0
  245. package/content/sales/skills/sales-create-an-asset/SKILL.md +105 -0
  246. package/content/sales/skills/sales-crm-hygiene-check/SKILL.md +103 -0
  247. package/content/sales/skills/sales-customer-health/SKILL.md +108 -0
  248. package/content/sales/skills/sales-customer-voice/SKILL.md +94 -0
  249. package/content/sales/skills/sales-daily-briefing/SKILL.md +61 -0
  250. package/content/sales/skills/sales-deal-advance-gap/SKILL.md +102 -0
  251. package/content/sales/skills/sales-deal-review/SKILL.md +105 -0
  252. package/content/sales/skills/sales-deal-signals/SKILL.md +96 -0
  253. package/content/sales/skills/sales-deal-slip-scenario/SKILL.md +101 -0
  254. package/content/sales/skills/sales-draft-outreach/SKILL.md +116 -0
  255. package/content/sales/skills/sales-end-of-day/SKILL.md +114 -0
  256. package/content/sales/skills/sales-expansion-whitespace/SKILL.md +97 -0
  257. package/content/sales/skills/sales-forecast/SKILL.md +100 -0
  258. package/content/sales/skills/sales-handle-objection/SKILL.md +93 -0
  259. package/content/sales/skills/sales-inbox-sweep/SKILL.md +114 -0
  260. package/content/sales/skills/sales-lead-triage/SKILL.md +105 -0
  261. package/content/sales/skills/sales-log-activity/SKILL.md +111 -0
  262. package/content/sales/skills/sales-pipeline-review/SKILL.md +97 -0
  263. package/content/sales/skills/sales-renewal-radar/SKILL.md +95 -0
  264. package/content/sales/skills/sales-rep-context/SKILL.md +90 -0
  265. package/content/sales/skills/sales-route-lead/SKILL.md +111 -0
  266. package/content/sales/skills/sales-schedule-meeting/SKILL.md +99 -0
  267. package/content/sales/skills/sales-setup/SKILL.md +195 -0
  268. package/content/sales/skills/sales-stakeholder-map/SKILL.md +107 -0
  269. package/content/sales/skills/sales-team-pipeline/SKILL.md +105 -0
  270. package/content/sales/skills/sales-update-opportunity/SKILL.md +111 -0
  271. package/content/sales/skills/sales-weekly-wrap/SKILL.md +90 -0
  272. package/content/sales/skills/sales-win-loss-review/SKILL.md +88 -0
  273. package/content/small-business/.mcp.json +148 -0
  274. package/content/small-business/README.md +117 -0
  275. package/content/small-business/skills/small-business-ad-manager/SKILL.md +128 -0
  276. package/content/small-business/skills/small-business-ad-manager/reference/ad_copy.md +112 -0
  277. package/content/small-business/skills/small-business-ad-manager/reference/change_playbook.md +127 -0
  278. package/content/small-business/skills/small-business-ad-manager/reference/data_sources.md +100 -0
  279. package/content/small-business/skills/small-business-ad-manager/reference/diagnostics.md +89 -0
  280. package/content/small-business/skills/small-business-ad-manager/reference/gotchas.md +181 -0
  281. package/content/small-business/skills/small-business-ap-processor/SKILL.md +158 -0
  282. package/content/small-business/skills/small-business-ap-processor/reference/coding_rules.md +70 -0
  283. package/content/small-business/skills/small-business-ap-processor/reference/gotchas.md +131 -0
  284. package/content/small-business/skills/small-business-ap-processor/reference/intake_and_extraction.md +82 -0
  285. package/content/small-business/skills/small-business-ap-processor/reference/matching_and_exceptions.md +80 -0
  286. package/content/small-business/skills/small-business-ap-processor/reference/payment_run.md +77 -0
  287. package/content/small-business/skills/small-business-brand-style/SKILL.md +106 -0
  288. package/content/small-business/skills/small-business-build-agent/SKILL.md +105 -0
  289. package/content/small-business/skills/small-business-build-agent/reference/capture.md +133 -0
  290. package/content/small-business/skills/small-business-build-agent/reference/gotchas.md +204 -0
  291. package/content/small-business/skills/small-business-build-agent/reference/skill_authoring.md +165 -0
  292. package/content/small-business/skills/small-business-build-connector/SKILL.md +102 -0
  293. package/content/small-business/skills/small-business-build-connector/reference/discovery.md +120 -0
  294. package/content/small-business/skills/small-business-build-connector/reference/gotchas.md +237 -0
  295. package/content/small-business/skills/small-business-build-connector/reference/paths.md +106 -0
  296. package/content/small-business/skills/small-business-build-connector/reference/use-zapier.md +128 -0
  297. package/content/small-business/skills/small-business-business-pulse/SKILL.md +181 -0
  298. package/content/small-business/skills/small-business-business-pulse/reference/data_sources.md +173 -0
  299. package/content/small-business/skills/small-business-business-pulse/reference/gotchas.md +103 -0
  300. package/content/small-business/skills/small-business-business-pulse/reference/output_template.md +109 -0
  301. package/content/small-business/skills/small-business-business-pulse/reference/thresholds.md +71 -0
  302. package/content/small-business/skills/small-business-business-pulse/reference/v2_sources.md +63 -0
  303. package/content/small-business/skills/small-business-call-list/SKILL.md +82 -0
  304. package/content/small-business/skills/small-business-canva-creator/SKILL.md +448 -0
  305. package/content/small-business/skills/small-business-canva-creator/reference/canva-api.md +208 -0
  306. package/content/small-business/skills/small-business-canva-creator/reference/examples/boutique-brief-campaign.md +181 -0
  307. package/content/small-business/skills/small-business-canva-creator/reference/gotchas.md +380 -0
  308. package/content/small-business/skills/small-business-canva-creator/reference/hubspot-staging.md +137 -0
  309. package/content/small-business/skills/small-business-cash-flow-snapshot/SKILL.md +251 -0
  310. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/examples/worked-example.md +92 -0
  311. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/gotchas.md +62 -0
  312. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/v2_sources.md +84 -0
  313. package/content/small-business/skills/small-business-close-month/SKILL.md +86 -0
  314. package/content/small-business/skills/small-business-content-strategy/SKILL.md +152 -0
  315. package/content/small-business/skills/small-business-content-strategy/reference/examples/retail-boutique-example.md +71 -0
  316. package/content/small-business/skills/small-business-content-strategy/reference/gotchas.md +104 -0
  317. package/content/small-business/skills/small-business-content-strategy/reference/v2_sources.md +40 -0
  318. package/content/small-business/skills/small-business-contract-review/SKILL.md +158 -0
  319. package/content/small-business/skills/small-business-contract-review/reference/docusign-fetch.md +32 -0
  320. package/content/small-business/skills/small-business-contract-review/reference/examples/flagged-summary-saas.md +97 -0
  321. package/content/small-business/skills/small-business-contract-review/reference/gmail-fetch.md +30 -0
  322. package/content/small-business/skills/small-business-contract-review/reference/gotchas.md +105 -0
  323. package/content/small-business/skills/small-business-contract-review/reference/m365-fetch.md +60 -0
  324. package/content/small-business/skills/small-business-crm-autopilot/SKILL.md +162 -0
  325. package/content/small-business/skills/small-business-crm-autopilot/reference/cleanup-checklist.md +82 -0
  326. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/cleanup-deal.md +83 -0
  327. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-call-happy-path.md +68 -0
  328. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-email-happy-path.md +50 -0
  329. package/content/small-business/skills/small-business-crm-autopilot/reference/gotchas.md +110 -0
  330. package/content/small-business/skills/small-business-crm-autopilot/reference/hubspot-fields.md +62 -0
  331. package/content/small-business/skills/small-business-crm-autopilot/reference/lightweight_crm.md +125 -0
  332. package/content/small-business/skills/small-business-crm-autopilot/reference/salesforce-fields.md +122 -0
  333. package/content/small-business/skills/small-business-crm-autopilot/reference/standing_mode.md +144 -0
  334. package/content/small-business/skills/small-business-grant-rfp-writer/SKILL.md +162 -0
  335. package/content/small-business/skills/small-business-grant-rfp-writer/reference/drafting.md +129 -0
  336. package/content/small-business/skills/small-business-grant-rfp-writer/reference/go_no_go.md +125 -0
  337. package/content/small-business/skills/small-business-grant-rfp-writer/reference/gotchas.md +180 -0
  338. package/content/small-business/skills/small-business-grant-rfp-writer/reference/opportunity_sources.md +90 -0
  339. package/content/small-business/skills/small-business-grant-rfp-writer/reference/org_profile.md +81 -0
  340. package/content/small-business/skills/small-business-grow-pipeline/SKILL.md +92 -0
  341. package/content/small-business/skills/small-business-growth-pulse/SKILL.md +143 -0
  342. package/content/small-business/skills/small-business-growth-pulse/reference/data_sources.md +113 -0
  343. package/content/small-business/skills/small-business-growth-pulse/reference/gotchas.md +175 -0
  344. package/content/small-business/skills/small-business-growth-pulse/reference/output_template.md +122 -0
  345. package/content/small-business/skills/small-business-growth-pulse/reference/thresholds.md +110 -0
  346. package/content/small-business/skills/small-business-hiring-screener/SKILL.md +137 -0
  347. package/content/small-business/skills/small-business-hiring-screener/reference/candidate_comms.md +132 -0
  348. package/content/small-business/skills/small-business-hiring-screener/reference/fair_screening.md +103 -0
  349. package/content/small-business/skills/small-business-hiring-screener/reference/gotchas.md +183 -0
  350. package/content/small-business/skills/small-business-hiring-screener/reference/onboarding.md +82 -0
  351. package/content/small-business/skills/small-business-hiring-screener/reference/rubric.md +122 -0
  352. package/content/small-business/skills/small-business-inbox-manager/SKILL.md +130 -0
  353. package/content/small-business/skills/small-business-inbox-manager/reference/digest_format.md +110 -0
  354. package/content/small-business/skills/small-business-inbox-manager/reference/gotchas.md +220 -0
  355. package/content/small-business/skills/small-business-inbox-manager/reference/handoffs.md +77 -0
  356. package/content/small-business/skills/small-business-inbox-manager/reference/reply_drafting.md +116 -0
  357. package/content/small-business/skills/small-business-inbox-manager/reference/triage_rules.md +72 -0
  358. package/content/small-business/skills/small-business-inventory-planner/SKILL.md +126 -0
  359. package/content/small-business/skills/small-business-inventory-planner/reference/data_sources.md +94 -0
  360. package/content/small-business/skills/small-business-inventory-planner/reference/gotchas.md +153 -0
  361. package/content/small-business/skills/small-business-inventory-planner/reference/po_drafting.md +92 -0
  362. package/content/small-business/skills/small-business-inventory-planner/reference/seasonality.md +112 -0
  363. package/content/small-business/skills/small-business-inventory-planner/reference/velocity_and_reorder.md +154 -0
  364. package/content/small-business/skills/small-business-invoice-chase/SKILL.md +131 -0
  365. package/content/small-business/skills/small-business-invoice-chase/reference/examples/firm-reminder.md +28 -0
  366. package/content/small-business/skills/small-business-invoice-chase/reference/examples/gentle-reminder.md +27 -0
  367. package/content/small-business/skills/small-business-invoice-chase/reference/gotchas.md +75 -0
  368. package/content/small-business/skills/small-business-invoice-chase/reference/tone-matching.md +44 -0
  369. package/content/small-business/skills/small-business-invoice-chase/reference/v2_sources.md +78 -0
  370. package/content/small-business/skills/small-business-job-post-builder/SKILL.md +204 -0
  371. package/content/small-business/skills/small-business-job-post-builder/reference/docusign-routing.md +63 -0
  372. package/content/small-business/skills/small-business-job-post-builder/reference/examples/worked-example.md +110 -0
  373. package/content/small-business/skills/small-business-job-post-builder/reference/existing-document-merge.md +58 -0
  374. package/content/small-business/skills/small-business-job-post-builder/reference/gotchas.md +68 -0
  375. package/content/small-business/skills/small-business-job-post-builder/reference/interview-guide-structure.md +93 -0
  376. package/content/small-business/skills/small-business-job-post-builder/reference/job-post-structure.md +62 -0
  377. package/content/small-business/skills/small-business-job-post-builder/reference/offer-letter-template.md +145 -0
  378. package/content/small-business/skills/small-business-job-post-builder/reference/role-intake.md +73 -0
  379. package/content/small-business/skills/small-business-lead-finder/SKILL.md +119 -0
  380. package/content/small-business/skills/small-business-lead-finder/reference/gotchas.md +152 -0
  381. package/content/small-business/skills/small-business-lead-finder/reference/icp_method.md +97 -0
  382. package/content/small-business/skills/small-business-lead-finder/reference/output_template.md +124 -0
  383. package/content/small-business/skills/small-business-lead-finder/reference/scoring.md +92 -0
  384. package/content/small-business/skills/small-business-lead-finder/reference/sourcing.md +78 -0
  385. package/content/small-business/skills/small-business-lead-triage/SKILL.md +81 -0
  386. package/content/small-business/skills/small-business-lead-triage/reference/examples/happy-path-triage.md +68 -0
  387. package/content/small-business/skills/small-business-lead-triage/reference/gotchas.md +76 -0
  388. package/content/small-business/skills/small-business-lead-triage/reference/hubspot-scoring.md +169 -0
  389. package/content/small-business/skills/small-business-marketing-monday/SKILL.md +108 -0
  390. package/content/small-business/skills/small-business-monday-brief/SKILL.md +97 -0
  391. package/content/small-business/skills/small-business-month-end-prep/SKILL.md +331 -0
  392. package/content/small-business/skills/small-business-month-end-prep/reference/close-packet-format.md +127 -0
  393. package/content/small-business/skills/small-business-month-end-prep/reference/examples/pl-narrative.md +52 -0
  394. package/content/small-business/skills/small-business-month-end-prep/reference/gotchas.md +113 -0
  395. package/content/small-business/skills/small-business-month-end-prep/reference/paypal-settlements.md +110 -0
  396. package/content/small-business/skills/small-business-month-end-prep/reference/quickbooks-reconcile.md +71 -0
  397. package/content/small-business/skills/small-business-month-end-prep/reference/v2_sources.md +125 -0
  398. package/content/small-business/skills/small-business-month-end-prep/reference/xero-reconcile.md +175 -0
  399. package/content/small-business/skills/small-business-month-end-prep/reference/zoho-books-reconcile.md +168 -0
  400. package/content/small-business/skills/small-business-outreach-composer/SKILL.md +144 -0
  401. package/content/small-business/skills/small-business-outreach-composer/reference/gotchas.md +213 -0
  402. package/content/small-business/skills/small-business-outreach-composer/reference/output_template.md +147 -0
  403. package/content/small-business/skills/small-business-outreach-composer/reference/sequence_patterns.md +99 -0
  404. package/content/small-business/skills/small-business-outreach-composer/reference/slop_test.md +164 -0
  405. package/content/small-business/skills/small-business-pay-the-bills/SKILL.md +101 -0
  406. package/content/small-business/skills/small-business-payroll-prep/SKILL.md +139 -0
  407. package/content/small-business/skills/small-business-payroll-prep/reference/anomaly_rules.md +99 -0
  408. package/content/small-business/skills/small-business-payroll-prep/reference/books_sync.md +72 -0
  409. package/content/small-business/skills/small-business-payroll-prep/reference/gotchas.md +153 -0
  410. package/content/small-business/skills/small-business-payroll-prep/reference/run_sheet_format.md +90 -0
  411. package/content/small-business/skills/small-business-payroll-prep/reference/timesheet_intake.md +118 -0
  412. package/content/small-business/skills/small-business-plan-payroll/SKILL.md +88 -0
  413. package/content/small-business/skills/small-business-proposal-builder/SKILL.md +168 -0
  414. package/content/small-business/skills/small-business-proposal-builder/reference/discovery_extraction.md +138 -0
  415. package/content/small-business/skills/small-business-proposal-builder/reference/gotchas.md +184 -0
  416. package/content/small-business/skills/small-business-proposal-builder/reference/output_template.md +128 -0
  417. package/content/small-business/skills/small-business-proposal-builder/reference/pricing_method.md +125 -0
  418. package/content/small-business/skills/small-business-proposal-builder/reference/proposal_structure.md +120 -0
  419. package/content/small-business/skills/small-business-reactivate/SKILL.md +109 -0
  420. package/content/small-business/skills/small-business-report-builder/SKILL.md +142 -0
  421. package/content/small-business/skills/small-business-report-builder/reference/data_sources.md +168 -0
  422. package/content/small-business/skills/small-business-report-builder/reference/gotchas.md +155 -0
  423. package/content/small-business/skills/small-business-report-builder/reference/output_template.md +109 -0
  424. package/content/small-business/skills/small-business-report-builder/reference/report_spec.md +109 -0
  425. package/content/small-business/skills/small-business-report-builder/reference/saved_reports.md +50 -0
  426. package/content/small-business/skills/small-business-report-pack/SKILL.md +83 -0
  427. package/content/small-business/skills/small-business-restock/SKILL.md +88 -0
  428. package/content/small-business/skills/small-business-review-reputation/SKILL.md +130 -0
  429. package/content/small-business/skills/small-business-review-reputation/reference/churn-signals.md +110 -0
  430. package/content/small-business/skills/small-business-review-reputation/reference/examples/example-report.md +150 -0
  431. package/content/small-business/skills/small-business-review-reputation/reference/gotchas.md +164 -0
  432. package/content/small-business/skills/small-business-review-reputation/reference/response-patterns.md +123 -0
  433. package/content/small-business/skills/small-business-review-reputation/reference/sources.md +116 -0
  434. package/content/small-business/skills/small-business-seo-ai-visibility/SKILL.md +143 -0
  435. package/content/small-business/skills/small-business-seo-ai-visibility/reference/ai_visibility.md +173 -0
  436. package/content/small-business/skills/small-business-seo-ai-visibility/reference/audit_checklist.md +134 -0
  437. package/content/small-business/skills/small-business-seo-ai-visibility/reference/catalog_refresh.md +126 -0
  438. package/content/small-business/skills/small-business-seo-ai-visibility/reference/content_rewrite.md +113 -0
  439. package/content/small-business/skills/small-business-seo-ai-visibility/reference/gotchas.md +211 -0
  440. package/content/small-business/skills/small-business-smb-onboard/SKILL.md +82 -0
  441. package/content/small-business/skills/small-business-smb-onboard/reference/examples/happy-path.md +190 -0
  442. package/content/small-business/skills/small-business-smb-onboard/reference/gotchas.md +111 -0
  443. package/content/small-business/skills/small-business-smb-onboard/reference/onboard-checklist.md +99 -0
  444. package/content/small-business/skills/small-business-smb-onboard/reference/website-research.md +82 -0
  445. package/content/small-business/skills/small-business-smb-router/SKILL.md +216 -0
  446. package/content/small-business/skills/small-business-smb-router/reference/connector-map.md +96 -0
  447. package/content/small-business/skills/small-business-social-content-engine/SKILL.md +162 -0
  448. package/content/small-business/skills/small-business-social-content-engine/reference/calendar.md +116 -0
  449. package/content/small-business/skills/small-business-social-content-engine/reference/canva-api.md +208 -0
  450. package/content/small-business/skills/small-business-social-content-engine/reference/examples/okonkwo-campaign.md +190 -0
  451. package/content/small-business/skills/small-business-social-content-engine/reference/gotchas.md +447 -0
  452. package/content/small-business/skills/small-business-social-content-engine/reference/publishing.md +166 -0
  453. package/content/small-business/skills/small-business-social-content-engine/reference/shopify-assets.md +77 -0
  454. package/content/small-business/skills/small-business-speed-to-lead/SKILL.md +172 -0
  455. package/content/small-business/skills/small-business-speed-to-lead/reference/approval.md +61 -0
  456. package/content/small-business/skills/small-business-speed-to-lead/reference/gotchas.md +167 -0
  457. package/content/small-business/skills/small-business-speed-to-lead/reference/qualification.md +153 -0
  458. package/content/small-business/skills/small-business-speed-to-lead/reference/response_patterns.md +184 -0
  459. package/content/small-business/skills/small-business-tax-prep/SKILL.md +85 -0
  460. package/content/small-business/skills/small-business-tax-season-organizer/SKILL.md +210 -0
  461. package/content/small-business/skills/small-business-tax-season-organizer/reference/calculation-assumptions.md +177 -0
  462. package/content/small-business/skills/small-business-tax-season-organizer/reference/connector-queries.md +267 -0
  463. package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/quarterly-estimate.md +92 -0
  464. package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/year-end-1099.md +102 -0
  465. package/content/small-business/skills/small-business-tax-season-organizer/reference/gotchas.md +104 -0
  466. package/content/small-business/skills/small-business-tax-season-organizer/reference/output-formats.md +68 -0
  467. package/content/small-business/skills/small-business-ticket-deflector/SKILL.md +164 -0
  468. package/content/small-business/skills/small-business-ticket-deflector/reference/examples/deny-refund-request.md +98 -0
  469. package/content/small-business/skills/small-business-ticket-deflector/reference/examples/respond-refund-request.md +77 -0
  470. package/content/small-business/skills/small-business-ticket-deflector/reference/gotchas.md +57 -0
  471. package/index.ts +84 -0
  472. package/package.json +30 -3
@@ -0,0 +1,198 @@
1
+ # Example: Generated Skill
2
+
3
+ This is an example of what a generated skill looks like after the bootstrap process. This example is for a fictional e-commerce company called "ShopCo" using Snowflake.
4
+
5
+ ---
6
+
7
+ ## Example SKILL.md
8
+
9
+ ```markdown
10
+ ---
11
+ name: shopco-data-analyst
12
+ description: "ShopCo data analysis skill for Snowflake. Provides context for querying e-commerce data including customer, order, and product analytics. Use when analyzing ShopCo data for: (1) Revenue and order metrics, (2) Customer behavior and retention, (3) Product performance, or any data questions requiring ShopCo-specific context."
13
+ ---
14
+
15
+ # ShopCo Data Analysis
16
+
17
+ ## SQL Dialect: Snowflake
18
+
19
+ - **Table references**: `SHOPCO_DW.SCHEMA.TABLE` or with quotes for case-sensitive: `"Column_Name"`
20
+ - **Safe division**: `DIV0(a, b)` returns 0, `DIV0NULL(a, b)` returns NULL
21
+ - **Date functions**:
22
+ - `DATE_TRUNC('MONTH', date_col)`
23
+ - `DATEADD(DAY, -1, date_col)`
24
+ - `DATEDIFF(DAY, start_date, end_date)`
25
+ - **Column exclusion**: `SELECT * EXCLUDE (column_to_exclude)`
26
+
27
+ ---
28
+
29
+ ## Entity Disambiguation
30
+
31
+ **"Customer" can mean:**
32
+ - **User**: A login account that can browse and save items (CORE.DIM_USERS: user_id)
33
+ - **Customer**: A user who has made at least one purchase (CORE.DIM_CUSTOMERS: customer_id)
34
+ - **Account**: A billing entity, can have multiple users in B2B (CORE.DIM_ACCOUNTS: account_id)
35
+
36
+ **Relationships:**
37
+ - User → Customer: 1:1 (customer_id = user_id for purchasers)
38
+ - Account → User: 1:many (join on account_id)
39
+
40
+ ---
41
+
42
+ ## Business Terminology
43
+
44
+ | Term | Definition | Notes |
45
+ |------|------------|-------|
46
+ | GMV | Gross Merchandise Value - total order value before returns/discounts | Use for top-line reporting |
47
+ | NMV | Net Merchandise Value - GMV minus returns and discounts | Use for actual revenue |
48
+ | AOV | Average Order Value - NMV / order count | Exclude $0 orders |
49
+ | LTV | Lifetime Value - total NMV per customer since first order | Rolling calc, updates daily |
50
+ | CAC | Customer Acquisition Cost - marketing spend / new customers | By cohort month |
51
+
52
+ ---
53
+
54
+ ## Standard Filters
55
+
56
+ Always apply these filters unless explicitly told otherwise:
57
+
58
+ ```sql
59
+ -- Exclude test and internal orders
60
+ WHERE order_status != 'TEST'
61
+ AND customer_type != 'INTERNAL'
62
+ AND is_employee_order = FALSE
63
+
64
+ -- Exclude cancelled orders for revenue metrics
65
+ AND order_status NOT IN ('CANCELLED', 'FRAUDULENT')
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Key Metrics
71
+
72
+ ### Gross Merchandise Value (GMV)
73
+ - **Definition**: Total value of all orders placed
74
+ - **Formula**: `SUM(order_total_gross)`
75
+ - **Source**: `CORE.FCT_ORDERS.order_total_gross`
76
+ - **Time grain**: Daily, aggregated to weekly/monthly
77
+ - **Caveats**: Includes orders that may later be cancelled or returned
78
+
79
+ ### Net Revenue
80
+ - **Definition**: Actual revenue after returns and discounts
81
+ - **Formula**: `SUM(order_total_gross - return_amount - discount_amount)`
82
+ - **Source**: `CORE.FCT_ORDERS`
83
+ - **Caveats**: Returns can occur up to 90 days post-order; use settled_revenue for finalized numbers
84
+
85
+ ---
86
+
87
+ ## Knowledge Base Navigation
88
+
89
+ | Domain | Reference File | Use For |
90
+ |--------|----------------|---------|
91
+ | Orders | `references/orders.md` | Order tables, GMV/NMV calculations |
92
+ | Customers | `references/customers.md` | User/customer entities, LTV, cohorts |
93
+ | Products | `references/products.md` | Catalog, inventory, categories |
94
+
95
+ ---
96
+
97
+ ## Common Query Patterns
98
+
99
+ ### Daily GMV by Channel
100
+ ```sql
101
+ SELECT
102
+ DATE_TRUNC('DAY', order_timestamp) AS order_date,
103
+ channel,
104
+ SUM(order_total_gross) AS gmv,
105
+ COUNT(DISTINCT order_id) AS order_count
106
+ FROM SHOPCO_DW.CORE.FCT_ORDERS
107
+ WHERE order_status NOT IN ('TEST', 'CANCELLED', 'FRAUDULENT')
108
+ AND order_timestamp >= DATEADD(DAY, -30, CURRENT_DATE())
109
+ GROUP BY 1, 2
110
+ ORDER BY 1 DESC, 3 DESC
111
+ ```
112
+
113
+ ### Customer Cohort Retention
114
+ ```sql
115
+ WITH cohorts AS (
116
+ SELECT
117
+ customer_id,
118
+ DATE_TRUNC('MONTH', first_order_date) AS cohort_month
119
+ FROM SHOPCO_DW.CORE.DIM_CUSTOMERS
120
+ )
121
+ SELECT
122
+ c.cohort_month,
123
+ DATEDIFF(MONTH, c.cohort_month, DATE_TRUNC('MONTH', o.order_timestamp)) AS months_since_first,
124
+ COUNT(DISTINCT c.customer_id) AS active_customers
125
+ FROM cohorts c
126
+ JOIN SHOPCO_DW.CORE.FCT_ORDERS o ON c.customer_id = o.customer_id
127
+ WHERE o.order_status NOT IN ('TEST', 'CANCELLED')
128
+ GROUP BY 1, 2
129
+ ORDER BY 1, 2
130
+ ```
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Example references/orders.md
136
+
137
+ ```markdown
138
+ # Orders Tables
139
+
140
+ Order and transaction data for ShopCo.
141
+
142
+ ---
143
+
144
+ ## Key Tables
145
+
146
+ ### FCT_ORDERS
147
+ **Location**: `SHOPCO_DW.CORE.FCT_ORDERS`
148
+ **Description**: Fact table of all orders. One row per order.
149
+ **Primary Key**: `order_id`
150
+ **Update Frequency**: Hourly (15 min lag)
151
+ **Partitioned By**: `order_date`
152
+
153
+ | Column | Type | Description | Notes |
154
+ |--------|------|-------------|-------|
155
+ | **order_id** | VARCHAR | Unique order identifier | |
156
+ | **customer_id** | VARCHAR | FK to DIM_CUSTOMERS | NULL for guest checkout |
157
+ | **order_timestamp** | TIMESTAMP_NTZ | When order was placed | UTC |
158
+ | **order_date** | DATE | Date portion of order_timestamp | Partition column |
159
+ | **order_status** | VARCHAR | Current status | PENDING, SHIPPED, DELIVERED, CANCELLED, RETURNED |
160
+ | **channel** | VARCHAR | Acquisition channel | WEB, APP, MARKETPLACE |
161
+ | **order_total_gross** | DECIMAL(12,2) | Pre-discount total | |
162
+ | **discount_amount** | DECIMAL(12,2) | Total discounts applied | |
163
+ | **return_amount** | DECIMAL(12,2) | Value of returned items | Updates async |
164
+
165
+ **Relationships**:
166
+ - Joins to `DIM_CUSTOMERS` on `customer_id`
167
+ - Parent of `FCT_ORDER_ITEMS` via `order_id`
168
+
169
+ ---
170
+
171
+ ## Sample Queries
172
+
173
+ ### Orders with Returns Rate
174
+ ```sql
175
+ SELECT
176
+ DATE_TRUNC('WEEK', order_date) AS week,
177
+ COUNT(*) AS total_orders,
178
+ SUM(CASE WHEN return_amount > 0 THEN 1 ELSE 0 END) AS orders_with_returns,
179
+ DIV0(SUM(CASE WHEN return_amount > 0 THEN 1 ELSE 0 END), COUNT(*)) AS return_rate
180
+ FROM SHOPCO_DW.CORE.FCT_ORDERS
181
+ WHERE order_status NOT IN ('TEST', 'CANCELLED')
182
+ AND order_date >= DATEADD(MONTH, -3, CURRENT_DATE())
183
+ GROUP BY 1
184
+ ORDER BY 1
185
+ ```
186
+ ```
187
+
188
+ ---
189
+
190
+ This example demonstrates:
191
+ - Complete frontmatter with triggering description
192
+ - Dialect-specific SQL notes
193
+ - Clear entity disambiguation
194
+ - Terminology glossary
195
+ - Standard filters as copy-paste SQL
196
+ - Metric definitions with formulas
197
+ - Navigation to reference files
198
+ - Real, runnable query examples
@@ -0,0 +1,148 @@
1
+ # Generated Skill Template
2
+
3
+ Use this template when generating a new data analysis skill. Replace all `[PLACEHOLDER]` values.
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ ---
9
+ name: [company]-data-analyst
10
+ description: "[COMPANY] data analysis skill. Provides context for querying [WAREHOUSE_TYPE] including entity definitions, metric calculations, and common query patterns. Use when analyzing [COMPANY] data for: (1) [PRIMARY_USE_CASE_1], (2) [PRIMARY_USE_CASE_2], (3) [PRIMARY_USE_CASE_3], or any data questions requiring [COMPANY]-specific context."
11
+ ---
12
+
13
+ # [COMPANY] Data Analysis
14
+
15
+ ## SQL Dialect: [WAREHOUSE_TYPE]
16
+
17
+ [INSERT APPROPRIATE DIALECT SECTION FROM sql-dialects.md]
18
+
19
+ ---
20
+
21
+ ## Entity Disambiguation
22
+
23
+ When users mention these terms, clarify which entity they mean:
24
+
25
+ [EXAMPLE FORMAT - customize based on discovery:]
26
+
27
+ **"User" can mean:**
28
+ - **Account**: An individual login/profile ([PRIMARY_TABLE]: [ID_FIELD])
29
+ - **Organization**: A billing entity that can have multiple accounts ([ORG_TABLE]: [ORG_ID])
30
+ - **[OTHER_TYPE]**: [DEFINITION] ([TABLE]: [ID])
31
+
32
+ **Relationships:**
33
+ - [ENTITY_1] → [ENTITY_2]: [RELATIONSHIP_TYPE] (join on [JOIN_KEY])
34
+
35
+ ---
36
+
37
+ ## Business Terminology
38
+
39
+ | Term | Definition | Notes |
40
+ |------|------------|-------|
41
+ | [TERM_1] | [DEFINITION] | [CONTEXT/GOTCHA] |
42
+ | [TERM_2] | [DEFINITION] | [CONTEXT/GOTCHA] |
43
+ | [ACRONYM] | [FULL_NAME] - [EXPLANATION] | |
44
+
45
+ ---
46
+
47
+ ## Standard Filters
48
+
49
+ Always apply these filters unless explicitly told otherwise:
50
+
51
+ ```sql
52
+ -- Exclude test/internal data
53
+ WHERE [TEST_FLAG_COLUMN] = FALSE
54
+ AND [INTERNAL_FLAG_COLUMN] = FALSE
55
+
56
+ -- Exclude invalid/fraud
57
+ AND [STATUS_COLUMN] != '[EXCLUDED_STATUS]'
58
+
59
+ -- [OTHER STANDARD EXCLUSIONS]
60
+ ```
61
+
62
+ **When to override:**
63
+ - [SCENARIO_1]: Include [NORMALLY_EXCLUDED] when [CONDITION]
64
+
65
+ ---
66
+
67
+ ## Key Metrics
68
+
69
+ ### [METRIC_1_NAME]
70
+ - **Definition**: [PLAIN_ENGLISH_EXPLANATION]
71
+ - **Formula**: `[EXACT_CALCULATION]`
72
+ - **Source**: `[TABLE_NAME].[COLUMN_NAME]`
73
+ - **Time grain**: [DAILY/WEEKLY/MONTHLY]
74
+ - **Caveats**: [EDGE_CASES_OR_GOTCHAS]
75
+
76
+ ### [METRIC_2_NAME]
77
+ [REPEAT FORMAT]
78
+
79
+ ---
80
+
81
+ ## Data Freshness
82
+
83
+ | Table | Update Frequency | Typical Lag |
84
+ |-------|------------------|-------------|
85
+ | [TABLE_1] | [FREQUENCY] | [LAG] |
86
+ | [TABLE_2] | [FREQUENCY] | [LAG] |
87
+
88
+ To check data freshness:
89
+ ```sql
90
+ SELECT MAX([DATE_COLUMN]) as latest_data FROM [TABLE]
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Knowledge Base Navigation
96
+
97
+ Use these reference files for detailed table documentation:
98
+
99
+ | Domain | Reference File | Use For |
100
+ |--------|----------------|---------|
101
+ | [DOMAIN_1] | `references/[domain1].md` | [BRIEF_DESCRIPTION] |
102
+ | [DOMAIN_2] | `references/[domain2].md` | [BRIEF_DESCRIPTION] |
103
+ | Entities | `references/entities.md` | Entity definitions and relationships |
104
+ | Metrics | `references/metrics.md` | KPI calculations and formulas |
105
+
106
+ ---
107
+
108
+ ## Common Query Patterns
109
+
110
+ ### [PATTERN_1_NAME]
111
+ ```sql
112
+ [SAMPLE_QUERY]
113
+ ```
114
+
115
+ ### [PATTERN_2_NAME]
116
+ ```sql
117
+ [SAMPLE_QUERY]
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Troubleshooting
123
+
124
+ ### Common Mistakes
125
+ - **[MISTAKE_1]**: [EXPLANATION] → [CORRECT_APPROACH]
126
+ - **[MISTAKE_2]**: [EXPLANATION] → [CORRECT_APPROACH]
127
+
128
+ ### Access Issues
129
+ - If you encounter permission errors on `[TABLE]`: [WORKAROUND]
130
+ - For PII-restricted columns: [ALTERNATIVE_APPROACH]
131
+
132
+ ### Performance Tips
133
+ - Filter by `[PARTITION_COLUMN]` first to reduce data scanned
134
+ - For large tables, use `LIMIT` during exploration
135
+ - Prefer `[AGGREGATED_TABLE]` over `[RAW_TABLE]` when possible
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Customization Notes
141
+
142
+ When generating a skill:
143
+
144
+ 1. **Fill all placeholders** - Don't leave any `[PLACEHOLDER]` text
145
+ 2. **Remove unused sections** - If they don't have dashboards, remove that section
146
+ 3. **Add specificity** - Generic advice is less useful than specific column names and values
147
+ 4. **Include real examples** - Sample queries should use actual table/column names
148
+ 5. **Keep it scannable** - Use tables and code blocks liberally
@@ -0,0 +1,121 @@
1
+ # SQL Dialect Reference
2
+
3
+ Include the appropriate section in generated skills based on the user's data warehouse.
4
+
5
+ ---
6
+
7
+ ## BigQuery
8
+
9
+ ```markdown
10
+ ## SQL Dialect: BigQuery
11
+
12
+ - **Table references**: Use backticks: \`project.dataset.table\`
13
+ - **Safe division**: `SAFE_DIVIDE(a, b)` returns NULL instead of error
14
+ - **Date functions**:
15
+ - `DATE_TRUNC(date_col, MONTH)`
16
+ - `DATE_SUB(date_col, INTERVAL 1 DAY)`
17
+ - `DATE_DIFF(end_date, start_date, DAY)`
18
+ - **Column exclusion**: `SELECT * EXCEPT(column_to_exclude)`
19
+ - **Arrays**: `UNNEST(array_column)` to flatten
20
+ - **Structs**: Access with dot notation `struct_col.field_name`
21
+ - **Timestamps**: `TIMESTAMP_TRUNC()`, times in UTC by default
22
+ - **String matching**: `LIKE`, `REGEXP_CONTAINS(col, r'pattern')`
23
+ - **NULLs in aggregations**: Most functions ignore NULLs; use `IFNULL()` or `COALESCE()`
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Snowflake
29
+
30
+ ```markdown
31
+ ## SQL Dialect: Snowflake
32
+
33
+ - **Table references**: `DATABASE.SCHEMA.TABLE` or with quotes for case-sensitive: `"Column_Name"`
34
+ - **Safe division**: `DIV0(a, b)` returns 0, `DIV0NULL(a, b)` returns NULL
35
+ - **Date functions**:
36
+ - `DATE_TRUNC('MONTH', date_col)`
37
+ - `DATEADD(DAY, -1, date_col)`
38
+ - `DATEDIFF(DAY, start_date, end_date)`
39
+ - **Column exclusion**: `SELECT * EXCLUDE (column_to_exclude)`
40
+ - **Arrays**: `FLATTEN(array_column)` to flatten, access with `value`
41
+ - **Variants/JSON**: Access with colon notation `variant_col:field_name`
42
+ - **Timestamps**: `TIMESTAMP_NTZ` (no timezone), `TIMESTAMP_TZ` (with timezone)
43
+ - **String matching**: `LIKE`, `REGEXP_LIKE(col, 'pattern')`
44
+ - **Case sensitivity**: Identifiers are uppercase by default unless quoted
45
+ ```
46
+
47
+ ---
48
+
49
+ ## PostgreSQL / Redshift
50
+
51
+ ```markdown
52
+ ## SQL Dialect: PostgreSQL/Redshift
53
+
54
+ - **Table references**: `schema.table` (lowercase convention)
55
+ - **Safe division**: `NULLIF(b, 0)` pattern: `a / NULLIF(b, 0)`
56
+ - **Date functions**:
57
+ - `DATE_TRUNC('month', date_col)`
58
+ - `date_col - INTERVAL '1 day'`
59
+ - `DATE_PART('day', end_date - start_date)`
60
+ - **Column selection**: No EXCEPT; must list columns explicitly
61
+ - **Arrays**: `UNNEST(array_column)` (PostgreSQL), limited in Redshift
62
+ - **JSON**: `json_col->>'field_name'` for text, `json_col->'field_name'` for JSON
63
+ - **Timestamps**: `AT TIME ZONE 'UTC'` for timezone conversion
64
+ - **String matching**: `LIKE`, `col ~ 'pattern'` for regex
65
+ - **Boolean**: Native BOOLEAN type; use `TRUE`/`FALSE`
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Databricks / Spark SQL
71
+
72
+ ```markdown
73
+ ## SQL Dialect: Databricks/Spark SQL
74
+
75
+ - **Table references**: `catalog.schema.table` (Unity Catalog) or `schema.table`
76
+ - **Safe division**: Use `NULLIF`: `a / NULLIF(b, 0)` or `TRY_DIVIDE(a, b)`
77
+ - **Date functions**:
78
+ - `DATE_TRUNC('MONTH', date_col)`
79
+ - `DATE_SUB(date_col, 1)`
80
+ - `DATEDIFF(end_date, start_date)`
81
+ - **Column exclusion**: `SELECT * EXCEPT (column_to_exclude)` (Databricks SQL)
82
+ - **Arrays**: `EXPLODE(array_column)` to flatten
83
+ - **Structs**: Access with dot notation `struct_col.field_name`
84
+ - **JSON**: `json_col:field_name` or `GET_JSON_OBJECT()`
85
+ - **String matching**: `LIKE`, `RLIKE` for regex
86
+ - **Delta features**: `DESCRIBE HISTORY`, time travel with `VERSION AS OF`
87
+ ```
88
+
89
+ ---
90
+
91
+ ## MySQL
92
+
93
+ ```markdown
94
+ ## SQL Dialect: MySQL
95
+
96
+ - **Table references**: \`database\`.\`table\` with backticks
97
+ - **Safe division**: Manual: `IF(b = 0, NULL, a / b)` or `a / NULLIF(b, 0)`
98
+ - **Date functions**:
99
+ - `DATE_FORMAT(date_col, '%Y-%m-01')` for truncation
100
+ - `DATE_SUB(date_col, INTERVAL 1 DAY)`
101
+ - `DATEDIFF(end_date, start_date)`
102
+ - **Column selection**: No EXCEPT; must list columns explicitly
103
+ - **Arrays**: Limited native support; often stored as JSON
104
+ - **JSON**: `JSON_EXTRACT(col, '$.field')` or `col->>'$.field'`
105
+ - **Timestamps**: `CONVERT_TZ()` for timezone conversion
106
+ - **String matching**: `LIKE`, `REGEXP` for regex
107
+ - **Case sensitivity**: Table names case-sensitive on Linux, not on Windows
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Common Patterns Across Dialects
113
+
114
+ | Operation | BigQuery | Snowflake | PostgreSQL | Databricks |
115
+ |-----------|----------|-----------|------------|------------|
116
+ | Current date | `CURRENT_DATE()` | `CURRENT_DATE()` | `CURRENT_DATE` | `CURRENT_DATE()` |
117
+ | Current timestamp | `CURRENT_TIMESTAMP()` | `CURRENT_TIMESTAMP()` | `NOW()` | `CURRENT_TIMESTAMP()` |
118
+ | String concat | `CONCAT()` or `\|\|` | `CONCAT()` or `\|\|` | `CONCAT()` or `\|\|` | `CONCAT()` or `\|\|` |
119
+ | Coalesce | `COALESCE()` | `COALESCE()` | `COALESCE()` | `COALESCE()` |
120
+ | Case when | `CASE WHEN` | `CASE WHEN` | `CASE WHEN` | `CASE WHEN` |
121
+ | Count distinct | `COUNT(DISTINCT x)` | `COUNT(DISTINCT x)` | `COUNT(DISTINCT x)` | `COUNT(DISTINCT x)` |
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Package a generated data analysis skill into a distributable .skill file (zip format).
4
+
5
+ Usage:
6
+ python package_data_skill.py <path/to/skill-folder> [output-directory]
7
+
8
+ Example:
9
+ python package_data_skill.py /home/claude/acme-data-analyst
10
+ python package_data_skill.py /home/claude/acme-data-analyst /tmp/outputs
11
+ """
12
+
13
+ import sys
14
+ import zipfile
15
+ from pathlib import Path
16
+
17
+
18
+ def validate_skill(skill_path: Path) -> tuple[bool, str]:
19
+ """Basic validation of skill structure."""
20
+
21
+ # Check SKILL.md exists
22
+ skill_md = skill_path / "SKILL.md"
23
+ if not skill_md.exists():
24
+ return False, "Missing SKILL.md"
25
+
26
+ # Check SKILL.md has frontmatter
27
+ content = skill_md.read_text()
28
+ if not content.startswith("---"):
29
+ return False, "SKILL.md missing YAML frontmatter"
30
+
31
+ # Check for required frontmatter fields
32
+ if "name:" not in content[:500]:
33
+ return False, "SKILL.md missing 'name' in frontmatter"
34
+ if "description:" not in content[:1000]:
35
+ return False, "SKILL.md missing 'description' in frontmatter"
36
+
37
+ # Check for placeholder text that wasn't filled in
38
+ if "[PLACEHOLDER]" in content or "[COMPANY]" in content:
39
+ return False, "SKILL.md contains unfilled placeholder text"
40
+
41
+ return True, "Validation passed"
42
+
43
+
44
+ def package_skill(skill_path: str, output_dir: str = None) -> Path | None:
45
+ """
46
+ Package a skill folder into a .skill file.
47
+
48
+ Args:
49
+ skill_path: Path to the skill folder
50
+ output_dir: Optional output directory
51
+
52
+ Returns:
53
+ Path to the created .skill file, or None if error
54
+ """
55
+ skill_path = Path(skill_path).resolve()
56
+
57
+ # Validate folder exists
58
+ if not skill_path.exists():
59
+ print(f"Error: Skill folder not found: {skill_path}")
60
+ return None
61
+
62
+ if not skill_path.is_dir():
63
+ print(f"Error: Path is not a directory: {skill_path}")
64
+ return None
65
+
66
+ # Run validation
67
+ print("Validating skill...")
68
+ valid, message = validate_skill(skill_path)
69
+ if not valid:
70
+ print(f"Validation failed: {message}")
71
+ return None
72
+ print(f"{message}\n")
73
+
74
+ # Determine output location
75
+ skill_name = skill_path.name
76
+ if output_dir:
77
+ output_path = Path(output_dir).resolve()
78
+ else:
79
+ output_path = Path.cwd()
80
+
81
+ output_path.mkdir(parents=True, exist_ok=True)
82
+ skill_filename = output_path / f"{skill_name}.zip"
83
+
84
+ # Create the zip file
85
+ try:
86
+ with zipfile.ZipFile(skill_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
87
+ for file_path in skill_path.rglob('*'):
88
+ if file_path.is_file():
89
+ # Skip hidden files and common junk
90
+ if any(part.startswith('.') for part in file_path.parts):
91
+ continue
92
+ if file_path.name in ['__pycache__', '.DS_Store', 'Thumbs.db']:
93
+ continue
94
+
95
+ # Calculate relative path within the zip
96
+ arcname = file_path.relative_to(skill_path.parent)
97
+ zipf.write(file_path, arcname)
98
+ print(f" Added: {arcname}")
99
+
100
+ print(f"\nSuccessfully packaged skill to: {skill_filename}")
101
+ return skill_filename
102
+
103
+ except Exception as e:
104
+ print(f"Error creating zip file: {e}")
105
+ return None
106
+
107
+
108
+ def main():
109
+ if len(sys.argv) < 2:
110
+ print(__doc__)
111
+ sys.exit(1)
112
+
113
+ skill_path = sys.argv[1]
114
+ output_dir = sys.argv[2] if len(sys.argv) > 2 else None
115
+
116
+ print(f"Packaging skill: {skill_path}")
117
+ if output_dir:
118
+ print(f" Output directory: {output_dir}")
119
+ print()
120
+
121
+ result = package_skill(skill_path, output_dir)
122
+ sys.exit(0 if result else 1)
123
+
124
+
125
+ if __name__ == "__main__":
126
+ main()