skills/content-writing/SKILL.md
--- name: content-writing description: Use for all content creation, repurposing, quality auditing, content refresh, content gap analysis, keyword research, support-to-content needs, and article editing — blog articles from raw knowledge (including SEO-optimized content), X/Twitter Articles with editorial scoring, LinkedIn posts and long-form articles, multi-channel syndication from a canonical asset (X, LinkedIn, Substack, Medium, Dev.to, Hashnode, Reddit), humanizing AI-generated text, optimiz
npx skillsauth add alvarovillalbaa/agent-suite skills/content-writingInstall 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.
A unified content-writing skill covering the full content lifecycle:
| Mode | Trigger | Output | |------|---------|--------| | Blog | "write a blog / turn these notes into an article" | Canonical blog article with outline, draft, and metadata | | X Article | "write / optimize an X Article / Twitter Article" | 8-step analysis + complete optimized rewrite | | LinkedIn | "write a LinkedIn post / article / carousel" | LinkedIn-native draft ready to publish | | Syndication | "repurpose this across channels / give me a distribution pack / syndicate to Dev.to, Hashnode, Reddit" | Per-channel artifacts for X, LinkedIn, Substack, Medium, Dev.to, Hashnode, Reddit | | Humanize | "humanize this / remove AI traces / make this sound human" | De-AI-ified rewrite with pattern commentary and quality score | | GEO Optimize | "optimize for AI / get cited by ChatGPT / make this AI-quotable" | GEO analysis + before/after score + AI-citation-ready rewrite | | Content Audit | "audit content quality / CORE-EEAT score / content quality check" | 80-item CORE-EEAT audit report with dimension scores, veto checks, and prioritized action plan | | Content Refresh | "update old content / refresh this article / content is outdated / traffic declining / rankings dropped" | Freshness analysis, update prioritization, refresh plan, GEO enhancement, and republishing strategy | | Content Gap Analysis | "find content gaps / content opportunities / what am I missing / untapped topics" | Competitive gap analysis, keyword gap matrix, format gaps, audience journey gaps, and prioritized content calendar | | Keyword Research | "find keywords / keyword research / what should I write about / identify ranking opportunities" | Keyword discovery report with intent classification, difficulty scoring, opportunity matrix, topic clusters, GEO potential, and content calendar | | Support-to-Content | "analyze support tickets / content from customer questions / what should I document / reduce support load" | Ticket pattern analysis + prioritized content briefs for help articles and blog posts | | Edit Article | "edit / revise / improve this article / restructure these sections / tighten prose" | DAG-ordered section map confirmed with user + per-section rewrite with tight paragraphs |
These modes build on each other in a predictable order:
Support tickets → [Support-to-Content] → Content briefs (help articles, blog posts)
↓
Content strategy → [Keyword Research] → High-value keyword list + topic clusters
↓
[Content Gap Analysis] → Prioritized opportunity list + content calendar
↓
Raw knowledge → [Blog mode] → Canonical blog article
↓
[X Article mode] → X-native long-form
↓
[Syndication mode] → X thread, LinkedIn post,
Substack newsletter, Medium article,
Dev.to post, Hashnode article, Reddit post
↓
[GEO Optimize mode] → AI-citation-ready rewrite
↓
[Content Audit mode] → CORE-EEAT quality gate
Existing content → [Content Refresh mode] → Updated article with fresh stats,
new sections, GEO enhancements,
and republishing strategy
Use Keyword Research first when you need to discover what people are actually searching for before defining your strategy. Use Content Gap Analysis when you already know your topic space and want to benchmark against competitors. Use Blog first when starting from scratch on a specific topic. Use Syndication when you already have a finished canonical piece. Use Humanize on any draft — yours or AI-generated — that reads like a machine wrote it. Use Content Audit as a final quality gate before publishing.
Ask 2–3 targeted questions if anything critical is missing.
Always produce:
Pick the best fit; state the chosen pattern explicitly.
1. Problem → Insight → Playbook Best when the goal is to help readers solve a known pain.
2. Story → Lessons → Application Best when the source contains a case study, founder journey, or failure/success narrative.
3. Myth → Reality → New Approach Best for contrarian angles or busting bad advice.
For detailed structural templates by content type (comparison articles, listicles, how-to guides, product reviews, pillar pages, FAQ pages), see → content-structure-templates.md.
Step 1 – Normalize inputs. Cluster content into themes (problems, frameworks, tactics, examples). Identify what is actually interesting vs generic. Note strong lines worth preserving verbatim.
Step 2 – Clarify purpose. Write for yourself: "This article is for [persona] who [current state] and wants [desired state]." Use as a filter for what to include or cut.
Step 3 – Choose angle and structure. Propose 2–3 angles, pick one. Select a structure pattern. Surface the rationale.
Step 4 – Draft the outline. H1 title, 3–6 H2 sections with 1-line descriptions. Ensure each section earns its existence.
Step 5 – Write the article. Keep paragraphs to 2–4 lines. Use concrete examples from the source. For SEO pieces: primary keyword in title, first 100 words, and at least one H2.
Step 6 – Sharpen and compress. Cut repetition, hedging, and filler ("very", "really", "in order to"). Tighten section intros. Mark an optional "deep dive" section if the article runs long.
Step 7 – Close with teeth. Recap 2–4 key takeaways, include a specific CTA aligned with the stated goal, optionally ask one simple question to invite comments.
| Dimension | 0–4 | 5–6 | 7–8 | 9–10 | |-----------|-----|-----|-----|------| | Core argument | No thesis or buried/contradicted | Present but not crisp | One clear memorable argument | Sharp, slightly contrarian, repeatable in one sentence | | Structure & flow | Random paragraphs | Reasonable but could reorder | Clean logical progression | Structure itself teaches; headings tell the whole story | | Evidence & depth | Mostly opinion, no examples | At least one example per section | Rich mix of stories, stats, frameworks | Feels like the writer has lived the problem | | Reader relevance | Could apply to anyone | Reasonable alignment but generic | Written for a specific persona | Reader feels seen; objections anticipated | | Voice | AI-generic marketing voice | Functional but bland | Consistent recognizable voice | Unique tone + analogies; obviously this specific author |
State explicitly: "This is a [Audience] × [Type] article."
Audiences:
Types:
When the user asks for SEO-optimized content, run the full SEO workflow in addition to the standard Blog workflow:
1. Gather SEO Requirements
Collect before writing:
2. CORE-EEAT Pre-Write Checklist
Before writing, commit to these 16 quality standards:
| ID | Standard | How to Apply | |----|----------|-------------| | C01 | Intent Alignment | Title promise must match content delivery | | C02 | Direct Answer | Core answer in first 150 words | | C06 | Audience Targeting | State "this article is for..." | | C10 | Semantic Closure | Conclusion answers opening question + next steps | | O01 | Heading Hierarchy | H1→H2→H3, no level skipping | | O02 | Summary Box | Include TL;DR or Key Takeaways | | O06 | Section Chunking | Each section single topic; paragraphs 3–5 sentences | | O09 | Information Density | No filler; consistent terminology | | R01 | Data Precision | ≥5 precise numbers with units | | R02 | Citation Density | ≥1 external citation per 500 words | | R04 | Evidence-Claim Mapping | Every claim backed by evidence | | R07 | Entity Precision | Full names for people/orgs/products | | C03 | Query Coverage | Cover ≥3 query variants (synonyms, long-tail) | | O08 | Anchor Navigation | Table of contents with jump links | | O10 | Multimedia Structure | Images/videos have captions and carry information | | E07 | Practical Tools | Include downloadable templates, checklists, or calculators |
3. Keyword Map
Plan keyword placement before writing:
Never stuff the exact phrase repeatedly or twist natural language just to insert a keyword.
4. Title Optimization
Produce 3 title options, each with character count:
Option 1: [Title] ([X] chars) — keyword at front; power words: [list]
Option 2: [Title] ([X] chars) — keyword at middle; power words: [list]
Option 3: [Title] ([X] chars) — keyword at end; power words: [list]
Recommended: Option X — [brief rationale]
Target ≤60 chars for full SERP display. See → title-formulas.md for proven headline formulas and power word categories.
5. Meta Description
"[Description text]" ([X] characters) — Requirements: 150–160 chars, include primary keyword naturally, include CTA or curiosity hook.
6. Featured Snippet Optimization
Format strategically for SERP features where applicable:
"[Term] is [concise 40–60 word definition]" immediately under the relevant H27. SEO Self-Check (Run Before Delivering)
Keyword placement:
Content quality:
Links:
Metadata:
See → seo-writing-checklist.md for the full checklist and content template.
Before presenting the result, quickly verify:
Use this as a mental model; don't hard-code the content.
User input — 4 pages of meeting notes about "improving engineering performance reviews". Goal: blog article for engineering managers to share internally.
Normalize — themes: pain (reviews feel bureaucratic, not useful), insight (reviews fail when expectations aren't set early), tactics (quarterly calibration, rubric examples, skip-level feedback). Strong line: "If reviews are a surprise, you failed months ago."
Angle & type — Audience: Leaders / Execs. Type: Thought leadership + light playbook. Angle: "Performance reviews are not a form; they're a year-long conversation with a deadline."
Outline
Draft — use real phrases from notes to preserve voice; weave in 1 story + 1 rubric + 1 "start this month" checklist.
Sharpen — cut generic HR advice sections; tighten each section intro to 2–3 lines.
Close — CTA: "Share this with your EMs and agree on one change before next quarter."
Do not use for short X posts/threads (use Syndication mode) or generic blog articles (use Blog mode).
Ask 2–4 concise questions if anything critical is missing.
Always produce two clearly labeled parts:
PART 1 – Analysis & Assessment
PART 2 – Complete Optimized Rewrite
Goal: One sharp purpose. Assess whether the reader outcome is crisp and the audience is specific.
Goal: Make it impossible not to click or keep reading.
Title checks: specific (numbers, nouns, stakes)? Curiosity without clickbait? Clear benefit? Hook checks: ≤10–20 words? Connects reader's pain to the promise?
In Part 1: show BEFORE title + hook; provide 3 improved titles; note copy principles used. In Part 2: use best title; ensure hook flows naturally into body.
Goal: Skimmers extract the value in seconds, especially on mobile.
Checklist (mark ❌/✅):
In Part 1: identify offending paragraphs; show BEFORE → AFTER split with bold insight. In Part 2: enforce all structural rules; headings are scannable, not clever.
Goal: Sound like a sharp, opinionated friend — not a corporate memo.
Assess: overly formal? Talks to the reader ("you/your")? Feels written by a specific person?
In Part 1: 2–3 BEFORE → AFTER sentence rewrites showing more direct language and stronger POV. In Part 2: consistent voice aligned with user preferences; use contractions and conversational phrasing.
Goal: Every strong claim is backed by proof.
For 3–5 key claims: quote the claim; propose a specific stat, story, or example.
In Part 2: after each major claim, immediately follow with one concrete support element.
Goal: Cut 20–30% of words without losing meaning.
Identify filler ("very", "really", "in order to", "just", "actually") and repetitive points.
In Part 1: 2 filler-heavy sentences with BEFORE → AFTER rewrites. In Part 2: sharp economical sentences; no repetition.
Goal: Break the scroll — roughly 1 visual every 200–300 words.
In Part 1: propose specific visual ideas with placement ("after paragraph 3: chart showing X vs Y"). In Part 2: insert [IMAGE:] or [EMBED:] annotations with short descriptions at logical breakpoints.
Goal: End with punch, clarity, and a next step.
Assess: fizzles or builds? Summarizes main points? Specific CTA? Engagement question?
In Part 1: show BEFORE close → rewritten AFTER with 2–4 takeaways, bolded CTA, reply question. In Part 2: implement strong close aligned with user's stated goal.
| Criterion | 0–2 | 3–4 | 5–6 | 7–8 | 9–10 | |-----------|-----|-----|-----|-----|------| | Purpose | No audience/goal | Some hint but broad | Identifiable but unfocused | Clear for specific persona | Single sharp purpose with explicit "after reading" clarity | | Title & Hook | Generic/misleading | States topic, no stakes | Serviceable, not scroll-stopping | Curiosity + clear value | Specific, curiosity-driving, benefit-rich; hook grips in one line | | Skimmability | Walls of text | Some headings remain dense | ~60% of value via skim | ~80–90% skimmable | Designed for skimming; headings tell the story | | Voice | Corporate/robotic | Understandable but bland | Some POV, inconsistent | Distinctive, mostly aligned | Instantly recognizable; feels like a sharp human talking directly to reader | | Show/Tell | Pure abstraction | Occasional generic examples | One concrete example per section | Nearly every claim backed | Rich tapestry of stories, numbers, before/after | | Editing | Rambling, full of filler | Some trimming, still verbose | Could cut another 10–20% | Lean; a handful of trims left | Every sentence earns its place | | Visuals | No visual thinking | One or two random visuals | Basic formatting, a couple purposeful visuals | Intentional placement, support understanding | Designed experience; visuals and spacing work together | | Close | Abrupt or meandering | Some conclusion, no CTA | Decent summary or CTA, not both | Strong recap and CTA | Memorable close, crisp takeaways, natural CTA |
Reader sophistication:
Tones:
State chosen audience level and tone explicitly at the start of Part 2.
Use this as a mental model when transforming real content.
Input — 1,500-word blog post about "productivity systems". Goal: convert to an X Article that sells a newsletter.
Diagnosis (Part 1)
Outline
Rewrite (Part 2) — title options: "You Don't Need a New Productivity App—You Need Fewer Priorities" / "Why 95% of Productivity Systems Fail After Week 2" / "The 3 Rules That Saved My Calendar from Chaos". Hook and body follow all structural rules above.
LinkedIn Post
Goal: professional visibility + conversation.
Structure:
Formatting: 3–8 short paragraphs, 1–3 lines each. Light use of bullets. Slightly more professional than X, but still human and opinionated.
LinkedIn Article
Goal: longer-form professional article that can be referenced (800–1,500+ words).
Structure:
Language: adapt the canonical blog by making it slightly more "boardroom-friendly" and shifting examples to be org/team-centric vs purely individual.
LinkedIn Carousel (carousel-style series)
Goal: multi-slide narrative for high engagement and saves.
Before presenting the draft:
Prefer Blog mode when starting from raw knowledge (no canonical article yet). Prefer X Articles mode for a single high-quality X Article as the main long-form.
Ask 2–3 sharp questions to resolve ambiguity; not a long survey.
Before generating any channel variant, extract and surface these signals from the source — they inform which platforms to prioritize and how to adapt:
| Signal | How to Use |
|--------|-----------|
| Word count / reading time (÷ 200 wpm) | Short pieces (<500 words) need expansion for Medium/Hashnode; long pieces (>2,500 words) need aggressive compression for X and LinkedIn |
| Code block count | ≥1 code block → flag as is_technical = true → prioritize Dev.to and Hashnode; add syntax highlighting notes |
| Image / diagram count | Visual-heavy originals → add [IMAGE: description] placeholders on text-first platforms |
| Section headings | Map H2s to key points for X thread tweets and LinkedIn bullets |
| First paragraph | Often the best hook candidate for X and LinkedIn intros |
Present a brief analysis summary before drafting: title, word count, reading time, is_technical, and recommended channel prioritization.
X Thread
Goal: fast, snackable, shareable highlights.
Thread template (7–12 posts):
X Article (from Canonical)
When generating an X Article inside Syndication mode:
LinkedIn Post — see LinkedIn Post pattern above.
LinkedIn Article — see LinkedIn Article pattern above.
Substack Newsletter
Goal: deep relationship and recurring engagement.
Structure:
More intimate than blog or LinkedIn — less polished, more honest.
Medium Article
Goal: broad audience, editorial-style piece.
Structure:
Formatting specifics: shorter paragraphs than the original (2–3 sentences max), add pull quotes for the strongest insights (Medium surfaces these as featured callouts), include a subtitle under the headline. Medium rewards story + insight more than raw how-to.
Dev.to Post
Goal: technical practitioners; SEO via canonical URL attribution.
Structure:
---
title: [Post title]
published: true
tags: [up to 4 tags, e.g. webdev, javascript, tutorial, productivity]
canonical_url: [original post URL]
cover_image: [optional]
---
```javascript).## Series tag note if the post is part of a sequence.Always include canonical_url to protect SEO equity. Prioritize this platform when is_technical = true.
Hashnode Article
Goal: developer-focused blogging; canonical attribution to home domain.
Structure:
Always set the canonical URL. Prioritize alongside Dev.to when is_technical = true.
Reddit Post
Goal: community-native conversation; no self-promo feel.
Structure:
If the user provides target subreddits, generate a separate angle per community. If not, suggest 2–3 relevant subreddits based on the content topic.
To avoid thin or duplicate content across platforms, change at least two of:
Rebuild, don't paraphrase. Do not synonym-swap sentences. Re-select which stories, examples, or data points you emphasize per channel.
Vary intros and closes. Each channel must have its own hook and own close.
Meaningful compression or expansion: X posts = highly compressed; LinkedIn/Medium = mid-depth; Substack = deepest.
Always include a short "Difference from source" note per channel artifact: what changed (angle, structure, tone) and what was dropped or added.
Before drafting, explicitly choose angle variants per channel:
Example for one topic:
For a given input and channel list:
1. Syndication summary
2. Per-channel deliverables
For each channel:
X Thread — hook post, thread posts 2–N, CTA post, difference from source. X Article — full draft (or note to use X Articles mode for deep optimization), difference from source. LinkedIn Post — post body (copy-paste ready), optional hashtags, difference from source. LinkedIn Article — 2–3 title options, outline, full draft (or 2–3 representative sections), difference from source. Substack Newsletter — subject line options, pre-header, newsletter body (intro + main content + CTA), difference from source. Medium Article — title + subtitle options, opening with narrative hook, pull quote callout, section overview (H2s), difference from source. Dev.to Post — complete front matter block (title, tags, canonical_url), full body with syntax-highlighted code blocks, difference from source. Hashnode Article — canonical URL note, tags, full body preserving technical depth, difference from source. Reddit Post — TLDR, per-subreddit angle variants (if subreddits provided), full post body, difference from source.
3. Implementation notes
Step 0 – Analyze the source. Before drafting anything, surface: title, word count, reading time, code block count (is_technical), image count, and list of H2 headings. Present a 3–4 line analysis summary and recommend which channels to prioritize based on these signals (e.g. technical content → Dev.to/Hashnode first; visual-heavy → note placeholder limitations on text platforms).
Step 1 – Digest the source. Read end-to-end. Identify: core thesis, 2–4 strongest insights, any standout stories/stats/lines worth keeping.
Step 2 – Clarify channels. Confirm which channels matter most. Ask: "If one channel over-performed, which should it be?" — bias extra care there. If Dev.to or Hashnode are targets, confirm the canonical URL.
Step 3 – Define per-channel angle. For each channel: who is being spoken to, what problem/aspiration is foregrounded, how bold vs safe the tone. Write 1–2 sentences per channel describing that angle before drafting.
Step 4 – Draft per-channel artifacts. Start with the highest-priority channel. For each: use native style patterns, respect platform norms, ensure the copy stands on its own.
Step 5 – Enforce non-duplication. For each channel, check: is the intro differentiated? Are some examples unique to this version? Is the CTA tuned to platform behavior (reply vs comment vs click vs subscribe)?
Step 6 – Summarize and hand off. Provide a brief publishing plan: suggested order, how to link between pieces, which version is the SEO canonical.
canonical_url.Input — canonical blog: "If Performance Reviews Are a Surprise, You Failed Months Ago." Goal: attract engineering managers and ICs; grow newsletter + LinkedIn presence. Target channels: X thread, LinkedIn post, Substack newsletter.
Syndication summary
Per-channel artifacts (sketched)
Differences from source
Do not skip this mode just because the content was written by a human — AI-adjacent phrasing creeps into human writing too.
When given text to humanize:
Avoiding AI patterns is only half the job. Sterile, voiceless writing is just as detectable as machine-generated content. Good writing has a real person behind it.
Signs of soulless writing (even when technically "clean"):
How to add tone:
Have a point of view. Don't just report facts — react to them. "I genuinely don't know what to make of this" is more human than neutrally listing pros and cons.
Vary the rhythm. Short punchy sentences. Then a longer one that needs room to unfold. Mix them.
Acknowledge complexity. Real people have complicated feelings. "This is impressive but also a little unsettling" beats "This is impressive."
Use "I" when appropriate. First person isn't unprofessional — it's honest. "I've been thinking about…" or "What bothers me is…" signals a real person is thinking.
Allow some messiness. Perfect structure feels algorithmic. Digressions, asides, and half-formed thoughts are human.
Be specific about feelings. Not "this is concerning" but "watching the agent run at 3am with no one watching — that's unsettling."
Watch for: serves as / stands as, marks / represents, is a testament to / reminder of / embodiment of, critically important / pivotal / crucial / central role / moment, highlights / underscores / underlines its importance, reflects a broader, symbolizes its enduring / lasting / timeless, contributes to, lays the groundwork for, marks / shapes a shift, key turning point, ever-evolving landscape, cornerstone, indelible mark, deeply rooted in
Problem: LLMs inflate importance by adding statements about how something represents or contributes to a broader theme.
Before: The institute was formally established in 1989, marking a pivotal moment in the evolution of regional statistics in the country. This move was part of a broader national effort to decentralize administrative functions.
After: The institute was established in 1989 to collect and publish regional statistics independently of the national bureau.
Watch for: covered independently, local/regional/national media, written by noted experts, active social media presence
Problem: LLMs repeatedly assert prominence — usually listing sources without context.
Before: Her views have been cited by The New York Times, BBC, the Financial Times, and The Hindu. She maintains an active social media presence with over 500,000 followers.
After: In a 2024 New York Times interview, she argued that AI regulation should focus on outcomes rather than methods.
Watch for: highlighting / showcasing / emphasizing / underscoring…, ensuring…, reflecting / symbolizing…, contributing to…, fostering / nurturing…, encompassing…, demonstrating…
Problem: AI tacks on present-participle ("-ing") phrases at the end of sentences to fake depth.
Before: The temple's blue, green, and gold color scheme resonates with the natural beauty of the region, symbolizing the community's deep connection to the land, reflecting a lasting bond between culture and environment.
After: The temple uses blue, green, and gold. The architect said the colors were chosen to echo local wildflowers and the coastline.
Watch for: boasts (hyperbolic use), vibrant, rich (figurative), profound, enhancing its, showcases, embodies, committed to, natural beauty, nestled in, at the heart of, groundbreaking (figurative), renowned, breathtaking, must-visit, charming
Problem: LLMs default to tourist-brochure/PR language, especially for cultural or heritage topics.
Before: Nestled in the breathtaking region of northern Ethiopia, Alamata is a vibrant town boasting a rich cultural heritage and charming natural beauty.
After: Alamata is a town in northern Ethiopia, known for its weekly market and an 18th-century church.
Watch for: industry reports suggest, observers note, experts believe, some critics argue, multiple sources / publications (with little actual citation)
Problem: AI attributes opinions to vague authorities instead of specific sources.
Before: The river has attracted the interest of researchers and conservationists due to its unique characteristics. Experts believe it plays a crucial role in the regional ecosystem.
After: A 2019 survey by the Chinese Academy of Sciences found the river supports several endemic fish species.
Watch for: despite its X, faces several challenges…, despite these challenges, challenges and legacy, looking ahead
Problem: LLMs insert a formulaic "challenges" section as a structural reflex.
Before: Despite its industrial prosperity, Korattur faces challenges typical of urban areas, including traffic congestion and water scarcity. Despite these challenges, Korattur continues to thrive.
After: Traffic congestion worsened after three new IT parks opened in 2015. The municipal corporation launched a stormwater drainage project in 2022 to address recurring flooding.
High-frequency AI words: moreover, in alignment with, crucial, delve into, underscore, enduring, enhance, foster, leverage, highlight (verb), intricate / intricacies, pivotal (adj), landscape (abstract noun), crucial, showcase, tapestry (abstract), testament, emphasize (verb), invaluable, vibrant, nuanced, robust, seamless, transformative, holistic, synergy, comprehensive, meticulous
Problem: These words appear at dramatically higher rates in post-2023 text. They often cluster together.
Before: Moreover, a notable characteristic of the cuisine is the inclusion of camel meat. The enduring testament to colonial influence is the widespread adoption of pasta in the local culinary landscape, showcasing how these dishes were integrated into the traditional diet.
After: The cuisine also includes camel meat, considered a delicacy. Pasta dishes introduced during the colonial period remain common, particularly in the south.
Watch for: serves as / represents / marks / functions as [a], boasts / features / offers [a]
Problem: LLMs replace simple "is" with convoluted constructions.
Before: Gallery 825 serves as LAAA's contemporary art exhibition space. The gallery boasts four separate rooms featuring over 3,000 square feet.
After: Gallery 825 is LAAA's contemporary art exhibition space. It has four rooms totaling 3,000 square feet.
Problem: "Not only X but also Y" or "This isn't just about X — it's about Y" structures are overused.
Before: It's not just about the beat flowing under the vocals; it's part of the aggression and atmosphere. This isn't just a song — it's a statement.
After: The heavy beat adds an aggressive undertone.
Problem: LLMs force ideas into groups of three to seem thorough.
Before: The event features keynotes, panel discussions, and networking opportunities. Attendees can expect innovation, inspiration, and industry insights.
After: The event includes talks and panel discussions. There's also time for informal networking between sessions.
Problem: AI repeat-penalty code causes excessive synonym swapping.
Before: The protagonist faces many challenges. The main character must overcome obstacles. The central figure eventually triumphs. The hero returns home.
After: The protagonist faces many challenges but eventually triumphs and returns home.
Problem: LLMs use "from X to Y" structures where X and Y aren't on a meaningful scale.
Before: Our journey across the cosmos takes us from the singularity of the Big Bang to the grand cosmic web, from the birth and death of stars to the mysterious dance of dark matter.
After: The book covers the Big Bang, star formation, and current theories about dark matter.
Problem: LLMs use em dashes (—) far more than humans do, mimicking "punchy" sales copy.
Before: The term was popularized mainly by Dutch institutions — not by the people themselves. You wouldn't say "Holland, Europe" as an address — but the mislabeling continues — even in official documents.
After: The term was popularized mainly by Dutch institutions, not by the people themselves. You wouldn't say "Holland, Europe" as an address, but the mislabeling continues in official documents.
Problem: AI chatbots mechanically bold phrases for emphasis.
Before: It integrates OKRs (Objectives and Key Results), KPIs (Key Performance Indicators), and visual strategy tools such as the Business Model Canvas (BMC) and Balanced Scorecard (BSC).
After: It integrates OKRs, KPIs, and visual strategy tools like the Business Model Canvas and Balanced Scorecard.
Problem: AI outputs lists where items open with a bolded label followed by a colon.
Before:
- User Experience: User experience was significantly improved through the new interface.
- Performance: Performance was enhanced through optimized algorithms.
- Security: Security was strengthened through end-to-end encryption.
After: The update improved the interface, sped up load times through optimized algorithms, and added end-to-end encryption.
Problem: AI chatbots capitalize all major words in headings.
Before: ## Strategic Negotiations And Global Partnerships
After: ## Strategic negotiations and global partnerships
Problem: AI chatbots decorate headers or bullets with emojis.
Before: 🚀 Launch Phase: Product ships Q3 💡 Key Insight: Users prefer simplicity ✅ Next Step: Schedule follow-up
After: The product ships Q3. User research shows a preference for simplicity. Next: schedule follow-up.
Watch for: Hope this helps!, Certainly!, Of course!, You're absolutely right!, Would you like me to, Please let me know, Here is a…
Problem: Chat assistant responses pasted as content.
Before: Here is an overview of the French Revolution. Hope this helps! If you'd like me to expand on any section, please let me know.
After: The French Revolution began in 1789 when fiscal crisis and food shortages led to widespread unrest.
Watch for: As of [date], based on my last training update, while specific details are limited / scarce…, based on available information…
Problem: AI uncertainty disclaimers left in published text.
Before: While specific details about the company's founding are not extensively documented in readily available sources, it appears to have been established sometime in the 1990s.
After: According to registration documents, the company was founded in 1994.
Problem: Overly positive, pleasing language.
Before: Great question! You're absolutely right that this is a complex topic. Regarding the economic factors, that's an excellent point.
After: The economic factors you mentioned are relevant here.
| Replace | With | |---------|------| | "in order to achieve this" | "to achieve this" | | "due to the fact that it rained" | "because it rained" | | "at this point in time" | "now" | | "in the event that you need help" | "if you need help" | | "the system has the capability to process" | "the system can process" | | "it is worth noting that the data shows" | "the data shows" | | "in terms of" | cut or restructure | | "when it comes to" | cut or restructure |
Problem: Stacking hedges until a statement means nothing.
Before: It could potentially perhaps be considered that the policy might possibly have some impact on outcomes.
After: The policy may affect outcomes.
Problem: Vague optimistic endings that say nothing.
Before: The company's future looks bright. Exciting times lie ahead as they continue their journey toward excellence. This represents an important step in the right direction.
After: The company plans to open two more locations next year.
Rate the rewritten text on five dimensions:
| Dimension | 1 | 10 | Score | |-----------|---|-----|-------| | Directness | Preamble-heavy, announces before stating | States facts directly | /10 | | Rhythm | Mechanical repetition of sentence length | Long and short sentences mix naturally | /10 | | Reader trust | Over-explains, hedges, justifies | Concise, trusts the reader's intelligence | /10 | | Authenticity | Robotic, no personality | Sounds like a specific real person | /10 | | Concision | Still full of waste | Nothing left to cut | /10 | | Total | | | /50 |
Standards:
Always provide:
Do not use for initial content creation from scratch — use Blog mode first, then apply GEO. Do not use for site-level GEO/technical audits — use the seo-and-geo skill.
Step 1 — Current State Assessment
Score the content on 8 GEO factors (1–10 each):
| GEO Factor | Score (1–10) | Notes | |------------|-------------|-------| | Clear definitions | | | | Quotable statements | | | | Factual density | | | | Source citations | | | | Q&A format | | | | Authority signals | | | | Content freshness | | | | Structure clarity | | | | GEO Readiness | /10 avg | |
List 3 primary weaknesses and 2–3 quick wins before writing.
Step 2 — CORE-EEAT GEO-First Targets
Apply these 6 highest-impact items first:
| Rank | ID | Standard | Why It Matters | |------|----|----------|----------------| | 1 | C02 | Direct answer in first 150 words | All engines extract from first paragraph | | 2 | C09 | Structured FAQ with Schema | Directly matches AI follow-up queries | | 3 | O03 | Data in tables, not prose | Most extractable structured format | | 4 | O05 | JSON-LD Schema Markup | Helps AI understand content type | | 5 | E01 | Original first-party data | AI prefers exclusive, verifiable sources | | 6 | O02 | Key Takeaways / Summary Box | First choice for AI summary citations |
AI engine priorities:
| Engine | Top Priority Items | |--------|--------------------| | Google AI Overview | C02, O03, O05, C09 | | ChatGPT (Browse) | C02, R01, R02, E01 | | Perplexity AI | E01, R03, R05, precise attribution | | Claude | R04, reasoning transparency, R03 |
See → ai-citation-patterns.md for how each engine selects sources and which content structures it favors.
Step 3 — Apply Six GEO Optimization Techniques
Definition optimization — rewrite any key term intro as: "[Term] is [category] that [primary function], [key characteristic]." — 25–50 words, standalone, starts with the term. Replace vague phrases like "plays a crucial role".
Quotable statements — every major claim needs specific numbers, source attribution, and timeframe. "Pretty effective" → "delivers an average ROI of $42 for every $1 spent (DMA, 2024)". Aim for ≥5 precise data points per 1,000 words.
Authority signals — add expert quotes with credentials, citations to peer-reviewed research, named case studies. Every section should have at least one verifiable authority signal.
Structure for AI extraction — transform appropriate sections into Q&A pairs, comparison tables, numbered step lists, and definition boxes. Match H2/H3 headings to question formats ("How does X work?", "Why does Y matter?").
Factual density — replace opinion-heavy paragraphs with data-rich ones. Replace "many businesses" with "81% of SMBs" (with source).
FAQ schema — add a Frequently Asked Questions section with 40–60 word answers matching common queries. Include JSON-LD FAQPage markup.
See → geo-optimization-techniques.md for templates, before/after examples, and checklists per technique. See → quotable-content-examples.md for 10 worked transformation examples across content types.
Step 4 — GEO Output Report
Always produce:
Step 5 — GEO Post-Optimization Check
Verify these CORE-EEAT GEO-first items before delivering:
Items needing attention: [list any ⚠️/❌ items with fixes]
Do not use for site-level SEO/GEO audits — use the seo-and-geo skill. Do not use for on-page technical SEO — that is a separate audit.
### Audit Setup
**Content**: [title or URL]
**Content Type**: [auto-detected or user-specified]
**Dimension Weights**: [loaded from content-type weight table]
#### Veto Check (Emergency Brake)
| Veto Item | Status | Action |
|-----------|--------|--------|
| T04: Disclosure Statements | ✅ Pass / ⚠️ VETO | [If VETO: "Add disclosure banner at page top immediately"] |
| C01: Intent Alignment | ✅ Pass / ⚠️ VETO | [If VETO: "Rewrite title and first paragraph"] |
| R10: Content Consistency | ✅ Pass / ⚠️ VETO | [If VETO: "Verify all data before publishing"] |
If any veto item triggers, flag it prominently at the top of the report before continuing.
Score each item as Pass (10 pts) / Partial (5 pts) / Fail (0 pts). Evaluate against the criteria in references/item-reference.md and seo-and-geo/references/core-eeat-benchmark.md.
### C — Contextual Clarity
| ID | Check Item | Score | Notes |
|----|-----------|-------|-------|
| C01 | Intent Alignment | Pass/Partial/Fail | [specific observation] |
| C02 | Direct Answer | Pass/Partial/Fail | [specific observation] |
| ... | ... | ... | ... |
| C10 | Semantic Closure | Pass/Partial/Fail | [specific observation] |
**C Score**: [X]/100
Repeat the same table format for O (Organization), R (Referenceability), and E (Exclusivity).
### Exp — Experience
| ID | Check Item | Score | Notes |
|----|-----------|-------|-------|
| Exp01 | First-Person Narrative | Pass/Partial/Fail | [specific observation] |
| ... | ... | ... | ... |
**Exp Score**: [X]/100
Repeat for Ept (Expertise), A (Authority), and T (Trust).
See references/item-reference.md for the complete 80-item ID lookup table and site-level item handling notes.
## CORE-EEAT Audit Report
### Overview
- **Content**: [title]
- **Content Type**: [type]
- **Audit Date**: [date]
- **Total Score**: [score]/100 ([rating])
- **GEO Score**: [score]/100 | **SEO Score**: [score]/100
- **Veto Status**: ✅ No triggers / ⚠️ [item] triggered
### Dimension Scores
| Dimension | Score | Rating | Weight | Weighted |
|-----------|-------|--------|--------|----------|
| C — Contextual Clarity | [X]/100 | [rating] | [X]% | [X] |
| O — Organization | [X]/100 | [rating] | [X]% | [X] |
| R — Referenceability | [X]/100 | [rating] | [X]% | [X] |
| E — Exclusivity | [X]/100 | [rating] | [X]% | [X] |
| Exp — Experience | [X]/100 | [rating] | [X]% | [X] |
| Ept — Expertise | [X]/100 | [rating] | [X]% | [X] |
| A — Authority | [X]/100 | [rating] | [X]% | [X] |
| T — Trust | [X]/100 | [rating] | [X]% | [X] |
| **Weighted Total** | | | | **[X]/100** |
**Score Calculation**:
- GEO Score = (C + O + R + E) / 4
- SEO Score = (Exp + Ept + A + T) / 4
- Weighted Score = Σ (dimension_score × content_type_weight)
**Rating Scale**: 90-100 Excellent | 75-89 Good | 60-74 Medium | 40-59 Low | 0-39 Poor
### Top 5 Priority Improvements
Sorted by: weight × points lost (highest impact first)
1. **[ID] [Name]** — [specific modification suggestion]
- Current: [Fail/Partial] | Potential gain: [X] weighted points
- Action: [concrete step]
[2–5 same format]
### Action Plan
#### Quick Wins (< 30 minutes each)
- [ ] [Action 1]
- [ ] [Action 2]
#### Medium Effort (1-2 hours)
- [ ] [Action 3]
#### Strategic (Requires planning)
- [ ] [Action 4]
When an item cannot be evaluated (e.g., A01 Backlink Profile requires site-level data):
Score = (sum of scored items) / (scored items × 10) × 100Note on site-level items: Most Authority items (A01–A10) and several Trust items (T01–T03, T05, T07, T10) require site-level data not observable from a single page. Mark these N/A when auditing standalone content.
Do not use for writing new content from scratch — use Blog mode. Do not use for auditing without rewriting — use Content Audit mode.
With analytics + search console + SEO tool connected: Claude can automatically pull historical traffic trends, impression/ranking data, keyword position history, and identify declining performance for data-driven prioritization.
With manual data only: Ask the user to provide traffic screenshots, ranking history, publish/update dates, and a list of pages they suspect need refreshing. Note in the output which findings are from automated data vs. manual review.
Before refreshing, run a quick CORE-EEAT assessment to focus effort on the weakest areas:
### CORE-EEAT Quick Assessment
**Content**: [title or URL]
**Content Type**: [type]
| Dimension | Quick Score | Key Weakness | Refresh Priority |
|-----------|-------------|--------------|-----------------|
| C — Contextual Clarity | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| O — Organization | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| R — Referenceability | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| E — Exclusivity | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| Exp — Experience | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| Ept — Expertise | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| A — Authority | [X]/100 | [main issue] | 🔴/🟡/🟢 |
| T — Trust | [X]/100 | [main issue] | 🔴/🟡/🟢 |
**Weakest Dimensions** (focus refresh here):
1. [Dimension] — [what needs fixing]
2. [Dimension] — [what needs fixing]
**Refresh Strategy**: Focus on 🔴 dimensions first, then 🟡.
_For full 80-item audit, use Content Audit mode (Mode 7)_
When the user wants to find what needs refreshing across a site:
## Content Refresh Analysis
### Criteria for Content Refresh
- Published more than 6 months ago
- Contains dated information (years, statistics)
- Declining traffic trend
- Lost keyword rankings
- Outdated references or broken links
- Missing topics competitors now cover
- No GEO optimization
### Content Audit Results
| Content | Published | Last Updated | Traffic Trend | Priority |
|---------|-----------|--------------|---------------|----------|
| [Title 1] | [date] | [date] | ↓ -45% | 🔴 High |
| [Title 2] | [date] | Never | ↓ -30% | 🔴 High |
| [Title 3] | [date] | [date] | ↓ -20% | 🟡 Medium |
### Refresh Prioritization Matrix
High Traffic + High Decline = 🔴 Refresh Immediately
High Traffic + Low Decline = 🟡 Schedule Refresh
Low Traffic + High Decline = 🟡 Evaluate & Decide
Low Traffic + Low Decline = 🟢 Low Priority
For each piece being refreshed:
## Content Refresh Analysis: [Title]
**URL**: [URL]
**Published**: [date]
**Last Updated**: [date]
**Word Count**: [X]
### Performance Metrics
| Metric | 6 Mo Ago | Current | Change |
|--------|----------|---------|--------|
| Organic Traffic | [X]/mo | [X]/mo | [+/-X]% |
| Avg Position | [X] | [X] | [+/-X] |
| Impressions | [X] | [X] | [+/-X]% |
| CTR | [X]% | [X]% | [+/-X]% |
### Keywords Analysis
| Keyword | Old Position | Current Position | Change |
|---------|--------------|------------------|--------|
| [kw 1] | [X] | [X] | ↓ [X] |
| [kw 2] | [X] | [X] | ↓ [X] |
### Why This Content Needs Refresh
1. **Outdated information**: [specific examples]
2. **Competitive gap**: [what competitors added]
3. **Missing topics**: [new subtopics to cover]
4. **SEO issues**: [current optimization problems]
5. **GEO potential**: [AI citation opportunities]
## Refresh Requirements
### Outdated Elements
| Element | Current | Update Needed |
|---------|---------|---------------|
| Year references | "[old year]" | Update to [current year] |
| Statistics | "[old stat]" | Find current data |
| Tool mentions | "[old tool]" | Add newer tools |
| Links | [X] broken | Fix or replace |
### Missing Information
**Topics competitors now cover that you don't**:
| Topic | Competitor Coverage | Words Needed | Priority |
|-------|---------------------|--------------|----------|
| [Topic 1] | 3/5 competitors | ~300 words | High |
| [Topic 2] | 2/5 competitors | ~200 words | Medium |
### SEO Updates Needed
- [ ] Update title tag with current year
- [ ] Refresh meta description
- [ ] Add new H2 sections for [topics]
- [ ] Update internal links to newer content
- [ ] Add FAQ section for featured snippets
- [ ] Refresh images and add new alt text
### GEO Updates Needed
- [ ] Add clear definition at start
- [ ] Include quotable statistics with sources
- [ ] Add Q&A formatted sections
- [ ] Update sources with current citations
- [ ] Create standalone factual statements
Reference: See references/refresh-templates.md for full output templates:
- Step 5: Refresh Plan — structural changes, content additions, statistics/links/images to update
- Step 6: Refresh Content Writing — updated introduction, new sections, refreshed statistics, new FAQ section
- Step 7: GEO Enhancement During Refresh — clear definitions, quotable statements, Q&A sections, updated citations
- Step 8: Republishing Strategy — date strategy (update/add "last updated"/keep original), technical implementation, promotion plan
- Step 9: Refresh Report — summary of changes, updates completed, expected outcomes, next review date
Input:
Output:
Do not use for writing content — use Blog or X Articles mode after identifying gaps. Do not use for site-level technical SEO audits — use the seo-and-geo skill.
Ask 2–3 targeted questions if anything critical is missing.
With SEO tools + Search Console + Analytics connected: Automatically pull indexed pages and traffic per page, competitor keyword profiles (ranking keywords, top pages), and AI citation patterns. Keyword overlap analysis can be automated.
With manual data only: Ask the user to provide: (1) site URL and content inventory, (2) competitor URLs, (3) current traffic and keyword performance if available, (4) known content strengths and weaknesses. Note which findings come from automated vs. manual data.
Clarify parameters before starting:
### Analysis Parameters
**Your Site**: [URL]
**Competitors**: [URLs or "identify for me"]
**Topic Focus**: [specific area or "all"]
**Content Types**: [blogs, guides, tools, videos, or "all"]
**Audience**: [target audience]
**Business Goals**: [traffic, leads, authority, etc.]
Document total indexed pages, content by type and topic cluster, top performing content (traffic, keywords), and content strengths/weaknesses.
See → gap-analysis-templates.md for the Content Inventory template.
For each competitor (3–5 recommended): document content volume, estimated monthly traffic, content distribution by type, topic coverage vs. yours, and unique content they have.
See → gap-analysis-templates.md for the Competitor Content Analysis template.
Find keywords competitors rank for that you do not. Categorize into:
Include a keyword overlap analysis showing: keywords only you rank for (your moat), shared keywords (competitive battleground), keywords only competitors have (your gaps), and keywords no one ranks for (market opportunity).
See → gap-analysis-frameworks.md for the 5-step Systematic Keyword Gap Methodology and the keyword overlap matrix.
Create a topic coverage comparison matrix across all competitors. For each missing topic cluster, document: business relevance, competitor coverage, opportunity size, sub-topics to cover, and recommended pillar/cluster approach.
Compare format distribution (guides, tutorials, comparisons, case studies, tools, templates, video, infographics, research) against competitors and industry averages. For each gap, assess effort and expected impact.
Certain formats unlock SERP features: glossary pages → Featured Snippet + AI Overview; step-by-step tutorials → How-To rich results; FAQ sections → PAA eligibility. See → gap-analysis-frameworks.md for the Format-SERP Feature Alignment table.
Identify topics where competitors get AI citations but you do not. Document missing Q&A content, missing definition/explanation content, and missing comparison content. Score each by traditional SEO value and GEO value.
Compare funnel stage coverage (Awareness, Interest, Consideration, Intent, Retention, Advocacy) against competitor averages. Detail specific gaps at each stage and identify drop-off points using bounce rate, pages-per-session, and conversion data.
See → gap-analysis-frameworks.md for the full Funnel Stage Gap Identification methodology.
Score each gap using the multi-factor model across 5 dimensions (Search Demand 25%, Competitive Density 20%, Business Relevance 25%, Creation Effort 15%, Conversion Potential 15%). Produce a report with:
See → gap-analysis-templates.md for the Prioritized Report template and Content Calendar template. See → gap-analysis-example.md for a complete worked example analyzing a SaaS marketing blog vs. HubSpot and Drift. See → gap-analysis-frameworks.md for the multi-factor Opportunity Scoring Model and Gap-to-Calendar Workflow.
Input:
Output:
Do not use for content gap analysis vs. competitors — use Content Gap Analysis mode. Do not use for writing content — use Blog mode after identifying target keywords.
Ask 2–3 targeted questions if anything critical is missing.
With SEO tool + Search Console connected: Automatically pull search volume data, keyword difficulty scores, SERP analysis, current rankings, and competitor keyword overlap.
With manual data only: Ask the user to provide seed keywords or topic description, target audience and geographic location, business goals, current domain authority (if known), and any known keyword performance data. Note in the output which metrics are from automated collection vs. user-provided vs. estimated.
Step 1 — Understand the Context
Clarify if not provided:
Step 2 — Generate Seed Keywords
Start with:
Step 3 — Expand Keyword List
For each seed keyword, generate variations using these patterns:
Modifiers: Best [keyword], Top [keyword], [keyword] for [audience], [keyword] near me, [keyword] [year], How to [keyword], What is [keyword], [keyword] vs [alternative], [keyword] examples, [keyword] tools
Long-tail variations: [keyword] for beginners, [keyword] for small business, Free [keyword], [keyword] software/tool/service, [keyword] template, [keyword] checklist, [keyword] guide
Step 4 — Classify Search Intent
Categorize each keyword using the four intent types:
| Intent | Signals | Example | Content Type | |--------|---------|---------|--------------| | Informational | what, how, why, guide, learn | "what is SEO" | Blog posts, guides | | Navigational | brand names, specific sites | "google analytics login" | Homepage, product pages | | Commercial | best, review, vs, compare | "best SEO tools 2026" | Comparison posts, reviews | | Transactional | buy, price, discount, order | "buy SEO software" | Product pages, pricing |
See → keyword-intent-taxonomy.md for the full classification system with sub-categories, signal words, SERP feature correlations, mixed intent patterns, and funnel alignment.
Step 5 — Assess Keyword Difficulty
Score each keyword (1–100 scale):
| Range | Difficulty | Signals | |-------|-----------|---------| | 70–100 | High | Major brands ranking, high DA competitors, established content (1000+ backlinks), paid ads dominating SERP | | 40–69 | Medium | Mix of authority and niche sites, some opportunities for quality content, moderate backlink requirements | | 1–39 | Low | Few authoritative competitors, thin or outdated content ranking, long-tail variations, new or emerging topics |
Step 6 — Calculate Opportunity Score
Priority Score (for initial triage): score each keyword 1–5 on five weighted factors — Search Volume (20%), Keyword Difficulty (25%), Business Relevance (30%), Search Intent Match (15%), Trend Direction (10%). See → keyword-prioritization-framework.md for the full scoring matrix, priority categories (P0–P3), and seasonal keyword patterns.
Opportunity Score (for final calendar prioritization): Opportunity = (Volume × Intent Value) / Difficulty
Intent Value: Informational = 1, Navigational = 1, Commercial = 2, Transactional = 3
| Scenario | Volume | Difficulty | Intent | Priority | |----------|--------|------------|--------|----------| | Quick Win | Low-Med | Low | High | P0 — immediate | | Growth | High | Medium | High | P1 — next sprint | | Long-term | High | High | High | P2 — future calendar | | Research | Low | Low | Low | P3 — monitor |
Step 7 — Identify GEO Opportunities
Keywords likely to trigger AI responses:
High GEO Potential: Question formats ("What is…", "How does…"), definition queries ("[term] meaning"), comparison queries ("[A] vs [B]", "difference between…"), list queries ("best [category]", "top [N] [items]"), how-to queries ("how to [action]").
AI Answer Indicators: Query is factual/definitional, answer can be summarized concisely, topic is well-documented online, low commercial intent.
Step 8 — Create Topic Clusters
Group keywords into hub-and-spoke clusters. For each cluster, define:
See → topic-cluster-templates.md for planning worksheets, hub-and-spoke architecture patterns (Classic, Layered, Use-Case, Process), internal linking rules, content calendar integration, and a cluster health scorecard.
Step 9 — Generate Output Report
Produce a report with these sections:
See → keyword-research-example.md for a complete example report.
Input:
Output:
Do not use for writing individual pieces — use Blog mode after this mode generates briefs.
Step 1 — Load and Parse Tickets
Accept support data in any of these formats:
Extract per ticket: title, body snippet (first ~500 chars), labels/tags, date, comment count.
Step 2 — Discover Topics via Frequency Analysis
Run three parallel analyses on ticket titles:
min_occurrences is a candidate topic.Step 3 — Build Topic Clusters
Group overlapping keyword sets into unified topics:
Sort clusters by issue count descending; keep top 15.
Step 4 — Score and Rank Content Opportunities
Score each cluster:
score = issue_count × (1 + 0.2 × keyword_count)
Classify content type from dominant keywords:
Present the top 10 opportunities ranked by score with: rank, topic, issue count, score, content type, and 2–3 sample ticket titles.
Step 5 — Generate Content Briefs
For each top opportunity produce a structured brief:
## Content Brief: [Topic]
### Metadata
- Rank: [N]
- Content Type: [Help Article / Blog Post / Product Improvement]
- Priority Score: [X.X]
- Based on: [N] support tickets
### Keywords
- [keyword 1]
- [keyword 2]
- [keyword 3]
### Sample User Questions (from tickets)
- [ticket title 1]
- [ticket title 2]
- [ticket title 3]
### Suggested Outline
1. Problem statement / Why users hit this
2. Root cause or explanation
3. Step-by-step solution (help articles) OR conceptual deep-dive (blog posts)
4. Common pitfalls and edge cases
5. Related resources and next steps
### SEO Notes
- Target keyword: "[primary keyword]"
- Search intent: [informational / transactional]
- Long-tail variations: "[variation 1]", "[variation 2]"
Step 6 — Output Summary Report
## Support-to-Content Analysis
Analyzed [N] tickets · Topics discovered: [N] · Briefs generated: [N]
### Top Content Opportunities
| Rank | Topic | Tickets | Score | Content Type |
|------|-------|---------|-------|--------------|
| 1 | [topic] | [N] | [X.X] | Help Article |
| 2 | [topic] | [N] | [X.X] | Blog Post |
| 3 | [topic] | [N] | [X.X] | Help Article |
| 4 | [topic] | [N] | [X.X] | Product Improvement |
| 5 | [topic] | [N] | [X.X] | Help Article |
### Recommended Next Steps
- Top help article briefs → **Blog mode** (Mode 1), How-To or Playbook structure
- Top blog post briefs → **Blog mode** (Mode 1), Problem → Insight → Playbook structure
- Product improvement items → flag for engineering/product team
After generating briefs, route to:
Do not use for writing from scratch (use Blog mode) or updating outdated stats/rankings (use Content Refresh mode).
Treat the article's sections as a directed acyclic graph (DAG): each section may depend on concepts introduced in earlier sections. The reader cannot evaluate a solution before understanding the problem; they cannot apply a framework before seeing why it is needed. Make section order respect these dependencies explicitly.
Step 1 — Map sections.
Divide the article into sections based on its headings. For each section, write down:
Step 2 — Audit the DAG.
Draw the dependency graph (mentally or explicitly). Identify any ordering violations:
Reorder sections to respect all dependencies. If two sections are mutually dependent, merge them or split the shared concept into its own introductory section.
Step 3 — Confirm with user.
Present the proposed section map:
Proposed structure:
1. [Section title] — [one-line summary of main point]
2. [Section title] — [one-line summary]
(depends on: section 1)
3. [Section title] — [one-line summary]
(depends on: sections 1, 2)
...
Changes from original: [list reordered or merged sections]
Wait for user confirmation or adjustments before proceeding.
Step 4 — Rewrite each section.
For each confirmed section in order:
Deliver the full rewritten article with the confirmed section structure. At the end, include a brief edit summary:
## Edit Summary
- Sections reordered: [list]
- Sections merged: [list, if any]
- Avg paragraph length: [X] chars (target: ≤240)
- Filler cuts: [approx. count]
- Voice changes: [minimal / moderate — describe if significant]
In every mode:
Starting from raw knowledge:
Starting from an existing canonical piece:
LinkedIn-only content:
When the user wants replies, comments, or outreach follow-up:
linkedin-engagement for LinkedIn comments and DMs.x-engagement for X replies, quote posts, and DMs.When the user wants to de-AI any draft:
When the user wants AI citation optimization (GEO):
When the user wants to audit content quality before publishing:
When the user wants to refresh or revive existing content:
When the user wants a full site-level SEO/GEO/AEO audit:
seo-and-geo for technical SEO, GEO, and AEO improvements at the site level.When the user wants to find what to write next:
When the user needs to discover keywords before any content work:
When the user wants to mine support tickets for content ideas:
When the user wants to edit, restructure, or tighten an existing draft:
development
Use for frontend engineering work such as components, routes, state management, accessibility, performance, design-system integration, and browser-facing debugging or refactors.
development
This skill should be used when the user asks to write, update, review, scaffold, move, remove, or continuously improve documentation for code, folders, services, repos, workflows, architectural decisions, or operational processes. Trigger for inline docs, `README.md`, `ARCHITECTURE.md`, `TESTS.md`, `SETUP.md`, `RUNBOOK.md`, `CHANGELOG.md`, `SECURITY.md`, `OVERVIEW.md`, `FAQ.md`, `DECISIONS.md`, `DEPENDENCIES.md`, `AGENTS.md`, `PLAN.md`, `SPEC.md`, `SOUL.md`, `PRINCIPLES.md`, `DESIGN.md`, `logs/`, `lessons/`, `items/`, `fixes/`, `audits/`, `raw/`, `plans/`, `specs/`, `sources/`, `lib/`, `references/`, `cookbook/`, `knowledge/`, `runbooks/`, `research/`, `official-documentation/`, `context/`, MDX docs, JSDoc/TSDoc, docstrings, ADRs, post-mortems, migration guides, documentation cleanups, and documentation-impact reviews.
tools
Cross-cloud CLI-first cloud operations for AWS, Azure, and GCP. Use when the assistant needs to identify which cloud provider or multi-cloud estate a repo uses, deploy new resources or services, wire automatic deployments, inventory and optimize infrastructure, or diagnose and repair cloud failures entirely from the terminal, with explicit approval gates for high-cost, destructive, identity-sensitive, or hard-to-reverse changes. Covers AWS Amplify full-stack projects, serverless workloads (Lambda, API Gateway, Step Functions, SAM, CDK), and the full AWS database portfolio (RDS, Aurora, Aurora DSQL, DynamoDB, ElastiCache), as well as deep Azure references for diagnostics, storage, compute, compliance, identity, Foundry, and cross-cloud migrations.
development
Use for backend engineering work such as APIs, services, data models, persistence, queues, caching, auth, background jobs, and server-side debugging or refactors.