conectese 0.1.14
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/README.md +265 -0
- package/_conectese/.conectese-version +1 -0
- package/_conectese/config/playwright.config.json +11 -0
- package/_conectese/core/architect.agent.yaml +110 -0
- package/_conectese/core/best-practices/_catalog.yaml +116 -0
- package/_conectese/core/best-practices/blog-post.md +132 -0
- package/_conectese/core/best-practices/blog-seo.md +127 -0
- package/_conectese/core/best-practices/copywriting.md +426 -0
- package/_conectese/core/best-practices/data-analysis.md +401 -0
- package/_conectese/core/best-practices/email-newsletter.md +118 -0
- package/_conectese/core/best-practices/email-sales.md +110 -0
- package/_conectese/core/best-practices/image-design.md +348 -0
- package/_conectese/core/best-practices/instagram-feed.md +235 -0
- package/_conectese/core/best-practices/instagram-reels.md +112 -0
- package/_conectese/core/best-practices/instagram-stories.md +107 -0
- package/_conectese/core/best-practices/linkedin-article.md +116 -0
- package/_conectese/core/best-practices/linkedin-post.md +121 -0
- package/_conectese/core/best-practices/researching.md +349 -0
- package/_conectese/core/best-practices/review.md +269 -0
- package/_conectese/core/best-practices/social-networks-publishing.md +294 -0
- package/_conectese/core/best-practices/strategist.md +344 -0
- package/_conectese/core/best-practices/technical-writing.md +365 -0
- package/_conectese/core/best-practices/twitter-post.md +105 -0
- package/_conectese/core/best-practices/twitter-thread.md +122 -0
- package/_conectese/core/best-practices/whatsapp-broadcast.md +107 -0
- package/_conectese/core/best-practices/youtube-script.md +122 -0
- package/_conectese/core/best-practices/youtube-shorts.md +112 -0
- package/_conectese/core/prompts/build.prompt.md +547 -0
- package/_conectese/core/prompts/design.prompt.md +469 -0
- package/_conectese/core/prompts/discovery.prompt.md +269 -0
- package/_conectese/core/prompts/sherlock-instagram.md +123 -0
- package/_conectese/core/prompts/sherlock-linkedin.md +73 -0
- package/_conectese/core/prompts/sherlock-shared.md +684 -0
- package/_conectese/core/prompts/sherlock-twitter.md +78 -0
- package/_conectese/core/prompts/sherlock-youtube.md +85 -0
- package/_conectese/core/runner.pipeline.md +535 -0
- package/_conectese/core/skills.engine.md +381 -0
- package/agents/data-extractor/AGENT.md +13 -0
- package/agents/direito-adaneiro/AGENT.md +18 -0
- package/agents/direito-administrativo/AGENT.md +18 -0
- package/agents/direito-aeroporta-rio/AGENT.md +18 -0
- package/agents/direito-agra-rio/AGENT.md +18 -0
- package/agents/direito-ambiental/AGENT.md +18 -0
- package/agents/direito-banca-rio/AGENT.md +18 -0
- package/agents/direito-civil/AGENT.md +18 -0
- package/agents/direito-constitcional/AGENT.md +18 -0
- package/agents/direito-da-crianc-a-e-do-adolescente-eca/AGENT.md +18 -0
- package/agents/direito-da-propriedade-intelectal/AGENT.md +18 -0
- package/agents/direito-de-ami-lia/AGENT.md +18 -0
- package/agents/direito-de-tra-nsito/AGENT.md +18 -0
- package/agents/direito-desportivo/AGENT.md +18 -0
- package/agents/direito-digital/AGENT.md +18 -0
- package/agents/direito-do-consmidor/AGENT.md +18 -0
- package/agents/direito-do-trabalho/AGENT.md +18 -0
- package/agents/direito-econo-mico/AGENT.md +18 -0
- package/agents/direito-eleitoral/AGENT.md +18 -0
- package/agents/direito-empresarial/AGENT.md +18 -0
- package/agents/direito-imobilia-rio/AGENT.md +18 -0
- package/agents/direito-inanceiro/AGENT.md +18 -0
- package/agents/direito-internacional/AGENT.md +18 -0
- package/agents/direito-mari-timo/AGENT.md +18 -0
- package/agents/direito-me-dico-e-da-sa-de/AGENT.md +18 -0
- package/agents/direito-militar/AGENT.md +18 -0
- package/agents/direito-ndia-rio/AGENT.md +18 -0
- package/agents/direito-notarial-e-registral/AGENT.md +18 -0
- package/agents/direito-penal/AGENT.md +18 -0
- package/agents/direito-previdencia-rio/AGENT.md +18 -0
- package/agents/direito-processal-civil/AGENT.md +18 -0
- package/agents/direito-processal-do-trabalho/AGENT.md +18 -0
- package/agents/direito-processal-militar/AGENT.md +18 -0
- package/agents/direito-processal-penal/AGENT.md +18 -0
- package/agents/direito-rbani-stico/AGENT.md +18 -0
- package/agents/direito-secrita-rio/AGENT.md +18 -0
- package/agents/direito-sindical/AGENT.md +18 -0
- package/agents/direito-societa-rio/AGENT.md +18 -0
- package/agents/direito-tribta-rio/AGENT.md +18 -0
- package/agents/direitos-hmanos/AGENT.md +18 -0
- package/agents/legal-analyst/AGENT.md +16 -0
- package/agents/legal-synthesizer/AGENT.md +13 -0
- package/agents/lgpd-anonymizer/AGENT.md +14 -0
- package/agents/lgpd-restorer/AGENT.md +14 -0
- package/agents/task-router/AGENT.md +13 -0
- package/bin/conectese.js +73 -0
- package/dashboard/index.html +12 -0
- package/dashboard/package-lock.json +1971 -0
- package/dashboard/package.json +28 -0
- package/dashboard/public/assets/avatars/Female1_1wave.png +0 -0
- package/dashboard/public/assets/avatars/Female1_2wave.png +0 -0
- package/dashboard/public/assets/avatars/Female1_blink.png +0 -0
- package/dashboard/public/assets/avatars/Female1_talk.png +0 -0
- package/dashboard/public/assets/avatars/Female2_1wave.png +0 -0
- package/dashboard/public/assets/avatars/Female2_2wave.png +0 -0
- package/dashboard/public/assets/avatars/Female2_blink.png +0 -0
- package/dashboard/public/assets/avatars/Female2_talk.png +0 -0
- package/dashboard/public/assets/avatars/Female3_blink.png +0 -0
- package/dashboard/public/assets/avatars/Female3_talk.png +0 -0
- package/dashboard/public/assets/avatars/Female3_wave.png +0 -0
- package/dashboard/public/assets/avatars/Female4_blink.png +0 -0
- package/dashboard/public/assets/avatars/Female4_talk.png +0 -0
- package/dashboard/public/assets/avatars/Female4_wave.png +0 -0
- package/dashboard/public/assets/avatars/Female5_blink.png +0 -0
- package/dashboard/public/assets/avatars/Female5_talk.png +0 -0
- package/dashboard/public/assets/avatars/Female5_wave.png +0 -0
- package/dashboard/public/assets/avatars/Female6_blink.png +0 -0
- package/dashboard/public/assets/avatars/Female6_talk.png +0 -0
- package/dashboard/public/assets/avatars/Female6_wave.png +0 -0
- package/dashboard/public/assets/avatars/Male1_1wave.png +0 -0
- package/dashboard/public/assets/avatars/Male1_2wave.png +0 -0
- package/dashboard/public/assets/avatars/Male1_blink.png +0 -0
- package/dashboard/public/assets/avatars/Male1_talk.png +0 -0
- package/dashboard/public/assets/avatars/Male2_1wave.png +0 -0
- package/dashboard/public/assets/avatars/Male2_2wave.png +0 -0
- package/dashboard/public/assets/avatars/Male2_blink.png +0 -0
- package/dashboard/public/assets/avatars/Male2_talk.png +0 -0
- package/dashboard/public/assets/avatars/Male3_blink.png +0 -0
- package/dashboard/public/assets/avatars/Male3_talk.png +0 -0
- package/dashboard/public/assets/avatars/Male3_wave.png +0 -0
- package/dashboard/public/assets/avatars/Male4_blink.png +0 -0
- package/dashboard/public/assets/avatars/Male4_talk.png +0 -0
- package/dashboard/public/assets/avatars/Male4_wave.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_black_down.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_black_down_coding-1.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_black_down_coding.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_black_up.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_white_down.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_white_down_coding-1.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_white_down_coding.png +0 -0
- package/dashboard/public/assets/desks/desktop_set_white_up.png +0 -0
- package/dashboard/public/assets/furniture/armchair_tan.png +0 -0
- package/dashboard/public/assets/furniture/armchair_tan_down.png +0 -0
- package/dashboard/public/assets/furniture/backpack_blue.png +0 -0
- package/dashboard/public/assets/furniture/backpack_red.png +0 -0
- package/dashboard/public/assets/furniture/blinds.png +0 -0
- package/dashboard/public/assets/furniture/blinds_large_closed_white.png +0 -0
- package/dashboard/public/assets/furniture/bookshelf.png +0 -0
- package/dashboard/public/assets/furniture/bookshelf_purple_tall.png +0 -0
- package/dashboard/public/assets/furniture/bulletin_board.png +0 -0
- package/dashboard/public/assets/furniture/clock.png +0 -0
- package/dashboard/public/assets/furniture/coffee_mug.png +0 -0
- package/dashboard/public/assets/furniture/coffee_mug_blue.png +0 -0
- package/dashboard/public/assets/furniture/coffee_table.png +0 -0
- package/dashboard/public/assets/furniture/coffeepot_right.png +0 -0
- package/dashboard/public/assets/furniture/coffeetable_black_horizontal.png +0 -0
- package/dashboard/public/assets/furniture/couch.png +0 -0
- package/dashboard/public/assets/furniture/couch_tan_down.png +0 -0
- package/dashboard/public/assets/furniture/cushion_blue.png +0 -0
- package/dashboard/public/assets/furniture/cushion_tan.png +0 -0
- package/dashboard/public/assets/furniture/desk_wood.png +0 -0
- package/dashboard/public/assets/furniture/fancy_rug.png +0 -0
- package/dashboard/public/assets/furniture/fancy_rug_wide.png +0 -0
- package/dashboard/public/assets/furniture/flowers1.png +0 -0
- package/dashboard/public/assets/furniture/flowers2.png +0 -0
- package/dashboard/public/assets/furniture/lamp_tan.png +0 -0
- package/dashboard/public/assets/furniture/lantern.png +0 -0
- package/dashboard/public/assets/furniture/monstera.png +0 -0
- package/dashboard/public/assets/furniture/monstera_small.png +0 -0
- package/dashboard/public/assets/furniture/picture_frame.png +0 -0
- package/dashboard/public/assets/furniture/plant1.png +0 -0
- package/dashboard/public/assets/furniture/plant2.png +0 -0
- package/dashboard/public/assets/furniture/plant3.png +0 -0
- package/dashboard/public/assets/furniture/plant_poof.png +0 -0
- package/dashboard/public/assets/furniture/plant_spindly.png +0 -0
- package/dashboard/public/assets/furniture/poster_blue.png +0 -0
- package/dashboard/public/assets/furniture/rug.png +0 -0
- package/dashboard/public/assets/furniture/succulent_blue.png +0 -0
- package/dashboard/public/assets/furniture/succulent_green.png +0 -0
- package/dashboard/public/assets/furniture/treasurechest_closed_gold.png +0 -0
- package/dashboard/public/assets/furniture/water_cooler_better.png +0 -0
- package/dashboard/public/assets/furniture/whiteboard.png +0 -0
- package/dashboard/public/assets/furniture/whiteboard_stand_graph.png +0 -0
- package/dashboard/public/assets/furniture/window_blinds_open.png +0 -0
- package/dashboard/src/App.tsx +46 -0
- package/dashboard/src/components/SquadCard.tsx +47 -0
- package/dashboard/src/components/SquadSelector.tsx +61 -0
- package/dashboard/src/components/StatusBadge.tsx +32 -0
- package/dashboard/src/components/StatusBar.tsx +97 -0
- package/dashboard/src/hooks/useSquadSocket.ts +135 -0
- package/dashboard/src/lib/formatTime.ts +16 -0
- package/dashboard/src/lib/normalizeState.ts +25 -0
- package/dashboard/src/main.tsx +10 -0
- package/dashboard/src/office/AgentSprite.ts +241 -0
- package/dashboard/src/office/OfficeScene.ts +153 -0
- package/dashboard/src/office/PhaserGame.tsx +80 -0
- package/dashboard/src/office/RoomBuilder.ts +190 -0
- package/dashboard/src/office/assetKeys.ts +150 -0
- package/dashboard/src/office/palette.ts +32 -0
- package/dashboard/src/plugin/squadWatcher.ts +233 -0
- package/dashboard/src/store/useSquadStore.ts +56 -0
- package/dashboard/src/styles/globals.css +36 -0
- package/dashboard/src/types/state.ts +63 -0
- package/dashboard/src/vite-env.d.ts +1 -0
- package/dashboard/test-results/.last-run.json +4 -0
- package/dashboard/tsconfig.json +24 -0
- package/dashboard/tsconfig.tsbuildinfo +1 -0
- package/dashboard/vite.config.ts +13 -0
- package/package.json +53 -0
- package/skills/README.md +63 -0
- package/skills/apify/SKILL.md +55 -0
- package/skills/blotato/SKILL.md +63 -0
- package/skills/canva/SKILL.md +60 -0
- package/skills/conectese-agent-creator/SKILL.md +192 -0
- package/skills/conectese-skill-creator/SKILL.md +407 -0
- package/skills/conectese-skill-creator/agents/analyzer.md +274 -0
- package/skills/conectese-skill-creator/agents/comparator.md +202 -0
- package/skills/conectese-skill-creator/agents/grader.md +223 -0
- package/skills/conectese-skill-creator/assets/eval_review.html +146 -0
- package/skills/conectese-skill-creator/eval-viewer/generate_review.py +471 -0
- package/skills/conectese-skill-creator/eval-viewer/viewer.html +1325 -0
- package/skills/conectese-skill-creator/references/schemas.md +430 -0
- package/skills/conectese-skill-creator/references/skill-format.md +235 -0
- package/skills/conectese-skill-creator/scripts/__init__.py +0 -0
- package/skills/conectese-skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/skills/conectese-skill-creator/scripts/quick_validate.py +103 -0
- package/skills/conectese-skill-creator/scripts/run_eval.py +310 -0
- package/skills/conectese-skill-creator/scripts/utils.py +47 -0
- package/skills/image-ai-generator/SKILL.md +124 -0
- package/skills/image-ai-generator/scripts/generate.py +175 -0
- package/skills/image-creator/SKILL.md +155 -0
- package/skills/image-fetcher/SKILL.md +91 -0
- package/skills/instagram-publisher/SKILL.md +119 -0
- package/skills/instagram-publisher/scripts/publish.js +165 -0
- package/skills/resend/SKILL.md +80 -0
- package/skills/template-designer/SKILL.md +201 -0
- package/skills/template-designer/base-templates/model-a.html +27 -0
- package/skills/template-designer/base-templates/model-b.html +31 -0
- package/skills/template-designer/base-templates/model-c.html +42 -0
- package/src/agents-cli.js +158 -0
- package/src/agents.js +134 -0
- package/src/i18n.js +48 -0
- package/src/init.js +341 -0
- package/src/locales/en.json +73 -0
- package/src/locales/es.json +72 -0
- package/src/locales/pt-BR.json +72 -0
- package/src/logger.js +38 -0
- package/src/prompt.js +46 -0
- package/src/readme/README.md +119 -0
- package/src/runs.js +90 -0
- package/src/skills-cli.js +157 -0
- package/src/skills.js +146 -0
- package/src/update.js +169 -0
- package/templates/_conectese/.conectese-version +1 -0
- package/templates/_conectese/_investigations/.gitkeep +0 -0
- package/templates/ide-templates/antigravity/.agent/rules/conectese.md +55 -0
- package/templates/ide-templates/antigravity/.agent/workflows/conectese.md +102 -0
- package/templates/ide-templates/claude-code/.claude/skills/conectese/SKILL.md +182 -0
- package/templates/ide-templates/claude-code/.mcp.json +8 -0
- package/templates/ide-templates/claude-code/CLAUDE.md +43 -0
- package/templates/ide-templates/codex/.agents/skills/conectese/SKILL.md +6 -0
- package/templates/ide-templates/codex/AGENTS.md +105 -0
- package/templates/ide-templates/cursor/.cursor/commands/conectese.md +9 -0
- package/templates/ide-templates/cursor/.cursor/mcp.json +8 -0
- package/templates/ide-templates/cursor/.cursor/rules/conectese.mdc +48 -0
- package/templates/ide-templates/cursor/.cursorignore +3 -0
- package/templates/ide-templates/opencode/.opencode/commands/conectese.md +9 -0
- package/templates/ide-templates/opencode/AGENTS.md +105 -0
- package/templates/ide-templates/vscode-copilot/.github/prompts/conectese.prompt.md +201 -0
- package/templates/ide-templates/vscode-copilot/.vscode/mcp.json +8 -0
- package/templates/ide-templates/vscode-copilot/.vscode/settings.json +3 -0
- package/templates/package.json +8 -0
- package/templates/squads/.gitkeep +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Blog Post (SEO)"
|
|
3
|
+
platform: "blog"
|
|
4
|
+
content_type: "seo"
|
|
5
|
+
description: "SEO-optimized blog posts designed for organic search traffic, featured snippets, and topical authority"
|
|
6
|
+
whenToUse: |
|
|
7
|
+
Creating agents that produce SEO-optimized blog posts or search-targeted content.
|
|
8
|
+
constraints:
|
|
9
|
+
optimal_word_count: "2000-3000"
|
|
10
|
+
title_max_chars: 60
|
|
11
|
+
meta_description_chars: 160
|
|
12
|
+
keyword_density: "1-2%"
|
|
13
|
+
subheading_frequency: "every 200-300 words"
|
|
14
|
+
min_internal_links: 3
|
|
15
|
+
min_external_links: 2
|
|
16
|
+
version: "1.0.0"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Platform Rules
|
|
20
|
+
|
|
21
|
+
- Search intent is the single most important ranking factor. Google categorizes queries into four intent types: informational ("how to"), navigational ("brand + feature"), commercial ("best X for Y"), and transactional ("buy X"). Content that mismatches intent will not rank regardless of quality.
|
|
22
|
+
- Comprehensive content outranks shallow content. Posts that thoroughly cover a topic, address related questions, and satisfy the searcher's full information need earn longer dwell times and higher rankings.
|
|
23
|
+
- Keyword placement follows a hierarchy of impact: title tag (front-loaded) > H1 > first 100 words > H2 subheadings > body text > meta description > image alt text. Distribute the primary keyword naturally across these locations.
|
|
24
|
+
- Keyword density should stay between 1-2% of total word count. Below 1%, the content may not signal topical relevance clearly enough. Above 2-3%, it reads as stuffing and risks algorithmic penalties.
|
|
25
|
+
- Featured snippets (position zero) are triggered by content that directly answers a specific question in paragraph (40-60 words), list (5-8 items), or table format immediately after an H2 that contains the question.
|
|
26
|
+
- Internal linking distributes page authority and signals content relationships to search engines. Every SEO post should link to 3+ related pages on the same domain with descriptive anchor text (not "click here").
|
|
27
|
+
- External links to authoritative sources (research papers, official docs, industry leaders) signal content credibility. Posts with 2+ quality external links tend to rank higher than those with none.
|
|
28
|
+
- Core Web Vitals affect rankings. Heavy images without compression, excessive scripts, and layout shifts hurt performance. Optimize images (WebP format, compressed, with width/height attributes) and keep the page lightweight.
|
|
29
|
+
- AI Overviews are increasingly replacing traditional featured snippets for complex queries. Structured, well-cited content is more likely to be referenced as a source in AI-generated summaries.
|
|
30
|
+
|
|
31
|
+
## Content Structure
|
|
32
|
+
|
|
33
|
+
### SEO Blog Post Architecture
|
|
34
|
+
|
|
35
|
+
1. **Title tag** — Under 60 characters. Primary keyword front-loaded within the first 40 characters. Clearly communicates the post's value. Must match search intent.
|
|
36
|
+
2. **Meta description** — 150-160 characters. Includes the primary keyword naturally. Functions as ad copy for the search result — must compel the click.
|
|
37
|
+
3. **H1 heading** — Contains the primary keyword. Can be slightly longer than the title tag since it is not character-limited by search results.
|
|
38
|
+
4. **Intro (first 100 words)** — Include the primary keyword within the first 100 words. Open with the searcher's problem or question, then promise a comprehensive answer.
|
|
39
|
+
5. **Body sections (5-8 H2 sections)** — Each H2 targets a related subtopic or question. Include the primary keyword in 2-3 H2 subheadings naturally. Use H3 subheadings for deeper breakdowns within sections.
|
|
40
|
+
6. **FAQ section** — 3-5 questions from "People Also Ask" for the target keyword. Answer each in 40-60 words to target featured snippets and AI Overviews.
|
|
41
|
+
7. **Conclusion** — Summarize key takeaways. Include the primary keyword one final time. End with a CTA (related post, resource download, or action prompt).
|
|
42
|
+
|
|
43
|
+
### Featured Snippet Optimization
|
|
44
|
+
|
|
45
|
+
- **Paragraph snippets**: Place a concise 40-60 word answer immediately after an H2 that phrases the question. Follow with expanded detail.
|
|
46
|
+
- **List snippets**: Use ordered or unordered lists with 5-8 items. The H2 should frame the list ("X Ways to..." or "Steps to...").
|
|
47
|
+
- **Table snippets**: Use HTML tables for comparative data. Include clear column headers and 3-5 rows of structured data.
|
|
48
|
+
|
|
49
|
+
Cover the topic comprehensively enough that the reader does not need to return to search results. Address related questions from "People Also Ask" and include original data or analysis not found in competing articles.
|
|
50
|
+
|
|
51
|
+
## Writing Guidelines
|
|
52
|
+
|
|
53
|
+
- **Match search intent before writing a single word.** Search the target keyword, analyze the top 5 results, and understand what format (guide, list, comparison, tutorial) and depth Google is rewarding. Then match or exceed it.
|
|
54
|
+
- Front-load the primary keyword in the title tag, ideally within the first 40 characters. "Email Marketing Guide: 10 Strategies for 2026" outranks "The Ultimate Guide to Everything About Email Marketing."
|
|
55
|
+
- Include the primary keyword in the first 100 words naturally. Forced insertion ("In this article about [keyword], we will discuss [keyword]...") reads awkwardly and signals low-quality content.
|
|
56
|
+
- Use the primary keyword in 2-3 H2 subheadings, but not all of them. Vary with synonyms, related terms, and natural language variations. This captures long-tail queries and avoids over-optimization.
|
|
57
|
+
- Write for a Flesch-Kincaid readability score of 60+ (approximately 8th grade reading level). Short sentences, common words, and active voice. Technical topics can go slightly lower, but clarity is always the goal.
|
|
58
|
+
- Use descriptive anchor text for internal links. "Learn more about email subject line formulas" outperforms "click here" for both user experience and search engine context.
|
|
59
|
+
- Add alt text to every image that describes the image content and includes the keyword where relevant. Alt text like "email-marketing-guide.jpg" is useless. "Bar chart showing email open rates by industry in 2026" provides value.
|
|
60
|
+
- Include an FAQ section targeting "People Also Ask" queries. Answer each question concisely (40-60 words) in the paragraph immediately following the question heading. This is the primary format for featured snippet capture.
|
|
61
|
+
- Write 2,000-3,000 words for competitive keywords. Longer content correlates with higher rankings, but only when every section adds genuine value. Padding word count with filler actively harms rankings through reduced dwell time.
|
|
62
|
+
- Update published content quarterly. Refreshing data, adding new sections, and updating examples signals freshness to search engines and can recover declining rankings.
|
|
63
|
+
|
|
64
|
+
## Output Format
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
=== TARGET KEYWORD ===
|
|
68
|
+
Primary: [Exact phrase to rank for] | Secondary: [2-3 long-tail variations]
|
|
69
|
+
Search intent: [Informational / Navigational / Commercial / Transactional]
|
|
70
|
+
|
|
71
|
+
=== TITLE TAG ===
|
|
72
|
+
[Under 60 characters — primary keyword front-loaded in first 40 chars]
|
|
73
|
+
|
|
74
|
+
=== META DESCRIPTION ===
|
|
75
|
+
[150-160 characters — includes primary keyword, compelling click copy]
|
|
76
|
+
|
|
77
|
+
=== INTRO ===
|
|
78
|
+
[First 100 words — keyword included naturally. Opens with problem/question, promises comprehensive answer.]
|
|
79
|
+
|
|
80
|
+
=== BODY ===
|
|
81
|
+
## [H2 Section 1 — contains primary or secondary keyword]
|
|
82
|
+
[200-300 words — one subtopic with evidence, examples, or steps.]
|
|
83
|
+
|
|
84
|
+
## [H2 Section 2 — natural language variation]
|
|
85
|
+
[200-300 words — related subtopic or question. Continue for 5-8 H2 sections total.]
|
|
86
|
+
|
|
87
|
+
=== FAQ SECTION ===
|
|
88
|
+
### [Question from "People Also Ask" 1]
|
|
89
|
+
[40-60 word direct answer optimized for featured snippet capture.]
|
|
90
|
+
|
|
91
|
+
### [Question from "People Also Ask" 2]
|
|
92
|
+
[40-60 word direct answer.]
|
|
93
|
+
|
|
94
|
+
=== CONCLUSION ===
|
|
95
|
+
[Key takeaway with primary keyword. CTA to related post or resource. 2-3 sentences.]
|
|
96
|
+
|
|
97
|
+
=== SEO CHECKLIST ===
|
|
98
|
+
Internal links: [3+] | External links: [2+] | Word count: [2000-3000] | Keyword density: [1-2%]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Quality Criteria
|
|
102
|
+
|
|
103
|
+
- [ ] Title tag is under 60 characters with the primary keyword in the first 40 characters
|
|
104
|
+
- [ ] Meta description is 150-160 characters, includes the primary keyword, and compels the click
|
|
105
|
+
- [ ] Primary keyword appears in the first 100 words naturally
|
|
106
|
+
- [ ] Primary keyword is in 2-3 H2 subheadings without forcing it into all of them
|
|
107
|
+
- [ ] Keyword density is between 1-2% (not below, not above)
|
|
108
|
+
- [ ] 5-8 H2 sections with subheadings every 200-300 words
|
|
109
|
+
- [ ] FAQ section contains 3-5 questions with 40-60 word answers targeting featured snippets
|
|
110
|
+
- [ ] 3+ internal links with descriptive anchor text (not "click here")
|
|
111
|
+
- [ ] 2+ external links to authoritative, relevant sources
|
|
112
|
+
- [ ] Every image has descriptive alt text that includes the keyword where naturally appropriate
|
|
113
|
+
- [ ] Content satisfies the target search intent fully (reader does not need to return to search results)
|
|
114
|
+
- [ ] Total word count is between 2,000-3,000 words
|
|
115
|
+
|
|
116
|
+
## Anti-Patterns
|
|
117
|
+
|
|
118
|
+
- **Keyword stuffing (above 3% density)** — Repeating the keyword in every sentence triggers Google's spam detection. Over-optimized content is actively penalized with ranking demotions.
|
|
119
|
+
- **Thin content under 1,500 words** — For competitive keywords, thin content cannot outrank comprehensive competitors. Google associates depth with topical authority for informational queries.
|
|
120
|
+
- **Ignoring search intent** — Writing a comparison when Google ranks how-to guides, or an informational piece when the SERP shows commercial pages. Mismatched intent means zero ranking potential regardless of quality.
|
|
121
|
+
- **Duplicate or near-duplicate content** — Substantially similar content across multiple URLs cannibalizes your own rankings. Google suppresses duplicates, splitting your authority.
|
|
122
|
+
- **No meta description** — Google auto-generates one from page content when left blank. The result is almost always less compelling, reducing click-through rates from search results.
|
|
123
|
+
- **Orphan pages with no internal links** — Pages with no inbound internal links are hard for search engines to discover and receive no transferred authority, making ranking significantly harder.
|
|
124
|
+
- **"Click here" anchor text** — Generic anchors provide no topical context to search engines. Descriptive anchors ("email subject line best practices") pass relevance and improve linked page rankings.
|
|
125
|
+
- **Forcing keywords into every heading** — Every H2 containing the exact keyword reads as robotic and over-optimized. Use natural variations and related terms across headings.
|
|
126
|
+
- **Publishing and forgetting** — Content not updated degrades in rankings as competitors publish fresher coverage. Quarterly reviews maintain positions.
|
|
127
|
+
- **Skipping the FAQ section** — "People Also Ask" appears for 60%+ of queries. Missing the FAQ section forfeits a high-probability featured snippet opportunity.
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: copywriting
|
|
3
|
+
name: "Copywriting & Persuasive Writing"
|
|
4
|
+
whenToUse: |
|
|
5
|
+
Creating agents that write persuasive copy, hooks, CTAs, social media captions,
|
|
6
|
+
sales content, ad copy, or viral angles.
|
|
7
|
+
NOT for: technical documentation, data analysis, research, visual design.
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Copywriting — Best Practices
|
|
12
|
+
|
|
13
|
+
## Core Principles
|
|
14
|
+
|
|
15
|
+
1. **Hook-first writing.** The first line decides everything. Before writing any piece of copy, draft the hook. If the hook does not pass the scroll-stop test, nothing else matters. Spend 50% of your creative energy on the first sentence.
|
|
16
|
+
|
|
17
|
+
2. **Platform-aware constraints.** Respect the native conventions of each platform. Instagram captions: front-load the hook before the "...more" fold (first 125 characters). LinkedIn: use line breaks for readability, avoid hashtag walls. X: distill the message to its sharpest form within 280 characters. Ads: match the headline to the creative and the landing page promise.
|
|
18
|
+
|
|
19
|
+
3. **Emotional resonance before logic.** People decide with emotion and justify with logic. Lead with the feeling (fear, desire, curiosity, belonging, urgency) and then support with proof, data, or social evidence. Never lead with features; lead with the transformation.
|
|
20
|
+
|
|
21
|
+
4. **CTA in every piece.** No copy leaves without a clear call-to-action. The CTA must be specific ("Comment 'GUIDE' to get the free PDF"), not vague ("Check out the link"). Match the CTA intensity to the content stage: awareness content gets soft CTAs, bottom-funnel content gets direct CTAs.
|
|
22
|
+
|
|
23
|
+
5. **Hook-first selection.** Before writing the body, always present 3 hook options using genuinely different emotional angles or structural formats. Let the user choose. The chosen hook becomes the anchor for the entire piece. The framework selection, the body structure, and the CTA all follow from it. Never write the body before the hook is confirmed.
|
|
24
|
+
|
|
25
|
+
6. **Brand voice alignment.** Before writing, absorb the company context, tone of voice guidelines, and audience profile. Every piece of copy must sound like the brand, not like a generic copywriter. Mirror the vocabulary, sentence rhythm, and personality of the brand.
|
|
26
|
+
|
|
27
|
+
7. **Audience-specific vocabulary.** Write in the words your audience actually uses. If targeting developers, use technical shorthand. If targeting mothers, use language that reflects their daily reality. Copy that sounds like the reader's inner monologue always outperforms copy that sounds like a marketer.
|
|
28
|
+
|
|
29
|
+
8. **Conciseness as a weapon.** Short sentences hit harder. One idea per sentence. One idea per paragraph. White space is your ally. Dense blocks of text are the enemy of engagement. When in doubt, cut.
|
|
30
|
+
|
|
31
|
+
9. **Specificity over generality.** "Grew revenue by 47% in 90 days" beats "significantly increased revenue." Numbers, timeframes, and concrete details create believability. Vague claims create skepticism.
|
|
32
|
+
|
|
33
|
+
## Pre-Writing Diagnosis
|
|
34
|
+
|
|
35
|
+
Before drafting any hook, run all four diagnoses internally. Never skip this step. It determines everything that follows: tone, aggression level, framework choice, and psychological angle.
|
|
36
|
+
|
|
37
|
+
### 1. Awareness Level (Eugene Schwartz)
|
|
38
|
+
|
|
39
|
+
Identify which stage the target audience is at:
|
|
40
|
+
|
|
41
|
+
- **Unaware**: Does not know they have a problem. Hook must create the problem in their mind.
|
|
42
|
+
- **Problem Aware**: Knows the problem, does not know solutions exist. Hook leads with the pain.
|
|
43
|
+
- **Solution Aware**: Knows solutions exist, does not know your product. Hook leads with mechanism or differentiation.
|
|
44
|
+
- **Product Aware**: Knows your product, not convinced. Hook leads with proof, results, objection handling.
|
|
45
|
+
- **Most Aware**: Ready to buy. Hook leads with offer and urgency.
|
|
46
|
+
|
|
47
|
+
> Rule: Never write persuasive copy without identifying awareness level. It changes everything.
|
|
48
|
+
|
|
49
|
+
### 2. Market Sophistication Level (Eugene Schwartz)
|
|
50
|
+
|
|
51
|
+
Identify how saturated this market is with similar claims:
|
|
52
|
+
|
|
53
|
+
- **Stage 1 — First to market**: Bold, direct promise. The claim alone is enough.
|
|
54
|
+
- **Stage 2 — Competition entering**: Bigger, better promise. Amplify the benefit.
|
|
55
|
+
- **Stage 3 — Mechanism competition**: Introduce the unique mechanism. HOW you deliver matters more than the promise.
|
|
56
|
+
- **Stage 4 — Belief fatigue**: Audience has heard every claim. Niche down, humanize, amplify specifics.
|
|
57
|
+
- **Stage 5 — Identity-based persuasion**: The product is an expression of who they are, not what it does.
|
|
58
|
+
|
|
59
|
+
> Rule: Sophistication level sets the tone. Stage 1 copy in a Stage 4 market is invisible.
|
|
60
|
+
|
|
61
|
+
### 3. Big Idea System
|
|
62
|
+
|
|
63
|
+
Every piece of great copy is built on a Big Idea, not just a topic. Identify before writing:
|
|
64
|
+
|
|
65
|
+
- **Enemy**: What conventional belief, system, or category are you opposing?
|
|
66
|
+
- **New Mechanism**: What is the unique process, method, or insight that makes your approach different?
|
|
67
|
+
- **Unique Promise**: What specific transformation does this deliver that no competitor claims?
|
|
68
|
+
- **Core Belief to Attack**: What does the audience believe today that keeps them stuck?
|
|
69
|
+
|
|
70
|
+
> Rule: If the copy could have been written by any brand in the niche, there is no Big Idea. Rewrite.
|
|
71
|
+
|
|
72
|
+
### 4. Dominant Psychological Driver
|
|
73
|
+
|
|
74
|
+
Identify the ONE primary driver that will anchor the entire piece. Choose only one:
|
|
75
|
+
|
|
76
|
+
- **Fear of loss**: Fear of losing something they already have or could have.
|
|
77
|
+
- **Desire for status**: Desire for recognition, prestige, positive envy.
|
|
78
|
+
- **Belonging**: Need to be part of a group or movement.
|
|
79
|
+
- **Freedom**: Escape from a restriction, obligation, or invisible prison.
|
|
80
|
+
- **Security**: Protect what is theirs, guarantee the future, eliminate uncertainty.
|
|
81
|
+
- **Achievement**: Prove something to themselves or to others.
|
|
82
|
+
- **Control**: Regain power over an area of life.
|
|
83
|
+
|
|
84
|
+
> Rule: Anchor the entire piece (hook, body, CTA) around this ONE driver. Mixed drivers dilute impact.
|
|
85
|
+
|
|
86
|
+
## Persuasion Psychology
|
|
87
|
+
|
|
88
|
+
These are your weapons. Deploy them intentionally, never accidentally. For each piece of copy, select the 2-3 tactics that serve the dominant psychological driver and the awareness level.
|
|
89
|
+
|
|
90
|
+
- **Loss aversion**: Fear of losing is stronger than desire for gain. Frame the cost of inaction, not just the benefit of action. "Every day you wait, your competitor gains ground."
|
|
91
|
+
- **Status elevation**: People do not buy products; they buy a version of themselves. Show who they become. "The kind of founder who..."
|
|
92
|
+
- **Identity-based persuasion**: Tie the action to the identity the reader wants to claim. "This is what serious operators do."
|
|
93
|
+
- **Cognitive dissonance triggers**: Challenge a belief they hold. Create tension between what they believe and what is true. They must resolve it by reading on.
|
|
94
|
+
- **Future pacing**: Walk them through the future state in specific, sensory detail. They mentally live it before they buy it.
|
|
95
|
+
- **Open loops**: Introduce a question or tension that cannot be resolved without reading further. Never close the loop early.
|
|
96
|
+
- **Specificity bias**: "47% increase in 12 days" is more believable than "significantly improved." Brains trust numbers. Always choose the specific over the vague.
|
|
97
|
+
- **Social proof stacking**: One testimonial is a claim. Three with specifics is evidence. Stack proof in layers: number of users, named testimonials, ratings, outcomes.
|
|
98
|
+
- **Authority anchoring**: Establish the credibility of the mechanism or the person before making the promise. Borrow authority from recognizable sources when possible.
|
|
99
|
+
- **Scarcity framing**: Real scarcity (limited spots, closing date, inventory) intensifies action. Never manufacture fake scarcity; it destroys trust permanently.
|
|
100
|
+
|
|
101
|
+
> Rule: Never use these as decoration. Every psychological tactic in the copy must serve the dominant driver identified in the Pre-Writing Diagnosis.
|
|
102
|
+
|
|
103
|
+
## Techniques & Frameworks
|
|
104
|
+
|
|
105
|
+
### Hook Creation
|
|
106
|
+
|
|
107
|
+
Before selecting a persuasion framework or writing the body, draft 3 hooks. Each hook MUST use a different psychological driver AND a different structural type. Structural types include: provocative question, bold contrarian statement, data/statistic lead, story opening, direct benefit claim, pattern interrupt, enemy framing. For each hook, include a one-line rationale: the psychological driver it targets and why it will land with this specific audience at this awareness level.
|
|
108
|
+
|
|
109
|
+
### Framework Selection
|
|
110
|
+
|
|
111
|
+
Based on the chosen hook, angle, and objective, choose the most effective framework:
|
|
112
|
+
|
|
113
|
+
- **AIDA** (Attention-Interest-Desire-Action): Best for awareness content and cold audiences. Use when introducing something new.
|
|
114
|
+
- **PAS** (Problem-Agitate-Solution): Best for pain-point content. Use when the audience has a problem they feel daily.
|
|
115
|
+
- **BAB** (Before-After-Bridge): Best for transformation content. Use when showing a journey or result.
|
|
116
|
+
- **Star-Story-Solution**: Best for personal brand content. Use when the founder or brand has a compelling narrative.
|
|
117
|
+
- **4Ps** (Promise-Picture-Proof-Push): Best for sales pages and ads. Use when you need to close.
|
|
118
|
+
|
|
119
|
+
Framework-to-funnel mapping:
|
|
120
|
+
|
|
121
|
+
- Top-of-funnel (awareness) = AIDA or Star-Story-Solution
|
|
122
|
+
- Middle-of-funnel (consideration) = PAS or BAB
|
|
123
|
+
- Bottom-of-funnel (conversion) = 4Ps or PAS
|
|
124
|
+
|
|
125
|
+
### Body Drafting
|
|
126
|
+
|
|
127
|
+
With the hook confirmed, write the body following the selected framework. The body must build momentum without filler. Before the CTA, inject an objection neutralizer: identify the single biggest objection the reader would have at this point and address it directly in one to two lines. Examples: "No experience needed." / "Works even if you've tried everything else." / "Cancel anytime, no questions."
|
|
128
|
+
|
|
129
|
+
### CTA Intensity Ladder
|
|
130
|
+
|
|
131
|
+
Match the CTA intensity to the funnel stage and emotional temperature:
|
|
132
|
+
|
|
133
|
+
- **Level 1 — Micro-commitment**: Save, follow, like. For cold or awareness-stage audiences.
|
|
134
|
+
- **Level 2 — Engagement**: Comment, DM, share. For warm audiences building relationship.
|
|
135
|
+
- **Level 3 — Lead capture**: Download, register, get the guide. For audiences ready to exchange contact.
|
|
136
|
+
- **Level 4 — Purchase**: Buy, enroll, get started. For bottom-funnel audiences with intent.
|
|
137
|
+
- **Level 5 — High-ticket commitment**: Apply, book a call, join. For high-consideration decisions.
|
|
138
|
+
|
|
139
|
+
CTA intensity shorthand:
|
|
140
|
+
|
|
141
|
+
- Soft CTA for awareness content (save, share, follow).
|
|
142
|
+
- Medium CTA for consideration content (comment, DM, click link).
|
|
143
|
+
- Hard CTA for conversion content (buy, sign up, book now).
|
|
144
|
+
|
|
145
|
+
### Copy Stress Test
|
|
146
|
+
|
|
147
|
+
Before delivering, run this checklist internally:
|
|
148
|
+
|
|
149
|
+
- Would a skeptical reader believe this?
|
|
150
|
+
- Is there proof behind every significant claim?
|
|
151
|
+
- Is the promise too inflated for the audience's awareness level?
|
|
152
|
+
- Is there any friction or confusion in the flow?
|
|
153
|
+
- Can any sentence be cut without losing meaning?
|
|
154
|
+
- Is this hook sharper than what competitors are running?
|
|
155
|
+
- After this check: reduce total word count by 15-25% without losing meaning. Cut filler, not substance.
|
|
156
|
+
|
|
157
|
+
## Quality Criteria
|
|
158
|
+
|
|
159
|
+
- [ ] Pre-writing diagnosis completed: awareness level identified and copy calibrated to it
|
|
160
|
+
- [ ] Market sophistication level identified and tone/mechanism depth matches the stage
|
|
161
|
+
- [ ] Big Idea present: enemy, new mechanism, and unique promise are identifiable in the copy
|
|
162
|
+
- [ ] ONE dominant psychological driver anchors the entire piece from hook to CTA
|
|
163
|
+
- [ ] Three hooks each use different psychological drivers AND different structural types
|
|
164
|
+
- [ ] Objection injection present immediately before the CTA
|
|
165
|
+
- [ ] CTA intensity matches the correct Intensity Ladder level for this funnel stage
|
|
166
|
+
- [ ] Copy Stress Test passed: skeptic test, proof check, inflation check, friction check
|
|
167
|
+
- [ ] Word count reduced 15-25% from initial draft. Filler eliminated
|
|
168
|
+
- [ ] Anti-commodity check passed: copy cannot be used unchanged by a competitor
|
|
169
|
+
- [ ] Clear hook present in the first line, within platform fold limits
|
|
170
|
+
- [ ] Call-to-action is present, specific, and uses active voice
|
|
171
|
+
- [ ] Platform character limits and formatting conventions are respected
|
|
172
|
+
- [ ] No cliche from the banned list appears anywhere in the copy
|
|
173
|
+
- [ ] 3 hook options were presented in Phase 1 and user confirmed their selection before body was written
|
|
174
|
+
- [ ] At least one emotional trigger is clearly present (fear, desire, curiosity, urgency, belonging)
|
|
175
|
+
- [ ] Brand voice is consistent with company context and tone guidelines
|
|
176
|
+
- [ ] Scroll-stop test passed: the first line would make you stop scrolling
|
|
177
|
+
- [ ] Specificity check: vague claims replaced with numbers, timeframes, or concrete details
|
|
178
|
+
- [ ] Copy reads naturally when spoken out loud (no stiff or overly formal phrasing)
|
|
179
|
+
- [ ] No walls of text: every paragraph is 3 lines or fewer on mobile
|
|
180
|
+
- [ ] Persuasion framework is identifiable and correctly executed (AIDA, PAS, BAB, etc.)
|
|
181
|
+
|
|
182
|
+
## Output Examples
|
|
183
|
+
|
|
184
|
+
### Example 1: Instagram Carousel Caption (Fitness Coach, PAS Framework)
|
|
185
|
+
|
|
186
|
+
**Phase 1 — Hook Selection:**
|
|
187
|
+
|
|
188
|
+
**Hook A (Contrarian):**
|
|
189
|
+
```
|
|
190
|
+
Stop exercising to lose weight.
|
|
191
|
+
Seriously. It is the least effective thing you are doing.
|
|
192
|
+
```
|
|
193
|
+
Rationale: Contrarian hooks create cognitive dissonance. The reader expects exercise = weight loss, so challenging that belief forces them to keep reading.
|
|
194
|
+
|
|
195
|
+
**Hook B (Statistic):**
|
|
196
|
+
```
|
|
197
|
+
200 clients. 8kg average in 12 weeks.
|
|
198
|
+
Zero of them cut carbs.
|
|
199
|
+
Here is what they did instead:
|
|
200
|
+
```
|
|
201
|
+
Rationale: Leading with proof creates immediate credibility. The specific numbers (200, 8kg, 12 weeks) and the surprising detail (zero cut carbs) create curiosity.
|
|
202
|
+
|
|
203
|
+
**Hook C (Question):**
|
|
204
|
+
```
|
|
205
|
+
What if the reason you cannot lose weight
|
|
206
|
+
has nothing to do with food or exercise?
|
|
207
|
+
```
|
|
208
|
+
Rationale: Open-loop question that challenges assumptions. The reader has to click "...more" to resolve the tension.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
**Phase 2 — Complete Copy (user selected Hook A):**
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
HOOK:
|
|
216
|
+
You are doing 100 things to lose weight.
|
|
217
|
+
And ignoring the ONE thing that actually works.
|
|
218
|
+
|
|
219
|
+
BODY:
|
|
220
|
+
Here is what nobody tells you about fat loss:
|
|
221
|
+
|
|
222
|
+
It is not about eating less.
|
|
223
|
+
It is not about running more.
|
|
224
|
+
It is not about that green juice your coworker swears by.
|
|
225
|
+
|
|
226
|
+
The real problem?
|
|
227
|
+
You have never built a system that fits YOUR life.
|
|
228
|
+
|
|
229
|
+
You follow generic plans made for generic people.
|
|
230
|
+
Then you feel like a failure when they do not stick.
|
|
231
|
+
|
|
232
|
+
That is not a you problem. That is a plan problem.
|
|
233
|
+
|
|
234
|
+
What actually works:
|
|
235
|
+
|
|
236
|
+
Slide 1: Calculate YOUR maintenance calories (not a random 1200 number)
|
|
237
|
+
Slide 2: Build meals around foods you already like (yes, pasta counts)
|
|
238
|
+
Slide 3: Move in ways that do not make you miserable (walking > suffering)
|
|
239
|
+
Slide 4: Track progress weekly, not daily (the scale lies on Mondays)
|
|
240
|
+
Slide 5: Adjust every 2 weeks based on real data, not feelings
|
|
241
|
+
|
|
242
|
+
The result?
|
|
243
|
+
A system you can follow for 6 months, not 6 days.
|
|
244
|
+
|
|
245
|
+
I built this exact framework for 200+ clients.
|
|
246
|
+
Average result: 8kg lost in 12 weeks WITHOUT cutting carbs.
|
|
247
|
+
|
|
248
|
+
CTA:
|
|
249
|
+
Want the full Sustainable Fat Loss Playbook?
|
|
250
|
+
Comment "PLAYBOOK" and I will send it to your DMs for free.
|
|
251
|
+
|
|
252
|
+
Save this post. You will need it.
|
|
253
|
+
|
|
254
|
+
#fatloss #weightlossjourney #fitnesscoach #sustainablefitness #nutritioncoach
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Framework: PAS (Problem-Agitate-Solution). Emotional trigger: frustration with past failed attempts + desire for a system that fits their real life.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
### Example 2: Facebook/Instagram Ad Set (SaaS Product, 4Ps Framework)
|
|
262
|
+
|
|
263
|
+
**Phase 1 — Hook Selection:**
|
|
264
|
+
|
|
265
|
+
**Hook A (Benefit-led):**
|
|
266
|
+
```
|
|
267
|
+
Stop losing clients to slow proposals. Close 3x faster.
|
|
268
|
+
```
|
|
269
|
+
Rationale: Leads with the direct business outcome (closing faster) and the pain it eliminates (losing clients). Benefit-led hooks work well for bottom-funnel audiences who already know they have a problem.
|
|
270
|
+
|
|
271
|
+
**Hook B (Pain-led):**
|
|
272
|
+
```
|
|
273
|
+
Your proposals take 4 hours. Your competitor's take 15 minutes.
|
|
274
|
+
```
|
|
275
|
+
Rationale: The direct comparison creates urgency and competitive anxiety. The specific numbers (4 hours vs. 15 minutes) make the gap visceral and credible without any claims about the product.
|
|
276
|
+
|
|
277
|
+
**Hook C (Social proof):**
|
|
278
|
+
```
|
|
279
|
+
2,100 agencies switched to ProposalKit this year. Here is why.
|
|
280
|
+
```
|
|
281
|
+
Rationale: Opens with a social proof signal and an open loop. The scale (2,100 agencies) implies the reader is behind the curve, while "here is why" demands a click to close the loop.
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
**Phase 2 — Complete Copy (user selected Hook A):**
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
HOOK:
|
|
289
|
+
Stop losing clients to slow proposals. Close 3x faster.
|
|
290
|
+
|
|
291
|
+
BODY:
|
|
292
|
+
PROMISE:
|
|
293
|
+
Create professional proposals in 15 minutes, not 4 hours.
|
|
294
|
+
|
|
295
|
+
PICTURE:
|
|
296
|
+
Imagine this: a lead comes in at 2pm.
|
|
297
|
+
By 2:15, you have sent a branded, personalized proposal
|
|
298
|
+
with pricing, timeline, case studies, and e-signature built in.
|
|
299
|
+
|
|
300
|
+
Your competitor? Still updating their Word template.
|
|
301
|
+
|
|
302
|
+
PROOF:
|
|
303
|
+
- 2,100 agencies use ProposalKit
|
|
304
|
+
- Average close rate increased by 34%
|
|
305
|
+
- 85% of proposals are opened within 1 hour of sending
|
|
306
|
+
- Rated 4.8/5 on G2 with 400+ reviews
|
|
307
|
+
|
|
308
|
+
"We closed $180K in new business in the first month
|
|
309
|
+
after switching to ProposalKit. Not exaggerating."
|
|
310
|
+
-- Sarah Chen, founder of BrightPath Digital
|
|
311
|
+
|
|
312
|
+
PUSH:
|
|
313
|
+
Start your free 14-day trial today.
|
|
314
|
+
No credit card. No setup calls. Just faster proposals.
|
|
315
|
+
|
|
316
|
+
[Try ProposalKit Free] [See a Demo Proposal]
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Framework: 4Ps (Promise-Picture-Proof-Push). Emotional trigger: competitive anxiety + desire for efficiency. The hook sets the benefit and the competitive stakes; the body walks through the 4Ps to close.
|
|
320
|
+
|
|
321
|
+
**Supporting Ad Variations:**
|
|
322
|
+
|
|
323
|
+
**Short-form ad (for retargeting):**
|
|
324
|
+
```
|
|
325
|
+
You visited ProposalKit but did not sign up.
|
|
326
|
+
Meanwhile, 47 agencies signed up today.
|
|
327
|
+
Your free trial is still waiting: [link]
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Story/Reel ad script (15 seconds):**
|
|
331
|
+
```
|
|
332
|
+
[Screen recording of proposal being built]
|
|
333
|
+
Text overlay: "4 hours to write a proposal?"
|
|
334
|
+
[Timer showing 15 minutes]
|
|
335
|
+
Text overlay: "Try 15 minutes."
|
|
336
|
+
[Proposal sent notification]
|
|
337
|
+
Text overlay: "ProposalKit. Free for 14 days."
|
|
338
|
+
CTA button: "Start Free Trial"
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
**Carousel ad cards:**
|
|
342
|
+
```
|
|
343
|
+
Card 1: "Your proposals take HOW long?"
|
|
344
|
+
Card 2: "Average agency: 4 hours per proposal"
|
|
345
|
+
Card 3: "ProposalKit users: 15 minutes"
|
|
346
|
+
Card 4: "Branded templates. Auto-fill client data. E-sign built in."
|
|
347
|
+
Card 5: "2,100 agencies. 34% higher close rate."
|
|
348
|
+
Card 6: "Free for 14 days. No credit card. [Start now]"
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
## Anti-Patterns
|
|
352
|
+
|
|
353
|
+
### Never Do
|
|
354
|
+
|
|
355
|
+
1. **Never start with a cliche opener.** "In today's digital world...", "Did you know...?", "In this post I will share..." are instant scroll triggers. Your first line must earn the reader's attention, not announce your intentions.
|
|
356
|
+
|
|
357
|
+
2. **Never write walls of text.** On mobile screens, 3 lines is already a visual block. Use line breaks aggressively. One thought per paragraph. White space is not wasted space; it is breathing room for the reader.
|
|
358
|
+
|
|
359
|
+
3. **Never use passive voice in calls-to-action.** "The free guide can be downloaded at..." is weak. "Download the free guide now" is a direct command. CTAs are orders, not suggestions.
|
|
360
|
+
|
|
361
|
+
4. **Never ignore platform character limits and formatting.** Instagram hides captions after ~125 characters behind "...more." LinkedIn collapses posts after ~210 characters. X enforces 280 characters. If your hook lives past the fold, it does not exist.
|
|
362
|
+
|
|
363
|
+
5. **Never write without a clear CTA.** Every piece of copy must tell the reader exactly what to do next. "Hope this helps!" is not a CTA. "Comment GUIDE below and I will DM you the PDF" is a CTA.
|
|
364
|
+
|
|
365
|
+
6. **Never write the body before the hook is confirmed.** The user must see and select from 3 hook options before any body copy is written. Writing the full piece and presenting hooks as an afterthought defeats the purpose.
|
|
366
|
+
|
|
367
|
+
7. **Never copy the brand's competitors.** Study them, understand their patterns, then differentiate. Copy that sounds like everyone else in the niche is invisible. The goal is to be recognizable, not interchangeable.
|
|
368
|
+
|
|
369
|
+
### Always Do
|
|
370
|
+
|
|
371
|
+
1. **Lead with the hook.** Write the hook before anything else. Test it against the scroll-stop question. If it does not stop you, it will not stop the audience.
|
|
372
|
+
|
|
373
|
+
2. **Match tone to platform.** LinkedIn is not Instagram. X is not a blog. Email is not an ad. Each platform has a native voice, and copy that respects it outperforms copy that ignores it.
|
|
374
|
+
|
|
375
|
+
3. **Present 3 hooks before writing the body.** Always open execution with 3 hook options (Hook A, B, C) using different emotional triggers or structural formats. Annotate each with a one-line rationale. Wait for user selection before proceeding.
|
|
376
|
+
|
|
377
|
+
4. **Test every piece against the scroll-stop test.** Before presenting copy, ask: "If I were scrolling at full speed, would this first line make me stop?" If the answer is not an immediate yes, rewrite.
|
|
378
|
+
|
|
379
|
+
5. **Anti-commodity check.** Before delivering, ask: "Could this exact copy be used by a competitor in the same niche?" If yes, rewrite. The copy must be specific to this brand, this audience, this moment. Generic is invisible.
|
|
380
|
+
|
|
381
|
+
6. **Polarize or differentiate.** Identify the dominant narrative in the market. Do not reinforce it. Either take the opposite position (polarize) or introduce a fundamentally different angle (differentiate). Copy that echoes the market is copy that disappears into it.
|
|
382
|
+
|
|
383
|
+
## Vocabulary Guidance
|
|
384
|
+
|
|
385
|
+
### Use
|
|
386
|
+
|
|
387
|
+
- **Power words**: Use power words only when they increase believability. Never as decoration. "Guaranteed" earns its place next to a real guarantee. "Secret" earns its place when the mechanism is genuinely non-obvious. A power word that does not increase credibility weakens the copy. Cut it.
|
|
388
|
+
- **Action verbs**: grab, claim, unlock, discover, build, launch, crush, master, steal (as in "steal this framework"), stop, start, drop, try.
|
|
389
|
+
- **Sensory language**: feel, see, imagine, picture this, notice how, look at, listen.
|
|
390
|
+
- **Numbers and specifics**: exact figures ("47%", "in 12 days", "3 steps"), timeframes, quantities, dollar amounts. Specificity creates credibility.
|
|
391
|
+
- **Direct address with "you/your"**: Write to one person. "You" is the most powerful word in copy. Every sentence should make the reader feel spoken to directly.
|
|
392
|
+
- **Questions as hooks**: "What if everything you know about X is wrong?", "Have you ever wondered why...?", "Want to know the #1 reason...?"
|
|
393
|
+
- **Pattern interrupts**: unexpected openings, counterintuitive claims, open loops that demand closure.
|
|
394
|
+
- **Micro-stories**: 2-3 sentence narratives that create instant emotional connection. "Last Tuesday, a client told me she almost gave up. Today she closed her biggest deal."
|
|
395
|
+
|
|
396
|
+
### Avoid
|
|
397
|
+
|
|
398
|
+
- **"Did you know...?"**: Overused opener that signals generic content. The reader has seen it ten thousand times. Find a sharper entry point.
|
|
399
|
+
- **"In this post..."**: Meta-commentary that wastes the most valuable real estate (the first line). Show, do not announce.
|
|
400
|
+
- **"The best", "amazing", "incredible"**: Vague superlatives that mean nothing. Replace with specific proof: "rated #1 by 2,400 users" beats "amazing tool."
|
|
401
|
+
- **Corporate jargon**: "leverage", "synergy", "scalable solution", "paradigm shift", "ecosystem." Write like a human, not a press release.
|
|
402
|
+
- **Passive voice in CTAs**: "The guide can be downloaded" vs. "Download the guide now." CTAs must be direct commands.
|
|
403
|
+
- **Em dashes**: Never use em dashes anywhere in the copy. They slow reading rhythm and feel literary, not conversational. Use periods, colons, or line breaks instead.
|
|
404
|
+
- **Missing accents in Portuguese or Spanish copy**: Always write with full diacritics. Copy without accents reads as broken text and signals low quality to native speakers.
|
|
405
|
+
- **Walls of text**: Any paragraph longer than 3 lines on mobile is a wall. Break it up. One idea per block.
|
|
406
|
+
- **Filler phrases**: "It is important to note that...", "As a matter of fact...", "In today's fast-paced world...". Get to the point.
|
|
407
|
+
- **Hashtag spam**: More than 5-8 relevant hashtags on Instagram is noise. On LinkedIn and X, 1-3 max. Never let hashtags dominate the visual space.
|
|
408
|
+
|
|
409
|
+
## Rhythm Rules
|
|
410
|
+
|
|
411
|
+
Great copy is rhythm. Mobile readers scan, not read. Control the pace.
|
|
412
|
+
|
|
413
|
+
1. After every dense or complex idea, write one short sentence. It lands harder than the paragraph before it.
|
|
414
|
+
2. Use a pattern interrupt every 5-7 lines: a one-liner, a question, a bold claim, a contrasting statement.
|
|
415
|
+
3. Use contrast blocks: short/long, simple/complex, broad/specific. Alternating density keeps the reader moving.
|
|
416
|
+
4. One-line paragraphs are emphasis. Use them for the most important sentence in a section. Isolation creates weight.
|
|
417
|
+
|
|
418
|
+
## Tone Rules
|
|
419
|
+
|
|
420
|
+
1. **Conversational.** Write like you talk to a smart friend. No academic structure, no formality for its own sake. Read the copy out loud: if it sounds stiff, rewrite it.
|
|
421
|
+
|
|
422
|
+
2. **Direct.** Say what you mean. Do not hedge, do not soften, do not over-qualify. "This will change how you write" beats "This might potentially help you improve your writing process somewhat."
|
|
423
|
+
|
|
424
|
+
3. **Confident.** Write with authority. The reader should feel that this person knows exactly what they are talking about. Confidence is not arrogance; it is clarity of conviction.
|
|
425
|
+
|
|
426
|
+
4. **Energetic.** The copy should feel alive. Short sentences create rhythm. Line breaks create pace. The reader should feel momentum pulling them forward, not obligation.
|