skills/seo-content-blogging/SKILL.md
Writing informational blog posts that rank in search -- genuine technical content that serves humans AND search engines. Covers topic research, keyword mapping, content structure for featured snippets, technical blog templates (tutorial, comparison, deep-dive, case study), internal linking strategy, meta tags, schema markup, content freshness cycles, and measuring ROI. Activate on 'SEO blog', 'blog post SEO', 'content strategy', 'keyword research', 'technical blog', 'blog ranking', 'search optimization', 'content calendar', 'featured snippets', 'schema markup'. NOT for social media or launch tactics (use tech-launch-channels) or general product announcements (use product-announcement-craft).
npx skillsauth add curiositech/windags-skills seo-content-bloggingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Writing technical blog posts that rank in search engines -- not keyword stuffing, but genuinely useful content that also happens to satisfy every signal Google cares about. This skill covers the full lifecycle from topic research to published post to long-term maintenance.
Use for:
Do NOT use for:
RESEARCH → PLAN → WRITE → OPTIMIZE → PUBLISH → DISTRIBUTE → MEASURE → REFRESH
↑ │
└──────────────────────────────────────────────────────────────────────┘
Content is not "done" when published. The refresh cycle is what separates blogs that compound from blogs that decay.
Start with problems your audience searches for, not features you want to promote.
Sources for topic ideas:
Not all keywords are equal. Understand intent before writing.
| Intent | Example | What to Write | Conversion Potential | |--------|---------|---------------|---------------------| | Informational | "what is a DAG" | Tutorial / explainer | Low (top of funnel) | | Comparative | "Airflow vs Prefect" | Comparison post | Medium | | Problem-solving | "how to parallelize AI agents" | How-to guide | Medium-High | | Tool-seeking | "best DAG orchestration tool" | Listicle / review | High | | Transactional | "windags pricing" | Landing page (not blog) | Highest |
Primary keyword: "how to orchestrate AI agents"
Search volume: ~1,200/month
Difficulty: Medium
Intent: Problem-solving
Secondary keywords:
- "AI agent orchestration framework"
- "parallel AI agent execution"
- "multi-agent workflow"
Long-tail variations:
- "how to run multiple AI agents in parallel"
- "best way to coordinate Claude agents"
- "DAG-based AI workflow tool"
People Also Ask:
- "What is an AI agent orchestrator?"
- "How do AI agents communicate with each other?"
- "Can you run multiple AI agents at the same time?"
Map each article to ONE primary keyword and 3-5 secondary keywords. Never target the same primary keyword with two different articles (that is keyword cannibalization).
<article>
<!-- Title: Primary keyword near the front, under 60 chars -->
<h1>How to Orchestrate AI Agents with DAGs</h1>
<!-- Meta description: 150-160 chars, includes primary keyword, ends with value prop -->
<meta name="description" content="Learn how to orchestrate multiple AI agents using DAG-based workflows. Step-by-step guide with code examples for parallel execution." />
<!-- Hook: Answer the query in the first 2 sentences (featured snippet bait) -->
<p>AI agent orchestration is the process of coordinating multiple
AI agents to execute complex tasks in parallel. This guide shows
you how to build DAG-based workflows that...</p>
<!-- Table of Contents: Improves UX and creates jump links -->
<nav>Table of Contents</nav>
<!-- H2 sections: Each targets a secondary keyword or PAA question -->
<h2>What Is AI Agent Orchestration?</h2>
<h2>Why Use DAGs for Multi-Agent Workflows?</h2>
<h2>Step-by-Step: Building Your First Agent DAG</h2>
<h2>Common Mistakes and How to Avoid Them</h2>
<h2>Comparing Agent Orchestration Frameworks</h2>
<!-- FAQ section: Directly answers People Also Ask questions -->
<h2>Frequently Asked Questions</h2>
</nav>
</article>
Google pulls featured snippets from content that directly answers a question in a structured format. To win snippets:
For definitions:
## What Is [Term]?
[Term] is [40-60 word definition that directly answers the question].
For "how to" queries:
## How to [Do Thing]
1. **Step one** -- [brief description]
2. **Step two** -- [brief description]
3. **Step three** -- [brief description]
For comparisons:
## [Tool A] vs [Tool B]
| Feature | Tool A | Tool B |
|---------|--------|--------|
| Speed | Fast | Faster |
| Price | Free | $29/mo |
For lists:
## Best [Category] Tools in 2026
1. **[Tool]** -- [one-line description]
2. **[Tool]** -- [one-line description]
# How to [Achieve Outcome] with [Technology]
[2-sentence summary that answers the search query directly]
## Prerequisites
- [What the reader needs before starting]
## Step 1: [First Action]
[Explanation + code block]
## Step 2: [Second Action]
[Explanation + code block]
## Step 3: [Third Action]
[Explanation + code block]
## What You Built
[Screenshot/demo of the finished result]
## Next Steps
[Links to related tutorials, advanced topics]
## FAQ
[3-5 questions from People Also Ask, answered concisely]
SEO power: Tutorials rank for long-tail "how to" queries, which have high intent and low competition.
# [Tool A] vs [Tool B]: Which Should You Use in 2026?
[1-paragraph summary with recommendation for the impatient reader]
## Quick Comparison
| Criteria | Tool A | Tool B |
|----------|--------|--------|
| Best for | ... | ... |
| Price | ... | ... |
| Learning curve | ... | ... |
## [Tool A] Overview
[What it is, who it's for, strengths and weaknesses]
## [Tool B] Overview
[Same structure]
## Head-to-Head: [Specific Criterion]
[Detailed comparison on the dimension people care about most]
## When to Choose [Tool A]
## When to Choose [Tool B]
## FAQ
SEO power: Comparison queries ("X vs Y") have very high purchase intent. A fair, detailed comparison builds trust.
Structure: Problem Space, Architecture Overview, Component Deep-Dives (with code and diagrams), What We Tried That Didn't Work (honesty earns trust), Performance Characteristics (benchmarks), Lessons Learned.
SEO power: Architecture posts earn backlinks from other developers referencing your approach. Backlinks are the strongest off-page ranking signal.
Structure: The Challenge (specific problem with numbers), The Approach (step by step), The Results (time saved, cost reduced, performance improved), Key Takeaways (3-5 transferable bullet points).
SEO power: Case studies rank for problem-specific queries and build credibility signals (E-E-A-T).
Every blog post needs these meta tags:
How to Orchestrate AI Agents with DAGs | Windagsog:title, og:description, og:image (1200x630px), og:type = "article"twitter:card = "summary_large_image", twitter:title, twitter:imageAdd JSON-LD schema to every blog post for rich results in search. Use the appropriate type:
| Content Type | Schema Type | Rich Result |
|-------------|-------------|-------------|
| Any blog post | BlogPosting | Author, date, publisher info |
| FAQ sections | FAQPage | Expandable Q&A in search results |
| Tutorials | HowTo | Step-by-step display in search |
| Lists | ItemList | Numbered items in search |
Always include: headline, description, author (Person with name/url), datePublished, dateModified, publisher (Organization with logo), and mainEntityOfPage.
Internal links pass authority between pages and help search engines understand your site structure.
Rules:
Topic Cluster Model:
[Pillar Page]
"AI Agent Orchestration"
/ | \
[Cluster] [Cluster] [Cluster]
"DAG Basics" "Parallel "Skill
Execution" Matching"
The pillar page covers the broad topic and links to each cluster page. Each cluster page links back to the pillar and to sibling clusters.
Google rewards freshness, especially for technical content where tools and APIs change.
| Content Type | Update Frequency | What to Update | |-------------|-----------------|----------------| | Tutorials | Every 6 months | Code examples, API changes, screenshots | | Comparisons | Every 3-4 months | Pricing, new features, market changes | | Deep-dives | Annually | Architecture changes, performance data | | "Best of" lists | Every 3 months | New tools, removed tools, updated rankings |
When updating: change dateModified in schema, add "Updated [date] with [changes]" at top, refresh code examples, re-share on social.
Track with Google Search Console (free, essential) and Google Analytics 4:
| Metric | Target | |--------|--------| | Organic traffic | Growing month-over-month | | Average position | Top 5 for primary keyword | | Click-through rate | Above 3% for page 1 results | | Time on page | Above 3 minutes for tutorials | | Conversions | Track with UTM params per post |
The compound effect: SEO content grows over time. A post getting 100 visits/month at launch can reach 1,000/month by month 12 as it earns backlinks and authority. This is the opposite of social media, which spikes and dies.
Google does NOT penalize content for being AI-generated. They penalize content that is low-quality, regardless of how it was created. The policy: "Content created primarily for people" ranks. "Content created to manipulate rankings" does not.
What this means in practice:
Google AI Overviews now answer many queries directly in search results. This changes the game:
People now search Google, ChatGPT, Perplexity, and Bing simultaneously. To be visible across all:
Mistake: Forcing the target keyword into every paragraph, making the content unreadable. Fix: Use the primary keyword in the title, H1, first paragraph, and meta description. Use secondary keywords and natural language everywhere else.
Mistake: Content that reads like an SEO checklist was applied to a blank page. Fix: Write for a smart developer first. Optimize for search second. If the content would not be useful without Google, it should not exist.
Mistake: Writing a product pitch for an informational query ("what is X" answered with "buy our product that does X"). Fix: Match content to intent. Informational queries get educational content. Let the reader decide to try your product after being genuinely helped.
Mistake: Never updating published content. Fix: Schedule quarterly reviews. Update outdated examples, refresh screenshots, add new information. A well-maintained post from 2024 outranks a fresh but thin post from 2026.
Mistake: Every blog post is an island with no links to other content. Fix: Every post links to 3-5 related posts. Build topic clusters. Create pillar pages.
Mistake: Publishing the exact same article on your blog, Dev.to, Medium, and LinkedIn. Fix: Publish the canonical version on YOUR domain. Cross-post to Dev.to and Medium with canonical URL tags. Syndicate summaries to LinkedIn and Twitter.
Mistake: Targeting "AI" (billions of results, impossible to rank) instead of "how to orchestrate AI agents with DAGs" (specific, rankable). Fix: Target long-tail keywords with clear intent. Better to rank #1 for a 500-searches/month term than #50 for a 50,000-searches/month term.
datePublished and dateModified are accurate in schema markuptools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.