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.
- package/LICENSE +212 -0
- package/README.md +124 -2
- package/content/bio-research/.mcp.json +48 -0
- package/content/bio-research/CONNECTORS.md +23 -0
- package/content/bio-research/LICENSE +202 -0
- package/content/bio-research/README.md +83 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/SKILL.md +280 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/asm_schema_overview.md +226 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/field_classification_guide.md +503 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/flattening_guide.md +254 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/supported_instruments.md +151 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/requirements.txt +26 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/convert_to_asm.py +543 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/export_parser.py +481 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/flatten_asm.py +254 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/validate_asm.py +1102 -0
- package/content/bio-research/skills/bio-research-nextflow-development/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-nextflow-development/SKILL.md +290 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/geo-sra-acquisition.md +416 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/installation.md +96 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/atacseq.md +138 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/rnaseq.md +118 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/sarek.md +145 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/troubleshooting.md +137 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/check_environment.py +452 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/genomes.yaml +148 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/atacseq.yaml +187 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/rnaseq.yaml +147 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/sarek.yaml +233 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/detect_data_type.py +300 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/generate_samplesheet.py +455 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/manage_genomes.py +521 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/sra_geo_fetch.py +732 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/__init__.py +69 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/file_discovery.py +189 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/ncbi_utils.py +808 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/sample_inference.py +290 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/validators.py +256 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/SKILL.md +269 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/01-intuition-pumps.md +264 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/02-risk-assessment.md +323 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/03-optimization-function.md +481 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/04-parameter-strategy.md +396 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/05-decision-tree.md +85 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/06-adversity-planning.md +123 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/07-problem-inversion.md +152 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/08-integration-synthesis.md +173 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/09-meta-framework.md +504 -0
- package/content/bio-research/skills/bio-research-scvi-tools/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-scvi-tools/SKILL.md +155 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/atac_peakvi.md +398 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/batch_correction_sysvi.md +417 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/citeseq_totalvi.md +420 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/data_preparation.md +286 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/environment_setup.md +254 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/label_transfer.md +373 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/multiome_multivi.md +384 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/rna_velocity_velovi.md +410 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/scarches_mapping.md +401 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/scrna_integration.md +429 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/spatial_deconvolution.md +438 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/troubleshooting.md +420 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/cluster_embed.py +212 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/differential_expression.py +220 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/integrate_datasets.py +237 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/model_utils.py +634 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/prepare_data.py +169 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/train_model.py +370 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/transfer_labels.py +224 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/validate_adata.py +397 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/SKILL.md +175 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/references/scverse_qc_guidelines.md +186 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_analysis.py +232 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_core.py +233 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_plotting.py +235 -0
- package/content/bio-research/skills/bio-research-start/SKILL.md +79 -0
- package/content/customer-support/.mcp.json +40 -0
- package/content/customer-support/CONNECTORS.md +19 -0
- package/content/customer-support/LICENSE +202 -0
- package/content/customer-support/README.md +140 -0
- package/content/customer-support/skills/customer-support-customer-escalation/SKILL.md +248 -0
- package/content/customer-support/skills/customer-support-customer-research/SKILL.md +252 -0
- package/content/customer-support/skills/customer-support-draft-response/SKILL.md +418 -0
- package/content/customer-support/skills/customer-support-kb-article/SKILL.md +351 -0
- package/content/customer-support/skills/customer-support-ticket-triage/SKILL.md +275 -0
- package/content/data/.mcp.json +36 -0
- package/content/data/CONNECTORS.md +18 -0
- package/content/data/LICENSE +202 -0
- package/content/data/README.md +121 -0
- package/content/data/skills/data-analyze/SKILL.md +119 -0
- package/content/data/skills/data-build-dashboard/SKILL.md +924 -0
- package/content/data/skills/data-create-viz/SKILL.md +154 -0
- package/content/data/skills/data-data-context-extractor/SKILL.md +227 -0
- package/content/data/skills/data-data-context-extractor/references/domain-template.md +147 -0
- package/content/data/skills/data-data-context-extractor/references/example-output.md +198 -0
- package/content/data/skills/data-data-context-extractor/references/skill-template.md +148 -0
- package/content/data/skills/data-data-context-extractor/references/sql-dialects.md +121 -0
- package/content/data/skills/data-data-context-extractor/scripts/package_data_skill.py +126 -0
- package/content/data/skills/data-data-visualization/SKILL.md +305 -0
- package/content/data/skills/data-explore-data/SKILL.md +325 -0
- package/content/data/skills/data-sql-queries/SKILL.md +428 -0
- package/content/data/skills/data-statistical-analysis/SKILL.md +245 -0
- package/content/data/skills/data-validate-data/SKILL.md +383 -0
- package/content/data/skills/data-write-query/SKILL.md +122 -0
- package/content/design/.mcp.json +44 -0
- package/content/design/CONNECTORS.md +18 -0
- package/content/design/README.md +117 -0
- package/content/design/skills/design-accessibility-review/SKILL.md +128 -0
- package/content/design/skills/design-design-critique/SKILL.md +118 -0
- package/content/design/skills/design-design-handoff/SKILL.md +131 -0
- package/content/design/skills/design-design-system/SKILL.md +190 -0
- package/content/design/skills/design-research-synthesis/SKILL.md +92 -0
- package/content/design/skills/design-user-research/SKILL.md +41 -0
- package/content/design/skills/design-ux-copy/SKILL.md +107 -0
- package/content/engineering/.mcp.json +48 -0
- package/content/engineering/CONNECTORS.md +19 -0
- package/content/engineering/README.md +136 -0
- package/content/engineering/skills/engineering-architecture/SKILL.md +85 -0
- package/content/engineering/skills/engineering-code-review/SKILL.md +118 -0
- package/content/engineering/skills/engineering-debug/SKILL.md +95 -0
- package/content/engineering/skills/engineering-deploy-checklist/SKILL.md +78 -0
- package/content/engineering/skills/engineering-documentation/SKILL.md +49 -0
- package/content/engineering/skills/engineering-incident-response/SKILL.md +158 -0
- package/content/engineering/skills/engineering-standup/SKILL.md +75 -0
- package/content/engineering/skills/engineering-system-design/SKILL.md +42 -0
- package/content/engineering/skills/engineering-tech-debt/SKILL.md +32 -0
- package/content/engineering/skills/engineering-testing-strategy/SKILL.md +33 -0
- package/content/enterprise-search/.mcp.json +36 -0
- package/content/enterprise-search/CONNECTORS.md +21 -0
- package/content/enterprise-search/LICENSE +202 -0
- package/content/enterprise-search/README.md +157 -0
- package/content/enterprise-search/skills/enterprise-search-digest/SKILL.md +173 -0
- package/content/enterprise-search/skills/enterprise-search-knowledge-synthesis/SKILL.md +258 -0
- package/content/enterprise-search/skills/enterprise-search-search/SKILL.md +178 -0
- package/content/enterprise-search/skills/enterprise-search-search-strategy/SKILL.md +222 -0
- package/content/enterprise-search/skills/enterprise-search-source-management/SKILL.md +173 -0
- package/content/finance/.mcp.json +32 -0
- package/content/finance/CONNECTORS.md +20 -0
- package/content/finance/LICENSE +202 -0
- package/content/finance/README.md +92 -0
- package/content/finance/skills/finance-audit-support/SKILL.md +374 -0
- package/content/finance/skills/finance-close-management/SKILL.md +221 -0
- package/content/finance/skills/finance-financial-statements/SKILL.md +335 -0
- package/content/finance/skills/finance-journal-entry/SKILL.md +131 -0
- package/content/finance/skills/finance-journal-entry-prep/SKILL.md +186 -0
- package/content/finance/skills/finance-reconciliation/SKILL.md +175 -0
- package/content/finance/skills/finance-sox-testing/SKILL.md +218 -0
- package/content/finance/skills/finance-variance-analysis/SKILL.md +266 -0
- package/content/human-resources/.mcp.json +28 -0
- package/content/human-resources/CONNECTORS.md +19 -0
- package/content/human-resources/README.md +138 -0
- package/content/human-resources/skills/human-resources-comp-analysis/SKILL.md +92 -0
- package/content/human-resources/skills/human-resources-draft-offer/SKILL.md +82 -0
- package/content/human-resources/skills/human-resources-interview-prep/SKILL.md +37 -0
- package/content/human-resources/skills/human-resources-onboarding/SKILL.md +104 -0
- package/content/human-resources/skills/human-resources-org-planning/SKILL.md +28 -0
- package/content/human-resources/skills/human-resources-people-report/SKILL.md +99 -0
- package/content/human-resources/skills/human-resources-performance-review/SKILL.md +149 -0
- package/content/human-resources/skills/human-resources-policy-lookup/SKILL.md +94 -0
- package/content/human-resources/skills/human-resources-recruiting-pipeline/SKILL.md +31 -0
- package/content/legal/.mcp.json +36 -0
- package/content/legal/CONNECTORS.md +21 -0
- package/content/legal/LICENSE +202 -0
- package/content/legal/README.md +234 -0
- package/content/legal/skills/legal-brief/SKILL.md +208 -0
- package/content/legal/skills/legal-compliance-check/SKILL.md +274 -0
- package/content/legal/skills/legal-legal-response/SKILL.md +457 -0
- package/content/legal/skills/legal-legal-risk-assessment/SKILL.md +265 -0
- package/content/legal/skills/legal-meeting-briefing/SKILL.md +220 -0
- package/content/legal/skills/legal-review-contract/SKILL.md +358 -0
- package/content/legal/skills/legal-signature-request/SKILL.md +104 -0
- package/content/legal/skills/legal-triage-nda/SKILL.md +262 -0
- package/content/legal/skills/legal-vendor-check/SKILL.md +159 -0
- package/content/manifest.json +86 -0
- package/content/marketing/.mcp.json +60 -0
- package/content/marketing/CONNECTORS.md +20 -0
- package/content/marketing/LICENSE +202 -0
- package/content/marketing/README.md +90 -0
- package/content/marketing/skills/marketing-brand-review/SKILL.md +276 -0
- package/content/marketing/skills/marketing-campaign-plan/SKILL.md +308 -0
- package/content/marketing/skills/marketing-competitive-brief/SKILL.md +331 -0
- package/content/marketing/skills/marketing-content-creation/SKILL.md +157 -0
- package/content/marketing/skills/marketing-draft-content/SKILL.md +117 -0
- package/content/marketing/skills/marketing-email-sequence/SKILL.md +220 -0
- package/content/marketing/skills/marketing-performance-report/SKILL.md +392 -0
- package/content/marketing/skills/marketing-seo-audit/SKILL.md +190 -0
- package/content/operations/.mcp.json +32 -0
- package/content/operations/CONNECTORS.md +20 -0
- package/content/operations/README.md +135 -0
- package/content/operations/skills/operations-capacity-plan/SKILL.md +113 -0
- package/content/operations/skills/operations-change-request/SKILL.md +121 -0
- package/content/operations/skills/operations-compliance-tracking/SKILL.md +44 -0
- package/content/operations/skills/operations-process-doc/SKILL.md +82 -0
- package/content/operations/skills/operations-process-optimization/SKILL.md +39 -0
- package/content/operations/skills/operations-risk-assessment/SKILL.md +40 -0
- package/content/operations/skills/operations-runbook/SKILL.md +87 -0
- package/content/operations/skills/operations-status-report/SKILL.md +77 -0
- package/content/operations/skills/operations-vendor-review/SKILL.md +104 -0
- package/content/pdf-viewer/.mcp.json +8 -0
- package/content/pdf-viewer/CONNECTORS.md +15 -0
- package/content/pdf-viewer/LICENSE +202 -0
- package/content/pdf-viewer/README.md +57 -0
- package/content/pdf-viewer/commands/annotate.md +51 -0
- package/content/pdf-viewer/commands/fill-form.md +73 -0
- package/content/pdf-viewer/commands/open.md +34 -0
- package/content/pdf-viewer/commands/sign.md +54 -0
- package/content/pdf-viewer/skills/pdf-viewer-view-pdf/SKILL.md +147 -0
- package/content/product-management/.mcp.json +72 -0
- package/content/product-management/CONNECTORS.md +22 -0
- package/content/product-management/LICENSE +202 -0
- package/content/product-management/README.md +118 -0
- package/content/product-management/commands/brainstorm.md +120 -0
- package/content/product-management/skills/product-management-competitive-brief/SKILL.md +302 -0
- package/content/product-management/skills/product-management-metrics-review/SKILL.md +388 -0
- package/content/product-management/skills/product-management-product-brainstorming/SKILL.md +273 -0
- package/content/product-management/skills/product-management-roadmap-update/SKILL.md +266 -0
- package/content/product-management/skills/product-management-sprint-planning/SKILL.md +94 -0
- package/content/product-management/skills/product-management-stakeholder-update/SKILL.md +352 -0
- package/content/product-management/skills/product-management-synthesize-research/SKILL.md +312 -0
- package/content/product-management/skills/product-management-write-spec/SKILL.md +250 -0
- package/content/productivity/.mcp.json +44 -0
- package/content/productivity/CONNECTORS.md +18 -0
- package/content/productivity/LICENSE +202 -0
- package/content/productivity/README.md +97 -0
- package/content/productivity/skills/dashboard.html +3111 -0
- package/content/productivity/skills/productivity-memory-management/SKILL.md +323 -0
- package/content/productivity/skills/productivity-start/SKILL.md +158 -0
- package/content/productivity/skills/productivity-task-management/SKILL.md +91 -0
- package/content/productivity/skills/productivity-update/SKILL.md +168 -0
- package/content/sales/.mcp.json +100 -0
- package/content/sales/CONNECTORS.md +36 -0
- package/content/sales/LICENSE +202 -0
- package/content/sales/README.md +148 -0
- package/content/sales/skills/sales-account-context/SKILL.md +94 -0
- package/content/sales/skills/sales-account-plan/SKILL.md +95 -0
- package/content/sales/skills/sales-account-research/SKILL.md +99 -0
- package/content/sales/skills/sales-account-tiering/SKILL.md +101 -0
- package/content/sales/skills/sales-call-prep/SKILL.md +111 -0
- package/content/sales/skills/sales-call-summary/SKILL.md +111 -0
- package/content/sales/skills/sales-close-plan/SKILL.md +106 -0
- package/content/sales/skills/sales-competitive-intelligence/SKILL.md +102 -0
- package/content/sales/skills/sales-create-an-asset/SKILL.md +105 -0
- package/content/sales/skills/sales-crm-hygiene-check/SKILL.md +103 -0
- package/content/sales/skills/sales-customer-health/SKILL.md +108 -0
- package/content/sales/skills/sales-customer-voice/SKILL.md +94 -0
- package/content/sales/skills/sales-daily-briefing/SKILL.md +61 -0
- package/content/sales/skills/sales-deal-advance-gap/SKILL.md +102 -0
- package/content/sales/skills/sales-deal-review/SKILL.md +105 -0
- package/content/sales/skills/sales-deal-signals/SKILL.md +96 -0
- package/content/sales/skills/sales-deal-slip-scenario/SKILL.md +101 -0
- package/content/sales/skills/sales-draft-outreach/SKILL.md +116 -0
- package/content/sales/skills/sales-end-of-day/SKILL.md +114 -0
- package/content/sales/skills/sales-expansion-whitespace/SKILL.md +97 -0
- package/content/sales/skills/sales-forecast/SKILL.md +100 -0
- package/content/sales/skills/sales-handle-objection/SKILL.md +93 -0
- package/content/sales/skills/sales-inbox-sweep/SKILL.md +114 -0
- package/content/sales/skills/sales-lead-triage/SKILL.md +105 -0
- package/content/sales/skills/sales-log-activity/SKILL.md +111 -0
- package/content/sales/skills/sales-pipeline-review/SKILL.md +97 -0
- package/content/sales/skills/sales-renewal-radar/SKILL.md +95 -0
- package/content/sales/skills/sales-rep-context/SKILL.md +90 -0
- package/content/sales/skills/sales-route-lead/SKILL.md +111 -0
- package/content/sales/skills/sales-schedule-meeting/SKILL.md +99 -0
- package/content/sales/skills/sales-setup/SKILL.md +195 -0
- package/content/sales/skills/sales-stakeholder-map/SKILL.md +107 -0
- package/content/sales/skills/sales-team-pipeline/SKILL.md +105 -0
- package/content/sales/skills/sales-update-opportunity/SKILL.md +111 -0
- package/content/sales/skills/sales-weekly-wrap/SKILL.md +90 -0
- package/content/sales/skills/sales-win-loss-review/SKILL.md +88 -0
- package/content/small-business/.mcp.json +148 -0
- package/content/small-business/README.md +117 -0
- package/content/small-business/skills/small-business-ad-manager/SKILL.md +128 -0
- package/content/small-business/skills/small-business-ad-manager/reference/ad_copy.md +112 -0
- package/content/small-business/skills/small-business-ad-manager/reference/change_playbook.md +127 -0
- package/content/small-business/skills/small-business-ad-manager/reference/data_sources.md +100 -0
- package/content/small-business/skills/small-business-ad-manager/reference/diagnostics.md +89 -0
- package/content/small-business/skills/small-business-ad-manager/reference/gotchas.md +181 -0
- package/content/small-business/skills/small-business-ap-processor/SKILL.md +158 -0
- package/content/small-business/skills/small-business-ap-processor/reference/coding_rules.md +70 -0
- package/content/small-business/skills/small-business-ap-processor/reference/gotchas.md +131 -0
- package/content/small-business/skills/small-business-ap-processor/reference/intake_and_extraction.md +82 -0
- package/content/small-business/skills/small-business-ap-processor/reference/matching_and_exceptions.md +80 -0
- package/content/small-business/skills/small-business-ap-processor/reference/payment_run.md +77 -0
- package/content/small-business/skills/small-business-brand-style/SKILL.md +106 -0
- package/content/small-business/skills/small-business-build-agent/SKILL.md +105 -0
- package/content/small-business/skills/small-business-build-agent/reference/capture.md +133 -0
- package/content/small-business/skills/small-business-build-agent/reference/gotchas.md +204 -0
- package/content/small-business/skills/small-business-build-agent/reference/skill_authoring.md +165 -0
- package/content/small-business/skills/small-business-build-connector/SKILL.md +102 -0
- package/content/small-business/skills/small-business-build-connector/reference/discovery.md +120 -0
- package/content/small-business/skills/small-business-build-connector/reference/gotchas.md +237 -0
- package/content/small-business/skills/small-business-build-connector/reference/paths.md +106 -0
- package/content/small-business/skills/small-business-build-connector/reference/use-zapier.md +128 -0
- package/content/small-business/skills/small-business-business-pulse/SKILL.md +181 -0
- package/content/small-business/skills/small-business-business-pulse/reference/data_sources.md +173 -0
- package/content/small-business/skills/small-business-business-pulse/reference/gotchas.md +103 -0
- package/content/small-business/skills/small-business-business-pulse/reference/output_template.md +109 -0
- package/content/small-business/skills/small-business-business-pulse/reference/thresholds.md +71 -0
- package/content/small-business/skills/small-business-business-pulse/reference/v2_sources.md +63 -0
- package/content/small-business/skills/small-business-call-list/SKILL.md +82 -0
- package/content/small-business/skills/small-business-canva-creator/SKILL.md +448 -0
- package/content/small-business/skills/small-business-canva-creator/reference/canva-api.md +208 -0
- package/content/small-business/skills/small-business-canva-creator/reference/examples/boutique-brief-campaign.md +181 -0
- package/content/small-business/skills/small-business-canva-creator/reference/gotchas.md +380 -0
- package/content/small-business/skills/small-business-canva-creator/reference/hubspot-staging.md +137 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/SKILL.md +251 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/reference/examples/worked-example.md +92 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/reference/gotchas.md +62 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/reference/v2_sources.md +84 -0
- package/content/small-business/skills/small-business-close-month/SKILL.md +86 -0
- package/content/small-business/skills/small-business-content-strategy/SKILL.md +152 -0
- package/content/small-business/skills/small-business-content-strategy/reference/examples/retail-boutique-example.md +71 -0
- package/content/small-business/skills/small-business-content-strategy/reference/gotchas.md +104 -0
- package/content/small-business/skills/small-business-content-strategy/reference/v2_sources.md +40 -0
- package/content/small-business/skills/small-business-contract-review/SKILL.md +158 -0
- package/content/small-business/skills/small-business-contract-review/reference/docusign-fetch.md +32 -0
- package/content/small-business/skills/small-business-contract-review/reference/examples/flagged-summary-saas.md +97 -0
- package/content/small-business/skills/small-business-contract-review/reference/gmail-fetch.md +30 -0
- package/content/small-business/skills/small-business-contract-review/reference/gotchas.md +105 -0
- package/content/small-business/skills/small-business-contract-review/reference/m365-fetch.md +60 -0
- package/content/small-business/skills/small-business-crm-autopilot/SKILL.md +162 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/cleanup-checklist.md +82 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/examples/cleanup-deal.md +83 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-call-happy-path.md +68 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-email-happy-path.md +50 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/gotchas.md +110 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/hubspot-fields.md +62 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/lightweight_crm.md +125 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/salesforce-fields.md +122 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/standing_mode.md +144 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/SKILL.md +162 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/drafting.md +129 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/go_no_go.md +125 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/gotchas.md +180 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/opportunity_sources.md +90 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/org_profile.md +81 -0
- package/content/small-business/skills/small-business-grow-pipeline/SKILL.md +92 -0
- package/content/small-business/skills/small-business-growth-pulse/SKILL.md +143 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/data_sources.md +113 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/gotchas.md +175 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/output_template.md +122 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/thresholds.md +110 -0
- package/content/small-business/skills/small-business-hiring-screener/SKILL.md +137 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/candidate_comms.md +132 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/fair_screening.md +103 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/gotchas.md +183 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/onboarding.md +82 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/rubric.md +122 -0
- package/content/small-business/skills/small-business-inbox-manager/SKILL.md +130 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/digest_format.md +110 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/gotchas.md +220 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/handoffs.md +77 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/reply_drafting.md +116 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/triage_rules.md +72 -0
- package/content/small-business/skills/small-business-inventory-planner/SKILL.md +126 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/data_sources.md +94 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/gotchas.md +153 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/po_drafting.md +92 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/seasonality.md +112 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/velocity_and_reorder.md +154 -0
- package/content/small-business/skills/small-business-invoice-chase/SKILL.md +131 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/examples/firm-reminder.md +28 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/examples/gentle-reminder.md +27 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/gotchas.md +75 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/tone-matching.md +44 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/v2_sources.md +78 -0
- package/content/small-business/skills/small-business-job-post-builder/SKILL.md +204 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/docusign-routing.md +63 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/examples/worked-example.md +110 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/existing-document-merge.md +58 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/gotchas.md +68 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/interview-guide-structure.md +93 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/job-post-structure.md +62 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/offer-letter-template.md +145 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/role-intake.md +73 -0
- package/content/small-business/skills/small-business-lead-finder/SKILL.md +119 -0
- package/content/small-business/skills/small-business-lead-finder/reference/gotchas.md +152 -0
- package/content/small-business/skills/small-business-lead-finder/reference/icp_method.md +97 -0
- package/content/small-business/skills/small-business-lead-finder/reference/output_template.md +124 -0
- package/content/small-business/skills/small-business-lead-finder/reference/scoring.md +92 -0
- package/content/small-business/skills/small-business-lead-finder/reference/sourcing.md +78 -0
- package/content/small-business/skills/small-business-lead-triage/SKILL.md +81 -0
- package/content/small-business/skills/small-business-lead-triage/reference/examples/happy-path-triage.md +68 -0
- package/content/small-business/skills/small-business-lead-triage/reference/gotchas.md +76 -0
- package/content/small-business/skills/small-business-lead-triage/reference/hubspot-scoring.md +169 -0
- package/content/small-business/skills/small-business-marketing-monday/SKILL.md +108 -0
- package/content/small-business/skills/small-business-monday-brief/SKILL.md +97 -0
- package/content/small-business/skills/small-business-month-end-prep/SKILL.md +331 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/close-packet-format.md +127 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/examples/pl-narrative.md +52 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/gotchas.md +113 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/paypal-settlements.md +110 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/quickbooks-reconcile.md +71 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/v2_sources.md +125 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/xero-reconcile.md +175 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/zoho-books-reconcile.md +168 -0
- package/content/small-business/skills/small-business-outreach-composer/SKILL.md +144 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/gotchas.md +213 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/output_template.md +147 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/sequence_patterns.md +99 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/slop_test.md +164 -0
- package/content/small-business/skills/small-business-pay-the-bills/SKILL.md +101 -0
- package/content/small-business/skills/small-business-payroll-prep/SKILL.md +139 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/anomaly_rules.md +99 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/books_sync.md +72 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/gotchas.md +153 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/run_sheet_format.md +90 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/timesheet_intake.md +118 -0
- package/content/small-business/skills/small-business-plan-payroll/SKILL.md +88 -0
- package/content/small-business/skills/small-business-proposal-builder/SKILL.md +168 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/discovery_extraction.md +138 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/gotchas.md +184 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/output_template.md +128 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/pricing_method.md +125 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/proposal_structure.md +120 -0
- package/content/small-business/skills/small-business-reactivate/SKILL.md +109 -0
- package/content/small-business/skills/small-business-report-builder/SKILL.md +142 -0
- package/content/small-business/skills/small-business-report-builder/reference/data_sources.md +168 -0
- package/content/small-business/skills/small-business-report-builder/reference/gotchas.md +155 -0
- package/content/small-business/skills/small-business-report-builder/reference/output_template.md +109 -0
- package/content/small-business/skills/small-business-report-builder/reference/report_spec.md +109 -0
- package/content/small-business/skills/small-business-report-builder/reference/saved_reports.md +50 -0
- package/content/small-business/skills/small-business-report-pack/SKILL.md +83 -0
- package/content/small-business/skills/small-business-restock/SKILL.md +88 -0
- package/content/small-business/skills/small-business-review-reputation/SKILL.md +130 -0
- package/content/small-business/skills/small-business-review-reputation/reference/churn-signals.md +110 -0
- package/content/small-business/skills/small-business-review-reputation/reference/examples/example-report.md +150 -0
- package/content/small-business/skills/small-business-review-reputation/reference/gotchas.md +164 -0
- package/content/small-business/skills/small-business-review-reputation/reference/response-patterns.md +123 -0
- package/content/small-business/skills/small-business-review-reputation/reference/sources.md +116 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/SKILL.md +143 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/ai_visibility.md +173 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/audit_checklist.md +134 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/catalog_refresh.md +126 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/content_rewrite.md +113 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/gotchas.md +211 -0
- package/content/small-business/skills/small-business-smb-onboard/SKILL.md +82 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/examples/happy-path.md +190 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/gotchas.md +111 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/onboard-checklist.md +99 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/website-research.md +82 -0
- package/content/small-business/skills/small-business-smb-router/SKILL.md +216 -0
- package/content/small-business/skills/small-business-smb-router/reference/connector-map.md +96 -0
- package/content/small-business/skills/small-business-social-content-engine/SKILL.md +162 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/calendar.md +116 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/canva-api.md +208 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/examples/okonkwo-campaign.md +190 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/gotchas.md +447 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/publishing.md +166 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/shopify-assets.md +77 -0
- package/content/small-business/skills/small-business-speed-to-lead/SKILL.md +172 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/approval.md +61 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/gotchas.md +167 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/qualification.md +153 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/response_patterns.md +184 -0
- package/content/small-business/skills/small-business-tax-prep/SKILL.md +85 -0
- package/content/small-business/skills/small-business-tax-season-organizer/SKILL.md +210 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/calculation-assumptions.md +177 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/connector-queries.md +267 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/quarterly-estimate.md +92 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/year-end-1099.md +102 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/gotchas.md +104 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/output-formats.md +68 -0
- package/content/small-business/skills/small-business-ticket-deflector/SKILL.md +164 -0
- package/content/small-business/skills/small-business-ticket-deflector/reference/examples/deny-refund-request.md +98 -0
- package/content/small-business/skills/small-business-ticket-deflector/reference/examples/respond-refund-request.md +77 -0
- package/content/small-business/skills/small-business-ticket-deflector/reference/gotchas.md +57 -0
- package/index.ts +83 -0
- package/package.json +28 -3
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: outreach-composer
|
|
3
|
+
description: >
|
|
4
|
+
Writes prospect outreach and follow-up sequences that sound like the owner
|
|
5
|
+
wrote them, not like an AI did. Learns a voice profile from the owner's own
|
|
6
|
+
sent mail, grounds every message in something specific about that prospect,
|
|
7
|
+
builds the follow-up sequence behind it, queues every send for approval, and
|
|
8
|
+
logs each touch to the CRM. Runs draft-only when no mail connector is
|
|
9
|
+
available, so the copy can be pasted anywhere. Use this whenever the owner
|
|
10
|
+
needs to reach out to prospects or customers — including phrasings like
|
|
11
|
+
"write this cold email," "draft a follow-up," "reach out to these leads,"
|
|
12
|
+
"what do I say to them," "I need a sequence for this list," "nudge the people
|
|
13
|
+
who didn't reply," or "write it but don't make it sound like a robot." Reach
|
|
14
|
+
for it whenever outreach copy is the deliverable, even for a single message.
|
|
15
|
+
allowed-tools: Read, WebFetch
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Outreach Composer
|
|
19
|
+
|
|
20
|
+
Write outreach the owner would actually send under their own name.
|
|
21
|
+
|
|
22
|
+
The single most repeated condition owners set is some version of "without sounding like a bot." Owners will not send copy that embarrasses them, so a message that reads as generated is worth nothing regardless of how well structured it is. Voice fidelity is the product here, not a finishing touch.
|
|
23
|
+
|
|
24
|
+
## Step 1 — Learn the voice before writing anything
|
|
25
|
+
|
|
26
|
+
Read [the shared voice profile](../../shared/voice-profile.md) first. If a profile already exists there, use it and skip to Step 2 — rebuilding it every time wastes the owner's patience and produces drift.
|
|
27
|
+
|
|
28
|
+
If there is no profile, build one from evidence:
|
|
29
|
+
|
|
30
|
+
- **Gmail or Microsoft 365** — pull 15 to 30 of the owner's own sent messages to customers and prospects. This is the best source by a wide margin. Confirm the mailbox is the owner's first (`../../shared/tenant-scope.md`); another tenant's sent mail would teach the wrong voice.
|
|
31
|
+
- **HubSpot** — logged emails and notes
|
|
32
|
+
- **Their website and any published writing** — weaker, but real
|
|
33
|
+
- **Pasted examples** — ask for three emails they were happy with
|
|
34
|
+
|
|
35
|
+
Then extract the specific, imitable traits: sentence length, greeting and sign-off habits, contractions, whether they use exclamation marks, how direct the ask is, what they call their own product, regionalisms, and the things they never do. Save the profile so every later run inherits it.
|
|
36
|
+
|
|
37
|
+
**Without any sample, say so and ask for three.** Writing in a guessed voice produces exactly the generic copy the owner is trying to avoid.
|
|
38
|
+
|
|
39
|
+
## Step 2 — Ground each message in something real
|
|
40
|
+
|
|
41
|
+
A personalized email is not one with the company name merged into a template. It is one that could only have been sent to that person.
|
|
42
|
+
|
|
43
|
+
For each prospect, find the specific hook. In order of strength:
|
|
44
|
+
|
|
45
|
+
1. The buying signal from `lead-finder` — a permit filed, a location opened, a role posted
|
|
46
|
+
2. A shared connection or customer
|
|
47
|
+
3. Something specific about their business the owner can genuinely speak to
|
|
48
|
+
4. A relevant result the owner produced for a similar customer
|
|
49
|
+
|
|
50
|
+
If no hook exists beyond category fit, write a shorter, plainly cold message and say it is cold. A fake-warm opener is worse than an honest cold one, because it reads as a mail merge and destroys credibility in the first line.
|
|
51
|
+
|
|
52
|
+
**Apollo or Clay, when connected, can fill in the contact and company detail that makes a thin hook usable** — role, tenure, company size, tech stack — the kind of specific that keeps a message from reading as generic. Enrichment data, not a hook on its own.
|
|
53
|
+
|
|
54
|
+
## Step 3 — Write the sequence
|
|
55
|
+
|
|
56
|
+
Read `reference/sequence_patterns.md` for structure by scenario. Defaults:
|
|
57
|
+
|
|
58
|
+
- **Cold outreach** — 4 messages over 3 weeks
|
|
59
|
+
- **Warm or referral** — 3 messages over 2 weeks
|
|
60
|
+
- **Post-meeting follow-up** — 2 messages over 10 days
|
|
61
|
+
- **Re-engagement of a quiet customer** — 3 messages over 4 weeks
|
|
62
|
+
|
|
63
|
+
Each message in a sequence must add something new. A follow-up whose entire content is "just bumping this" trains people to ignore the sender. Give every touch a fresh reason to exist: a different angle, a relevant result, a genuinely useful piece of information, or a clean close-out.
|
|
64
|
+
|
|
65
|
+
Length rule: first message under 120 words. Owners in this segment sell to people who read on their phone between jobs.
|
|
66
|
+
|
|
67
|
+
## Step 4 — Self-check against the slop test
|
|
68
|
+
|
|
69
|
+
Before showing anything, run every draft against `reference/slop_test.md`. It catches the specific patterns that make copy read as machine-written.
|
|
70
|
+
|
|
71
|
+
The fastest checks:
|
|
72
|
+
|
|
73
|
+
- Would the owner say this sentence out loud? If not, rewrite it.
|
|
74
|
+
- Could this message be sent to any other company with two words changed? If yes, it is not personalized.
|
|
75
|
+
- Does it open with a compliment about the prospect's business? Delete it — everyone does this and everyone recognizes it.
|
|
76
|
+
- Is there a phrase here the owner has never used in their life? Cut it.
|
|
77
|
+
|
|
78
|
+
This step is not optional and it is not a formality. It is the difference between copy that gets sent and copy that gets rewritten by hand, which is the outcome the skill exists to prevent.
|
|
79
|
+
|
|
80
|
+
## Step 5 — Present for approval
|
|
81
|
+
|
|
82
|
+
Show the full sequence before anything queues. Follow `reference/output_template.md`.
|
|
83
|
+
|
|
84
|
+
Present message one in full, then the rest of the sequence with subject lines and the angle each takes. Owners want to read the first one closely and skim the shape of the rest.
|
|
85
|
+
|
|
86
|
+
**Deliver 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`):
|
|
87
|
+
|
|
88
|
+
- **Visual artifact (the default):** an HTML page in the house style — one card per prospect or sequence, each message as a copy block so any single message can be copied and sent by hand.
|
|
89
|
+
- **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.
|
|
90
|
+
- **Best for skill:** use the visual artifact — the copy blocks are the point.
|
|
91
|
+
|
|
92
|
+
Chat keeps the recap and the approval question in every case.
|
|
93
|
+
|
|
94
|
+
Then ask what to change. Expect edits — the first pass is a proposal, not a delivery. Fold every edit back into the voice profile, because a correction made once should not have to be made again.
|
|
95
|
+
|
|
96
|
+
## Step 6 — Queue sends, with approval, one gate at a time
|
|
97
|
+
|
|
98
|
+
Sending email under the owner's name is the highest-consequence action in this skill.
|
|
99
|
+
|
|
100
|
+
- **Never send without an explicit yes** for that specific batch
|
|
101
|
+
- **State exactly what will happen** before asking: how many messages, to whom, on what schedule, from which account
|
|
102
|
+
- **Never send to a contact marked "inferred"** without flagging it separately. Bounces at volume damage the owner's sending domain for months, and that damage reaches their real customer mail
|
|
103
|
+
- **Approval for message one is not approval for the sequence.** Confirm the follow-ups separately, or set them to draft and let the owner release each
|
|
104
|
+
|
|
105
|
+
**Mailchimp is a drafting destination, not a send route.** When it is connected, an approved
|
|
106
|
+
sequence can be saved into Mailchimp as campaign content for the owner to schedule there.
|
|
107
|
+
Three things govern that:
|
|
108
|
+
|
|
109
|
+
- **It cannot send.** Nothing this skill puts into Mailchimp goes out on its own. The owner presses send in Mailchimp.
|
|
110
|
+
- **Its planner refuses single campaigns.** Mailchimp's campaign planner only produces multi-channel plans — email plus SMS plus social. A one-off email is written here, in the owner's voice, and saved as content. Do not route a single message through the planner and do not report a refusal as a failure.
|
|
111
|
+
- **Do not assume you can read the audience list.** Treat the contact list as unavailable unless a call actually returns it. Build the recipient list from the CRM or the owner's own file, as today.
|
|
112
|
+
|
|
113
|
+
**Without a mail connector, run draft-only.** Produce the copy formatted to paste anywhere. This is a complete outcome, not a degraded one — plenty of owners prefer to send from their own client anyway.
|
|
114
|
+
|
|
115
|
+
## Step 7 — Log it
|
|
116
|
+
|
|
117
|
+
Log every touch to HubSpot when connected: what was sent, when, to whom, and where it sits in the sequence. Without a CRM, keep the record in a file so the next run knows who has already been contacted.
|
|
118
|
+
|
|
119
|
+
Contacting someone twice with the same opener is a visible, avoidable mistake.
|
|
120
|
+
|
|
121
|
+
## What not to do
|
|
122
|
+
|
|
123
|
+
- **Do not write before learning the voice.** Everything downstream depends on it.
|
|
124
|
+
- **Do not open with flattery about their business.** It is the single clearest tell.
|
|
125
|
+
- **Do not send a follow-up that says only "checking in."** Every touch earns its place.
|
|
126
|
+
- **Do not merge a company name into a template and call it personalized.**
|
|
127
|
+
- **Do not send anything without an explicit approval for that batch.**
|
|
128
|
+
- **Do not claim results the owner has not actually produced.** Invented case studies in outreach are a serious problem, not an exaggeration.
|
|
129
|
+
|
|
130
|
+
## After the send
|
|
131
|
+
|
|
132
|
+
The sequence is approved, queued or drafted, and every touch is logged. The natural next step is "update the CRM" — `crm-autopilot` keeps the next-step queue current as replies come in. Also nearby: "leads are going cold" (`speed-to-lead`) to catch the responses fast, and "find me customers" (`lead-finder`) when this list runs dry. Offer at most three, and skip any offer the owner already declined this session.
|
|
133
|
+
|
|
134
|
+
## Reference files
|
|
135
|
+
|
|
136
|
+
- [`../../shared/voice-profile.md`](../../shared/voice-profile.md) — the owner's voice, shared by every skill that writes in their name
|
|
137
|
+
- `reference/sequence_patterns.md` — structure and cadence by scenario
|
|
138
|
+
- `reference/slop_test.md` — the checklist that catches machine-written copy
|
|
139
|
+
- `reference/output_template.md` — how sequences are presented for approval
|
|
140
|
+
- `reference/gotchas.md` — the failure modes that get owners to stop using this
|
|
141
|
+
|
|
142
|
+
## Using a tool that isn't listed
|
|
143
|
+
|
|
144
|
+
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,213 @@
|
|
|
1
|
+
# Gotchas
|
|
2
|
+
|
|
3
|
+
The failure modes that get an owner to stop using this skill after one bad draft.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Gotcha: writing before learning the voice
|
|
8
|
+
|
|
9
|
+
**Why it matters:** The first draft is where trust is won or lost. A generically competent email confirms the owner's fear that this will sound like a bot, and they go back to writing by hand.
|
|
10
|
+
|
|
11
|
+
### Bad
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Owner: "Write these 12 prospects an intro email."
|
|
15
|
+
Claude: [writes a well-structured, entirely generic email]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Good
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Claude: [reads the shared voice profile — empty]
|
|
22
|
+
"Before I write anything, I want to sound like you. Can I read your
|
|
23
|
+
last 20 sent emails to customers? Or paste me three you were happy with."
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
One extra step, and every draft afterward inherits it.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Gotcha: a contact with a phone number and no email
|
|
31
|
+
|
|
32
|
+
**Why it matters:** Drafting an email for a contact who has no email address produces a message that can never be sent, and inventing or pattern-guessing an address for them is how a sending domain gets flagged.
|
|
33
|
+
|
|
34
|
+
### Bad
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Owner: "Write all 12."
|
|
38
|
+
Claude: [drafts 12 emails, including 3 for contacts that only have a phone number]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Good
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
3 of these have a phone number and no email. I'm not drafting email for
|
|
45
|
+
them. Two options:
|
|
46
|
+
|
|
47
|
+
· A call script — same opener, same reason for reaching out, built to say
|
|
48
|
+
· Send them back to lead-finder to look for an address first
|
|
49
|
+
|
|
50
|
+
Which?
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Never draft an email for a contact with no email address, and never guess one to make the batch look complete.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Gotcha: the compliment opener
|
|
58
|
+
|
|
59
|
+
**Why it matters:** "I've been following your work and I'm impressed by what you're building" is the most recognizable line in cold email. Everyone sends it, so it signals mass send in the first sentence, and nothing after it gets read.
|
|
60
|
+
|
|
61
|
+
### Bad
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
I came across Ridgeline Property Group and was really impressed by the
|
|
65
|
+
portfolio you've built.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Good
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Saw you filed for the Kellogg Street building. Congratulations.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
A fact beats a compliment. It also proves someone actually looked.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Gotcha: the empty follow-up
|
|
79
|
+
|
|
80
|
+
**Why it matters:** "Just bumping this to the top of your inbox" says the sender has nothing to add but wants attention anyway. It converts poorly and it costs goodwill.
|
|
81
|
+
|
|
82
|
+
### Bad
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Subject: Re: Kellogg Street
|
|
86
|
+
Hi Dana — just following up on my note below. Let me know your thoughts!
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Good
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Subject: Re: Kellogg Street
|
|
93
|
+
Hi Dana — one thing I should've mentioned. Corwin & Bay went from 9 separate
|
|
94
|
+
contracts to 1 last year, came out 14% cheaper. Same setup as yours.
|
|
95
|
+
Thanks, Ray
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Every touch earns its place or it does not go.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Gotcha: merge-field personalization
|
|
103
|
+
|
|
104
|
+
**Why it matters:** Recipients recognize a template instantly. A message that could go to any company with two words changed is not personalized, and calling it personalized is worse than sending it plain.
|
|
105
|
+
|
|
106
|
+
### Bad
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
Hi {{first_name}}, I noticed {{company}} is doing great work in the
|
|
110
|
+
{{industry}} space.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Good
|
|
114
|
+
|
|
115
|
+
Each message opens with that company's own trigger. Twelve prospects means twelve different first lines. If one has no trigger, that message is shorter and honestly cold.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Gotcha: sending without explicit approval
|
|
120
|
+
|
|
121
|
+
**Why it matters:** Email goes out under the owner's name to real customers and prospects. There is no undo. A wrong send can cost a relationship the owner has spent years on.
|
|
122
|
+
|
|
123
|
+
### Bad
|
|
124
|
+
|
|
125
|
+
Queue the sequence because the owner said "yes, looks good" about message one.
|
|
126
|
+
|
|
127
|
+
### Good
|
|
128
|
+
|
|
129
|
+
Approval is per batch and per stage. State what will happen, wait for a yes:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
4 messages to Dana Whitfield over 21 days, from ray@okonkwomechanical.com.
|
|
133
|
+
Queue it?
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Approving message one is not approving messages two through four.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Gotcha: sending to inferred addresses at volume
|
|
141
|
+
|
|
142
|
+
**Why it matters:** This is the most damaging failure here and the owner has no way to see it coming. Bounces at volume get the sending domain flagged. That degrades their real customer email for months, and nobody connects it back to an outreach batch from July.
|
|
143
|
+
|
|
144
|
+
### Bad
|
|
145
|
+
|
|
146
|
+
Send to all 12, including the 3 pattern-guessed addresses.
|
|
147
|
+
|
|
148
|
+
### Good
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
⚠ 3 of 12 contacts are inferred, not verified. Recommend confirming those
|
|
152
|
+
first — bounces at volume hurt your sending domain for months, including your
|
|
153
|
+
customer mail.
|
|
154
|
+
|
|
155
|
+
Approve all 12, or just the 9 verified?
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Give the owner the real choice. They cannot be expected to know the risk.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Gotcha: a follow-up landing after a reply
|
|
163
|
+
|
|
164
|
+
**Why it matters:** Nothing says "automated" more clearly than a "just following up" arriving two days after the recipient already answered.
|
|
165
|
+
|
|
166
|
+
### Bad
|
|
167
|
+
|
|
168
|
+
Sequence runs on schedule regardless of replies.
|
|
169
|
+
|
|
170
|
+
### Good
|
|
171
|
+
|
|
172
|
+
Any reply stops the sequence, including out-of-office until it expires. Hand the thread to the owner.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Gotcha: an invented result
|
|
177
|
+
|
|
178
|
+
**Why it matters:** "We helped a similar company cut costs 30%" in an email the owner sends under their own name is a claim they will have to defend on the call. If it is not true, that is a real problem, not a stylistic one.
|
|
179
|
+
|
|
180
|
+
### Bad
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
We've helped dozens of property managers reduce HVAC spend by up to 30%.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Where did 30% come from? Nowhere.
|
|
187
|
+
|
|
188
|
+
### Good
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
Corwin & Bay went from 9 separate contracts to 1 last year, came out 14%
|
|
192
|
+
cheaper.
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Pull the number from actual customer data, or leave the claim out. If the owner has no comparable result to cite, say what they do instead of inventing evidence.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Gotcha: making the same correction twice
|
|
200
|
+
|
|
201
|
+
**Why it matters:** An owner who has to strike "just following up" out of every batch concludes the skill is not learning and goes back to writing by hand.
|
|
202
|
+
|
|
203
|
+
### Bad
|
|
204
|
+
|
|
205
|
+
Apply the edit to this draft and move on.
|
|
206
|
+
|
|
207
|
+
### Good
|
|
208
|
+
|
|
209
|
+
Apply it, write it into the shared voice profile, and say so:
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
Cut it, and noted it in your voice profile so it won't come back.
|
|
213
|
+
```
|
package/content/small-business/skills/small-business-outreach-composer/reference/output_template.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Output Template
|
|
2
|
+
|
|
3
|
+
Present the sequence for approval before anything queues. The owner reads message one closely and skims the rest — structure the output for that.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Structure
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
## Outreach — <who it's for>
|
|
11
|
+
|
|
12
|
+
Voice: <one line on what was matched, or that a profile was just built>
|
|
13
|
+
Hook: <the specific thing this is grounded in, and its source>
|
|
14
|
+
|
|
15
|
+
### Message 1 — sends immediately
|
|
16
|
+
|
|
17
|
+
Subject: <subject>
|
|
18
|
+
|
|
19
|
+
<full message body>
|
|
20
|
+
|
|
21
|
+
### The rest of the sequence
|
|
22
|
+
|
|
23
|
+
| # | Day | Subject | Angle |
|
|
24
|
+
|---|---|---|---|
|
|
25
|
+
| 2 | +4 | <subject> | <one line> |
|
|
26
|
+
| 3 | +11 | <subject> | <one line> |
|
|
27
|
+
| 4 | +21 | <subject> | <one line> |
|
|
28
|
+
|
|
29
|
+
<Full text of messages 2–4 available on request — say the word.>
|
|
30
|
+
|
|
31
|
+
### Before this sends
|
|
32
|
+
|
|
33
|
+
<count> messages to <recipient(s)>, from <account>, over <n> days.
|
|
34
|
+
<Any contact-confidence warnings.>
|
|
35
|
+
|
|
36
|
+
Want changes, or should I queue it?
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Worked example
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
## Outreach — Ridgeline Property Group (Dana Whitfield)
|
|
45
|
+
|
|
46
|
+
Voice: Matched to your profile — short sentences, "Straight answer," "Thanks, Ray."
|
|
47
|
+
Hook: Permit filed for the Kellogg Street building, Mar 14 (county records).
|
|
48
|
+
|
|
49
|
+
### Message 1 — sends immediately
|
|
50
|
+
|
|
51
|
+
Subject: Kellogg Street
|
|
52
|
+
|
|
53
|
+
Hi Dana,
|
|
54
|
+
|
|
55
|
+
Saw you filed for the Kellogg Street building. Congratulations.
|
|
56
|
+
|
|
57
|
+
Straight answer on why I'm writing: we cover six other property managers in
|
|
58
|
+
the area on single service plans across all their buildings. Usually works out
|
|
59
|
+
cheaper than per-building contracts.
|
|
60
|
+
|
|
61
|
+
Worth 10 minutes Thursday?
|
|
62
|
+
|
|
63
|
+
Thanks, Ray
|
|
64
|
+
|
|
65
|
+
### The rest of the sequence
|
|
66
|
+
|
|
67
|
+
| # | Day | Subject | Angle |
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
| 2 | +4 | Re: Kellogg Street | Corwin & Bay went from 9 contracts to 1, saved 14% |
|
|
70
|
+
| 3 | +11 | Heads up on the code change | New commercial refrigerant rule, Jan deadline — useful either way |
|
|
71
|
+
| 4 | +21 | Last one from me | Clean close-out, door left open |
|
|
72
|
+
|
|
73
|
+
Full text of messages 2–4 available on request — say the word.
|
|
74
|
+
|
|
75
|
+
### Before this sends
|
|
76
|
+
|
|
77
|
+
4 messages to Dana Whitfield (dana.whitfield@ridgelinepg.com — verified),
|
|
78
|
+
from ray@okonkwomechanical.com, over 21 days.
|
|
79
|
+
|
|
80
|
+
Want changes, or should I queue it?
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## For a batch
|
|
86
|
+
|
|
87
|
+
When the sequence goes to a list rather than one prospect, show one fully worked example and the personalization plan:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
## Outreach — 12 prospects from the July list
|
|
91
|
+
|
|
92
|
+
Voice: Matched to your profile.
|
|
93
|
+
Structure: same 4-message sequence for all 12.
|
|
94
|
+
Personalization: each message 1 opens with that company's own trigger —
|
|
95
|
+
no shared opener, no merge-field templating.
|
|
96
|
+
|
|
97
|
+
### Fully worked example — Ridgeline Property Group
|
|
98
|
+
|
|
99
|
+
<message 1 in full>
|
|
100
|
+
|
|
101
|
+
### How the other 11 open
|
|
102
|
+
|
|
103
|
+
| Company | Message 1 opens with |
|
|
104
|
+
|---|---|
|
|
105
|
+
| Corwin & Bay | Facilities Manager posting, Apr 2 |
|
|
106
|
+
| Fairmount Commercial | Second location opened in February |
|
|
107
|
+
| Alder Ridge | No trigger found — honest cold intro, shorter |
|
|
108
|
+
| ... | |
|
|
109
|
+
|
|
110
|
+
### Before this sends
|
|
111
|
+
|
|
112
|
+
48 messages to 12 contacts over 21 days, from ray@okonkwomechanical.com.
|
|
113
|
+
|
|
114
|
+
⚠ 3 of 12 contacts are inferred, not verified: Corwin & Bay, Delta Park, Sunfield.
|
|
115
|
+
Recommend confirming those addresses first — bounces at volume hurt your
|
|
116
|
+
sending domain for months, including your customer mail.
|
|
117
|
+
|
|
118
|
+
Approve all 12, approve the 9 verified only, or make changes?
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Always separate verified from inferred in the approval.** It gives the owner a real choice instead of an all-or-nothing one, and the domain-reputation risk is not something they can be expected to know about.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Draft-only mode
|
|
126
|
+
|
|
127
|
+
With no mail connector, the deliverable is copy formatted to paste. Say so without apology:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
No mail connector, so these are drafts to paste into your own email. Send order
|
|
131
|
+
and timing are noted on each — I'll track what went out if you tell me.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Give each message a plain header with its send day so the owner can work the sequence manually.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## After edits
|
|
139
|
+
|
|
140
|
+
Fold every correction into `../../../shared/voice-profile.md`, then confirm in one line:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Updated. Cut "just following up" from message 2 and noted it in your voice
|
|
144
|
+
profile so it won't come back.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
That last clause is what makes the skill feel like it is learning rather than being re-corrected every week.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Sequence Patterns
|
|
2
|
+
|
|
3
|
+
Structure and cadence by scenario. The rule underneath all of them: every message adds something new. A touch whose only content is "checking in" teaches the recipient to ignore the sender.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Cold outreach — 4 messages, 3 weeks
|
|
8
|
+
|
|
9
|
+
| # | Day | Angle | Ceiling |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| 1 | 0 | The trigger. Why them, why now, one small ask | 120 words |
|
|
12
|
+
| 2 | +4 | A comparable result — a similar customer, a specific number | 60 words |
|
|
13
|
+
| 3 | +11 | Something genuinely useful, asking nothing | 80 words |
|
|
14
|
+
| 4 | +21 | Clean close-out. Say you'll stop, leave the door open | 40 words |
|
|
15
|
+
|
|
16
|
+
Message 3 is the one most owners skip and the one that most often works. Send something the prospect can use whether or not they ever buy — a relevant code change, a seasonal warning, a benchmark. It is the only message in the sequence that isn't asking for something, which is exactly why it gets read.
|
|
17
|
+
|
|
18
|
+
Message 4 matters too. A clean "I'll leave it here, reach out anytime" gets more replies than any of the middle touches, because it removes the pressure.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Warm or referral — 3 messages, 2 weeks
|
|
23
|
+
|
|
24
|
+
| # | Day | Angle | Ceiling |
|
|
25
|
+
|---|---|---|---|
|
|
26
|
+
| 1 | 0 | Lead with the connection by name. Ask directly | 150 words |
|
|
27
|
+
| 2 | +5 | Add the specific relevance to their situation | 70 words |
|
|
28
|
+
| 3 | +14 | Close out, and mention you'll tell the referrer you tried | 50 words |
|
|
29
|
+
|
|
30
|
+
**Name the referrer in the first line.** Burying it in paragraph two wastes the only real advantage this sequence has.
|
|
31
|
+
|
|
32
|
+
Confirm the referrer is happy to be named before sending. Using someone's name without asking can cost the owner a relationship worth more than the deal.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Post-meeting follow-up — 2 messages, 10 days
|
|
37
|
+
|
|
38
|
+
| # | Day | Angle | Ceiling |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| 1 | 0 (same day) | What was agreed, what happens next, who does what | 100 words |
|
|
41
|
+
| 2 | +7 | The specific next step, if nothing has moved | 50 words |
|
|
42
|
+
|
|
43
|
+
Same-day matters more than polish here. A short accurate recap sent within hours beats a careful one sent Monday.
|
|
44
|
+
|
|
45
|
+
If a proposal was promised, this sequence hands off to `proposal-builder` rather than trying to cover it.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Re-engagement of a quiet customer — 3 messages, 4 weeks
|
|
50
|
+
|
|
51
|
+
| # | Day | Angle | Ceiling |
|
|
52
|
+
|---|---|---|---|
|
|
53
|
+
| 1 | 0 | Acknowledge the gap honestly. No pitch | 90 words |
|
|
54
|
+
| 2 | +10 | What has changed since — new service, new hours, new capability | 80 words |
|
|
55
|
+
| 3 | +28 | A specific, time-bound reason to come back | 70 words |
|
|
56
|
+
|
|
57
|
+
The first message must not sell. A customer who went quiet often did so for a reason, and a pitch confirms they were right to. Ask what happened, and mean it.
|
|
58
|
+
|
|
59
|
+
If they answer with a complaint, stop the sequence and hand to `review-reputation` or `ticket-deflector`. Continuing to sell over a complaint is how a quiet customer becomes a public review.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Universal rules
|
|
64
|
+
|
|
65
|
+
**Stop the sequence on any reply.** Including an out-of-office, until it expires. A follow-up landing after someone already answered is the clearest possible sign of automation.
|
|
66
|
+
|
|
67
|
+
**Never send two messages in the same 48 hours.**
|
|
68
|
+
|
|
69
|
+
**Match the prospect's medium.** If they replied by text, the follow-up is a text.
|
|
70
|
+
|
|
71
|
+
**Vary the subject lines.** Four messages with the same subject stack into one thread that reads as nagging. Each subject should reflect that message's angle.
|
|
72
|
+
|
|
73
|
+
**Ceilings are ceilings, not targets.** A 40-word message that says the thing outperforms a 118-word one that circles it.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Sending windows
|
|
78
|
+
|
|
79
|
+
Send when the recipient reads, not when it is convenient to queue.
|
|
80
|
+
|
|
81
|
+
| Audience | Best window |
|
|
82
|
+
|---|---|
|
|
83
|
+
| Trades and field services | 6–8 am, or after 5 pm |
|
|
84
|
+
| Office and professional services | 8–10 am Tue–Thu |
|
|
85
|
+
| Retail and hospitality | Mid-morning, avoid weekends entirely |
|
|
86
|
+
| Healthcare practices | Early morning before clinic opens |
|
|
87
|
+
|
|
88
|
+
Avoid Monday morning and Friday afternoon for everything. Neither gets read.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## When to stop entirely
|
|
93
|
+
|
|
94
|
+
- They replied — stop, and hand to the owner
|
|
95
|
+
- They asked to be removed — stop permanently and record it
|
|
96
|
+
- The email hard-bounced — stop, and mark the contact bad so no other skill retries it
|
|
97
|
+
- Four touches with no engagement — stop. A fifth does not convert, it just annoys
|
|
98
|
+
|
|
99
|
+
Record every stop reason. The next run needs to know, and contacting someone the owner already burned is worse than not contacting them at all.
|