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,106 @@
1
+ # Build Paths
2
+
3
+ Options in order of preference. Prefer the boring one — the owner cannot debug a clever integration that fails in November.
4
+
5
+ **There is no direct-API build path.** Even when a tool has a clean, documented REST API, do not hand-build a connector against it: that code becomes the business's to maintain — token plumbing, rate limits, silent vendor changes — and nobody here will maintain it. When the Claude connector directory has nothing, the build path is Zapier.
6
+
7
+ ---
8
+
9
+ ## 1. Existing Claude connector / MCP server
10
+
11
+ **When:** one exists in the Claude connector directory (or the MCP registry) and covers the need.
12
+
13
+ Always first choice. Someone else maintains it, it survives vendor API changes, and there is nothing custom to break.
14
+
15
+ Work: install, authenticate, verify scope. Usually minutes.
16
+
17
+ ---
18
+
19
+ ## 2. Zapier connection
20
+
21
+ **When:** nothing in the directory, and the tool is one of Zapier's 8,000+ apps. This is the build path when the directory has nothing; the mechanics are in `use-zapier.md`.
22
+
23
+ Good for: "when a work order is created, do X." Zapier handles the trigger and the plumbing.
24
+
25
+ Poor for: bulk historical pulls, or anything high-volume. Zapier bills per task and the arithmetic gets bad quickly.
26
+
27
+ **Say the cost out loud.** An owner who discovers a USD 70 monthly Zapier bill they didn't expect blames the integration, and they are not wrong to.
28
+
29
+ ```
30
+ This works through Zapier. Roughly 40 tasks a day at your volume, which is
31
+ their USD 30 tier. Fine if that's worth it — worth knowing before we build.
32
+ ```
33
+
34
+ ---
35
+
36
+ ## 3. Scheduled export
37
+
38
+ **When:** not in the directory and not on Zapier, but the system can email or drop a file on a schedule.
39
+
40
+ **Underrated.** No tokens to expire, no rate limits, no API changes. For a once-daily need it is often strictly better than a live integration.
41
+
42
+ Set up:
43
+
44
+ 1. Configure the export in the source system — daily, to a specific address
45
+ 2. Watch that inbox for the file
46
+ 3. Parse and use it
47
+
48
+ The main weakness is latency. A daily export cannot support anything needing same-hour data. Say so rather than letting the owner discover it.
49
+
50
+ **The failure mode is quiet.** If the export stops arriving, nothing errors — the data just goes stale. Build in a check: if no file has arrived in longer than the expected interval, say so loudly.
51
+
52
+ ---
53
+
54
+ ## 4. Screen-level workaround
55
+
56
+ **When:** everything else failed and the need is real.
57
+
58
+ Fragile by nature. It breaks whenever the vendor changes their interface, which they do without warning.
59
+
60
+ Only appropriate when:
61
+
62
+ - The data genuinely cannot be reached another way
63
+ - The need is significant enough to justify the maintenance
64
+ - The owner understands it will break, and roughly how often
65
+
66
+ Say it plainly:
67
+
68
+ ```
69
+ This would work, but it's held together with tape — any interface change on
70
+ their side breaks it, and you'd have no warning beyond the data stopping.
71
+
72
+ Before we go there: can you export this manually once a week? Less clever,
73
+ but it'll still work next year.
74
+ ```
75
+
76
+ Recommending the manual export over the fragile automation is usually the right call, and owners respect being told.
77
+
78
+ ---
79
+
80
+ ## Choosing when several work
81
+
82
+ | Priority | Reasoning |
83
+ |---|---|
84
+ | Fewest moving parts | Every component is something that can break unmonitored |
85
+ | Nothing to maintain | The owner cannot debug it and will not pay someone to |
86
+ | Fails loudly | Silent failure is worse than no connector |
87
+ | Read-only where possible | Narrower access, smaller consequences |
88
+ | No per-task cost | Unless the owner has agreed to it |
89
+
90
+ **A daily CSV that always works beats a live API that breaks quarterly.** The owner's actual requirement is that their morning brief is right, not that the integration is elegant.
91
+
92
+ ---
93
+
94
+ ## Scoping the build
95
+
96
+ Whatever the path, build only what was scoped.
97
+
98
+ ```
99
+ Bad: Connect ServiceTrade.
100
+ Good: Pull open work orders daily, with customer, description, and assignee,
101
+ so they appear in the morning brief.
102
+ ```
103
+
104
+ The second is buildable this afternoon and testable against a known answer. The first is a project with no definition of done.
105
+
106
+ More endpoints can be added when something needs them. Building the whole API surface up front means securing and maintaining code nothing uses.
@@ -0,0 +1,128 @@
1
+ # Use Zapier
2
+
3
+ The build path when discovery turned up no native Claude connector. This file covers using the Zapier MCP server itself: authenticating, checking whether an app or action exists, connecting the app's account, enabling exactly the actions the scope named, testing against the owner's actual use case from Step 1 of the skill, and the task bill.
4
+
5
+ ---
6
+
7
+ ## Two modes — say which one, out loud
8
+
9
+ **On-demand actions (the default).** Zapier's MCP server exposes the tool's actions and Claude calls them only when a skill runs. Nothing is scheduled, nothing polls, no Zap exists in the owner's dashboard, and tasks burn only on actual use. This is what most scopes need — a lead pull when the morning brief runs, a record lookup when the owner asks. Every step below is this mode.
10
+
11
+ **A Zap (the exception).** A standing automation on Zapier's side that runs without Claude — event fires, Zap acts, around the clock. Build one only when the owner needs something to happen while nobody is talking to Claude. It keeps running and billing on its own, so it gets named in the consent step explicitly, named so it is identifiable in the owner's dashboard six months from now ("Claude: ServiceTrade open work orders," not "Zap 47"), and turned on only after a test run passes.
12
+
13
+ Owners hear "Zapier" and picture Zaps. If the build is on-demand actions, say so — "no Zaps, nothing runs in the background, Zapier is just the pipe" — or the owner will wonder what invisible machinery got installed.
14
+
15
+ ---
16
+
17
+ ## Step 1 — Authenticate to Zapier
18
+
19
+ Check whether this is already connected before doing anything else: call `ToolSearch` for `discover_zapier_actions`. If it doesn't resolve — only an `authenticate` / `complete_authentication` pair of tools show up — Zapier isn't connected yet.
20
+
21
+ **If not connected:** call the platform's Zapier authentication tool. It returns an authorization URL — share it with the owner and ask them to complete it in their browser. The rest of the tool set becomes available automatically once they finish. If the redirect page errors out, have the owner retry from the connector's own settings page; never ask them to paste the callback URL or an authorization code into chat — that puts a credential in the transcript, which Step 3 of the skill forbids.
22
+
23
+ This authenticates the Zapier platform connection only — it is **not** yet the specific app (ServiceTrade, QuickBooks, whatever). That's Step 3, below, and it's a separate step per app.
24
+
25
+ ---
26
+
27
+ ## Step 2 — Check whether the app and action exist
28
+
29
+ Call `discover_zapier_actions` with the exact product name from Step 1 of the skill, and read back the counts: read/write/search action totals and category. If nothing comes back, the app isn't on Zapier — continue with `discovery.md`, section 3. **`selected_api` must come verbatim from this call — never guess or construct it.** Zapier's own example: Gmail is `GoogleMailV2CLIAPI`, not `GmailCLIAPI`.
30
+
31
+ Then pick the actions from the scope, not from the app page: find the one search or read action, and the fewest write actions, that deliver exactly what Step 1 defined, and ignore everything else the app offers. Check each action's fields before promising anything — if the owner's scope needs a field the action doesn't return, that is a deviation to surface before building, not after. An app that is on Zapier but lacks the specific action the scope needs is not a match; say why, plainly, and continue with `discovery.md`, section 3.
32
+
33
+ ---
34
+
35
+ ## Step 3 — Connect the app's own account
36
+
37
+ Call `manage_zapier_connections` with the `selected_api` from Step 2 to check the connection. If none exists yet, it returns an auth URL (Zapier calls it `connectAuthUrl` in its own error text) — share it with the owner and ask them to confirm once they've connected on Zapier's page. The owner signs into their tool on Zapier's page, never in chat; nothing can run until they do, which makes the click the natural consent moment. Then:
38
+
39
+ 1. Call `list_zapier_connections` to find the new `connection_id`.
40
+ 2. Call `manage_zapier_connections` again with that `connection_id` as `default_connection_id`. **An app requires a default connection before any of its actions can run — even with only one connection.** This is by design: Zapier makes the owner choose consciously rather than picking one silently when multiple accounts exist.
41
+ 3. **If the owner has multiple accounts for the same app** (two Slack workspaces, a personal and a work Gmail), don't fight over which one is default — pass that connection's specific `connection_id` on each `execute_zapier_read_action` / `execute_zapier_write_action` call instead.
42
+
43
+ ---
44
+
45
+ ## Step 4 — Enable the action, then trim to the scope
46
+
47
+ Call `enable_zapier_action` with the `selected_api` and the specific action Step 2 chose, plus `app_display_name` so confirmations read as "Gmail," never a raw API ID.
48
+
49
+ **Enabling does not behave like a menu.** An enable call with no action named turns on every action the app has — including delete, send-email, and raw API request — and enabling one action can switch on a related bundle (asking for one "find" action may enable four). So, every time: enable, then call `inspect_zapier_actions` to read back what is actually on, then `disable_zapier_action` for everything the scope didn't name. The shipped list matches the approved scope exactly — an owner who approved read-only lead pulls must not end up with a live delete action they never heard about.
50
+
51
+ If a call still fails with a message like:
52
+
53
+ ```
54
+ No default connection is set for Outreach, which is required before running
55
+ its actions.
56
+ ```
57
+
58
+ Step 3 above wasn't completed — the error message itself names the fix; follow it rather than treating it as a dead end.
59
+
60
+ ---
61
+
62
+ ## Step 5 — Test against the owner's actual use case
63
+
64
+ 1. Call `inspect_zapier_actions` with the `tool_name` for the read action Step 2 chose, to get its exact parameter schema.
65
+ 2. **Resolve ambiguous matches carefully.** If the owner gave partial or ambiguous information — a first name, a search term with several close matches — a lookup returning one result is not proof it's the right one. Enumerate the candidates and let the owner pick rather than guessing.
66
+ 3. Call `execute_zapier_read_action`, show the real data it pulled, and ask if it's correct. That's the only way to confirm the connection is reading their actual data and nothing quietly wasn't mapped.
67
+
68
+ **Write actions get the same scrutiny plus a confirmation gate.** They have real, often irreversible side effects — confirm the target whenever there's any doubt, and every write gets an approval gate regardless of what the owner asked for.
69
+
70
+ ---
71
+
72
+ ## Estimating the task bill
73
+
74
+ Zapier bills per task — roughly, every `execute_zapier_*_action` call that runs. The estimate goes in front of the owner before any build.
75
+
76
+ 1. **Volume:** how many calls per month, from the owner's own numbers in Step 1. 40 work orders a day is about 1,200 a month.
77
+ 2. **Tier:** see `zapier.com/pricing.md` for current plans and task allowances. **Never quote pricing from memory** — Zapier changes tiers and allowances regularly.
78
+ 3. **Overage:** say what happens past the limit — plans differ on whether calls pause or bill as overage. A paused plan is silent; see "How this breaks."
79
+
80
+ **If it is a Zap,** the arithmetic changes: every action step that runs on every record that gets through is a task, so count steps per event, and put a Filter by Zapier step immediately after the trigger, before any action that costs a task, on the narrowest condition the scope defines. Filtered-out runs are cheaper than full runs, and most scopes only want a subset (open work orders, not all work orders). That filter is the single biggest lever on the monthly bill.
81
+
82
+ If the volume makes per-task billing absurd — a nightly pull of two thousand records — stop and say so plainly rather than presenting a bad Zapier bill as the only option. This is still not a reason to hand-build against the app's raw API; a scheduled export (`discovery.md`, section 4) is usually the right answer at that volume.
83
+
84
+ ---
85
+
86
+ ## How this breaks
87
+
88
+ - **The owner disconnects the app account inside Zapier**, which breaks every call using that connection at once.
89
+ - **Zapier deprecates a trigger or action version**, usually with notice in their changelog and nowhere the owner looks.
90
+ - **The task limit is reached**, which can block calls silently depending on the owner's plan settings.
91
+
92
+ The failure signature is the same for all three: nothing errors, it just produces nothing. **Empty output from a Zapier action is broken until proven empty** — check `inspect_zapier_actions` (or, for a Zap, its run history) before reporting "no records."
93
+
94
+ ---
95
+
96
+ ## The tool set
97
+
98
+ | Tool | Does |
99
+ |---|---|
100
+ | `discover_zapier_actions` | Searches Zapier's app catalog — `app` is a free-text query |
101
+ | `inspect_zapier_actions` | Inspects currently enabled apps/actions and resolves the exact schema before executing. Call this before every execute call — never guess action names, they aren't intuitive and will fail |
102
+ | `enable_zapier_action` | Enables an action for an app, using the `selected_api` from `discover_zapier_actions` |
103
+ | `disable_zapier_action` | Removes an action — the trim step after every enable |
104
+ | `list_zapier_connections`* | Lists the owner's connected accounts for an app |
105
+ | `manage_zapier_connections`* | Connects a new account and/or sets the app's default connection |
106
+ | `execute_zapier_read_action` | Runs a search/read action |
107
+ | `execute_zapier_write_action` | Runs a write/create action — real, often irreversible side effects |
108
+
109
+ \* Not documented in `docs.zapier.com/mcp/how-tools-work.md` (see References below), and what Step 3 depends on.
110
+
111
+ Zapier's own tool descriptions sometimes reference an old name, `list_enabled_zapier_actions` — that tool no longer exists; use `inspect_zapier_actions` instead.
112
+
113
+ ---
114
+
115
+ ## References
116
+
117
+ **Zapier:**
118
+
119
+ - `zapier.com/apps/<slug>/integrations.md` — per-app triggers and actions
120
+ - `zapier.com/pricing.md` — current plan tiers and task billing
121
+ - `zapier.com/llms.txt` — Zapier's machine-readable documentation index
122
+ - `zapier.com/.well-known/ai-catalog.json` — Zapier's discovery manifest for its MCP server, SDK, and app directory
123
+ - `docs.zapier.com/mcp/how-tools-work.md` — the meta-tools referenced above, markdown mirror
124
+
125
+ **Claude:**
126
+
127
+ - `code.claude.com/docs/en/mcp.md` — how Claude Code connects to and manages MCP servers, markdown mirror
128
+ - `support.claude.com/en/articles/13837440-use-plugins-in-claude` — how plugins, including bundled connectors, work in Claude Cowork specifically
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: business-pulse
3
+ description: >
4
+ Produces a one-page cross-functional business snapshot for SMB owners —
5
+ cash position (the ledger: MYOB, NetSuite, QuickBooks, Xero, or Zoho Books), sales trend
6
+ (PayPal/Square/Stripe), pipeline movement (HubSpot), this week's commitments
7
+ (Calendar), urgent watch-list items (Gmail or M365, Slack), and the single most
8
+ important thing needing attention today.
9
+ Proactively tries every available connector and gracefully scopes to
10
+ whatever is connected — one connector gives a partial pulse; the full stack
11
+ gives the full picture. Trigger when the user asks how the business is
12
+ doing, wants a snapshot, a daily brief, a Friday recap, or says anything
13
+ like "what am I missing" or "catch me up on the business." A start-of-week
14
+ briefing routes to /monday-brief, which runs this skill as its first link.
15
+ allowed-tools: Read, WebFetch
16
+ ---
17
+
18
+ # Business Pulse
19
+
20
+ One prompt, one page. Pull live data from every connected tool, synthesize it into a single scannable brief, and surface the single most important thing to act on today. Do the work — don't ask the user to help find the data.
21
+
22
+ ## Step 1 — Pull data in parallel
23
+
24
+ **Dispatch all connector calls in a single parallel batch** — see `reference/data_sources.md` for the exact tool-to-metric mapping. Do not pull serially; latency turns a 30-second skill into a painful wait.
25
+
26
+ Connectors to attempt simultaneously:
27
+
28
+ - **QuickBooks** — cash balance, MTD revenue, outstanding receivables, overdue invoices
29
+ - **Xero** — same ledger read for Xero shops: cash position, receivables, P&L trend
30
+ - **Zoho Books** — same ledger read for Zoho shops: bank balances, invoiced revenue, overdue invoices (no P&L endpoint, so the revenue line is invoiced revenue and says so)
31
+ - **PayPal / Square** — 7-day settlements, sales trend, failed/pending transactions
32
+ - **Stripe** — settlements and sales trend, failed payments, and any new disputes — a fresh dispute goes straight to the watch list (if connected)
33
+ - **Ramp** — company card spend for the week and the account balance, read-only (if connected)
34
+ - **Gusto** — next payroll run date and amount, the week's biggest cash commitment (if connected)
35
+ - **TikTok Ads** — last week's ad spend, results, and cost per result, so paid spend shows up next to the sales it claims to drive (if connected)
36
+ - **Expensify** — last week's card spend and any expenses missing receipts, read-only, so spending surprises surface before the month-end scramble (if connected)
37
+ - **HubSpot** — pipeline by stage, deals moved/closed, deals gone cold, new leads
38
+ - **Google Calendar** — key meetings, deadlines, events this week and next 7 days
39
+ - **Gmail or Microsoft 365** — threads flagged urgent, customer complaints, time-sensitive requests
40
+ - **Slack / Teams** — urgent internal signals, threads needing owner attention
41
+ - **RingEx Chat** — the same internal-signal read for RingEx shops: urgent team-chat posts needing the owner (if connected)
42
+ - **DocuSign** — envelopes sitting unsigned, flagged once they are more than a few days old — money waiting on a signature (if connected)
43
+ - **Zoho Desk** — open tickets, escalations (if connected)
44
+ - **Shopify** — orders, revenue, sales trend, and fulfillment issues, so a commerce business sees its actual day (if connected)
45
+ - **Square** — fulfillment issues (if connected)
46
+
47
+ If a connector errors or returns no data, record it internally and move on. Never block the pulse on a single bad integration.
48
+
49
+ **QuickBooks fallback**: if QBO returns an unexpected state (account not connected, sync pending, empty response), mark the Cash section "n/a — QuickBooks unavailable" and proceed. Do not retry or ask the user to reconnect.
50
+
51
+ **Gmail fallback**: Gmail auth is intermittently flaky. If the call errors, skip the Watch List section silently and note "Gmail unavailable" in the appendix — do not surface an error mid-pulse.
52
+
53
+ **Nothing connected at all is a supported path, not a failure.** If every connector is unavailable, don't stop and don't tell the owner to go connect things. Ask once, in one short message, for the handful of numbers that carry the pulse:
54
+
55
+ - Cash in the bank right now, and roughly what it was a week ago
56
+ - Anything overdue — invoices owed to them, bills they owe
57
+ - Sales this week versus a normal week, even roughly
58
+ - Anything already worrying them this week
59
+
60
+ Build the same one-page pulse from those answers, label the source line "owner-supplied, not pulled," and skip any section they had no number for. If they'd rather not type numbers, point them at the siblings that run off a file export instead — `cash-flow-snapshot` and `report-builder` both take a CSV — and say plainly that gives a partial picture, not the full one.
61
+
62
+ ## Step 2 — Compute metrics
63
+
64
+ Read `reference/thresholds.md` for red/yellow/green cutoffs. Compute:
65
+
66
+ - **AR aging** — open QuickBooks invoices grouped by days since due date (0–30, 31–60, 61+)
67
+ - **Pipeline coverage** — HubSpot weighted pipeline ÷ monthly revenue target
68
+ - **Revenue trend** — this month's QBO revenue vs. prior month (or 7-day PayPal/Square vs. prior 7 days)
69
+
70
+ Assign a 🟢/🟡/🔴 status to each section. If a source returned nothing, mark the metric "n/a" and note it in the appendix.
71
+
72
+ ## Step 3 — Flag risks proactively
73
+
74
+ Scan for actionable items. Every risk entry must name a specific record and a next step — "some overdue invoices" is useless; "USD 3,400 from Acme Corp, 47 days overdue, no response since Mar 12" is actionable.
75
+
76
+ - Ledger invoices past due > 30 days — name customer, amount, days overdue
77
+ - HubSpot deals with no activity in 7+ days, or close date in past but still open
78
+ - Mail threads marked urgent or containing "escalation," "complaint," "cancel," "refund"
79
+ - Failed or pending PayPal/Square/Stripe transactions above the threshold in `reference/thresholds.md` (200 in the business's currency)
80
+
81
+ ## Step 4 — Compose the output
82
+
83
+ Use the exact template in `reference/output_template.md`. Include only sections where real data exists — omit headers for connectors that weren't available. Adapt depth to context: a casual "how are we doing" gets a fuller report; "quick snapshot before a call" gets a tighter one.
84
+
85
+ Cross-connector synthesis is where this skill earns its keep. If a Slack message connects to a stalled HubSpot deal, surface that link in the #1 Priority section. Synthesis is what makes the pulse more useful than checking each tool separately.
86
+
87
+ Writing rules:
88
+ - Numbers lead, words follow. Never write "revenue is healthy" — write "USD 43k this month, ▲ 8% MoM" and let the owner judge.
89
+ - Every number carries a delta vs. the prior period where available. Absolute snapshots (cash balance) still show WoW delta.
90
+ - Names and dollars, not adjectives. "USD 4,200 from Acme, 23 days overdue" beats "some concerning receivables."
91
+ - No filler. If a section has nothing worth reporting, write "No material changes" and move on.
92
+
93
+ ## Step 5 — Deliver the pulse page
94
+
95
+ Alongside the chat pulse — never instead of it — deliver the full pulse per
96
+ the owner's stored output preference — never default to a markdown file.
97
+ Check the `## Business context` block's `Output preference` (shared style
98
+ guide rule, `../../shared/artifact-style.md`):
99
+
100
+ - **Visual artifact (the default):** render the pulse as an HTML page in the
101
+ house style. Cash balance, MTD revenue, and weighted pipeline are stat tiles
102
+ with their deltas as context lines; each section's 🟢/🟡/🔴 becomes a status
103
+ pill (good, warn, critical); the watch-list risks are a table with
104
+ tabular-nums amount columns; the #1 Priority gets its own panel at the top;
105
+ unavailable connectors go in one quiet appendix line.
106
+ - **docx / md / notion / canva preference:** deliver the same content in that
107
+ form — a DOCX or markdown file, a Notion page created via the connector
108
+ (named destination, never overwriting), or a Canva Doc created via the Canva
109
+ connector (a new design each run, named with the date; tables become
110
+ lists); fall back to the visual artifact if Notion or Canva is not
111
+ connected — and say that is why.
112
+ - **Best for skill:** use the visual artifact — a pulse is scanned, not filed.
113
+
114
+ ## Step 6 — Export and share (once)
115
+
116
+ After presenting the pulse, offer once:
117
+ - "Want me to save this as a file?" (use Files connector if available — this means a copy in their drive, not a second HTML download beside the artifact)
118
+ - "Should I post this to your Slack?" (only if Slack is connected and the user confirms — Slack write requires explicit approval)
119
+
120
+ If they say yes, do it. If they say no or don't respond, move on — don't ask again.
121
+
122
+ ## After the run
123
+
124
+ Close with one line on what the pulse covered, then the single most relevant
125
+ next step and at most two others nearby:
126
+
127
+ - If cash or AR flagged red: "who owes me money" runs `invoice-chase`.
128
+ - If growth questions dominate: "is my marketing working" runs `growth-pulse`.
129
+ - To make this recurring: "Monday brief" runs `/monday-brief` every week.
130
+
131
+ Max three offers. Never repeat an offer the owner declined this session.
132
+
133
+ ## Scope variants
134
+
135
+ The owner may ask for a narrower cut:
136
+
137
+ - **"Just cash" / "financial check"** → only Cash & Finance + AR-related risks
138
+ - **"Pipeline only" / "deals check"** → only Pipeline section + stalled-deal risks
139
+ - **"Watch list" / "anything urgent"** → only Watch List + all risks, no metric sections
140
+ - **"Quick snapshot before a call"** → TL;DR + #1 Priority only, no full sections
141
+
142
+ ## What not to do
143
+
144
+ - **Do not ask permission before pulling data.** If the skill was invoked, run it. Asking "should I check QuickBooks?" defeats the whole point.
145
+ - **Do not invent or estimate numbers.** If a source returned nothing, say "n/a" explicitly. Never fill a gap with guesswork.
146
+ - **Do not skip the delta.** A number without a comparison is a missed insight. If there's no prior-period baseline, say "(no prior baseline)" rather than omitting the field.
147
+ - **Do not surface connector errors mid-pulse.** Log them to the appendix. The pulse leads with what was delivered.
148
+ - **Do not trust a QuickBooks summary object.** Expenses, margin, and AP aging buckets come from the rows or the detail call (`../../shared/quickbooks-report-traps.md`).
149
+
150
+ ## More sources, and scheduled presets
151
+
152
+ Read `reference/v2_sources.md` for the mapping:
153
+
154
+ - **Shopify** — orders, revenue, and fulfillment status, so a commerce business sees its actual day in the pulse
155
+ - **Any ledger** — MYOB, NetSuite, QuickBooks, Xero, or Zoho Books feed the Cash & Finance section; they are peers (`../../shared/connector-neutrality.md`). With two connected, the owner names one as the source of record for totals
156
+
157
+ The pulse still builds from whatever is connected and degrades gracefully — one connector gives a partial pulse, the full stack gives the full picture.
158
+
159
+ ### Scheduled presets
160
+
161
+ This skill is schedulable, and the preset decides the shape:
162
+
163
+ | Preset | When | Shape |
164
+ |---|---|---|
165
+ | Monday | Start of week | Full pulse, forward-looking. What's coming and what needs attention |
166
+ | Friday | End of week | Recap. What moved, what closed, what slipped |
167
+
168
+ Scheduling is a property of this skill, not a reason for a separate command.
169
+
170
+ Offer a cadence once, after a pulse the owner found useful. Don't ask twice.
171
+
172
+ ## Reference files
173
+
174
+ - `reference/data_sources.md` — exact connector tool → metric mapping with fallbacks
175
+ - `reference/thresholds.md` — 🟢/🟡/🔴 cutoffs, tunable per owner
176
+ - `reference/output_template.md` — exact markdown structure; do not deviate
177
+ - `reference/gotchas.md` — known failure modes (QB states, Gmail auth, Slack write)
178
+
179
+ ## Using a tool that isn't listed
180
+
181
+ The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer `build-connector` — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.
@@ -0,0 +1,173 @@
1
+ # Data Sources
2
+
3
+ Exact mapping from each pulse section to the MCP tool that produces it. **Dispatch all calls in a single parallel batch** — do not pull serially.
4
+
5
+ ## Cash & Finance (the ledger)
6
+
7
+ Whichever ledger is connected feeds this section — MYOB, NetSuite, QuickBooks, Xero, or Zoho Books, as peers (`../../../shared/connector-neutrality.md`). The QuickBooks table is first only because it is the longest; the Xero, NetSuite, MYOB, and Zoho Books tables below map the same metrics. Amounts carry the business's currency code (`../../../shared/currency-and-locale.md`); thresholds are in that currency.
8
+
9
+ ### QuickBooks
10
+
11
+ | Metric | Tool | Notes |
12
+ |---|---|---|
13
+ | Cash / bank balance | `cash_flow_quickbooks_account` | Current balance; show delta vs. prior week if available |
14
+ | MTD revenue | `profit_loss_quickbooks_account` | Current month vs. prior month. Read income and expenses from the report rows or `monthlyBreakdown`; the response's top-level `totalExpenses`, `grossProfit`, and `grossProfitMargin` report 0 / 100% against real rows (a defect in the response shape), so never read them |
15
+ | Outstanding receivables | QuickBooks invoice list | Filter to open/unpaid |
16
+ | AR aging | QuickBooks invoice list | Group by days since due: 0–30, 31–60, 61+ |
17
+ | Overdue invoices | QuickBooks invoice list | Filter to due_date > 30 days past; name customer + amount + days overdue |
18
+
19
+ **Ledger state handling**: if the ledger's cash read returns an error, empty response, or "not connected" state, mark the entire Cash section as "n/a — ledger unavailable" (naming which) and continue. Do not retry.
20
+
21
+ ### Xero
22
+
23
+ | Metric | Tool | Notes |
24
+ |---|---|---|
25
+ | Cash / bank balance | `get_cash_position` | Same role as the QuickBooks cash read |
26
+ | MTD revenue, P&L trend | `get_profit_and_loss` | Current month vs. prior |
27
+ | Receivables, AR aging, overdue | `get_aged_receivables` | Name customer + amount + days overdue. (`get_contacts_and_receivables` is deprecated in the Xero server; do not call it) |
28
+
29
+ ### NetSuite
30
+
31
+ | Metric | Tool | Notes |
32
+ |---|---|---|
33
+ | Cash, receivables, P&L | `ns_runReport` / `ns_runCustomSuiteQL` | Same metrics, same section |
34
+
35
+ ### MYOB
36
+
37
+ | Metric | Tool | Notes |
38
+ |---|---|---|
39
+ | MTD revenue, P&L trend | `myob_get_profit_loss` | Resolve the financial year first with `myob_get_financial_year_dates` |
40
+ | Receivables, overdue | `myob_get_outstanding_customer_balances` | No cash balance exists in MYOB; leave the cash line as "not available from MYOB" |
41
+
42
+ ### Zoho Books
43
+
44
+ Every call takes `organization_id` from `list_organizations`.
45
+
46
+ | Metric | Tool | Notes |
47
+ |---|---|---|
48
+ | Cash / bank balance | `list_bank_accounts` with `filter_by=Status.Active` | Sum `current_balance` across bank and cash accounts (`bcy_balance` is the same figure in base currency). No history endpoint, so the WoW delta needs the prior pulse's stored figure or is omitted |
49
+ | MTD revenue | `list_invoices` with `date_start`/`date_end` for the month and `response_option=3` | Returns the count and the summed `total`; invoiced revenue, not a P&L — say so. Zoho Books exposes no P&L report endpoint |
50
+ | Outstanding receivables | `list_invoices` with `status=unpaid` and `response_option=3` | Summed `balance` |
51
+ | AR aging, overdue invoices | `list_invoices` with `status=overdue`, sorted by `due_date` | Each carries `due_days` ("Overdue by 323 days"), `customer_name`, `balance`, `email`; bucket by due date yourself |
52
+
53
+ Zoho Desk is a separate connector and a separate organisation ID; it feeds the support section below, not this one.
54
+
55
+ ## Revenue & Sales (PayPal / Square / Stripe)
56
+
57
+ | Metric | Tool | Notes |
58
+ |---|---|---|
59
+ | 7-day settlement total | PayPal transactions | Sum completed settlements in window |
60
+ | Sales trend | PayPal transactions | This 7 days vs. prior 7 days; compute delta |
61
+ | Failed / pending transactions | PayPal transactions | Flag any > 200 (business currency; `thresholds.md`) |
62
+ | Square settlements | Square (if connected) | Same as PayPal — sum + trend |
63
+ | Stripe revenue | Stripe `list_invoices` (if connected) | Paid invoices in window |
64
+ | Stripe failed payments | Stripe API read — charges/payment intents (if connected) | Failed charges in window; flag any > 200 (business currency) |
65
+ | Stripe disputes | Stripe API read — disputes (if connected) | Any dispute opened in window goes to the watch list, named |
66
+
67
+ Use whichever payment connectors are available. If both PayPal and Square are connected, report combined and per-source.
68
+
69
+ ## Pipeline (HubSpot)
70
+
71
+ | Metric | Tool | Notes |
72
+ |---|---|---|
73
+ | Pipeline by stage | `search_crm_objects` type=deals (`get_crm_objects` needs explicit IDs; see `../../../shared/connector-call-shapes.md`) | Group by deal stage; sum amount |
74
+ | Deals closed this week | `search_crm_objects` | Filter closedate in window, stage = closed-won |
75
+ | Deals gone cold | `search_crm_objects` | Filter `notes_last_updated` > 7 days ago, open stage. That is HubSpot's "Last Activity Date" on deals — there is no `hs_last_activity_date` or `hs_lastactivitydate` property |
76
+ | New leads this week | `search_crm_objects` | Filter createdate in window |
77
+ | Stalled/slipped deals | `search_crm_objects` | Open deals where closedate < today |
78
+
79
+ ## Commitments (Google Calendar)
80
+
81
+ | Metric | Tool | Notes |
82
+ |---|---|---|
83
+ | This week's key items | `list_events` | Filter to current week; surface meetings with customers, deadlines, important holds |
84
+ | Next 7 days | `list_events` | Forward-looking view; highlight anything with external parties |
85
+
86
+ ## Watch List (Gmail or Microsoft 365)
87
+
88
+ | Metric | Tool | Notes |
89
+ |---|---|---|
90
+ | Urgent threads | `search_threads` | Query: `is:important OR is:starred` in last 7 days |
91
+ | Customer escalations | `search_threads` | Query: terms like "escalation," "complaint," "cancel," "refund," "urgent" in last 7 days |
92
+ | Time-sensitive requests | `search_threads` | Query: `is:unread` + keywords like "deadline," "ASAP," "today" |
93
+
94
+ **Gmail fallback**: if the Gmail call errors (auth flaky), skip Watch List silently and add "Gmail unavailable" to the appendix. Do not surface the error in the pulse body.
95
+
96
+ ## Internal Signals (Slack / Teams)
97
+
98
+ | Metric | Tool | Notes |
99
+ |---|---|---|
100
+ | Urgent threads | Slack search (if connected) | Threads with @mentions or urgency signals in owner-relevant channels |
101
+ | Action items | Slack search | Messages directed at the owner or tagged for follow-up |
102
+
103
+ Every section below this point follows the same rule: include only if the connector is available; omit the section entirely if not.
104
+
105
+ ## Commerce (Shopify, if connected)
106
+
107
+ | Metric | Tool | Notes |
108
+ |---|---|---|
109
+ | Orders, revenue, sales trend | `list-orders`, `run-analytics-query` | This 7 days vs. prior 7 |
110
+ | Fulfillment issues | `list-orders` filtered to unfulfilled past promise | Named orders to the watch list |
111
+
112
+ ## Fulfillment (Square, if connected)
113
+
114
+ | Metric | Tool | Notes |
115
+ |---|---|---|
116
+ | Fulfillment issues | Square orders API via `make_api_request` | Same watch-list treatment as Shopify |
117
+
118
+ ## Payroll (Gusto, if connected)
119
+
120
+ | Metric | Tool | Notes |
121
+ |---|---|---|
122
+ | Next payroll run | `list_payrolls` / `list_pay_periods` | Date and expected amount — the week's biggest cash commitment |
123
+
124
+ ## Ads (TikTok Ads, if connected)
125
+
126
+ | Metric | Tool | Notes |
127
+ |---|---|---|
128
+ | Ad spend, results, cost per result | TikTok reporting (`report_integrated_get`) | Last 7 days vs. prior 7; sits beside the sales trend |
129
+
130
+ ## Card spend (Ramp / Expensify, if connected)
131
+
132
+ | Metric | Tool | Notes |
133
+ |---|---|---|
134
+ | Week's card spend | Ramp `ramp_get_transactions` | Sum for window; call out any single transaction > 500 (business currency) |
135
+ | Account balance | Ramp `ramp_get_ramp_business_account_balance` | Read-only |
136
+ | Card spend + missing receipts | Expensify `Search` | Read-only; count expenses without receipts |
137
+
138
+ ## Signatures (DocuSign, if connected)
139
+
140
+ | Metric | Tool | Notes |
141
+ |---|---|---|
142
+ | Unsigned envelopes | `getEnvelopes` filtered to sent status | Flag any sitting unsigned > 3 days, named |
143
+
144
+ ## Internal signals (RingEx Chat, if connected)
145
+
146
+ | Metric | Tool | Notes |
147
+ |---|---|---|
148
+ | Urgent team-chat posts | `read_team_chat` | Same role as Slack: escalation keywords, threads needing the owner. Chat only — no call data exists here |
149
+
150
+ ## Customer Support (Zoho Desk, if connected)
151
+
152
+ | Metric | Tool | Notes |
153
+ |---|---|---|
154
+ | Open tickets, escalations | `getTickets` (`status`, `priority`, `sortBy=recentThread`) / `getTicketsMetrics` | Count open; flag any > 48h unresolved and any priority High, named. `getTickets` rejects an `include` parameter — request extra fields with `fields` |
155
+
156
+ ## Risks scan
157
+
158
+ Run these alongside the metric pulls — don't wait for metrics to finish first.
159
+
160
+ | Risk | Source | Trigger condition |
161
+ |---|---|---|
162
+ | Overdue AR | Ledger invoices / aged receivables | due_date > 30 days past, unpaid |
163
+ | Stalled deals | HubSpot | Open deal, no activity 7+ days |
164
+ | Slipped deals | HubSpot | Open deal, closedate in past |
165
+ | Urgent mail threads | Gmail or Microsoft 365 | `is:important` or escalation keywords |
166
+ | Failed payments | PayPal / Square / Stripe | Failed or pending > 200 (business currency) |
167
+ | New dispute | Stripe / PayPal | Any dispute opened in window — always a watch-list item |
168
+ | Stale unsigned envelope | DocuSign | Sent envelope unsigned > 3 days |
169
+ | Missing receipts piling up | Expensify | 5+ expenses without receipts in window |
170
+
171
+ ## Parallelization
172
+
173
+ All of the above should fire in a single tool-call batch. A complete pulse is typically 8–15 parallel calls. If one errors, the rest proceed normally and the failed source appears in "Sources unavailable" at the bottom of the pulse.