opencode-knowledge-work 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +83 -0
  472. package/package.json +28 -3
@@ -0,0 +1,181 @@
1
+ # Worked Example: Retail Boutique Brief → Campaign
2
+
3
+ **Business:** Bloom & Thread — women's clothing boutique, Charleston SC
4
+ **Canva tier:** Teams (no Enterprise)
5
+ **HubSpot tier:** Marketing Hub Professional
6
+ **Brief source:** content-strategy skill output (approved by owner)
7
+
8
+ ---
9
+
10
+ ## Input: Approved brief (summary)
11
+
12
+ ```
13
+ Push hard: Linen summer dresses (top seller, trending +22% MoM)
14
+ Hold steady: Accessories
15
+ Seasonal opportunity: Back-to-school transition (Aug 15 pivot)
16
+ Offer: Buy 2 dresses, get 1 accessory free (runs June 1–July 31)
17
+ Channels: Instagram feed, Instagram story, Facebook feed
18
+ Cadence: 3× per week, Mon/Wed/Fri, 10 AM ET
19
+ Voice: Warm, conversational, light humor. No corporate copy.
20
+ ```
21
+
22
+ ---
23
+
24
+ ## Stage 1: Posting calendar (presented for approval)
25
+
26
+ | Date | Channel | Theme | Asset type | Caption angle |
27
+ |------|---------|-------|------------|---------------|
28
+ | Jun 2 | Instagram feed | Linen dresses launch | Square post | Product intro — "finally, a dress you can wear to both places" |
29
+ | Jun 4 | Facebook feed | Linen dresses | Landscape post | Social proof — "our most-reached-for item this spring" |
30
+ | Jun 6 | Instagram story | Buy 2 get 1 offer | Story (16:9) | Offer urgency — swipe up |
31
+ | Jun 9 | Instagram feed | Linen styling tip | Square post | Education — "3 ways to style the linen midi" |
32
+ | Jun 11 | Facebook feed | Behind the scenes | Landscape post | Brand story — how they're made |
33
+ | Jun 13 | Instagram story | Weekend outfit inspo | Story (16:9) | Lifestyle — "your Saturday, sorted" |
34
+ | … | … | … | … | … |
35
+
36
+ *Owner approved — "move Jun 11 to Jun 12, I'm posting about the sale that day. Otherwise great."*
37
+ *(Calendar updated; proceeding to Stage 2.)*
38
+
39
+ ---
40
+
41
+ ## Stage 2: Canva asset generation (Pro/Teams path)
42
+
43
+ **Template selection exchange:**
44
+
45
+ ```
46
+ Claude: I found 3 square-post templates in your Canva library:
47
+ 1. Boutique Square - Cream (last edited Apr 2026)
48
+ 2. Summer Promo - Sand (last edited Mar 2026)
49
+ 3. Product Feature Bold (last edited Feb 2026)
50
+ Which should I use for the feed posts?
51
+
52
+ Owner: The cream one, #1.
53
+
54
+ Claude: Got it. I'll use "Boutique Square - Cream" for all feed posts.
55
+ Creating design shells now — I'll give you the links to fill in
56
+ the product photos and text in Canva, then come back so I can export.
57
+ ```
58
+
59
+ *[Designs created; owner fills in Canva; returns design IDs]*
60
+
61
+ **Export output:**
62
+ ```
63
+ Exporting previews...
64
+ ✓ Jun 2 feed post → https://canva.com/export/abc123.png
65
+ ✓ Jun 4 Facebook → https://canva.com/export/def456.png
66
+ ✓ Jun 6 story → https://canva.com/export/ghi789.png
67
+ […]
68
+ ```
69
+
70
+ *Owner: "These look great. Go ahead."*
71
+
72
+ ---
73
+
74
+ ## Stage 3: Caption drafts
75
+
76
+ **Jun 2 — Instagram feed (linen dresses launch)**
77
+ ```
78
+ Finally, a dress you can wear to the farmer's market *and* to dinner. 🌿
79
+
80
+ Our linen midi just landed and it's already our most-requested piece this
81
+ summer. Breathable, effortless, and yes — it has pockets.
82
+
83
+ Grab yours before the sizes go → link in bio.
84
+
85
+ #LinenDress #CharlestonStyle #SummerFashion #BloomAndThread
86
+ ```
87
+
88
+ **Jun 4 — Facebook feed (social proof)**
89
+ ```
90
+ "I've worn it four times this week and I'm not even sorry."
91
+
92
+ That's a real review from a real customer about our linen midi. Between
93
+ you and us, we're not surprised. Shop the collection at the link below.
94
+ ```
95
+
96
+ **Jun 6 — Instagram story (offer)**
97
+ ```
98
+ 👗 Buy 2 dresses → get 1 accessory FREE
99
+
100
+ Offer runs June 1–July 31. Don't sleep on it.
101
+
102
+ Swipe up to shop →
103
+ ```
104
+
105
+ *Owner approved with one change: "Jun 4 caption — add the price at the end. 'USD 88, link below.'"*
106
+ *Caption updated.*
107
+
108
+ ---
109
+
110
+ ## Stage 4: HubSpot staging
111
+
112
+ **Campaign created:**
113
+ ```
114
+ Campaign: "Bloom & Thread — Summer Linen 2026"
115
+ Start: Jun 2, 2026 | End: Jul 31, 2026
116
+ Campaign ID: 8a72c1f4...
117
+ ```
118
+
119
+ **Scheduled queue (first 3):**
120
+
121
+ | Scheduled | Channel | Caption preview | Status |
122
+ |-----------|---------|-----------------|--------|
123
+ | Jun 2, 10:00 AM ET | Instagram | "Finally, a dress you can wear…" | SCHEDULED |
124
+ | Jun 4, 10:00 AM ET | Facebook | '"I've worn it four times…"' | SCHEDULED |
125
+ | Jun 6, 10:00 AM ET | Instagram Story | "Buy 2 dresses → get 1 accessory FREE…" | SCHEDULED |
126
+
127
+ **Final message to owner:**
128
+ ```
129
+ Your campaign is staged in HubSpot:
130
+ https://app.hubspot.com/content/12345/social/campaigns/8a72c1f4
131
+
132
+ Posts will publish automatically on schedule. You can cancel or edit
133
+ any post in HubSpot before it goes out. Anything to change before we're done?
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Email content example (text-only — no Canva)
139
+
140
+ Email rows skip Canva entirely. Claude writes the email subject, preheader,
141
+ and body as plain prose in Stage 3, and the owner copies the content into
142
+ their email tool when they're ready to send.
143
+
144
+ **Calendar row:**
145
+
146
+ | Date | Channel | Theme | Asset type | Angle |
147
+ |------|---------|-------|------------|-------|
148
+ | Jun 5 | Email | Summer linen launch | Email (text) | Hero customer benefit + offer |
149
+
150
+ **Stage 3 output (inline, no Canva involved):**
151
+
152
+ ```
153
+ Subject: Linen that actually breathes
154
+ Preheader: New summer styles in — plus a small gift if you grab two.
155
+
156
+ The first batch of linen midis just hit the floor. They're the kind of
157
+ dress you can wear to brunch, to a wedding, or to the school pickup line
158
+ without feeling like you've made a wardrobe decision.
159
+
160
+ A few things worth knowing:
161
+ • Sizes XS–XL, four colorways
162
+ • Pockets (real ones)
163
+ • Buy 2 dresses through July 31 and we'll throw in a free accessory
164
+
165
+ Stop by 412 King Street this weekend, or shop online below.
166
+
167
+ Shop the linen collection →
168
+
169
+ — Maya
170
+ Bloom & Thread
171
+ ```
172
+
173
+ **Stage 4 handoff:**
174
+
175
+ ```
176
+ Your social posts are scheduled in HubSpot: [link]
177
+
178
+ Email content for June 5 is drafted above — copy it into your email tool
179
+ when you're ready to send. We don't stage emails directly; that lets you
180
+ preview the formatting in your sending platform first.
181
+ ```
@@ -0,0 +1,380 @@
1
+ # Gotchas
2
+
3
+ Common failure modes for the canva-creator skill.
4
+
5
+ ---
6
+
7
+ ## Gotcha: Generating ANY Canva design for an email row
8
+
9
+ **Why it matters:** Canva is out of scope for the email path entirely.
10
+ Canva email-template autofill produces placeholder graphics (stock
11
+ landscapes, blank rectangles) in service-grid tiles, and variation
12
+ thumbnails fail to render in chat. Emails are text-only
13
+ from this skill, period. Generating a Canva email design — even one —
14
+ breaks that rule.
15
+
16
+ ### ✗ Bad
17
+
18
+ ```
19
+ Calendar has 6 social rows + 2 email rows.
20
+ → Stage 2 generates 6 social designs + 2 email designs.
21
+ → Email designs ship with placeholder service tiles.
22
+ ```
23
+
24
+ Or any variation: "I'll generate the email template just to give you a
25
+ visual reference," "I found an email template that might work, want to
26
+ preview it?", "Here's a Canva design for the Jun 5 email…" — all
27
+ forbidden.
28
+
29
+ ### ✓ Good
30
+
31
+ ```
32
+ Stage 1: Calendar built with Path column.
33
+ - 6 rows tagged Canva (social)
34
+ - 2 rows tagged Text-only (no Canva)
35
+ Stage 2: Generates exactly 6 Canva designs. Email rows are not passed
36
+ to any Canva endpoint.
37
+ Stage 3: Drafts 6 social captions + 2 full emails (subject + preheader +
38
+ body) as plain text.
39
+ Stage 4: Stages 6 social posts in HubSpot. Surfaces 2 emails inline for
40
+ owner to copy into their email tool.
41
+ ```
42
+
43
+ If the owner explicitly asks for a Canva email design ("can you make me
44
+ a Canva version of the Jun 5 email?"), redirect: "This skill keeps emails
45
+ as text-only because the Canva email path produces placeholder graphics.
46
+ If you want a Canva-designed email, build it directly in Canva and I can
47
+ help you write the copy here."
48
+
49
+ ---
50
+
51
+ ## Gotcha: Generating without a budget plan
52
+
53
+ **Why it matters:** Canva caps API usage at 100 requests/minute per token,
54
+ and each design costs ~5 calls (autofill + export + polling). A 10-row
55
+ campaign with 4 candidates per row generates 40 designs and ~200 API
56
+ calls — and the math gets worse with parallelism. Without a pre-flight
57
+ budget, the owner hits quota mid-campaign with no clear recovery path
58
+ and four already-generated posts sitting unused.
59
+
60
+ ### ✗ Bad
61
+
62
+ ```
63
+ Calendar approved → immediately fire 4 candidates × 8 rows in parallel
64
+ → ~160 API calls in 90 seconds → RATE_LIMIT_EXCEEDED on post 5 → loop
65
+ on retry → owner blocked.
66
+ ```
67
+
68
+ ### ✓ Good
69
+
70
+ ```
71
+ Pre-flight: "8 Canva rows × 3 candidates = 24 designs, ~120 API calls.
72
+ Proceed at default 3 candidates per row?"
73
+
74
+ Stage 3: row 1's 3 candidates fire in parallel → 30s pause → row 2 →
75
+ 30s pause → row 3 → … finishes at ~12 designs/minute, well under the
76
+ quota.
77
+
78
+ If quota does hit anyway: stop, surface progress, ask the owner
79
+ whether to drop to single candidates, pause an hour, or move to
80
+ captions with what's done.
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Gotcha: Skipping Checkpoint 1 (calendar approval) before generating assets
86
+
87
+ **Why it matters:** Generating 10+ Canva designs takes API calls, time, and
88
+ user attention. If the calendar has the wrong dates, wrong channels, or the
89
+ owner changes their mind about a theme, all that work is discarded. The
90
+ calendar checkpoint is the cheapest place to catch misalignment.
91
+
92
+ ### ✗ Bad
93
+
94
+ Receive the brief → immediately start calling `POST /autofills` for all 12
95
+ posts → present designs before the owner has agreed on the schedule.
96
+
97
+ Owner: "Oh wait, I didn't want any posts the week of the 15th, I'm traveling."
98
+
99
+ ### ✓ Good
100
+
101
+ Present the calendar table first. Wait for explicit "looks good" before opening
102
+ a single Canva API call.
103
+
104
+ ---
105
+
106
+ ## Gotcha: Template has more image slots than the brief provides photos for
107
+
108
+ **Why it matters:** Multi-image social templates (Instagram carousels,
109
+ product grids) can have 3+ image slots. When the brief gives you 1 photo
110
+ and the template demands 3, the unfilled slots silently render Canva's
111
+ stock landscape graphic — generic clouds and green hills where product
112
+ photos should be. The design looks "complete" until the owner opens it.
113
+
114
+ (Note: email rows skip Canva entirely in this skill — see SKILL.md Stage 3.
115
+ This gotcha applies only to social templates with multiple image slots.)
116
+
117
+ ### ✗ Bad
118
+
119
+ Build manifest with one row per design ("Carousel — needs Hero_Image").
120
+ Upload the one photo. Generate. Carousel ships with slide 1 populated
121
+ and slides 2-3 both showing identical generic landscapes.
122
+
123
+ ### ✓ Good
124
+
125
+ Build manifest slot-by-slot. Surface the gap explicitly:
126
+
127
+ ```
128
+ The "3-product carousel" template has 3 image slots. The brief gave me
129
+ 1 photo. How should I fill the other 2?
130
+
131
+ 1. Reuse the same photo across all 3 slots
132
+ 2. I'll send you 2 more photos
133
+ 3. Pick a single-image template
134
+ ```
135
+
136
+ Wait for the owner's choice before generating. Don't let placeholder
137
+ graphics ship.
138
+
139
+ ---
140
+
141
+ ## Gotcha: Trusting `status: success` without exporting and visually verifying
142
+
143
+ **Why it matters:** A successful autofill job means Canva accepted the
144
+ request and produced a design — not that the design contains the right
145
+ images. If an `asset_id` was empty, stale, or wrong-typed, the job still
146
+ returns `status: success` and the design renders with default placeholder
147
+ graphics. The only way to know is to look at the rendered output.
148
+
149
+ ### ✗ Bad
150
+
151
+ ```
152
+ Job status: success ✓
153
+ result.design.id: present ✓
154
+ → Present to owner
155
+ ```
156
+
157
+ Result: owner opens the carousel and sees stock landscape graphics in 3 of
158
+ 4 designs.
159
+
160
+ ### ✓ Good
161
+
162
+ After the job succeeds, export each design to a permanent PNG via
163
+ `POST /exports` (or `export-design` MCP). Look at each PNG and confirm it
164
+ contains real assets — not Canva's default landscape, not gray rectangles,
165
+ not lorem-ipsum text. Only present to the owner after visual verification
166
+ passes.
167
+
168
+ ---
169
+
170
+ ## Gotcha: One design in a batch fails to render
171
+
172
+ **Why it matters:** When 1 of 4 designs in a batch fails (job error, expired
173
+ preview URL, placeholder rendered) and you present the partial carousel
174
+ anyway, the owner sees three real designs and one "Show Image" gray
175
+ rectangle. They lose trust in the rest of the carousel even though it's
176
+ fine.
177
+
178
+ ### ✗ Bad
179
+
180
+ ```
181
+ Week 1 designs are ready:
182
+ [Option A — real preview]
183
+ [Option B — real preview]
184
+ [Option C — real preview]
185
+ [Option D — Show Image placeholder]
186
+ Which one should I use?
187
+ ```
188
+
189
+ ### ✓ Good
190
+
191
+ When you detect the broken design at Step 6 verification, regenerate just
192
+ that one design with the correct asset_id. Re-export, re-verify. Only
193
+ present once all four designs in the batch have permanent, verified
194
+ previews. If the second attempt also fails, ask the owner whether to skip,
195
+ swap template, or try a different photo.
196
+
197
+ ---
198
+
199
+ ## Gotcha: Generating assets without confirming all autofill fields have values
200
+
201
+ **Why it matters:** Canva autofill silently renders empty placeholders when a
202
+ field value is missing or the referenced `asset_id` doesn't exist. The result
203
+ is a professional-looking template with blank white rectangles where the
204
+ product photo and headline should be.
205
+
206
+ ### ✗ Bad
207
+
208
+ Build calendar → immediately fire all `POST /autofills` in parallel → half
209
+ the designs come back with empty image placeholders because product photos
210
+ weren't uploaded first.
211
+
212
+ ### ✓ Good
213
+
214
+ Build calendar → inventory every autofill field slot-by-slot → upload missing
215
+ product images → confirm all field values with owner → then generate designs
216
+ in parallel, with every field pre-populated.
217
+
218
+ ---
219
+
220
+ ## Gotcha: Passing invalid values to image autofill fields
221
+
222
+ **Why it matters:** When an autofill image field receives an empty string, a
223
+ file path, a URL, or a stale/invalid `asset_id`, Canva does not error — it
224
+ silently renders the template's default placeholder graphic (e.g., a generic
225
+ landscape with clouds and hills). The design looks "finished" but the hero
226
+ image is stock art, not the owner's product photo.
227
+
228
+ ### ✗ Bad
229
+
230
+ Upload product photo → don't wait for the upload job to complete → pass the
231
+ `job_id` (not the `asset.id`) into the autofill data → design renders with
232
+ a placeholder landscape instead of the product photo.
233
+
234
+ ### ✓ Good
235
+
236
+ Upload product photo via `POST /v1/asset-uploads` → poll
237
+ `GET /v1/asset-uploads/{job_id}` until `status == "success"` → extract
238
+ `asset.id` from the response → pass that exact ID into the autofill image
239
+ field. Verify every image field has a confirmed `asset.id` before calling
240
+ `POST /autofills`.
241
+
242
+ ---
243
+
244
+ ## Gotcha: Embedding Canva CDN thumbnail URLs in markdown
245
+
246
+ **Why it matters:** Canva's autofill response returns short-lived,
247
+ authenticated CDN URLs from `design.canva.ai`. These expire within minutes.
248
+ If Claude embeds them as markdown images (`![](design.canva.ai/...)`), they
249
+ render as broken "Show Image" placeholders by the time the message is shown.
250
+
251
+ ### ✗ Bad
252
+
253
+ Generate 8 designs → manually embed each CDN thumbnail URL in the response
254
+ as `![Hero 1](https://design.canva.ai/xxx)` → all images show as broken
255
+ gray placeholders because the URLs expired before render.
256
+
257
+ ### ✓ Good
258
+
259
+ Either let the native Cowork carousel render the tool result automatically,
260
+ or export each design via `POST /exports` and embed the **permanent** export
261
+ URL. As a final fallback, link to the design's permanent edit URL
262
+ (`https://www.canva.com/d/{design_id}`). Never re-embed `design.canva.ai`
263
+ URLs.
264
+
265
+ ---
266
+
267
+ ## Gotcha: Listing designs one-by-one as individual image blocks
268
+
269
+ **Why it matters:** When Claude lists each design as a separate block
270
+ ("Hero 1 / [image] / Hero 2 / [image]"), the images render as broken
271
+ gray "Show Image" placeholders. Presenting all designs together in a
272
+ single grouped batch triggers Cowork's side-by-side carousel, which
273
+ renders correctly.
274
+
275
+ ### ✗ Bad
276
+
277
+ ```
278
+ Hero 1 — Multi-property portfolio
279
+ [Show Image]
280
+ View in Canva: https://canva.com/d/xxx
281
+
282
+ Hero 2 — Coastal market case study
283
+ [Show Image]
284
+ View in Canva: https://canva.com/d/yyy
285
+ ```
286
+
287
+ ### ✓ Good
288
+
289
+ Present all designs in one grouped response so they render as a
290
+ side-by-side carousel. Below the carousel, add a single prompt:
291
+
292
+ ```
293
+ Here are 4 hero designs for Week 1. Scroll through the carousel
294
+ above and let me know which one to keep.
295
+ ```
296
+
297
+ ---
298
+
299
+ ## Gotcha: Generating designs sequentially instead of in parallel
300
+
301
+ **Why it matters:** Generating designs one at a time means the owner waits
302
+ through N round trips instead of one. Fire all generation requests within a
303
+ batch at once and present selection after all jobs complete.
304
+
305
+ ### ✗ Bad
306
+
307
+ Generate design 1 → wait → show it → generate design 2 → wait → show it →
308
+ … × 8 designs. Owner watches a slow drip for 10 minutes.
309
+
310
+ ### ✓ Good
311
+
312
+ Fire all designs in the current batch at once → poll all jobs concurrently →
313
+ once all complete, export each → verify visually → then present.
314
+
315
+ ---
316
+
317
+ ## Gotcha: Auto-selecting a brand template for Pro/Teams users
318
+
319
+ **Why it matters:** Pro/Teams users have no brand-template API access. If
320
+ Claude guesses a template by name and generates with the wrong one, the owner
321
+ gets designs in the wrong colors/fonts and has to redo the work in Canva
322
+ manually.
323
+
324
+ ### ✗ Bad
325
+
326
+ ```
327
+ Found template "Square Post - Blue". Using this for all feed posts.
328
+ ```
329
+ …followed by 8 designs in blue when the brand is green.
330
+
331
+ ### ✓ Good
332
+
333
+ ```
334
+ I found 3 templates in your Canva library that could work for feed posts:
335
+ 1. Square Post - Blue (last edited March 2026)
336
+ 2. Summer Promo - Green (last edited April 2026)
337
+ 3. Product Feature Card (last edited Jan 2026)
338
+
339
+ Which one should I use?
340
+ ```
341
+
342
+ ---
343
+
344
+ ## Gotcha: Caption voice drift across a long calendar
345
+
346
+ **Why it matters:** When drafting 12–20 captions in one pass, the tone tends
347
+ to drift — early captions follow the brief's voice markers, later ones slip
348
+ into generic marketing copy. Owners notice immediately.
349
+
350
+ ### ✗ Bad
351
+
352
+ Post 1: "Our handmade candles are the perfect summer gift 🌿" (matches brief: "warm, conversational")
353
+ Post 10: "Elevate your ambiance with our artisanal fragrance collection." (corporate drift)
354
+
355
+ ### ✓ Good
356
+
357
+ Before drafting, anchor on 2–3 voice markers from the brief (e.g., "casual,
358
+ friendly, uses light humor"). Re-read the first draft caption before writing
359
+ each new one. If the owner flags a voice mismatch on any caption, re-read that
360
+ caption and flag it as the recalibration point for the remaining drafts.
361
+
362
+ ---
363
+
364
+ ## Gotcha: Staging HubSpot posts without verifying `scheduledAt` is in the future
365
+
366
+ **Why it matters:** HubSpot rejects posts with `scheduledAt` in the past with
367
+ a validation error. If the calendar was built on an earlier date and the
368
+ owner is only now staging, some dates may have passed.
369
+
370
+ ### ✗ Bad
371
+
372
+ Build calendar on April 1st for June posts → owner approves May 15th → try to
373
+ stage without checking → post for "April 30th 10:00 AM" returns 400.
374
+
375
+ ### ✓ Good
376
+
377
+ Before calling `POST /social/posts`, compare each `scheduledAt` against the
378
+ current UTC time. If any post date has passed, surface it: "The post scheduled
379
+ for April 30th has already passed. Should I skip it, or reschedule it to next
380
+ week?"
@@ -0,0 +1,137 @@
1
+ # HubSpot Campaign Staging Reference
2
+
3
+ Requires: **HubSpot Marketing Hub Professional** (or higher).
4
+ Base URL: `https://api.hubapi.com`
5
+ Auth: Bearer token (OAuth 2.0 or private app token).
6
+
7
+ ---
8
+
9
+ ## Table of contents
10
+
11
+ 1. [Tier check](#tier-check)
12
+ 2. [Create a campaign](#create-a-campaign)
13
+ 3. [Create a social post](#create-a-social-post)
14
+ 4. [Verify the scheduled queue](#verify-the-scheduled-queue)
15
+ 5. [CSV fallback (non-Professional users)](#csv-fallback-non-professional-users)
16
+ 6. [Field reference](#field-reference)
17
+
18
+ ---
19
+
20
+ ## Tier check
21
+
22
+ If you're unsure whether the user has Marketing Hub Professional:
23
+
24
+ ```
25
+ GET /crm/v3/objects/companies?limit=1
26
+ ```
27
+
28
+ Check the `subscriptionType` on the account. If the API returns a 403 on
29
+ social endpoints, tell the user: "HubSpot campaign staging requires Marketing
30
+ Hub Professional. Your current plan doesn't include it. I can export a
31
+ scheduling CSV instead — would that work?"
32
+
33
+ ---
34
+
35
+ ## Create a campaign
36
+
37
+ ```
38
+ POST /marketing/v3/campaigns
39
+ {
40
+ "name": "Summer Sale 2026 — Social",
41
+ "startDate": "2026-06-01",
42
+ "endDate": "2026-06-30",
43
+ "currencyCode": "<Currency from the Business context block, e.g. AUD>",
44
+ "utm": {
45
+ "source": "social",
46
+ "medium": "owned",
47
+ "campaign": "summer-sale-2026"
48
+ }
49
+ }
50
+ ```
51
+
52
+ Response: `{ "id": "<campaign_id>", ... }` — save this for social post association.
53
+
54
+ ---
55
+
56
+ ## Create a social post
57
+
58
+ One call per calendar row. Stage as `SCHEDULED`, never `PUBLISHED`.
59
+
60
+ ```
61
+ POST /marketing/v3/social/posts
62
+ {
63
+ "campaignId": "<campaign_id>",
64
+ "channelId": "<hubspot_channel_id>",
65
+ "content": {
66
+ "body": "<approved caption text>"
67
+ },
68
+ "scheduledAt": "2026-06-03T10:00:00Z",
69
+ "attachments": [
70
+ {
71
+ "url": "<canva_export_png_url>"
72
+ }
73
+ ],
74
+ "status": "SCHEDULED"
75
+ }
76
+ ```
77
+
78
+ **`channelId`** — the HubSpot Social account ID (not the platform name).
79
+ Retrieve connected accounts:
80
+ ```
81
+ GET /marketing/v3/social/channels
82
+ ```
83
+ Match by `type` (`INSTAGRAM`, `FACEBOOK`, `TWITTER`, `LINKEDIN`) and use the `id` field.
84
+
85
+ **`scheduledAt`** — must be in the future (relative to the time of the API
86
+ call). Use noon local time for the owner's timezone unless they specify
87
+ otherwise.
88
+
89
+ ---
90
+
91
+ ## Verify the scheduled queue
92
+
93
+ After staging all posts:
94
+
95
+ ```
96
+ GET /marketing/v3/social/posts?status=SCHEDULED&campaignId=<campaign_id>
97
+ ```
98
+
99
+ Surface results in a table: date, channel, first 60 chars of caption, status.
100
+ Provide the direct HubSpot campaign URL:
101
+ `https://app.hubspot.com/content/{portalId}/social/campaigns/{campaign_id}`
102
+
103
+ Tell the user: "Posts are scheduled and will publish automatically. You can
104
+ cancel or edit any post in HubSpot before the send time."
105
+
106
+ ---
107
+
108
+ ## CSV fallback (non-Professional users)
109
+
110
+ When HubSpot staging is not available, export a CSV the user can import into
111
+ Buffer, Later, or their scheduler of choice.
112
+
113
+ Column headers:
114
+ ```
115
+ Date,Time,Channel,Caption,ImageURL,Status
116
+ ```
117
+
118
+ Example row:
119
+ ```
120
+ 2026-06-03,10:00 AM CDT,Instagram,"Summer Sale: 30% off candles ☀️ ...",https://canva.com/export/...,Scheduled
121
+ ```
122
+
123
+ Tell the user: "I've prepared a scheduling CSV since your HubSpot plan doesn't
124
+ include social staging. You can import this into Buffer or Later. [file path]"
125
+
126
+ ---
127
+
128
+ ## Field reference
129
+
130
+ | Field | Type | Notes |
131
+ |-------|------|-------|
132
+ | `campaignId` | string | UUID from campaign creation |
133
+ | `channelId` | string | From `GET /social/channels` |
134
+ | `content.body` | string | Caption text; max 2,000 chars |
135
+ | `scheduledAt` | ISO 8601 | Must be future time; include timezone offset |
136
+ | `attachments[].url` | string | Public URL (Canva export URL works) |
137
+ | `status` | enum | Always `"SCHEDULED"` — never `"PUBLISHED"` |