conectese 0.1.15 → 0.2.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/README.md +2 -2
- package/agents/conectese_admin/AGENT.md +10 -5
- package/agents/data-extractor/AGENT.md +35 -3
- package/agents/direito-administrativo/AGENT.md +68 -22
- package/agents/direito-aduaneiro/AGENT.md +55 -0
- package/agents/direito-aeroportuario/AGENT.md +53 -0
- package/agents/direito-agrario/AGENT.md +73 -0
- package/agents/direito-ambiental/AGENT.md +61 -24
- package/agents/direito-bancario/AGENT.md +79 -0
- package/agents/direito-civil/AGENT.md +71 -20
- package/agents/direito-constitucional/AGENT.md +79 -0
- package/agents/direito-da-crianca-e-do-adolescente-eca/AGENT.md +69 -0
- package/agents/direito-da-propriedade-intelectual/AGENT.md +65 -0
- package/agents/direito-de-familia/AGENT.md +92 -0
- package/agents/direito-de-transito/AGENT.md +59 -0
- package/agents/direito-desportivo/AGENT.md +40 -27
- package/agents/direito-digital/AGENT.md +61 -24
- package/agents/direito-do-consumidor/AGENT.md +77 -0
- package/agents/direito-do-trabalho/AGENT.md +73 -20
- package/agents/direito-economico/AGENT.md +58 -0
- package/agents/direito-eleitoral/AGENT.md +56 -24
- package/agents/direito-empresarial/AGENT.md +62 -24
- package/agents/direito-financeiro/AGENT.md +63 -0
- package/agents/direito-imobiliario/AGENT.md +79 -0
- package/agents/direito-indigena/AGENT.md +72 -0
- package/agents/direito-internacional/AGENT.md +55 -24
- package/agents/direito-maritimo/AGENT.md +55 -0
- package/agents/direito-medico-e-da-saude/AGENT.md +69 -0
- package/agents/direito-militar/AGENT.md +54 -24
- package/agents/direito-notarial-e-registral/AGENT.md +47 -24
- package/agents/direito-penal/AGENT.md +74 -19
- package/agents/direito-previdenciario/AGENT.md +84 -0
- package/agents/direito-processal-civil/AGENT.md +72 -20
- package/agents/direito-processal-do-trabalho/AGENT.md +58 -24
- package/agents/direito-processal-militar/AGENT.md +38 -27
- package/agents/direito-processal-penal/AGENT.md +62 -24
- package/agents/direito-processual-civil/AGENT.md +94 -0
- package/agents/direito-processual-do-trabalho/AGENT.md +76 -0
- package/agents/direito-processual-militar/AGENT.md +53 -0
- package/agents/direito-processual-penal/AGENT.md +80 -0
- package/agents/direito-securitario/AGENT.md +75 -0
- package/agents/direito-sindical/AGENT.md +46 -24
- package/agents/direito-societario/AGENT.md +65 -0
- package/agents/direito-tributario/AGENT.md +98 -0
- package/agents/direito-urbanistico/AGENT.md +58 -0
- package/agents/direitos-humanos/AGENT.md +76 -0
- package/agents/legal-analyst/AGENT.md +1 -1
- package/agents/legal-designer/AGENT.md +8 -3
- package/agents/lgpd-anonymizer/AGENT.md +66 -4
- package/agents/lgpd-restorer/AGENT.md +38 -4
- package/agents/task-router/AGENT.md +47 -3
- package/bin/conectese.js +4 -4
- package/dashboard/src/App.tsx +6 -4
- package/dashboard/src/components/CheckpointModal.tsx +150 -0
- package/dashboard/src/components/StatusBadge.tsx +3 -3
- package/dashboard/src/components/StatusBar.tsx +7 -7
- package/dashboard/src/components/{SquadCard.tsx → TeamCard.tsx} +7 -7
- package/dashboard/src/components/{SquadSelector.tsx → TeamSelector.tsx} +18 -18
- package/dashboard/src/hooks/{useSquadSocket.ts → useTeamSocket.ts} +13 -13
- package/dashboard/src/lib/normalizeState.ts +3 -3
- package/dashboard/src/office/OfficeScene.ts +3 -3
- package/dashboard/src/office/PhaserGame.tsx +6 -6
- package/dashboard/src/plugin/{squadWatcher.ts → teamWatcher.ts} +83 -44
- package/dashboard/src/store/useTeamStore.ts +56 -0
- package/dashboard/src/types/state.ts +10 -9
- package/dashboard/tsconfig.tsbuildinfo +1 -1
- package/dashboard/vite.config.ts +2 -2
- package/package.json +12 -9
- package/skills/README.md +1 -1
- package/skills/conectese-agent-creator/SKILL.md +1 -1
- package/skills/conectese-design/SKILL.md +50 -0
- package/skills/conectese-skill-creator/SKILL.md +3 -3
- package/skills/conectese-skill-creator/references/skill-format.md +4 -4
- package/skills/document-analyzer/SKILL.md +40 -0
- package/skills/document-analyzer/scripts/parse-doc.js +113 -0
- package/skills/image-ai-generator/SKILL.md +5 -5
- package/skills/image-creator/SKILL.md +3 -3
- package/skills/image-fetcher/SKILL.md +5 -5
- package/skills/instagram-publisher/SKILL.md +2 -2
- package/skills/jurisprudencia-validator/SKILL.md +45 -0
- package/skills/jurisprudencia-validator/scripts/validate-urls.js +103 -0
- package/skills/legal-pricing/SKILL.md +33 -0
- package/skills/legal-pricing/scripts/pricing-engine.js +72 -0
- package/skills/resend/SKILL.md +2 -2
- package/skills/template-designer/SKILL.md +29 -29
- package/src/agents-cli.js +1 -1
- package/src/agents.js +1 -1
- package/src/init.js +2 -1
- package/src/locales/en.json +2 -2
- package/src/locales/es.json +2 -2
- package/src/locales/pt-BR.json +2 -2
- package/src/readme/README.md +26 -26
- package/src/runs.js +14 -14
- package/src/skills-cli.js +1 -1
- package/src/update.js +1 -1
- package/templates/_conectese/.conectese-version +1 -1
- package/templates/ide-templates/antigravity/.agent/rules/conectese.md +10 -10
- package/templates/ide-templates/antigravity/.agent/workflows/conectese.md +18 -18
- package/templates/ide-templates/claude-code/.claude/skills/conectese/SKILL.md +31 -31
- package/templates/ide-templates/claude-code/CLAUDE.md +10 -10
- package/templates/ide-templates/codex/.agents/skills/conectese/SKILL.md +1 -1
- package/templates/ide-templates/codex/AGENTS.md +18 -18
- package/templates/ide-templates/cursor/.cursor/commands/conectese.md +1 -1
- package/templates/ide-templates/opencode/.opencode/commands/conectese.md +1 -1
- package/templates/ide-templates/opencode/AGENTS.md +18 -18
- package/templates/ide-templates/vscode-copilot/.github/prompts/conectese.prompt.md +33 -33
- package/_conectese/.conectese-version +0 -1
- package/_conectese/_memory/company/modelo_contrato.md +0 -18
- package/_conectese/_memory/company/modelo_procuracao.md +0 -15
- package/_conectese/_memory/company/modelo_recibo.md +0 -13
- package/_conectese/config/playwright.config.json +0 -11
- package/_conectese/core/architect.agent.yaml +0 -110
- package/_conectese/core/best-practices/_catalog.yaml +0 -116
- package/_conectese/core/best-practices/blog-post.md +0 -132
- package/_conectese/core/best-practices/blog-seo.md +0 -127
- package/_conectese/core/best-practices/copywriting.md +0 -426
- package/_conectese/core/best-practices/data-analysis.md +0 -401
- package/_conectese/core/best-practices/email-newsletter.md +0 -118
- package/_conectese/core/best-practices/email-sales.md +0 -110
- package/_conectese/core/best-practices/image-design.md +0 -348
- package/_conectese/core/best-practices/instagram-feed.md +0 -235
- package/_conectese/core/best-practices/instagram-reels.md +0 -112
- package/_conectese/core/best-practices/instagram-stories.md +0 -107
- package/_conectese/core/best-practices/linkedin-article.md +0 -116
- package/_conectese/core/best-practices/linkedin-post.md +0 -121
- package/_conectese/core/best-practices/researching.md +0 -349
- package/_conectese/core/best-practices/review.md +0 -269
- package/_conectese/core/best-practices/social-networks-publishing.md +0 -294
- package/_conectese/core/best-practices/strategist.md +0 -344
- package/_conectese/core/best-practices/technical-writing.md +0 -365
- package/_conectese/core/best-practices/twitter-post.md +0 -105
- package/_conectese/core/best-practices/twitter-thread.md +0 -122
- package/_conectese/core/best-practices/whatsapp-broadcast.md +0 -107
- package/_conectese/core/best-practices/youtube-script.md +0 -122
- package/_conectese/core/best-practices/youtube-shorts.md +0 -112
- package/_conectese/core/prompts/build.prompt.md +0 -547
- package/_conectese/core/prompts/design.prompt.md +0 -469
- package/_conectese/core/prompts/discovery.prompt.md +0 -269
- package/_conectese/core/prompts/sherlock-instagram.md +0 -123
- package/_conectese/core/prompts/sherlock-linkedin.md +0 -73
- package/_conectese/core/prompts/sherlock-shared.md +0 -684
- package/_conectese/core/prompts/sherlock-twitter.md +0 -78
- package/_conectese/core/prompts/sherlock-youtube.md +0 -85
- package/_conectese/core/runner.pipeline.md +0 -535
- package/_conectese/core/skills.engine.md +0 -381
- package/agents/direito-adaneiro/AGENT.md +0 -42
- package/agents/direito-aeroporta-rio/AGENT.md +0 -42
- package/agents/direito-agra-rio/AGENT.md +0 -42
- package/agents/direito-banca-rio/AGENT.md +0 -42
- package/agents/direito-constitcional/AGENT.md +0 -42
- package/agents/direito-da-crianc-a-e-do-adolescente-eca/AGENT.md +0 -42
- package/agents/direito-da-propriedade-intelectal/AGENT.md +0 -42
- package/agents/direito-de-ami-lia/AGENT.md +0 -42
- package/agents/direito-de-tra-nsito/AGENT.md +0 -42
- package/agents/direito-do-consmidor/AGENT.md +0 -42
- package/agents/direito-econo-mico/AGENT.md +0 -42
- package/agents/direito-imobilia-rio/AGENT.md +0 -42
- package/agents/direito-inanceiro/AGENT.md +0 -42
- package/agents/direito-mari-timo/AGENT.md +0 -42
- package/agents/direito-me-dico-e-da-sa-de/AGENT.md +0 -42
- package/agents/direito-ndia-rio/AGENT.md +0 -42
- package/agents/direito-previdencia-rio/AGENT.md +0 -42
- package/agents/direito-rbani-stico/AGENT.md +0 -42
- package/agents/direito-secrita-rio/AGENT.md +0 -42
- package/agents/direito-societa-rio/AGENT.md +0 -42
- package/agents/direito-tribta-rio/AGENT.md +0 -42
- package/agents/direitos-hmanos/AGENT.md +0 -42
- package/dashboard/src/store/useSquadStore.ts +0 -56
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Blog Post"
|
|
3
|
-
platform: "blog"
|
|
4
|
-
content_type: "post"
|
|
5
|
-
description: "Long-form blog posts optimized for readability, engagement, and clear value delivery with structured subheadings"
|
|
6
|
-
whenToUse: |
|
|
7
|
-
Creating agents that produce blog posts, articles, or long-form content marketing.
|
|
8
|
-
constraints:
|
|
9
|
-
optimal_word_count: "1500-2500"
|
|
10
|
-
title_max_chars: 70
|
|
11
|
-
meta_description_chars: 160
|
|
12
|
-
subheading_frequency: "every 200-300 words"
|
|
13
|
-
version: "1.0.0"
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Platform Rules
|
|
17
|
-
|
|
18
|
-
- Average time on page is the strongest engagement signal. Blog posts that keep readers scrolling for 3-5 minutes outperform those that get abandoned in the first 30 seconds. Structure and readability directly determine this metric.
|
|
19
|
-
- Posts between 1,500-2,500 words hit the optimal balance of depth and retention. Below 800 words, content is perceived as thin and struggles to rank. Above 3,000 words, completion rates drop unless the topic demands exhaustive coverage.
|
|
20
|
-
- Mobile readability is non-negotiable. Over 60% of blog traffic comes from mobile devices. Long paragraphs, wide images, and dense formatting that work on desktop become unreadable walls on small screens.
|
|
21
|
-
- Subheadings serve as a scannable table of contents. Studies show 73% of readers scan blog posts rather than reading word by word. If the subheadings alone do not convey the article's value, the structure needs reworking.
|
|
22
|
-
- Internal linking keeps readers on site and distributes page authority. Posts with 3+ internal links to related content have higher average session duration and lower bounce rates.
|
|
23
|
-
- External links to authoritative sources (research, industry leaders, official documentation) increase credibility and can positively impact search ranking when linking to genuinely relevant resources.
|
|
24
|
-
- Publishing consistency builds audience expectation and return visits. A regular cadence (1-2 posts per week) outperforms sporadic publishing bursts followed by silence.
|
|
25
|
-
- Visual breaks every 300 words prevent fatigue: images, callout boxes, bullet lists, or blockquotes. Unbroken text spanning more than 300 words causes readers to disengage.
|
|
26
|
-
|
|
27
|
-
## Content Structure
|
|
28
|
-
|
|
29
|
-
### Blog Post Architecture
|
|
30
|
-
|
|
31
|
-
1. **Title** — Under 70 characters. Clearly communicates what the reader will learn or gain. Front-load the key topic. Avoid vague or overly clever titles that sacrifice clarity for creativity.
|
|
32
|
-
2. **Meta description** — 150-160 characters. Summarizes the post's value proposition in one sentence. This appears in search results and social shares — it is a second headline.
|
|
33
|
-
3. **Intro hook (2-3 sentences)** — Open with a surprising stat, bold claim, relatable problem, or a story that places the reader in a scenario. Then state exactly what the post will deliver.
|
|
34
|
-
4. **Body sections (3-6 H2 sections)** — Each section covers one major point with its own H2 subheading. Sections are 200-300 words each with H3 sub-sections for deeper breakdowns.
|
|
35
|
-
5. **Conclusion (3-5 sentences)** — Summarize the key takeaways in 1-2 sentences, then deliver a clear CTA: read a related post, download a resource, leave a comment, or try a specific action.
|
|
36
|
-
|
|
37
|
-
### Section-Level Structure
|
|
38
|
-
|
|
39
|
-
- **H2 subheading** — Descriptive, scannable, and self-contained. A reader should understand the section's value from the heading alone.
|
|
40
|
-
- **Opening sentence** — State the section's key point immediately. Do not build up to the insight.
|
|
41
|
-
- **Supporting content** — Evidence, examples, data, or step-by-step instructions. Use bullet points for lists of 3+ items.
|
|
42
|
-
- **Transition** — Final sentence bridges to the next section or reinforces the section's takeaway.
|
|
43
|
-
|
|
44
|
-
### Effective Post Formats
|
|
45
|
-
|
|
46
|
-
- **How-to guide**: "How to [achieve X]: A Step-by-Step Guide"
|
|
47
|
-
- **Listicle**: "7 [Things] That [Outcome] (and How to Use Them)"
|
|
48
|
-
- **Problem/Solution**: "Why [Problem Exists] and What to Do About It"
|
|
49
|
-
- **Lessons learned**: "What I Learned From [Experience]: [N] Key Takeaways"
|
|
50
|
-
- **Comparison**: "[Option A] vs. [Option B]: Which Is Right for [Audience]?"
|
|
51
|
-
|
|
52
|
-
## Writing Guidelines
|
|
53
|
-
|
|
54
|
-
- **Hook the reader in the first 2-3 sentences or lose them.** Open with a stat, question, bold claim, or relatable scenario. Never start with a dictionary definition or generic background. "Content marketing is important" loses readers. "87% of blog posts get zero organic traffic" keeps them.
|
|
55
|
-
- Write in short paragraphs: 3-4 lines maximum on desktop, which translates to 2-3 lines on mobile. Single-sentence paragraphs are powerful for emphasis.
|
|
56
|
-
- Bold key phrases and takeaways within paragraphs so scanners can extract value without reading every word.
|
|
57
|
-
- Use bullet points and numbered lists for any sequence of 3+ items. Lists are easier to scan than inline comma-separated items.
|
|
58
|
-
- Subheadings every 200-300 words. Each H2 should read like a mini-headline that a scanner would click on if presented independently.
|
|
59
|
-
- Write in second person ("you") to create direct connection with the reader. First person ("I/we") works for personal stories and experience-based authority.
|
|
60
|
-
- Include at least one visual break (image, callout box, blockquote, or list) every 300 words. Continuous text blocks cause reader fatigue and increase bounce rate.
|
|
61
|
-
- End with a specific, actionable CTA. "What do you think?" is weak. "Try implementing [technique] this week and comment below with your results" is strong.
|
|
62
|
-
- Include 3+ internal links to related content on your site and 2+ external links to authoritative sources. Link naturally within context, not in a dumped list at the end.
|
|
63
|
-
- Write the title last, after you know what the post delivers. Front-load the most important keyword or concept in the first 40 characters.
|
|
64
|
-
|
|
65
|
-
## Output Format
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
=== TITLE ===
|
|
69
|
-
[Under 70 characters — clear, specific, keyword front-loaded]
|
|
70
|
-
|
|
71
|
-
=== META DESCRIPTION ===
|
|
72
|
-
[150-160 characters — summarizes the post's value proposition in one sentence]
|
|
73
|
-
|
|
74
|
-
=== INTRO ===
|
|
75
|
-
[Hook — surprising stat, bold claim, relatable problem, or opening story. 1-2 sentences.]
|
|
76
|
-
|
|
77
|
-
[Promise — exactly what the reader will learn or gain from this post. 1 sentence.]
|
|
78
|
-
|
|
79
|
-
=== BODY ===
|
|
80
|
-
## [H2 Section 1 Title]
|
|
81
|
-
[200-300 words — one major point with evidence, examples, or steps. Include bullet points or visuals where appropriate.]
|
|
82
|
-
|
|
83
|
-
## [H2 Section 2 Title]
|
|
84
|
-
[200-300 words — one major point with evidence, examples, or steps.]
|
|
85
|
-
|
|
86
|
-
### [H3 Subsection if needed]
|
|
87
|
-
[Deeper breakdown of a specific aspect — 100-150 words.]
|
|
88
|
-
|
|
89
|
-
## [H2 Section 3 Title]
|
|
90
|
-
[200-300 words — one major point with evidence, examples, or steps.]
|
|
91
|
-
|
|
92
|
-
## [H2 Section 4 Title]
|
|
93
|
-
[200-300 words — one major point with evidence, examples, or steps.]
|
|
94
|
-
|
|
95
|
-
[Continue for 3-6 H2 sections total]
|
|
96
|
-
|
|
97
|
-
=== CONCLUSION ===
|
|
98
|
-
[Key takeaway summary — 1-2 sentences.]
|
|
99
|
-
|
|
100
|
-
[CTA — specific, actionable ask. 1-2 sentences.]
|
|
101
|
-
|
|
102
|
-
=== POST NOTES ===
|
|
103
|
-
Target word count: [1500-2500]
|
|
104
|
-
Internal links needed: [3+ with suggested anchor text]
|
|
105
|
-
External links needed: [2+ to authoritative sources]
|
|
106
|
-
Visual breaks: [List of suggested image/callout placements]
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## Quality Criteria
|
|
110
|
-
|
|
111
|
-
- [ ] Title is under 70 characters and clearly communicates the post's value
|
|
112
|
-
- [ ] Meta description is 150-160 characters and serves as a compelling second headline
|
|
113
|
-
- [ ] Intro hooks the reader in the first 2-3 sentences with a stat, bold claim, or relatable scenario
|
|
114
|
-
- [ ] Post contains 3-6 H2 sections, each covering one major point
|
|
115
|
-
- [ ] Subheadings appear every 200-300 words and are scannable as a standalone outline
|
|
116
|
-
- [ ] Paragraphs are 3-4 lines maximum with key phrases bolded
|
|
117
|
-
- [ ] At least one visual break (image, callout, list, or blockquote) every 300 words
|
|
118
|
-
- [ ] 3+ internal links and 2+ external links are included with natural anchor text
|
|
119
|
-
- [ ] Total word count is between 1,500-2,500 words
|
|
120
|
-
- [ ] Conclusion ends with a specific, actionable CTA (not generic "What do you think?")
|
|
121
|
-
|
|
122
|
-
## Anti-Patterns
|
|
123
|
-
|
|
124
|
-
- **Walls of text** — Paragraphs exceeding 5-6 lines on desktop become impenetrable on mobile. Readers bounce rather than parse dense blocks. Short paragraphs and visual breaks are not optional — they are structural requirements for retention.
|
|
125
|
-
- **No subheadings** — A 2,000-word post without H2/H3 subheadings is functionally a wall of text. Scanners (73% of readers) cannot extract value and leave. Subheadings serve as both navigation and content promises.
|
|
126
|
-
- **Clickbait titles that do not deliver** — "This One Trick Changed Everything" followed by generic advice destroys trust. The reader feels deceived, bounces quickly, and never returns. High bounce rates also signal low quality to search engines.
|
|
127
|
-
- **Thin content under 800 words** — Short posts struggle to provide sufficient depth, rank poorly for competitive keywords, and signal low effort. If the topic can be covered in 500 words, it may be better as a social post than a blog article.
|
|
128
|
-
- **No conclusion or CTA** — Posts that simply stop after the last body section feel incomplete. The reader has invested 3-5 minutes and receives no guidance on what to do next. Every post needs a clear ending and next step.
|
|
129
|
-
- **Dictionary definition openings** — Starting with "[Topic] is defined as..." is the most common sign of filler content. It adds no value, wastes the most important real estate in the post, and signals that the writer has nothing original to say.
|
|
130
|
-
- **Link dumping** — Placing all internal and external links in a list at the bottom of the post rather than weaving them naturally into the content. Contextual links are clicked more and provide more value to the reader.
|
|
131
|
-
- **No visual breaks** — Continuous text for 500+ words without an image, list, callout, or blockquote causes reading fatigue. Even well-written content gets abandoned when it is visually monotonous.
|
|
132
|
-
- **Writing for search engines instead of humans** — Unnaturally forcing keywords into every sentence makes content awkward and unpleasant to read. Write for clarity first; optimize for search second.
|
|
@@ -1,127 +0,0 @@
|
|
|
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.
|