opencode-knowledge-work 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/LICENSE +212 -0
  2. package/README.md +124 -2
  3. package/content/bio-research/.mcp.json +48 -0
  4. package/content/bio-research/CONNECTORS.md +23 -0
  5. package/content/bio-research/LICENSE +202 -0
  6. package/content/bio-research/README.md +83 -0
  7. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/LICENSE.txt +201 -0
  8. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/SKILL.md +280 -0
  9. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/asm_schema_overview.md +226 -0
  10. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/field_classification_guide.md +503 -0
  11. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/flattening_guide.md +254 -0
  12. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/supported_instruments.md +151 -0
  13. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/requirements.txt +26 -0
  14. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/convert_to_asm.py +543 -0
  15. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/export_parser.py +481 -0
  16. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/flatten_asm.py +254 -0
  17. package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/validate_asm.py +1102 -0
  18. package/content/bio-research/skills/bio-research-nextflow-development/LICENSE.txt +201 -0
  19. package/content/bio-research/skills/bio-research-nextflow-development/SKILL.md +290 -0
  20. package/content/bio-research/skills/bio-research-nextflow-development/references/geo-sra-acquisition.md +416 -0
  21. package/content/bio-research/skills/bio-research-nextflow-development/references/installation.md +96 -0
  22. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/atacseq.md +138 -0
  23. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/rnaseq.md +118 -0
  24. package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/sarek.md +145 -0
  25. package/content/bio-research/skills/bio-research-nextflow-development/references/troubleshooting.md +137 -0
  26. package/content/bio-research/skills/bio-research-nextflow-development/scripts/check_environment.py +452 -0
  27. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/genomes.yaml +148 -0
  28. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/atacseq.yaml +187 -0
  29. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/rnaseq.yaml +147 -0
  30. package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/sarek.yaml +233 -0
  31. package/content/bio-research/skills/bio-research-nextflow-development/scripts/detect_data_type.py +300 -0
  32. package/content/bio-research/skills/bio-research-nextflow-development/scripts/generate_samplesheet.py +455 -0
  33. package/content/bio-research/skills/bio-research-nextflow-development/scripts/manage_genomes.py +521 -0
  34. package/content/bio-research/skills/bio-research-nextflow-development/scripts/sra_geo_fetch.py +732 -0
  35. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/__init__.py +69 -0
  36. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/file_discovery.py +189 -0
  37. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/ncbi_utils.py +808 -0
  38. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/sample_inference.py +290 -0
  39. package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/validators.py +256 -0
  40. package/content/bio-research/skills/bio-research-scientific-problem-selection/LICENSE.txt +201 -0
  41. package/content/bio-research/skills/bio-research-scientific-problem-selection/SKILL.md +269 -0
  42. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/01-intuition-pumps.md +264 -0
  43. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/02-risk-assessment.md +323 -0
  44. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/03-optimization-function.md +481 -0
  45. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/04-parameter-strategy.md +396 -0
  46. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/05-decision-tree.md +85 -0
  47. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/06-adversity-planning.md +123 -0
  48. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/07-problem-inversion.md +152 -0
  49. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/08-integration-synthesis.md +173 -0
  50. package/content/bio-research/skills/bio-research-scientific-problem-selection/references/09-meta-framework.md +504 -0
  51. package/content/bio-research/skills/bio-research-scvi-tools/LICENSE.txt +201 -0
  52. package/content/bio-research/skills/bio-research-scvi-tools/SKILL.md +155 -0
  53. package/content/bio-research/skills/bio-research-scvi-tools/references/atac_peakvi.md +398 -0
  54. package/content/bio-research/skills/bio-research-scvi-tools/references/batch_correction_sysvi.md +417 -0
  55. package/content/bio-research/skills/bio-research-scvi-tools/references/citeseq_totalvi.md +420 -0
  56. package/content/bio-research/skills/bio-research-scvi-tools/references/data_preparation.md +286 -0
  57. package/content/bio-research/skills/bio-research-scvi-tools/references/environment_setup.md +254 -0
  58. package/content/bio-research/skills/bio-research-scvi-tools/references/label_transfer.md +373 -0
  59. package/content/bio-research/skills/bio-research-scvi-tools/references/multiome_multivi.md +384 -0
  60. package/content/bio-research/skills/bio-research-scvi-tools/references/rna_velocity_velovi.md +410 -0
  61. package/content/bio-research/skills/bio-research-scvi-tools/references/scarches_mapping.md +401 -0
  62. package/content/bio-research/skills/bio-research-scvi-tools/references/scrna_integration.md +429 -0
  63. package/content/bio-research/skills/bio-research-scvi-tools/references/spatial_deconvolution.md +438 -0
  64. package/content/bio-research/skills/bio-research-scvi-tools/references/troubleshooting.md +420 -0
  65. package/content/bio-research/skills/bio-research-scvi-tools/scripts/cluster_embed.py +212 -0
  66. package/content/bio-research/skills/bio-research-scvi-tools/scripts/differential_expression.py +220 -0
  67. package/content/bio-research/skills/bio-research-scvi-tools/scripts/integrate_datasets.py +237 -0
  68. package/content/bio-research/skills/bio-research-scvi-tools/scripts/model_utils.py +634 -0
  69. package/content/bio-research/skills/bio-research-scvi-tools/scripts/prepare_data.py +169 -0
  70. package/content/bio-research/skills/bio-research-scvi-tools/scripts/train_model.py +370 -0
  71. package/content/bio-research/skills/bio-research-scvi-tools/scripts/transfer_labels.py +224 -0
  72. package/content/bio-research/skills/bio-research-scvi-tools/scripts/validate_adata.py +397 -0
  73. package/content/bio-research/skills/bio-research-single-cell-rna-qc/LICENSE.txt +201 -0
  74. package/content/bio-research/skills/bio-research-single-cell-rna-qc/SKILL.md +175 -0
  75. package/content/bio-research/skills/bio-research-single-cell-rna-qc/references/scverse_qc_guidelines.md +186 -0
  76. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_analysis.py +232 -0
  77. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_core.py +233 -0
  78. package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_plotting.py +235 -0
  79. package/content/bio-research/skills/bio-research-start/SKILL.md +79 -0
  80. package/content/customer-support/.mcp.json +40 -0
  81. package/content/customer-support/CONNECTORS.md +19 -0
  82. package/content/customer-support/LICENSE +202 -0
  83. package/content/customer-support/README.md +140 -0
  84. package/content/customer-support/skills/customer-support-customer-escalation/SKILL.md +248 -0
  85. package/content/customer-support/skills/customer-support-customer-research/SKILL.md +252 -0
  86. package/content/customer-support/skills/customer-support-draft-response/SKILL.md +418 -0
  87. package/content/customer-support/skills/customer-support-kb-article/SKILL.md +351 -0
  88. package/content/customer-support/skills/customer-support-ticket-triage/SKILL.md +275 -0
  89. package/content/data/.mcp.json +36 -0
  90. package/content/data/CONNECTORS.md +18 -0
  91. package/content/data/LICENSE +202 -0
  92. package/content/data/README.md +121 -0
  93. package/content/data/skills/data-analyze/SKILL.md +119 -0
  94. package/content/data/skills/data-build-dashboard/SKILL.md +924 -0
  95. package/content/data/skills/data-create-viz/SKILL.md +154 -0
  96. package/content/data/skills/data-data-context-extractor/SKILL.md +227 -0
  97. package/content/data/skills/data-data-context-extractor/references/domain-template.md +147 -0
  98. package/content/data/skills/data-data-context-extractor/references/example-output.md +198 -0
  99. package/content/data/skills/data-data-context-extractor/references/skill-template.md +148 -0
  100. package/content/data/skills/data-data-context-extractor/references/sql-dialects.md +121 -0
  101. package/content/data/skills/data-data-context-extractor/scripts/package_data_skill.py +126 -0
  102. package/content/data/skills/data-data-visualization/SKILL.md +305 -0
  103. package/content/data/skills/data-explore-data/SKILL.md +325 -0
  104. package/content/data/skills/data-sql-queries/SKILL.md +428 -0
  105. package/content/data/skills/data-statistical-analysis/SKILL.md +245 -0
  106. package/content/data/skills/data-validate-data/SKILL.md +383 -0
  107. package/content/data/skills/data-write-query/SKILL.md +122 -0
  108. package/content/design/.mcp.json +44 -0
  109. package/content/design/CONNECTORS.md +18 -0
  110. package/content/design/README.md +117 -0
  111. package/content/design/skills/design-accessibility-review/SKILL.md +128 -0
  112. package/content/design/skills/design-design-critique/SKILL.md +118 -0
  113. package/content/design/skills/design-design-handoff/SKILL.md +131 -0
  114. package/content/design/skills/design-design-system/SKILL.md +190 -0
  115. package/content/design/skills/design-research-synthesis/SKILL.md +92 -0
  116. package/content/design/skills/design-user-research/SKILL.md +41 -0
  117. package/content/design/skills/design-ux-copy/SKILL.md +107 -0
  118. package/content/engineering/.mcp.json +48 -0
  119. package/content/engineering/CONNECTORS.md +19 -0
  120. package/content/engineering/README.md +136 -0
  121. package/content/engineering/skills/engineering-architecture/SKILL.md +85 -0
  122. package/content/engineering/skills/engineering-code-review/SKILL.md +118 -0
  123. package/content/engineering/skills/engineering-debug/SKILL.md +95 -0
  124. package/content/engineering/skills/engineering-deploy-checklist/SKILL.md +78 -0
  125. package/content/engineering/skills/engineering-documentation/SKILL.md +49 -0
  126. package/content/engineering/skills/engineering-incident-response/SKILL.md +158 -0
  127. package/content/engineering/skills/engineering-standup/SKILL.md +75 -0
  128. package/content/engineering/skills/engineering-system-design/SKILL.md +42 -0
  129. package/content/engineering/skills/engineering-tech-debt/SKILL.md +32 -0
  130. package/content/engineering/skills/engineering-testing-strategy/SKILL.md +33 -0
  131. package/content/enterprise-search/.mcp.json +36 -0
  132. package/content/enterprise-search/CONNECTORS.md +21 -0
  133. package/content/enterprise-search/LICENSE +202 -0
  134. package/content/enterprise-search/README.md +157 -0
  135. package/content/enterprise-search/skills/enterprise-search-digest/SKILL.md +173 -0
  136. package/content/enterprise-search/skills/enterprise-search-knowledge-synthesis/SKILL.md +258 -0
  137. package/content/enterprise-search/skills/enterprise-search-search/SKILL.md +178 -0
  138. package/content/enterprise-search/skills/enterprise-search-search-strategy/SKILL.md +222 -0
  139. package/content/enterprise-search/skills/enterprise-search-source-management/SKILL.md +173 -0
  140. package/content/finance/.mcp.json +32 -0
  141. package/content/finance/CONNECTORS.md +20 -0
  142. package/content/finance/LICENSE +202 -0
  143. package/content/finance/README.md +92 -0
  144. package/content/finance/skills/finance-audit-support/SKILL.md +374 -0
  145. package/content/finance/skills/finance-close-management/SKILL.md +221 -0
  146. package/content/finance/skills/finance-financial-statements/SKILL.md +335 -0
  147. package/content/finance/skills/finance-journal-entry/SKILL.md +131 -0
  148. package/content/finance/skills/finance-journal-entry-prep/SKILL.md +186 -0
  149. package/content/finance/skills/finance-reconciliation/SKILL.md +175 -0
  150. package/content/finance/skills/finance-sox-testing/SKILL.md +218 -0
  151. package/content/finance/skills/finance-variance-analysis/SKILL.md +266 -0
  152. package/content/human-resources/.mcp.json +28 -0
  153. package/content/human-resources/CONNECTORS.md +19 -0
  154. package/content/human-resources/README.md +138 -0
  155. package/content/human-resources/skills/human-resources-comp-analysis/SKILL.md +92 -0
  156. package/content/human-resources/skills/human-resources-draft-offer/SKILL.md +82 -0
  157. package/content/human-resources/skills/human-resources-interview-prep/SKILL.md +37 -0
  158. package/content/human-resources/skills/human-resources-onboarding/SKILL.md +104 -0
  159. package/content/human-resources/skills/human-resources-org-planning/SKILL.md +28 -0
  160. package/content/human-resources/skills/human-resources-people-report/SKILL.md +99 -0
  161. package/content/human-resources/skills/human-resources-performance-review/SKILL.md +149 -0
  162. package/content/human-resources/skills/human-resources-policy-lookup/SKILL.md +94 -0
  163. package/content/human-resources/skills/human-resources-recruiting-pipeline/SKILL.md +31 -0
  164. package/content/legal/.mcp.json +36 -0
  165. package/content/legal/CONNECTORS.md +21 -0
  166. package/content/legal/LICENSE +202 -0
  167. package/content/legal/README.md +234 -0
  168. package/content/legal/skills/legal-brief/SKILL.md +208 -0
  169. package/content/legal/skills/legal-compliance-check/SKILL.md +274 -0
  170. package/content/legal/skills/legal-legal-response/SKILL.md +457 -0
  171. package/content/legal/skills/legal-legal-risk-assessment/SKILL.md +265 -0
  172. package/content/legal/skills/legal-meeting-briefing/SKILL.md +220 -0
  173. package/content/legal/skills/legal-review-contract/SKILL.md +358 -0
  174. package/content/legal/skills/legal-signature-request/SKILL.md +104 -0
  175. package/content/legal/skills/legal-triage-nda/SKILL.md +262 -0
  176. package/content/legal/skills/legal-vendor-check/SKILL.md +159 -0
  177. package/content/manifest.json +86 -0
  178. package/content/marketing/.mcp.json +60 -0
  179. package/content/marketing/CONNECTORS.md +20 -0
  180. package/content/marketing/LICENSE +202 -0
  181. package/content/marketing/README.md +90 -0
  182. package/content/marketing/skills/marketing-brand-review/SKILL.md +276 -0
  183. package/content/marketing/skills/marketing-campaign-plan/SKILL.md +308 -0
  184. package/content/marketing/skills/marketing-competitive-brief/SKILL.md +331 -0
  185. package/content/marketing/skills/marketing-content-creation/SKILL.md +157 -0
  186. package/content/marketing/skills/marketing-draft-content/SKILL.md +117 -0
  187. package/content/marketing/skills/marketing-email-sequence/SKILL.md +220 -0
  188. package/content/marketing/skills/marketing-performance-report/SKILL.md +392 -0
  189. package/content/marketing/skills/marketing-seo-audit/SKILL.md +190 -0
  190. package/content/operations/.mcp.json +32 -0
  191. package/content/operations/CONNECTORS.md +20 -0
  192. package/content/operations/README.md +135 -0
  193. package/content/operations/skills/operations-capacity-plan/SKILL.md +113 -0
  194. package/content/operations/skills/operations-change-request/SKILL.md +121 -0
  195. package/content/operations/skills/operations-compliance-tracking/SKILL.md +44 -0
  196. package/content/operations/skills/operations-process-doc/SKILL.md +82 -0
  197. package/content/operations/skills/operations-process-optimization/SKILL.md +39 -0
  198. package/content/operations/skills/operations-risk-assessment/SKILL.md +40 -0
  199. package/content/operations/skills/operations-runbook/SKILL.md +87 -0
  200. package/content/operations/skills/operations-status-report/SKILL.md +77 -0
  201. package/content/operations/skills/operations-vendor-review/SKILL.md +104 -0
  202. package/content/pdf-viewer/.mcp.json +8 -0
  203. package/content/pdf-viewer/CONNECTORS.md +15 -0
  204. package/content/pdf-viewer/LICENSE +202 -0
  205. package/content/pdf-viewer/README.md +57 -0
  206. package/content/pdf-viewer/commands/annotate.md +51 -0
  207. package/content/pdf-viewer/commands/fill-form.md +73 -0
  208. package/content/pdf-viewer/commands/open.md +34 -0
  209. package/content/pdf-viewer/commands/sign.md +54 -0
  210. package/content/pdf-viewer/skills/pdf-viewer-view-pdf/SKILL.md +147 -0
  211. package/content/product-management/.mcp.json +72 -0
  212. package/content/product-management/CONNECTORS.md +22 -0
  213. package/content/product-management/LICENSE +202 -0
  214. package/content/product-management/README.md +118 -0
  215. package/content/product-management/commands/brainstorm.md +120 -0
  216. package/content/product-management/skills/product-management-competitive-brief/SKILL.md +302 -0
  217. package/content/product-management/skills/product-management-metrics-review/SKILL.md +388 -0
  218. package/content/product-management/skills/product-management-product-brainstorming/SKILL.md +273 -0
  219. package/content/product-management/skills/product-management-roadmap-update/SKILL.md +266 -0
  220. package/content/product-management/skills/product-management-sprint-planning/SKILL.md +94 -0
  221. package/content/product-management/skills/product-management-stakeholder-update/SKILL.md +352 -0
  222. package/content/product-management/skills/product-management-synthesize-research/SKILL.md +312 -0
  223. package/content/product-management/skills/product-management-write-spec/SKILL.md +250 -0
  224. package/content/productivity/.mcp.json +44 -0
  225. package/content/productivity/CONNECTORS.md +18 -0
  226. package/content/productivity/LICENSE +202 -0
  227. package/content/productivity/README.md +97 -0
  228. package/content/productivity/skills/dashboard.html +3111 -0
  229. package/content/productivity/skills/productivity-memory-management/SKILL.md +323 -0
  230. package/content/productivity/skills/productivity-start/SKILL.md +158 -0
  231. package/content/productivity/skills/productivity-task-management/SKILL.md +91 -0
  232. package/content/productivity/skills/productivity-update/SKILL.md +168 -0
  233. package/content/sales/.mcp.json +100 -0
  234. package/content/sales/CONNECTORS.md +36 -0
  235. package/content/sales/LICENSE +202 -0
  236. package/content/sales/README.md +148 -0
  237. package/content/sales/skills/sales-account-context/SKILL.md +94 -0
  238. package/content/sales/skills/sales-account-plan/SKILL.md +95 -0
  239. package/content/sales/skills/sales-account-research/SKILL.md +99 -0
  240. package/content/sales/skills/sales-account-tiering/SKILL.md +101 -0
  241. package/content/sales/skills/sales-call-prep/SKILL.md +111 -0
  242. package/content/sales/skills/sales-call-summary/SKILL.md +111 -0
  243. package/content/sales/skills/sales-close-plan/SKILL.md +106 -0
  244. package/content/sales/skills/sales-competitive-intelligence/SKILL.md +102 -0
  245. package/content/sales/skills/sales-create-an-asset/SKILL.md +105 -0
  246. package/content/sales/skills/sales-crm-hygiene-check/SKILL.md +103 -0
  247. package/content/sales/skills/sales-customer-health/SKILL.md +108 -0
  248. package/content/sales/skills/sales-customer-voice/SKILL.md +94 -0
  249. package/content/sales/skills/sales-daily-briefing/SKILL.md +61 -0
  250. package/content/sales/skills/sales-deal-advance-gap/SKILL.md +102 -0
  251. package/content/sales/skills/sales-deal-review/SKILL.md +105 -0
  252. package/content/sales/skills/sales-deal-signals/SKILL.md +96 -0
  253. package/content/sales/skills/sales-deal-slip-scenario/SKILL.md +101 -0
  254. package/content/sales/skills/sales-draft-outreach/SKILL.md +116 -0
  255. package/content/sales/skills/sales-end-of-day/SKILL.md +114 -0
  256. package/content/sales/skills/sales-expansion-whitespace/SKILL.md +97 -0
  257. package/content/sales/skills/sales-forecast/SKILL.md +100 -0
  258. package/content/sales/skills/sales-handle-objection/SKILL.md +93 -0
  259. package/content/sales/skills/sales-inbox-sweep/SKILL.md +114 -0
  260. package/content/sales/skills/sales-lead-triage/SKILL.md +105 -0
  261. package/content/sales/skills/sales-log-activity/SKILL.md +111 -0
  262. package/content/sales/skills/sales-pipeline-review/SKILL.md +97 -0
  263. package/content/sales/skills/sales-renewal-radar/SKILL.md +95 -0
  264. package/content/sales/skills/sales-rep-context/SKILL.md +90 -0
  265. package/content/sales/skills/sales-route-lead/SKILL.md +111 -0
  266. package/content/sales/skills/sales-schedule-meeting/SKILL.md +99 -0
  267. package/content/sales/skills/sales-setup/SKILL.md +195 -0
  268. package/content/sales/skills/sales-stakeholder-map/SKILL.md +107 -0
  269. package/content/sales/skills/sales-team-pipeline/SKILL.md +105 -0
  270. package/content/sales/skills/sales-update-opportunity/SKILL.md +111 -0
  271. package/content/sales/skills/sales-weekly-wrap/SKILL.md +90 -0
  272. package/content/sales/skills/sales-win-loss-review/SKILL.md +88 -0
  273. package/content/small-business/.mcp.json +148 -0
  274. package/content/small-business/README.md +117 -0
  275. package/content/small-business/skills/small-business-ad-manager/SKILL.md +128 -0
  276. package/content/small-business/skills/small-business-ad-manager/reference/ad_copy.md +112 -0
  277. package/content/small-business/skills/small-business-ad-manager/reference/change_playbook.md +127 -0
  278. package/content/small-business/skills/small-business-ad-manager/reference/data_sources.md +100 -0
  279. package/content/small-business/skills/small-business-ad-manager/reference/diagnostics.md +89 -0
  280. package/content/small-business/skills/small-business-ad-manager/reference/gotchas.md +181 -0
  281. package/content/small-business/skills/small-business-ap-processor/SKILL.md +158 -0
  282. package/content/small-business/skills/small-business-ap-processor/reference/coding_rules.md +70 -0
  283. package/content/small-business/skills/small-business-ap-processor/reference/gotchas.md +131 -0
  284. package/content/small-business/skills/small-business-ap-processor/reference/intake_and_extraction.md +82 -0
  285. package/content/small-business/skills/small-business-ap-processor/reference/matching_and_exceptions.md +80 -0
  286. package/content/small-business/skills/small-business-ap-processor/reference/payment_run.md +77 -0
  287. package/content/small-business/skills/small-business-brand-style/SKILL.md +106 -0
  288. package/content/small-business/skills/small-business-build-agent/SKILL.md +105 -0
  289. package/content/small-business/skills/small-business-build-agent/reference/capture.md +133 -0
  290. package/content/small-business/skills/small-business-build-agent/reference/gotchas.md +204 -0
  291. package/content/small-business/skills/small-business-build-agent/reference/skill_authoring.md +165 -0
  292. package/content/small-business/skills/small-business-build-connector/SKILL.md +102 -0
  293. package/content/small-business/skills/small-business-build-connector/reference/discovery.md +120 -0
  294. package/content/small-business/skills/small-business-build-connector/reference/gotchas.md +237 -0
  295. package/content/small-business/skills/small-business-build-connector/reference/paths.md +106 -0
  296. package/content/small-business/skills/small-business-build-connector/reference/use-zapier.md +128 -0
  297. package/content/small-business/skills/small-business-business-pulse/SKILL.md +181 -0
  298. package/content/small-business/skills/small-business-business-pulse/reference/data_sources.md +173 -0
  299. package/content/small-business/skills/small-business-business-pulse/reference/gotchas.md +103 -0
  300. package/content/small-business/skills/small-business-business-pulse/reference/output_template.md +109 -0
  301. package/content/small-business/skills/small-business-business-pulse/reference/thresholds.md +71 -0
  302. package/content/small-business/skills/small-business-business-pulse/reference/v2_sources.md +63 -0
  303. package/content/small-business/skills/small-business-call-list/SKILL.md +82 -0
  304. package/content/small-business/skills/small-business-canva-creator/SKILL.md +448 -0
  305. package/content/small-business/skills/small-business-canva-creator/reference/canva-api.md +208 -0
  306. package/content/small-business/skills/small-business-canva-creator/reference/examples/boutique-brief-campaign.md +181 -0
  307. package/content/small-business/skills/small-business-canva-creator/reference/gotchas.md +380 -0
  308. package/content/small-business/skills/small-business-canva-creator/reference/hubspot-staging.md +137 -0
  309. package/content/small-business/skills/small-business-cash-flow-snapshot/SKILL.md +251 -0
  310. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/examples/worked-example.md +92 -0
  311. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/gotchas.md +62 -0
  312. package/content/small-business/skills/small-business-cash-flow-snapshot/reference/v2_sources.md +84 -0
  313. package/content/small-business/skills/small-business-close-month/SKILL.md +86 -0
  314. package/content/small-business/skills/small-business-content-strategy/SKILL.md +152 -0
  315. package/content/small-business/skills/small-business-content-strategy/reference/examples/retail-boutique-example.md +71 -0
  316. package/content/small-business/skills/small-business-content-strategy/reference/gotchas.md +104 -0
  317. package/content/small-business/skills/small-business-content-strategy/reference/v2_sources.md +40 -0
  318. package/content/small-business/skills/small-business-contract-review/SKILL.md +158 -0
  319. package/content/small-business/skills/small-business-contract-review/reference/docusign-fetch.md +32 -0
  320. package/content/small-business/skills/small-business-contract-review/reference/examples/flagged-summary-saas.md +97 -0
  321. package/content/small-business/skills/small-business-contract-review/reference/gmail-fetch.md +30 -0
  322. package/content/small-business/skills/small-business-contract-review/reference/gotchas.md +105 -0
  323. package/content/small-business/skills/small-business-contract-review/reference/m365-fetch.md +60 -0
  324. package/content/small-business/skills/small-business-crm-autopilot/SKILL.md +162 -0
  325. package/content/small-business/skills/small-business-crm-autopilot/reference/cleanup-checklist.md +82 -0
  326. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/cleanup-deal.md +83 -0
  327. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-call-happy-path.md +68 -0
  328. package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-email-happy-path.md +50 -0
  329. package/content/small-business/skills/small-business-crm-autopilot/reference/gotchas.md +110 -0
  330. package/content/small-business/skills/small-business-crm-autopilot/reference/hubspot-fields.md +62 -0
  331. package/content/small-business/skills/small-business-crm-autopilot/reference/lightweight_crm.md +125 -0
  332. package/content/small-business/skills/small-business-crm-autopilot/reference/salesforce-fields.md +122 -0
  333. package/content/small-business/skills/small-business-crm-autopilot/reference/standing_mode.md +144 -0
  334. package/content/small-business/skills/small-business-grant-rfp-writer/SKILL.md +162 -0
  335. package/content/small-business/skills/small-business-grant-rfp-writer/reference/drafting.md +129 -0
  336. package/content/small-business/skills/small-business-grant-rfp-writer/reference/go_no_go.md +125 -0
  337. package/content/small-business/skills/small-business-grant-rfp-writer/reference/gotchas.md +180 -0
  338. package/content/small-business/skills/small-business-grant-rfp-writer/reference/opportunity_sources.md +90 -0
  339. package/content/small-business/skills/small-business-grant-rfp-writer/reference/org_profile.md +81 -0
  340. package/content/small-business/skills/small-business-grow-pipeline/SKILL.md +92 -0
  341. package/content/small-business/skills/small-business-growth-pulse/SKILL.md +143 -0
  342. package/content/small-business/skills/small-business-growth-pulse/reference/data_sources.md +113 -0
  343. package/content/small-business/skills/small-business-growth-pulse/reference/gotchas.md +175 -0
  344. package/content/small-business/skills/small-business-growth-pulse/reference/output_template.md +122 -0
  345. package/content/small-business/skills/small-business-growth-pulse/reference/thresholds.md +110 -0
  346. package/content/small-business/skills/small-business-hiring-screener/SKILL.md +137 -0
  347. package/content/small-business/skills/small-business-hiring-screener/reference/candidate_comms.md +132 -0
  348. package/content/small-business/skills/small-business-hiring-screener/reference/fair_screening.md +103 -0
  349. package/content/small-business/skills/small-business-hiring-screener/reference/gotchas.md +183 -0
  350. package/content/small-business/skills/small-business-hiring-screener/reference/onboarding.md +82 -0
  351. package/content/small-business/skills/small-business-hiring-screener/reference/rubric.md +122 -0
  352. package/content/small-business/skills/small-business-inbox-manager/SKILL.md +130 -0
  353. package/content/small-business/skills/small-business-inbox-manager/reference/digest_format.md +110 -0
  354. package/content/small-business/skills/small-business-inbox-manager/reference/gotchas.md +220 -0
  355. package/content/small-business/skills/small-business-inbox-manager/reference/handoffs.md +77 -0
  356. package/content/small-business/skills/small-business-inbox-manager/reference/reply_drafting.md +116 -0
  357. package/content/small-business/skills/small-business-inbox-manager/reference/triage_rules.md +72 -0
  358. package/content/small-business/skills/small-business-inventory-planner/SKILL.md +126 -0
  359. package/content/small-business/skills/small-business-inventory-planner/reference/data_sources.md +94 -0
  360. package/content/small-business/skills/small-business-inventory-planner/reference/gotchas.md +153 -0
  361. package/content/small-business/skills/small-business-inventory-planner/reference/po_drafting.md +92 -0
  362. package/content/small-business/skills/small-business-inventory-planner/reference/seasonality.md +112 -0
  363. package/content/small-business/skills/small-business-inventory-planner/reference/velocity_and_reorder.md +154 -0
  364. package/content/small-business/skills/small-business-invoice-chase/SKILL.md +131 -0
  365. package/content/small-business/skills/small-business-invoice-chase/reference/examples/firm-reminder.md +28 -0
  366. package/content/small-business/skills/small-business-invoice-chase/reference/examples/gentle-reminder.md +27 -0
  367. package/content/small-business/skills/small-business-invoice-chase/reference/gotchas.md +75 -0
  368. package/content/small-business/skills/small-business-invoice-chase/reference/tone-matching.md +44 -0
  369. package/content/small-business/skills/small-business-invoice-chase/reference/v2_sources.md +78 -0
  370. package/content/small-business/skills/small-business-job-post-builder/SKILL.md +204 -0
  371. package/content/small-business/skills/small-business-job-post-builder/reference/docusign-routing.md +63 -0
  372. package/content/small-business/skills/small-business-job-post-builder/reference/examples/worked-example.md +110 -0
  373. package/content/small-business/skills/small-business-job-post-builder/reference/existing-document-merge.md +58 -0
  374. package/content/small-business/skills/small-business-job-post-builder/reference/gotchas.md +68 -0
  375. package/content/small-business/skills/small-business-job-post-builder/reference/interview-guide-structure.md +93 -0
  376. package/content/small-business/skills/small-business-job-post-builder/reference/job-post-structure.md +62 -0
  377. package/content/small-business/skills/small-business-job-post-builder/reference/offer-letter-template.md +145 -0
  378. package/content/small-business/skills/small-business-job-post-builder/reference/role-intake.md +73 -0
  379. package/content/small-business/skills/small-business-lead-finder/SKILL.md +119 -0
  380. package/content/small-business/skills/small-business-lead-finder/reference/gotchas.md +152 -0
  381. package/content/small-business/skills/small-business-lead-finder/reference/icp_method.md +97 -0
  382. package/content/small-business/skills/small-business-lead-finder/reference/output_template.md +124 -0
  383. package/content/small-business/skills/small-business-lead-finder/reference/scoring.md +92 -0
  384. package/content/small-business/skills/small-business-lead-finder/reference/sourcing.md +78 -0
  385. package/content/small-business/skills/small-business-lead-triage/SKILL.md +81 -0
  386. package/content/small-business/skills/small-business-lead-triage/reference/examples/happy-path-triage.md +68 -0
  387. package/content/small-business/skills/small-business-lead-triage/reference/gotchas.md +76 -0
  388. package/content/small-business/skills/small-business-lead-triage/reference/hubspot-scoring.md +169 -0
  389. package/content/small-business/skills/small-business-marketing-monday/SKILL.md +108 -0
  390. package/content/small-business/skills/small-business-monday-brief/SKILL.md +97 -0
  391. package/content/small-business/skills/small-business-month-end-prep/SKILL.md +331 -0
  392. package/content/small-business/skills/small-business-month-end-prep/reference/close-packet-format.md +127 -0
  393. package/content/small-business/skills/small-business-month-end-prep/reference/examples/pl-narrative.md +52 -0
  394. package/content/small-business/skills/small-business-month-end-prep/reference/gotchas.md +113 -0
  395. package/content/small-business/skills/small-business-month-end-prep/reference/paypal-settlements.md +110 -0
  396. package/content/small-business/skills/small-business-month-end-prep/reference/quickbooks-reconcile.md +71 -0
  397. package/content/small-business/skills/small-business-month-end-prep/reference/v2_sources.md +125 -0
  398. package/content/small-business/skills/small-business-month-end-prep/reference/xero-reconcile.md +175 -0
  399. package/content/small-business/skills/small-business-month-end-prep/reference/zoho-books-reconcile.md +168 -0
  400. package/content/small-business/skills/small-business-outreach-composer/SKILL.md +144 -0
  401. package/content/small-business/skills/small-business-outreach-composer/reference/gotchas.md +213 -0
  402. package/content/small-business/skills/small-business-outreach-composer/reference/output_template.md +147 -0
  403. package/content/small-business/skills/small-business-outreach-composer/reference/sequence_patterns.md +99 -0
  404. package/content/small-business/skills/small-business-outreach-composer/reference/slop_test.md +164 -0
  405. package/content/small-business/skills/small-business-pay-the-bills/SKILL.md +101 -0
  406. package/content/small-business/skills/small-business-payroll-prep/SKILL.md +139 -0
  407. package/content/small-business/skills/small-business-payroll-prep/reference/anomaly_rules.md +99 -0
  408. package/content/small-business/skills/small-business-payroll-prep/reference/books_sync.md +72 -0
  409. package/content/small-business/skills/small-business-payroll-prep/reference/gotchas.md +153 -0
  410. package/content/small-business/skills/small-business-payroll-prep/reference/run_sheet_format.md +90 -0
  411. package/content/small-business/skills/small-business-payroll-prep/reference/timesheet_intake.md +118 -0
  412. package/content/small-business/skills/small-business-plan-payroll/SKILL.md +88 -0
  413. package/content/small-business/skills/small-business-proposal-builder/SKILL.md +168 -0
  414. package/content/small-business/skills/small-business-proposal-builder/reference/discovery_extraction.md +138 -0
  415. package/content/small-business/skills/small-business-proposal-builder/reference/gotchas.md +184 -0
  416. package/content/small-business/skills/small-business-proposal-builder/reference/output_template.md +128 -0
  417. package/content/small-business/skills/small-business-proposal-builder/reference/pricing_method.md +125 -0
  418. package/content/small-business/skills/small-business-proposal-builder/reference/proposal_structure.md +120 -0
  419. package/content/small-business/skills/small-business-reactivate/SKILL.md +109 -0
  420. package/content/small-business/skills/small-business-report-builder/SKILL.md +142 -0
  421. package/content/small-business/skills/small-business-report-builder/reference/data_sources.md +168 -0
  422. package/content/small-business/skills/small-business-report-builder/reference/gotchas.md +155 -0
  423. package/content/small-business/skills/small-business-report-builder/reference/output_template.md +109 -0
  424. package/content/small-business/skills/small-business-report-builder/reference/report_spec.md +109 -0
  425. package/content/small-business/skills/small-business-report-builder/reference/saved_reports.md +50 -0
  426. package/content/small-business/skills/small-business-report-pack/SKILL.md +83 -0
  427. package/content/small-business/skills/small-business-restock/SKILL.md +88 -0
  428. package/content/small-business/skills/small-business-review-reputation/SKILL.md +130 -0
  429. package/content/small-business/skills/small-business-review-reputation/reference/churn-signals.md +110 -0
  430. package/content/small-business/skills/small-business-review-reputation/reference/examples/example-report.md +150 -0
  431. package/content/small-business/skills/small-business-review-reputation/reference/gotchas.md +164 -0
  432. package/content/small-business/skills/small-business-review-reputation/reference/response-patterns.md +123 -0
  433. package/content/small-business/skills/small-business-review-reputation/reference/sources.md +116 -0
  434. package/content/small-business/skills/small-business-seo-ai-visibility/SKILL.md +143 -0
  435. package/content/small-business/skills/small-business-seo-ai-visibility/reference/ai_visibility.md +173 -0
  436. package/content/small-business/skills/small-business-seo-ai-visibility/reference/audit_checklist.md +134 -0
  437. package/content/small-business/skills/small-business-seo-ai-visibility/reference/catalog_refresh.md +126 -0
  438. package/content/small-business/skills/small-business-seo-ai-visibility/reference/content_rewrite.md +113 -0
  439. package/content/small-business/skills/small-business-seo-ai-visibility/reference/gotchas.md +211 -0
  440. package/content/small-business/skills/small-business-smb-onboard/SKILL.md +82 -0
  441. package/content/small-business/skills/small-business-smb-onboard/reference/examples/happy-path.md +190 -0
  442. package/content/small-business/skills/small-business-smb-onboard/reference/gotchas.md +111 -0
  443. package/content/small-business/skills/small-business-smb-onboard/reference/onboard-checklist.md +99 -0
  444. package/content/small-business/skills/small-business-smb-onboard/reference/website-research.md +82 -0
  445. package/content/small-business/skills/small-business-smb-router/SKILL.md +216 -0
  446. package/content/small-business/skills/small-business-smb-router/reference/connector-map.md +96 -0
  447. package/content/small-business/skills/small-business-social-content-engine/SKILL.md +162 -0
  448. package/content/small-business/skills/small-business-social-content-engine/reference/calendar.md +116 -0
  449. package/content/small-business/skills/small-business-social-content-engine/reference/canva-api.md +208 -0
  450. package/content/small-business/skills/small-business-social-content-engine/reference/examples/okonkwo-campaign.md +190 -0
  451. package/content/small-business/skills/small-business-social-content-engine/reference/gotchas.md +447 -0
  452. package/content/small-business/skills/small-business-social-content-engine/reference/publishing.md +166 -0
  453. package/content/small-business/skills/small-business-social-content-engine/reference/shopify-assets.md +77 -0
  454. package/content/small-business/skills/small-business-speed-to-lead/SKILL.md +172 -0
  455. package/content/small-business/skills/small-business-speed-to-lead/reference/approval.md +61 -0
  456. package/content/small-business/skills/small-business-speed-to-lead/reference/gotchas.md +167 -0
  457. package/content/small-business/skills/small-business-speed-to-lead/reference/qualification.md +153 -0
  458. package/content/small-business/skills/small-business-speed-to-lead/reference/response_patterns.md +184 -0
  459. package/content/small-business/skills/small-business-tax-prep/SKILL.md +85 -0
  460. package/content/small-business/skills/small-business-tax-season-organizer/SKILL.md +210 -0
  461. package/content/small-business/skills/small-business-tax-season-organizer/reference/calculation-assumptions.md +177 -0
  462. package/content/small-business/skills/small-business-tax-season-organizer/reference/connector-queries.md +267 -0
  463. package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/quarterly-estimate.md +92 -0
  464. package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/year-end-1099.md +102 -0
  465. package/content/small-business/skills/small-business-tax-season-organizer/reference/gotchas.md +104 -0
  466. package/content/small-business/skills/small-business-tax-season-organizer/reference/output-formats.md +68 -0
  467. package/content/small-business/skills/small-business-ticket-deflector/SKILL.md +164 -0
  468. package/content/small-business/skills/small-business-ticket-deflector/reference/examples/deny-refund-request.md +98 -0
  469. package/content/small-business/skills/small-business-ticket-deflector/reference/examples/respond-refund-request.md +77 -0
  470. package/content/small-business/skills/small-business-ticket-deflector/reference/gotchas.md +57 -0
  471. package/index.ts +84 -0
  472. package/package.json +30 -3
@@ -0,0 +1,90 @@
1
+ # Opportunity sources
2
+
3
+ Where opportunities live, and how to filter a daily feed down to the few worth reading.
4
+
5
+ ---
6
+
7
+ ## Federal contracting
8
+
9
+ **SAM.gov** — the central federal contract opportunity system. Search by NAICS, set-aside type, agency, place of performance, and posting date. Set-aside filters are the highest-value ones for a small business.
10
+
11
+ **DLA DIBBS** — Defense Logistics Agency bid board. High volume, short turnarounds, largely commodity items. This is the feed behind a workflow of 50 bids a week in under two hours a day, and it only works because the filter is brutal and the qualification is fast.
12
+
13
+ **Agency-specific portals** — several agencies post outside or ahead of SAM. Worth checking directly for the two or three agencies that matter to the organization.
14
+
15
+ **Prime contractor subcontracting pages** — large primes carry small-business subcontracting obligations and publish opportunities. Consistently under-worked by small businesses, and often a better win rate than bidding prime.
16
+
17
+ ---
18
+
19
+ ## Grants
20
+
21
+ **Grants.gov** — federal discretionary grants. Filter by eligibility category, CFDA or Assistance Listing number, and agency.
22
+
23
+ **Agency grant pages and forecasts** — many agencies publish a forecast months before the notice. That lead time is worth more than anything else on this list, because it is the only way to prepare rather than react.
24
+
25
+ **Foundation directories** — Candid and equivalents. Foundation 990s are public and show exactly who they funded, for how much, and for what. That is the highest-signal free research available in the nonprofit space.
26
+
27
+ **State and municipal portals** — smaller, less competitive, and frequently a better fit for a small organization than federal money.
28
+
29
+ **Corporate and community foundations** — local giving programs, often relationship-driven rather than competitive.
30
+
31
+ ---
32
+
33
+ ## Filtering a daily feed
34
+
35
+ The whole point of a daily feed is that almost none of it is for you. Screen before anything reaches the owner.
36
+
37
+ **The filter, in order — cheapest checks first:**
38
+
39
+ 1. **Eligibility category** — entity type, set-aside status. Kills most of the list instantly
40
+ 2. **NAICS or program area** — is this the work the organization does
41
+ 3. **Geography** — place of performance or service area
42
+ 4. **Dollar size** — against realistic capacity, both floor and ceiling
43
+ 5. **Deadline feasibility** — a good fit due in four days with a portal registration requirement is a no
44
+ 6. **Incumbent presence** — a recompete with a happy incumbent is usually a no
45
+
46
+ **Report the counts.** The filter is only trusted if the owner can see what it threw away:
47
+
48
+ ```
49
+ DIBBS, Jul 24: 312 solicitations
50
+ → 47 in your NAICS
51
+ → 19 small-business set-aside
52
+ → 11 within your size range
53
+ → 4 with feasible deadlines
54
+ → 2 recommended for full go/no-go review
55
+
56
+ Cut for deadline: 5 (all due within 3 days)
57
+ Cut for size: 8 (over USD 2M, above your bonding)
58
+ ```
59
+
60
+ **Show the near-misses once a week, not daily.** Repeated patterns in what gets cut are strategic information — if bonding capacity is killing eight bids a week, that is a business decision worth raising, not just a filter statistic.
61
+
62
+ ---
63
+
64
+ ## The pipeline record
65
+
66
+ Keep every opportunity ever touched, in one place, with a state:
67
+
68
+ | State | Means |
69
+ |---|---|
70
+ | Watching | Forecast or anticipated, not yet posted |
71
+ | Reviewing | Posted, go/no-go in progress |
72
+ | Pursuing | Go decision made, drafting |
73
+ | Submitted | In, with the submission date and confirmation |
74
+ | Won | Awarded — post-award obligations now apply |
75
+ | Lost | Not awarded, with the debrief if one was taken |
76
+ | No-bid | Declined, with the reason |
77
+
78
+ **The no-bid reasons are the most valuable column in the table.** Nearly every solicitation recurs annually, and next year's decision takes ninety seconds instead of an evening because the reasoning is already written down.
79
+
80
+ **Take the debrief on federal losses.** It is usually available on request, most small businesses skip it, and it is the only place the actual scoring becomes visible.
81
+
82
+ ---
83
+
84
+ ## Frequency
85
+
86
+ **Daily** for high-volume commodity feeds like DIBBS, where speed is the entire advantage.
87
+
88
+ **Weekly** for grants and most contracting. Grant cycles are slow and a daily check finds nothing most days.
89
+
90
+ **Forecast review quarterly.** Agency forecasts are how a small organization gets ahead of a solicitation instead of scrambling after it, and quarterly is enough to catch them.
@@ -0,0 +1,81 @@
1
+ # Organization profile
2
+
3
+ Built once, read by every later step. Without it, every search is guesswork and every go/no-go is slow.
4
+
5
+ ---
6
+
7
+ ## What it holds
8
+
9
+ **Identity and registration**
10
+
11
+ | Field | Why it matters |
12
+ |---|---|
13
+ | Legal name and entity type | Eligibility turns on it constantly |
14
+ | EIN | Required on nearly every application |
15
+ | UEI (Unique Entity ID) | Mandatory for federal awards |
16
+ | CAGE code | Federal contracting |
17
+ | SAM.gov status and expiry | Expired registration is an instant disqualification |
18
+ | State charity registration | Required in most states to solicit funds |
19
+ | 501(c)(3) determination letter | Attached to nearly every foundation application |
20
+
21
+ **Classification**
22
+
23
+ NAICS codes for contracting, NTEE code for nonprofits, size standard against the relevant NAICS, and any set-aside certifications: 8(a), HUBZone, WOSB or EDWOSB, SDVOSB, minority-owned, state and local equivalents.
24
+
25
+ **Certifications are the highest-leverage field in the profile.** They cut the eligible universe down to something a small organization can actually compete in, and set-aside solicitations are where the realistic wins live.
26
+
27
+ **Capacity**
28
+
29
+ Annual budget or revenue, staff count, service area, bonding capacity, insurance limits and carriers, audit status and most recent audit date, indirect cost rate and whether it is federally negotiated, and accounting system adequacy where a funder tests it.
30
+
31
+ **Programs**
32
+
33
+ Program areas with the outcome data behind each: who is served, how many, over what period, with what results. Real numbers with real sources.
34
+
35
+ **People**
36
+
37
+ Key staff with actual credentials, degrees, licenses, and years of experience. Board composition where funders ask for it.
38
+
39
+ ---
40
+
41
+ ## Past submissions — the real asset
42
+
43
+ Past applications and proposals, won and lost, are the single most valuable input to every future draft.
44
+
45
+ **Gather them** from Drive, M365, or uploads — from a store confirmed as the organization's, searched by its name, per `../../../shared/tenant-scope.md`. Index each one with: funder or agency, opportunity title and number, date, amount requested, outcome, and the score or debrief if there was one.
46
+
47
+ **Extract the reusable pieces:**
48
+
49
+ - Organizational background and history boilerplate
50
+ - Program descriptions, by program
51
+ - Staff bios
52
+ - Past performance write-ups, by contract or grant
53
+ - Logic models, theories of change, evaluation plans
54
+ - Budget narratives and standard cost categories
55
+ - Letters of support and who provided them
56
+
57
+ **Losses are more instructive than wins.** A debrief that says the past performance section scored 12 of 40 tells you exactly what to rebuild, and most organizations file the loss and never read it again.
58
+
59
+ ---
60
+
61
+ ## Keeping it current
62
+
63
+ The fields that expire will silently disqualify a submission if nobody watches them:
64
+
65
+ - **SAM.gov registration** — annual renewal, and lapses are common
66
+ - **State charity registrations** — annual, per state
67
+ - **Insurance certificates** — annual
68
+ - **Audit** — the most recent one, which funders date-check
69
+ - **Certifications** — 8(a) has a nine-year term; HUBZone requires recertification
70
+
71
+ Put each expiry on the calendar with at least 60 days of lead time. An expired SAM registration discovered on submission day has ended otherwise-winning bids.
72
+
73
+ ---
74
+
75
+ ## Two shapes of organization
76
+
77
+ **The nonprofit.** Riverbend Literacy Council, a four-person nonprofit running adult reading programs. Profile is heavy on program outcomes, 501(c)(3) status, board composition, audit, and foundation relationships. The material that wins is outcome data and a credible theory of change.
78
+
79
+ **The contractor.** Okonkwo Mechanical, bidding public-facility HVAC work. Profile is heavy on NAICS codes, bonding capacity, past performance on comparable contracts, licensed staff, and set-aside certifications. The material that wins is past performance on similar-size, similar-scope jobs.
80
+
81
+ **The go/no-go differs sharply between them.** A nonprofit's hard stops are usually eligibility and geography. A contractor's are usually past performance thresholds and bonding. Build the profile knowing which one the organization is, because it determines which checks kill a bid fastest.
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: grow-pipeline
3
+ description: Fills the funnel end to end without the owner babysitting it — reads the market and the competition for context, builds a ranked list of named prospects with a reason attached to each, writes personalized outreach in the owner's own voice, and logs every touch to the CRM. Chains lead-finder, outreach-composer, and crm-autopilot behind a web-native market read, with an owner approval at every handoff. Use this whenever the owner wants more pipeline rather than one specific piece of it, including phrasings like "I need more leads," "fill my funnel," "who should I be calling and what do I say," "find me customers like my best ones and reach out," "build me a prospect list and write the emails," or "sales has gone quiet, get something moving." Reach for it when the owner describes wanting new business generally rather than asking for a list or a single email.
4
+ allowed-tools: Read, WebFetch
5
+ ---
6
+
7
+ Run the pipeline-building chain: a web-native market read for context, then `lead-finder` for the list, `outreach-composer` for the copy, and `crm-autopilot` for the record. Each skill keeps its own gates, and this command does not loosen any of them.
8
+
9
+ Connectors: Apollo (or Clay) plus HubSpot is the full path. Mail (Gmail or Microsoft 365) adds sending. Zoom adds recorded discovery and sales calls to Step 4's logging — read-only, only meetings the owner hosted or attended, and its recordings list covers a one-month window per call, so a sweep asks month by month rather than for a range it cannot return. With none of them, web research plus an uploaded customer CSV goes in, a ranked list and drafted outreach come out for the owner to send by hand, and the log lives in a spreadsheet. That is a real run.
10
+
11
+ ## Step 1 — Market context first (web research)
12
+
13
+ Run this leg inline and keep it scoped to what informs targeting — not a full weekly brief. Scan public sources on the owner's competitors and their market: sites and pricing, ad and social activity, job postings, and press.
14
+
15
+ **In:** the competitor watchlist if one exists, plus public sources. Win-loss data from HubSpot when connected, which is the sharpest signal available and is not public.
16
+
17
+ **Out:** what changed in the market, which competitors show up in lost deals, and where demand is moving. Observed facts and inferences labeled separately, always.
18
+
19
+ **Gate:** show the owner the read and ask whether it changes who to target. One question. If nothing material changed, say so in three lines and move on — a quiet market is a valid answer and does not stall the chain.
20
+
21
+ ## Step 2 — Build the list (lead-finder)
22
+
23
+ Trigger the `lead-finder` skill workflow, carrying Step 1's context in as targeting input.
24
+
25
+ **In:** the owner's real customer base from QuickBooks, HubSpot, or an uploaded CSV, plus the market read. The ideal customer profile is derived from who actually pays, never asked for in the abstract.
26
+
27
+ **Out:** 40 to 60 ranked companies with a named person, a reason to call, and a fit-signal-reachability score on each. Inferred contacts marked as inferred.
28
+
29
+ **Gate:** the owner gets one correction pass on the profile before the list is built — "yes, but not the ones under 10 employees" is worth more than any enrichment. Then they approve the list before any copy is written.
30
+
31
+ **Gate:** writing the list into HubSpot needs its own yes, with the count of contacts and companies stated. Declining is fine; the XLSX is the deliverable.
32
+
33
+ ## Step 3 — Write the outreach (outreach-composer)
34
+
35
+ Trigger the `outreach-composer` skill workflow against the approved list.
36
+
37
+ **In:** the ranked prospects with their reasons, plus the shared voice profile. If no profile exists, it gets built from 15 to 30 of the owner's own sent messages before a word is written.
38
+
39
+ **Out:** a grounded sequence per prospect — first message under 120 words, every touch carrying a fresh reason to exist, run against the slop test before the owner sees it.
40
+
41
+ **Gate:** the owner reads message one in full and skims the shape of the rest, then edits. Expect edits. Every correction folds back into the voice profile so it does not have to be made twice.
42
+
43
+ **Gate:** sending needs an explicit yes for that specific batch, stating how many messages, to whom, on what schedule, from which account. Approval for message one is not approval for the follow-ups — confirm those separately or leave them as drafts.
44
+
45
+ **Gate:** prospects whose email address was inferred rather than verified are flagged and approved as their own group. Bounces at volume damage the owner's sending domain for months, and that damage reaches their real customer mail.
46
+
47
+ Without a mail connector the whole thing runs draft-only, formatted to paste anywhere.
48
+
49
+ ## Step 4 — Log it (crm-autopilot)
50
+
51
+ Trigger the `crm-autopilot` skill workflow in log mode.
52
+
53
+ **In:** every touch that was sent or drafted, with who, when, and where it sits in the sequence.
54
+
55
+ **Out:** activity logged against the right contact and deal, a next step with a date on every open row, and the quiet ones surfaced for the next pass.
56
+
57
+ **Gate:** CRM writes are approved. Contact creation is announced before it happens. Deal stage and amount are proposed, never written. Nothing is ever deleted.
58
+
59
+ Without a CRM, the log goes to the lightweight spreadsheet so the next run knows who was already contacted. Contacting someone twice with the same opener is a visible, avoidable mistake.
60
+
61
+ ## Approval gates (must hold)
62
+
63
+ - No outreach sends without an explicit batch approval — drafts until then.
64
+ - Inferred contacts are flagged and approved separately from verified ones.
65
+ - No CRM write without a yes, and no deal created unprompted.
66
+ - No fabricated email address, phone number, or competitor fact enters the chain at any step.
67
+ - If a connector fails — Apollo, HubSpot, the mail connector — name it, and ask whether to retry, fall back to files, or stop.
68
+
69
+ ## What not to do
70
+
71
+ - **Do not skip the market step to get to the list faster.** It is what makes the reasons on each row specific instead of generic.
72
+ - **Do not pad the list.** Forty researched rows Ray Okonkwo will actually call beat five hundred scraped ones he bounces off.
73
+ - **Do not merge a company name into a template and call it personalized.** If the message could go to anyone with two words changed, it is not ready.
74
+ - **Do not treat one approval as approval for the chain.** The list, the copy, the send, and the CRM write are four separate decisions.
75
+ - **Do not send to inferred addresses in the same batch as verified ones.**
76
+ - **Do not treat missing Apollo as a blocker.** Web research plus a customer export is a designed path.
77
+
78
+ ## Output
79
+
80
+ **Deliver the pipeline package per the owner's stored output preference — never default to a markdown file.** Check the `## Business context` block's `Output preference` (shared style guide rule, `../../shared/artifact-style.md`):
81
+
82
+ - **Visual artifact (the default):** render the run as an HTML page in the house style — prospects found, drafted, and sent as stat tiles, the list as rows with each row's reason, and an inferred-contact pill where one applies. **Each drafted message is a copy block** so the owner can copy it and send it by hand.
83
+ - **docx / md / notion / canva preference:** deliver the same content in that form — a DOCX or markdown file, a Notion page created via the connector (named destination, never overwriting), or a Canva Doc created via the Canva connector (a new design each run, named with the date; tables become lists); fall back to the visual artifact if Notion or Canva is not connected — and say that is why.
84
+ - **Best for skill:** use the visual artifact — this output is a list the owner works from, not prose.
85
+
86
+ End with a one-paragraph recap: what the market read said, how many prospects made the list and how it was built, how many messages were drafted versus sent and to whom, what was written to the CRM, and what still needs the owner.
87
+
88
+ Then one short close: the funnel is filled and every touch is logged. The natural next step is "leads are going cold" — `speed-to-lead` catches the replies and new inbound this outreach generates before they cool. Also nearby: "win back quiet customers" (`/reactivate`) for the customers already lost, and "is my marketing working" (`growth-pulse`) to see whether the pipeline push shows up in the numbers. Offer at most three, and skip any offer the owner already declined this session.
89
+
90
+ ## Using a tool that isn't listed
91
+
92
+ 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,143 @@
1
+ ---
2
+ name: growth-pulse
3
+ description: >
4
+ Answers one question for an SMB owner — is the growth engine actually working?
5
+ Pulls sales trend by channel, funnel conversion, campaign return, best and
6
+ worst performing products, and customer sentiment from whatever is connected,
7
+ then ends with the three growth actions worth taking this week. The growth-side
8
+ twin of business-pulse, which covers the finance side. Use this whenever the
9
+ owner asks how marketing or sales is performing, whether a campaign paid off,
10
+ where leads are coming from, why the pipeline is stalling, which products are
11
+ moving, or says anything like "is my marketing working," "growth check,"
12
+ "how's the funnel," or "where should I put my money next month." Reach for it
13
+ even when the owner names a single channel rather than growth overall.
14
+ allowed-tools: Read, WebFetch
15
+ ---
16
+
17
+ # Growth Pulse
18
+
19
+ One page that answers whether the growth engine is working, and what to do about it this week.
20
+
21
+ Owners describe pulling numbers from three dashboards and trying to find the story themselves. The story is the deliverable here — not the dashboards.
22
+
23
+ ## Step 1 — Pull everything in parallel
24
+
25
+ Dispatch all connector calls in a single batch. See `reference/data_sources.md` for the metric-to-tool mapping. Serial pulls turn this into a wait nobody sits through twice.
26
+
27
+ - **HubSpot** — deals by stage, new contacts, lead source, win rate, cycle time, stalled deals
28
+ - **PayPal, Stripe, Square** — revenue trend, transaction counts, refunds
29
+ - **Shopify** — orders, SKU-level revenue, repeat purchase rate
30
+ - **QuickBooks** — realized revenue, the number the books agree with
31
+ - **TikTok Ads** — last week's spend, impressions, clicks, results, and cost per result per campaign, from the native connector (`report_integrated_get`, last 7 days against the prior 7), so paid spend sits beside the sales it claims to drive
32
+ - **Mailchimp** — campaign, e-commerce, and audience-growth analytics, with revenue attribution on campaigns
33
+ - **Gmail or Microsoft 365** — inbound inquiry volume and response times
34
+ - **Public reviews** — recent ratings and review text, via web research
35
+
36
+ If a source errors or is missing, record it and move on. This skill is designed to say something useful on one connector and something excellent on six.
37
+
38
+ **Zero connectors is a supported path.** Ask for exports — a CRM deal export, a sales report, an ads performance CSV — and build the same pulse from files. Say it plainly rather than stalling.
39
+
40
+ ## Step 2 — Compute the five views
41
+
42
+ Read `reference/thresholds.md` for the cutoffs. Compute each view and assign it a status.
43
+
44
+ 1. **Channel trend** — revenue by channel this period versus last, and versus the same period last year where available
45
+ 2. **Funnel conversion** — leads in, qualified, opportunities, won; the conversion rate between each step and where the biggest drop-off sits
46
+ 3. **Campaign return** — spend versus attributed revenue per campaign, and cost per lead
47
+ 4. **Product performance** — top three and bottom three by revenue and by growth rate
48
+ 5. **Customer sentiment** — recent review scores, review themes, disputes, churn signals
49
+
50
+ A view with no data gets marked "n/a" and named in the appendix. It does not silently vanish.
51
+
52
+ ## Step 3 — Find the actual story
53
+
54
+ This is where the skill earns its keep. Five views on their own are still a dashboard. The job is to connect them.
55
+
56
+ The connections that matter most:
57
+
58
+ - **Spend rising while cost per lead rises** means the channel is saturating, not scaling
59
+ - **Strong lead volume with falling win rate** points at lead quality or response speed, not at marketing
60
+ - **One product carrying the whole trend** means the growth is more fragile than the total suggests
61
+ - **Sentiment dropping while revenue holds** is the early warning that shows up in revenue two months later
62
+ - **A stage where the funnel drops off sharply** is usually worth more than any new campaign
63
+
64
+ Look for the single sentence that explains the period. Lead with it.
65
+
66
+ ## Step 4 — Write the three actions
67
+
68
+ Every pulse ends with exactly three actions. Not five, not a list of everything noticed.
69
+
70
+ Each action needs three things or it isn't an action:
71
+
72
+ - **What to do** — specific enough to start today
73
+ - **Why** — the number from this pulse that justifies it
74
+ - **What it's worth** — the rough size of the opportunity or the risk
75
+
76
+ Rank them by size of impact, not by ease. Owners can decide what's easy; only this pulse can tell them what's big.
77
+
78
+ If the honest answer is that nothing needs to change, say that. A pulse that manufactures three actions every week trains the owner to ignore them.
79
+
80
+ ## Step 5 — Compose
81
+
82
+ Use the exact structure in `reference/output_template.md`. Include only sections with real data.
83
+
84
+ Writing rules:
85
+
86
+ - Numbers lead, words follow. Not "paid social performed well" — "paid social drove 41 leads at USD 18 each, down from USD 31 last month."
87
+ - Every number carries its comparison. A figure with no baseline is a missed insight.
88
+ - Name the specific campaign, product, channel, or customer. "Some campaigns underperformed" is unusable.
89
+ - No marketing vocabulary the owner doesn't use. Not "top of funnel velocity" — "how many new leads came in and how fast."
90
+ - If a section has nothing worth saying, write "No material change" and move on.
91
+
92
+ ## Step 6 — Deliver the pulse page
93
+
94
+ Alongside the chat pulse — additive, never a replacement — deliver the full pulse per the owner's stored output preference — never default to a markdown file. Check the `## Business context` block's `Output preference` (shared style guide rule, `../../shared/artifact-style.md`):
95
+
96
+ - **Visual artifact (the default):** render the pulse as an HTML page in the house style. Each of the five views gets a panel; revenue trend, cost per lead, and win rate are stat tiles with their comparison as the context line; campaign return and product performance are tables with tabular-nums spend and revenue columns; each view's status becomes a status pill (good, warn, critical, or n/a in plain text); the three actions close the page in their own panel, ranked.
97
+ - **docx / md / notion / canva preference:** deliver the same content in that form — a DOCX or markdown file, a Notion page created via the connector (named destination, never overwriting), or a Canva Doc created via the Canva connector (a new design each run, named with the date; tables become lists); fall back to the visual artifact if Notion or Canva is not connected — and say that is why.
98
+ - **Best for skill:** use the visual artifact — five views compare best side by side on one screen.
99
+
100
+ ## Step 7 — Offer to save, once
101
+
102
+ After presenting, offer once to save the pulse as a file or post it to Slack. Posting to Slack is an outward write, so it only happens on that explicit yes — the offer is the approval gate. If yes, do it. If no or no response, move on. Do not ask twice.
103
+
104
+ Then close with what the pulse found in one line, plus the single most relevant next step and at most two others nearby:
105
+
106
+ - If the actions point at content or promotion: "what should I promote" runs `content-strategy`.
107
+ - If the funnel is the problem: "fill my funnel" runs `/grow-pipeline`.
108
+ - For the finance-side twin: "how's the business doing" runs `business-pulse`.
109
+
110
+ Max three offers. Never repeat an offer the owner declined this session.
111
+
112
+ ## Scope variants
113
+
114
+ Owners often want a slice rather than the whole pulse:
115
+
116
+ - **"How did the campaign do"** — campaign return only, plus the sentiment check
117
+ - **"How's the pipeline"** — funnel conversion and stalled deals only
118
+ - **"What's selling"** — product performance only
119
+ - **"Are we getting reviews"** — sentiment only
120
+ - **"Where should I spend next month"** — channel trend and campaign return, with the three actions weighted toward budget
121
+
122
+ Give them the slice they asked for. Don't force the full pulse on a narrow question.
123
+
124
+ ## What not to do
125
+
126
+ - **Do not ask permission before pulling data.** The skill was invoked. Run it.
127
+ - **Do not invent attribution.** If a campaign's revenue can't be traced, say the attribution is unavailable rather than assigning revenue on a guess. Fake attribution has moved real budgets.
128
+ - **Do not report CRM forecast value as revenue.** Deal values are hopes; invoices are facts. Label which is which.
129
+ - **Do not double-count across sources.** A Shopify order settled in Stripe is one sale. Pick one revenue source and name it.
130
+ - **Do not double-count inside one source.** The sales-by-customer summary returns both a parent summary row and a separate total row for the same customer. Filter rows marked as totals before you rank customers or compute concentration, or the same customer lands in the list twice and the concentration figure comes out too high.
131
+ - **Do not manufacture urgency.** If growth is steady, the pulse should read as steady.
132
+ - **Do not read expenses or margin from the QuickBooks P&L summary.** Total the rows (`../../shared/quickbooks-report-traps.md`, Trap 2).
133
+
134
+ ## Reference files
135
+
136
+ - `reference/data_sources.md` — connector to metric mapping, with fallbacks
137
+ - `reference/thresholds.md` — status cutoffs for each of the five views
138
+ - `reference/output_template.md` — exact output structure
139
+ - `reference/gotchas.md` — the failure modes that produce confidently wrong growth advice
140
+
141
+ ## Using a tool that isn't listed
142
+
143
+ 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,113 @@
1
+ # Data Sources
2
+
3
+ Which connector answers which part of the pulse. Pull in one parallel batch.
4
+
5
+ ---
6
+
7
+ ## HubSpot — the funnel
8
+
9
+ The spine of this skill. Without it, funnel conversion is unavailable and the pulse leans on revenue trend instead.
10
+
11
+ | View | What to pull |
12
+ |---|---|
13
+ | Funnel conversion | Deals by stage, with create and close dates |
14
+ | Lead volume | Contacts created in period, with source property |
15
+ | Lead source mix | Contacts grouped by original source |
16
+ | Win rate | Deals closed-won divided by deals resolved |
17
+ | Cycle time | Median days from create to close, won deals only |
18
+ | Stalled deals | Deals with no activity in 14+ days, or close date in the past and still open |
19
+ | Response speed | Time from contact creation to first logged activity |
20
+
21
+ **Careful with deal value.** It is a forecast, not revenue. Never present weighted pipeline as money earned.
22
+
23
+ **Fallback:** a CRM deal export as CSV gives the same funnel views.
24
+
25
+ ---
26
+
27
+ ## Revenue sources
28
+
29
+ | Source | Best for |
30
+ |---|---|
31
+ | QuickBooks | Realized revenue — the number that ties to the books |
32
+ | Stripe, PayPal | Settlement timing, fees, refunds, subscription revenue |
33
+ | Square | In-person and per-location revenue |
34
+ | Shopify | Order counts, SKU-level revenue, repeat purchase rate |
35
+
36
+ **Pick one as the revenue source per pulse and say which.** When QuickBooks is connected, it wins — processors and storefronts then supply channel and product splits only. Summing across them double-counts, sometimes by more than double.
37
+
38
+ **Then guard against double-counting inside that one source.** The QuickBooks sales-by-customer summary emits a parent summary row and a separate total row for the same customer whenever sub-customers or jobs exist. Both carry the same amount, and the report's own top-customer list contains both. Filter rows whose metadata type marks them as a total before ranking customers or computing concentration; otherwise one customer occupies two slots in the ranking and the concentration figure is inflated.
39
+
40
+ ---
41
+
42
+ ## Ad platforms
43
+
44
+ | Source | What to pull |
45
+ |---|---|
46
+ | TikTok Ads | Native connector. `report_integrated_get` at campaign level for the last 7 days and the prior 7: spend, impressions, clicks, results, cost per result. `advertiser_info_get` first to confirm the account. Same reads and traps as `ad-manager` (`../../ad-manager/SKILL.md`); read there before the first call |
47
+ | Google Ads | Not wired into this skill — ask for a CSV export. The connector itself lives on `ad-manager` |
48
+
49
+ **Attribution honesty.** Ad platforms report conversions they claim. The CRM reports leads it received. These rarely agree, and the gap is not a bug. Report both and name the gap rather than picking the flattering one.
50
+
51
+ ---
52
+
53
+ ## Mailchimp — email as a channel
54
+
55
+ | View | What to pull |
56
+ |---|---|
57
+ | Campaign return | Campaign analytics with revenue attribution — opens, clicks, and attributed revenue per campaign |
58
+ | Channel trend | E-commerce analytics, for the email-attributed slice of revenue |
59
+ | Lead volume | Audience-growth analytics — subscribers added and lost in the period |
60
+
61
+ **Same attribution honesty applies.** Mailchimp's attributed revenue is Mailchimp's claim,
62
+ sitting next to the ad platform's claim and the CRM's record. Report it as the email
63
+ channel's own number and name the gap. Never fold it into a single blended figure.
64
+
65
+ **Mailchimp is read-and-draft only in this plugin.** It has no send path here, and its
66
+ campaign planner will refuse a single-campaign request — it produces multi-channel plans
67
+ only. Treat the audience list itself as unavailable for export unless a call actually
68
+ returns it.
69
+
70
+ **An auth or login error is connector health, not missing data.** If Mailchimp calls fail
71
+ with an expired login or authorization error, the appendix line should say "Mailchimp:
72
+ connection needs to be re-authorized — reconnect it in Connectors and rerun," not "no
73
+ email data." Name the fix, then continue the pulse without the email views. Before
74
+ writing that line, check the error did not come from the plugin's own registration
75
+ (`small-business:intuit-mailchimp`, the manifest key) while the owner's Mailchimp entry is live — if the owner's
76
+ entry works, use it and say nothing about reconnecting
77
+ (`../../../shared/connector-neutrality.md`, "One connector, two registrations").
78
+
79
+ ---
80
+
81
+ ## Sentiment
82
+
83
+ | Source | What to pull |
84
+ |---|---|
85
+ | Public reviews | Recent Google, Yelp, and industry-site reviews via web research |
86
+ | PayPal, Stripe | Dispute and chargeback counts and reasons |
87
+ | Gmail or Microsoft 365 | Inbound complaints, cancellation requests, refund asks |
88
+ | HubSpot | Ticket volume and themes, if support runs through the CRM |
89
+
90
+ Sentiment is the leading indicator in this pulse. It moves before revenue does, which is exactly what makes it worth including.
91
+
92
+ ---
93
+
94
+ ## The uploaded-file path
95
+
96
+ A first-class mode, not a degraded one. Many owners in this segment have no clean connector on the growth side at all.
97
+
98
+ What to ask for, in plain language:
99
+
100
+ - "Export your deals from the CRM" — funnel conversion
101
+ - "Export your sales report for the month" — channel and product performance
102
+ - "Download the campaign performance CSV from Ads Manager" — campaign return
103
+ - "Paste in your recent reviews" — sentiment
104
+
105
+ Read the header row, map the columns, and build the identical pulse. If a needed column is absent, name it — "there's no source column, so I can't break leads out by channel" — rather than quietly dropping the view.
106
+
107
+ ---
108
+
109
+ ## Parallel-pull rule
110
+
111
+ Every call goes out in one batch. This pulse routinely touches five or six systems.
112
+
113
+ Record failures internally and list them once in the appendix. Never surface a connector error in the middle of the brief — the owner asked about growth, not about integrations.