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.
- 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 +84 -0
- package/package.json +30 -3
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Ad Copy and Creative Briefs
|
|
2
|
+
|
|
3
|
+
How to write ads that sound like the owner, and how to hand a visual off to Canva.
|
|
4
|
+
|
|
5
|
+
Read [the shared voice profile](../../../shared/voice-profile.md) first. Ads carry the owner's name and their neighbors see them. Generic ad-speak in a local market is worse than no ad.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Three variants, three different bets
|
|
10
|
+
|
|
11
|
+
Draft three per ad slot. Each variant tests one thing, and you say what.
|
|
12
|
+
|
|
13
|
+
| Variant | Tests |
|
|
14
|
+
|---|---|
|
|
15
|
+
| A | The offer — what is being promised |
|
|
16
|
+
| B | The angle — the reason to care, usually a different pain |
|
|
17
|
+
| C | The format — question versus statement, short versus specific |
|
|
18
|
+
|
|
19
|
+
Three headlines that differ by a word teach nothing after USD 600 of spend. If the owner only wants one, give one and say which bet it is making.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## The structure that works for local service
|
|
24
|
+
|
|
25
|
+
1. **Say who it is for, in their words.** "Bergen County homeowners" beats "valued customers."
|
|
26
|
+
2. **Name the actual problem.** Specific beats broad. "AC quit in the middle of a heat wave" beats "HVAC issues."
|
|
27
|
+
3. **Say what happens next.** A real, small next step.
|
|
28
|
+
4. **One call to action.** Not three.
|
|
29
|
+
|
|
30
|
+
Under 40 words for the body on most placements. People are scrolling.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Worked example
|
|
35
|
+
|
|
36
|
+
Okonkwo Mechanical, spring tune-up campaign. Ray's voice profile: short sentences, contractions, "the work" not "solutions," never "reach out."
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Variant A — tests the offer
|
|
40
|
+
Headline: USD 89 AC Tune-Up Before the First Hot Week
|
|
41
|
+
Body: We check the whole system, clean the coils, and tell you
|
|
42
|
+
straight if anything's about to go. Takes about an hour.
|
|
43
|
+
Booking now for May.
|
|
44
|
+
CTA: Book a time
|
|
45
|
+
|
|
46
|
+
Variant B — tests the angle (fear of the July breakdown)
|
|
47
|
+
Headline: Nobody Wants To Call Us In July
|
|
48
|
+
Body: Most emergency calls we get in summer were fixable in spring
|
|
49
|
+
for a fraction of the cost. An hour now saves the 95-degree
|
|
50
|
+
phone call later.
|
|
51
|
+
CTA: Book a time
|
|
52
|
+
|
|
53
|
+
Variant C — tests the format (question, shorter)
|
|
54
|
+
Headline: When Did You Last Have The AC Looked At?
|
|
55
|
+
Body: If the answer is "no idea," it's time. USD 89, about an hour,
|
|
56
|
+
and a straight answer on what shape it's in.
|
|
57
|
+
CTA: Book a time
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
All three sound like Ray. None uses a word he has never written.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Rules that keep ads out of trouble
|
|
65
|
+
|
|
66
|
+
- **Never invent a price, guarantee, discount, or credential.** If the owner has not said it, it does not go in the ad. This is a legal exposure, not a style preference.
|
|
67
|
+
- **Never state a response time the owner cannot meet.** "We answer in 15 minutes" written into an ad becomes a promise they will be held to.
|
|
68
|
+
- **Avoid superlatives the owner cannot back.** "Best in the county" invites a challenge and reads as noise.
|
|
69
|
+
- **Match the ad to the landing page.** An ad promising USD 89 that lands on a page with no price is the fastest way to waste a budget.
|
|
70
|
+
- **Watch platform rules.** Personal attributes, health claims, and before-and-after imagery are restricted on most platforms. A rejected ad wastes days.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Creative briefs
|
|
75
|
+
|
|
76
|
+
When Canva is connected, generate the asset. When it is not, the brief is the deliverable — hand it to the owner or their designer and it is complete work.
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Creative brief — Spring Tune-Up, Variant B
|
|
80
|
+
|
|
81
|
+
Message: The July emergency call you can avoid in May
|
|
82
|
+
Format: Square 1080x1080 for feed, 1080x1920 for stories
|
|
83
|
+
Visual: Technician at an outdoor condenser unit, daylight, real work
|
|
84
|
+
clothes. Not stock-photo polished.
|
|
85
|
+
Text on art: "Nobody wants to call us in July" — large, top third
|
|
86
|
+
Secondary: "USD 89 spring tune-up" — bottom, smaller
|
|
87
|
+
Brand: Okonkwo Mechanical logo bottom right. Navy and white.
|
|
88
|
+
Avoid: Cartoon thermometers, sweating-emoji visuals, stock smiling
|
|
89
|
+
families in living rooms
|
|
90
|
+
Deliverables: Both sizes, PNG
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Confirm brand colors, logo, and fonts against what the owner has actually used before. If none is on file, ask once and note it, rather than picking.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Sizes worth having on hand
|
|
98
|
+
|
|
99
|
+
| Placement | Size |
|
|
100
|
+
|---|---|
|
|
101
|
+
| Feed, square | 1080 x 1080 |
|
|
102
|
+
| Feed, portrait | 1080 x 1350 |
|
|
103
|
+
| Stories and Reels, TikTok | 1080 x 1920 |
|
|
104
|
+
| Right column and misc | 1200 x 628 |
|
|
105
|
+
|
|
106
|
+
Generate the square and the vertical at minimum. Vertical placements are where most of the cheap impressions live, and a square image stretched into a vertical slot looks like a mistake.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## After the ads run
|
|
111
|
+
|
|
112
|
+
Come back with the variant comparison against the minimum volumes in `diagnostics.md` — 1,000 impressions and 15 results per variant before naming a winner. Then say what the winner taught, not just which one won: "the fear-of-July angle beat the price angle by 40%, so lead with consequence, not discount, in the next round."
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Change Playbook
|
|
2
|
+
|
|
3
|
+
The changes worth making, and the approval gate each one needs before it happens.
|
|
4
|
+
|
|
5
|
+
Every change in this file spends, stops, or redirects the owner's money. Recommending one is free. Making one requires a fresh yes.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## The approval block
|
|
10
|
+
|
|
11
|
+
Same shape every time, dollars first. The owner should be able to decide without scrolling.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Change: <what, named exactly as it appears in the ad account>
|
|
15
|
+
Costs today: <$ per month at current settings>
|
|
16
|
+
After: <$ per month after the change>
|
|
17
|
+
Net: <$ change per month, plus the expected effect on results>
|
|
18
|
+
Reversible: <Yes or No, and how>
|
|
19
|
+
Proceed?
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Rules that make this work:
|
|
23
|
+
|
|
24
|
+
- **One change, one block, one yes.** Never bundle. An owner approving "the plan" has not approved five separate spends.
|
|
25
|
+
- **Absolute dollars always.** A percentage may appear beside the dollars, never instead of them.
|
|
26
|
+
- **Monthly, not daily.** Ad platforms speak in daily budgets; owners think in monthly bills. Convert, and show both when they differ meaningfully.
|
|
27
|
+
- **State the expected loss too.** Saving USD 1,400 by pausing a campaign also stops roughly 12 leads a month. An owner who only hears the saving will be angry in three weeks.
|
|
28
|
+
- **A yes expires.** If the conversation moves on and comes back, ask again.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Budget changes
|
|
33
|
+
|
|
34
|
+
**When to increase.** Cost per result is stable or improving, frequency is under 3, and the campaign has 30+ days of history. Increase by no more than 20-30% at a time — larger jumps reset the platform's learning and results get worse before they get better. Say this, because the owner will otherwise ask why not double it.
|
|
35
|
+
|
|
36
|
+
**When to decrease.** Cost per result is 40%+ worse than the trailing average, or frequency is above 4 with falling CTR.
|
|
37
|
+
|
|
38
|
+
**When to leave it alone.** Under the minimum volumes in `diagnostics.md`. Most weeks, the right answer is no change.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Change: Increase daily budget on "Spring Tune-Up" from USD 60 to USD 75
|
|
42
|
+
Costs today: USD 1,840 a month
|
|
43
|
+
After: USD 2,300 a month
|
|
44
|
+
Net: +USD 460 a month. At the current USD 54 per lead that's about 8 more
|
|
45
|
+
leads a month, if efficiency holds. It usually slips a little.
|
|
46
|
+
Reversible: Yes, immediately
|
|
47
|
+
Proceed?
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Pausing and restarting
|
|
53
|
+
|
|
54
|
+
Pausing is the safest change and the one owners most want. It still needs a gate, because it stops lead flow.
|
|
55
|
+
|
|
56
|
+
Never pause the only campaign producing results, even if it looks expensive, without saying plainly that it is the only one working.
|
|
57
|
+
|
|
58
|
+
Restarting is not free either. A restarted campaign re-enters the learning period and performs worse for several days. Say so.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Targeting changes
|
|
63
|
+
|
|
64
|
+
Higher risk than budget changes, because the effect is not obvious and not instantly reversible in practice — the audience data resets.
|
|
65
|
+
|
|
66
|
+
Worth doing:
|
|
67
|
+
|
|
68
|
+
- **Narrowing geography** to the area the owner actually services. Money spent on people 90 minutes outside the service radius is pure waste and this is the single most common fixable leak in local accounts.
|
|
69
|
+
- **Excluding existing customers** from acquisition campaigns.
|
|
70
|
+
- **Widening an exhausted audience** when frequency is above 4 — a broader audience beats a new creative on a burnt one.
|
|
71
|
+
|
|
72
|
+
Not worth doing: stacking narrow interest filters. Small audiences cost more per result and the platform's own targeting usually beats hand-built layers.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Change: Narrow "Emergency Repair" geography from 50 miles to 25 miles
|
|
76
|
+
Costs today: USD 860 a month, 7 leads, USD 123 each
|
|
77
|
+
After: Same USD 860 budget, spent on a tighter area
|
|
78
|
+
Net: No spend change. Roughly 30% of impressions were outside the
|
|
79
|
+
service area, so expect cost per lead to fall. Volume may dip
|
|
80
|
+
for a week while it re-learns.
|
|
81
|
+
Reversible: Yes, but the audience learning restarts
|
|
82
|
+
Proceed?
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Publishing a new ad
|
|
88
|
+
|
|
89
|
+
**The highest-risk action in this skill.** It is public, it carries the owner's brand, and it begins spending money the moment it goes live.
|
|
90
|
+
|
|
91
|
+
Before the gate, show the owner the complete ad exactly as it will appear: headline, body, image or brief, destination link, call to action, audience, and budget.
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Change: Publish new ad "Tune-Up — Straight Answer v2" to Spring Tune-Up
|
|
95
|
+
Headline: <exact text>
|
|
96
|
+
Body: <exact text>
|
|
97
|
+
Image: <the Canva asset, or the brief if Canva is not connected>
|
|
98
|
+
Goes to: <exact destination URL>
|
|
99
|
+
Costs today: USD 0 — new ad
|
|
100
|
+
After: Shares the existing USD 1,840 monthly campaign budget
|
|
101
|
+
Net: No new spend. Splits budget with the 2 ads already running.
|
|
102
|
+
Reversible: Yes, pause any time
|
|
103
|
+
Proceed?
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Three checks before publishing, every time:
|
|
107
|
+
|
|
108
|
+
1. **The destination link works** and goes where the ad promises. A broken link burns the whole budget on nothing.
|
|
109
|
+
2. **Every claim in the copy is true.** Prices, guarantees, response times, licenses. The owner is legally responsible for what the ad says.
|
|
110
|
+
3. **No claim the owner did not make.** Never invent a guarantee, a discount, or a credential to make the copy stronger.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## In CSV mode
|
|
115
|
+
|
|
116
|
+
Same blocks, same dollars, same one-at-a-time discipline. The only difference is the last line: instead of "Proceed?" it is a click path.
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
To make this change:
|
|
120
|
+
1. Ads Manager, Campaigns tab
|
|
121
|
+
2. Click "Spring Tune-Up"
|
|
122
|
+
3. Edit, then Budget
|
|
123
|
+
4. Change Daily Budget from USD 60.00 to USD 75.00
|
|
124
|
+
5. Publish
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Then offer to check back in two weeks and read the next export.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Data Sources
|
|
2
|
+
|
|
3
|
+
Where the numbers come from, how to get them without a connector, and how to reconcile the two stories they tell.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Connectors
|
|
8
|
+
|
|
9
|
+
| Source | Status | What to pull |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| Canva | Available | Creative asset generation from a written brief |
|
|
12
|
+
| TikTok Ads | The native connected path (TikTok MCP) | Spend, impressions, clicks, results, cost per result — at campaign, ad group, and ad level |
|
|
13
|
+
| Google Ads | No native connector — reached through a Zapier connection built with `build-connector`, offered once when the owner runs ads there | Whatever the connected Zapier actions expose. CSV export still works when no connection exists |
|
|
14
|
+
| HubSpot | Optional but high value | Leads by source, deals closed by source — the truth check on platform claims |
|
|
15
|
+
| QuickBooks, Shopify, Square | Optional | Revenue actually collected in the period |
|
|
16
|
+
|
|
17
|
+
**Check before assuming.** If a TikTok call or a Zapier action fails, do not retry in a loop and do not stall. Say the path is not available, switch to the export path, and keep going. Never call a platform with no native connector directly — it runs through a built Zapier connection or a CSV.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## The CSV export path
|
|
22
|
+
|
|
23
|
+
This is the common path. Treat it as the default, not the fallback.
|
|
24
|
+
|
|
25
|
+
### What to ask for, in the owner's words
|
|
26
|
+
|
|
27
|
+
- **Google Ads:** "In Google Ads, go to Campaigns, set the date range to last 30 days, click the download icon, choose CSV."
|
|
28
|
+
- **TikTok:** "Ads Manager, Campaign tab, Export, last 30 days."
|
|
29
|
+
|
|
30
|
+
Ask for 90 days too when the question is about trend rather than this month. Say why: "30 days tells us where we are, 90 tells us which way it's moving."
|
|
31
|
+
|
|
32
|
+
### Reading the file
|
|
33
|
+
|
|
34
|
+
Header names differ by platform and by export settings. Map, do not assume.
|
|
35
|
+
|
|
36
|
+
| What you need | Common column names |
|
|
37
|
+
|---|---|
|
|
38
|
+
| Spend | `Amount spent (USD)`, `Cost`, `Total spent` |
|
|
39
|
+
| Impressions | `Impressions`, `Impr.` |
|
|
40
|
+
| Clicks | `Clicks (all)`, `Link clicks`, `Clicks` |
|
|
41
|
+
| Results | `Results`, `Conversions`, `Leads`, `Purchases` |
|
|
42
|
+
| Cost per result | `Cost per result`, `Cost / conv.` — or compute it |
|
|
43
|
+
| Reach and frequency | `Reach`, `Frequency` |
|
|
44
|
+
| Date range | Usually in a header row above the table, not a column |
|
|
45
|
+
|
|
46
|
+
**Two traps in real exports.** First, `Results` can mean different things per campaign — one row's result is a lead form, another's is a page view. Check the `Result type` column if it exists; if it does not, say the results are not comparable across campaigns rather than summing them. Second, currency symbols and thousands separators arrive as text. Strip them before arithmetic.
|
|
47
|
+
|
|
48
|
+
If a column you need is absent, name it: "This export has spend and clicks but no conversion column, so I can tell you what traffic cost and nothing about what it produced." Then offer the export setting that would include it.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Reconciling platform numbers against the CRM
|
|
53
|
+
|
|
54
|
+
The two will never match. The gap is information, not an error.
|
|
55
|
+
|
|
56
|
+
**Why platforms report more:**
|
|
57
|
+
|
|
58
|
+
- View-through conversions — someone saw the ad, did not click, bought later
|
|
59
|
+
- Cross-device attribution the CRM cannot see
|
|
60
|
+
- Attribution windows, often 7 days after a click and 1 day after a view
|
|
61
|
+
- Each platform claims the same conversion when a customer touched several ads
|
|
62
|
+
|
|
63
|
+
**Why the CRM reports fewer:**
|
|
64
|
+
|
|
65
|
+
- The source field is blank on records created by hand
|
|
66
|
+
- Phone calls and walk-ins carry no digital source at all
|
|
67
|
+
- Form fills that never became a CRM record
|
|
68
|
+
|
|
69
|
+
### The method
|
|
70
|
+
|
|
71
|
+
1. Pull platform-reported results per campaign
|
|
72
|
+
2. Pull CRM leads and closed deals with that source, over the same dates
|
|
73
|
+
3. Show both, side by side, labeled by who reported them
|
|
74
|
+
4. Give the owner one number to steer by — cost per closed job from the CRM — and label the platform figure as the optimistic bound
|
|
75
|
+
|
|
76
|
+
### Report it like this
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Paid social — Spring Tune-Up
|
|
80
|
+
Spend USD 1,840
|
|
81
|
+
Platform says 34 conversions, USD 54 each
|
|
82
|
+
CRM says 19 leads tagged to it, 6 became jobs
|
|
83
|
+
Cost per real job USD 307
|
|
84
|
+
The gap The platform counts people who saw the ad and called
|
|
85
|
+
later. The CRM only counts what got tagged.
|
|
86
|
+
Real number is probably between the two,
|
|
87
|
+
closer to the CRM.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Never publish one blended figure. Owners forward these numbers to partners and lenders.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## When there is no tracking at all
|
|
95
|
+
|
|
96
|
+
Plenty of small accounts run ads with no pixel and no conversion event. Clicks are the only signal.
|
|
97
|
+
|
|
98
|
+
Say it plainly: "There's no conversion tracking on this account, so nobody — not me, not the platform — can tell you what these ads produced. We can compare cost per click across campaigns, which tells you which creative got attention, and that is all it tells you."
|
|
99
|
+
|
|
100
|
+
Then offer the fix as the first recommendation, ahead of any budget change. Tracking before optimization; otherwise every later recommendation rests on nothing.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Diagnostics
|
|
2
|
+
|
|
3
|
+
How to read an ad account without fooling yourself. Cutoffs, minimum volumes, and what each signal actually means.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Minimum data before you draw a conclusion
|
|
8
|
+
|
|
9
|
+
Small accounts produce noisy numbers. Most bad ad advice is a two-week swing read as a trend.
|
|
10
|
+
|
|
11
|
+
| Decision | Minimum before you call it |
|
|
12
|
+
|---|---|
|
|
13
|
+
| Pause a campaign | 30 days, or 50 results, whichever comes first |
|
|
14
|
+
| Declare a creative a winner | 1,000 impressions and 15 results per variant |
|
|
15
|
+
| Call a cost-per-result trend real | 3 consecutive weeks in the same direction |
|
|
16
|
+
| Judge a brand-new campaign | 7 days minimum — platforms need a learning period |
|
|
17
|
+
| Shift budget between campaigns | 30 days of both running |
|
|
18
|
+
|
|
19
|
+
Below these, say so: "Two weeks and 9 leads is not enough to call this. Here's what it looks like so far, and what I'd want before changing anything."
|
|
20
|
+
|
|
21
|
+
Seasonality matters more than owners expect. An HVAC account in a July heat wave is not the same account in October. Compare to the same weeks last year when the data exists, and say when it does not.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## The metrics, and what they actually tell you
|
|
26
|
+
|
|
27
|
+
| Metric | What it answers | Where it misleads |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Spend | What it cost | Nothing on its own |
|
|
30
|
+
| Impressions | How many times it showed | Rewards cheap, worthless audiences |
|
|
31
|
+
| Frequency | Times the average person saw it | Above 3-4 in a month means the audience is exhausted |
|
|
32
|
+
| CTR | Whether the creative earns attention | A great CTR to a bad landing page still produces nothing |
|
|
33
|
+
| Cost per click | Cost of attention | Says nothing about quality |
|
|
34
|
+
| Cost per result | The working number | Only meaningful if the result is defined the same way across campaigns |
|
|
35
|
+
| Cost per closed job | The number that matters | Needs CRM data; often unavailable |
|
|
36
|
+
| Return on spend | Revenue divided by spend | Only for commerce with reliable purchase tracking |
|
|
37
|
+
|
|
38
|
+
Lead with cost per result when tracking exists. Lead with cost per closed job when the CRM can supply it. Never lead with impressions.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Status cutoffs
|
|
43
|
+
|
|
44
|
+
Relative to the account's own trailing 90-day average, not to an industry benchmark. Benchmarks from the internet do not know this owner's market.
|
|
45
|
+
|
|
46
|
+
| Status | Rule |
|
|
47
|
+
|---|---|
|
|
48
|
+
| Working | Cost per result within 15% of the trailing average or better, volume steady or rising |
|
|
49
|
+
| Watch | Cost per result 15-40% worse, or frequency above 3, or volume falling two weeks running |
|
|
50
|
+
| Problem | Cost per result more than 40% worse, or spending with zero results for 14+ days |
|
|
51
|
+
| No verdict | No conversion tracking, or below the minimum volume above |
|
|
52
|
+
|
|
53
|
+
**No verdict is a real status.** Use it. It is far better than a confident judgment on nothing.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## The signals that carry real meaning
|
|
58
|
+
|
|
59
|
+
**Rising spend with rising cost per result.** The audience is running out. More budget buys worse results, not more of the same. This is the most common misread in the whole discipline.
|
|
60
|
+
|
|
61
|
+
**Frequency climbing while CTR falls.** Creative fatigue. The same people are seeing the same ad repeatedly and have stopped noticing. The fix is new creative, not more money.
|
|
62
|
+
|
|
63
|
+
**Strong CTR with weak conversion.** The ad is doing its job; the landing page or the offer is not. Do not touch the ad.
|
|
64
|
+
|
|
65
|
+
**One campaign carrying the account.** Check what share of results comes from the top campaign. Above 70% means the account is fragile — one policy flag or audience burnout takes the whole thing down.
|
|
66
|
+
|
|
67
|
+
**Results steady, cost per result rising slowly.** Usually auction pressure — competitors bidding more — not a broken campaign. Says the channel is getting more expensive, which is a pricing conversation, not an optimization one.
|
|
68
|
+
|
|
69
|
+
**Everything looks fine but the phone is quiet.** Trust the phone. Check whether the lead form is broken, whether leads are going to a mailbox nobody reads, and whether the tracking is double-counting.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Worked read
|
|
74
|
+
|
|
75
|
+
Okonkwo Mechanical, 30 days, paid social:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
Account USD 3,100 spent, 41 leads, USD 76 each
|
|
79
|
+
Trailing 90-day average: USD 58 each. 31% worse. Watch.
|
|
80
|
+
|
|
81
|
+
Spring Tune-Up USD 1,840, 34 leads, USD 54 each. Frequency 2.1. Working.
|
|
82
|
+
Emergency Repair $ 860, 7 leads, USD 123 each. Frequency 4.6. Problem.
|
|
83
|
+
Frequency says this audience is used up, not that the
|
|
84
|
+
offer is wrong.
|
|
85
|
+
Brand Awareness $ 400, 0 leads. No conversion event on this campaign.
|
|
86
|
+
No verdict — it was never set up to be measured.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The story in one sentence: the account looks 31% worse than usual, and almost all of that is one saturated campaign plus USD 400 a month going somewhere nobody is measuring.
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Gotchas
|
|
2
|
+
|
|
3
|
+
Failure modes that waste an owner's ad budget. Every one of these has a dollar figure attached in the real world, which is why this skill gates execution so tightly.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Gotcha: executing a percentage change without stating the dollars
|
|
8
|
+
|
|
9
|
+
**Why it matters:** "Cut it by 30%" is a number the owner cannot feel. They approve it, then see the bill and realize they agreed to something they never pictured. Every executed change must state the absolute monthly dollars before and after.
|
|
10
|
+
|
|
11
|
+
### Bad
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Recommend reducing the retargeting budget by 30%. Proceed?
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Good
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Change: Reduce "Retargeting — All Visitors" daily budget
|
|
21
|
+
Costs today: USD 1,200 a month (USD 40/day)
|
|
22
|
+
After: USD 840 a month (USD 28/day)
|
|
23
|
+
Net: Saves USD 360 a month. Expect roughly 4 fewer leads a month.
|
|
24
|
+
Reversible: Yes, immediately
|
|
25
|
+
Proceed?
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The percentage can stay. It just cannot travel alone.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Gotcha: bundling changes behind one approval
|
|
33
|
+
|
|
34
|
+
**Why it matters:** An owner who says yes to "the plan" has not said yes to five separate money decisions. Bundling is how a USD 400 adjustment turns into a USD 2,000 one that nobody remembers agreeing to.
|
|
35
|
+
|
|
36
|
+
### Bad
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Here's the plan: pause Emergency Repair, raise Spring Tune-Up to USD 75/day,
|
|
40
|
+
narrow the geography, and publish two new ads. Sound good?
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Good
|
|
44
|
+
|
|
45
|
+
Four separate blocks, four separate yeses, in priority order. Start with the one that saves money, since it is the easiest to approve and it funds the rest.
|
|
46
|
+
|
|
47
|
+
If the owner says "just do all of it," restate the total dollar impact in one line and get a yes on that number specifically — "that's USD 860 saved and USD 460 added, net saving USD 400 a month, four changes. Confirm?"
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Gotcha: reporting one ROI number as fact
|
|
52
|
+
|
|
53
|
+
**Why it matters:** Owners ask for "the exact ROI of every campaign." The honest answer is that no such number exists — the platform and the CRM measure different things and always disagree. A single confident figure is fiction, and owners take these numbers to lenders and partners.
|
|
54
|
+
|
|
55
|
+
### Bad
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
Paid social ROI: 4.2x
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Good
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Paid social — Spring Tune-Up, USD 1,840 spent
|
|
65
|
+
Platform reports 34 conversions
|
|
66
|
+
CRM shows 19 leads tagged to it, 6 closed, USD 9,400 in jobs
|
|
67
|
+
By the CRM 5.1x return, USD 307 per closed job
|
|
68
|
+
By its count It would look better, because the platform counts people who saw
|
|
69
|
+
the ad and called later without clicking.
|
|
70
|
+
Steer by The CRM number. It's the conservative one and it's the
|
|
71
|
+
one tied to money you actually collected.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Gotcha: recommending more spend on a channel that is saturating
|
|
77
|
+
|
|
78
|
+
**Why it matters:** Rising spend with rising cost per result means the audience is running out. "It's working, spend more" is the most expensive wrong call in paid ads.
|
|
79
|
+
|
|
80
|
+
### Bad
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Spring Tune-Up drove 34 leads, up from 21. Recommend doubling the budget.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Spend went from USD 900 to USD 1,840 and cost per lead went from USD 43 to USD 54.
|
|
87
|
+
|
|
88
|
+
### Good
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Volume is up because spend is up. Cost per lead went from USD 43 to USD 54 over the
|
|
92
|
+
same period, so each extra dollar is buying less. Raise it 20% at most, to
|
|
93
|
+
USD 2,200 a month, and watch cost per lead for two weeks. If it holds under USD 60,
|
|
94
|
+
raise again. If it crosses USD 65, the audience is done and new creative beats
|
|
95
|
+
new budget.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Gotcha: judging a campaign that was never set up to be measured
|
|
101
|
+
|
|
102
|
+
**Why it matters:** Plenty of campaigns run with no conversion event. Grading them on clicks produces a confident verdict about nothing, and budget moves off it.
|
|
103
|
+
|
|
104
|
+
### Bad
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Brand Awareness: 2,400 clicks at USD 0.17. Best performing campaign — scale it.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Good
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Brand Awareness: USD 400 spent, 2,400 clicks, zero conversion tracking. No
|
|
114
|
+
verdict — this campaign was never set up to report results, so nobody can
|
|
115
|
+
say what it produced. Cheapest clicks in the account, which usually means
|
|
116
|
+
the cheapest attention. First recommendation is to add a conversion event,
|
|
117
|
+
then give it 30 days.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Gotcha: publishing an ad with a claim the owner never made
|
|
123
|
+
|
|
124
|
+
**Why it matters:** Ad copy is a public promise the owner is legally responsible for. An invented guarantee or price is a liability, not a creative flourish.
|
|
125
|
+
|
|
126
|
+
### Bad
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Headline: 100% Satisfaction Guaranteed — Same-Day Service, Always
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Neither the guarantee nor the same-day promise exists anywhere in what the owner said.
|
|
133
|
+
|
|
134
|
+
### Good
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Headline: USD 89 AC Tune-Up Before the First Hot Week
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Only what the owner actually offers. If a stronger claim would help, ask whether it is true rather than writing it and hoping.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Gotcha: reading two weeks as a trend
|
|
145
|
+
|
|
146
|
+
**Why it matters:** Small accounts swing hard week to week. Half of all "the ads stopped working" panics are normal variance, and reacting to them destroys the platform's learning and makes results genuinely worse.
|
|
147
|
+
|
|
148
|
+
### Bad
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
Cost per lead jumped from USD 54 to USD 89 this week. Pause the campaign.
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Good
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
Cost per lead was USD 89 this week against a USD 54 average — but that's 6 leads on
|
|
158
|
+
a rainy week, which is inside normal swing for this account. Nothing to do
|
|
159
|
+
yet. If it stays above USD 70 for three straight weeks, that's real and we act.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Gotcha: treating the CSV path as a downgrade
|
|
165
|
+
|
|
166
|
+
**Why it matters:** Most owners will not have an ad connector. If the export path feels like an apology, the skill is broken for the majority of the people using it.
|
|
167
|
+
|
|
168
|
+
### Bad
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
I can't access your ad account, so I can only do a limited review.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Good
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
No ad connector on this account, so we'll work from your export — same
|
|
178
|
+
analysis either way. In your ads platform: export the last 30 days as a CSV,
|
|
179
|
+
broken down by campaign. Send me that file and I'll have the read and the
|
|
180
|
+
recommended changes back to you, with the exact clicks to make each one.
|
|
181
|
+
```
|