Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Full end-to-end SEO + GEO content creation pipeline for crypto/Web3 teams. Trigger this skill when the user wants to: write a blog post or article, research...
Full end-to-end SEO + GEO content creation pipeline for crypto/Web3 teams. Trigger this skill when the user wants to: write a blog post or article, research...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
End-to-end pipeline: trending topic β keyword research β brief β UGC enrichment β human-style draft β visual & link enrichment β SEO + GEO optimization β scored QA report.
[0] X TREND MONITOR β auto-run on session start, propose hot keywords [1] KEYWORD RESEARCH β scored, data-backed selection [2] CONTENT BRIEF β outline + keyword map + UGC insertion points [3] UGC ENRICHMENT β mine comments β ready-to-paste blog sections [4] DRAFT β human-style, data-backed, zero AI patterns [4.5] VISUAL & LINKS β data charts (matplotlib) + inline hyperlinks on every citation [5] SEO + GEO β on-page checklist + AI-bot-friendly formatting [6] QA REPORT β rubric score + publish verdict Enter at any stage. Run all stages from scratch. Start at Stage 5 for existing drafts. Quick commands: run full pipeline β Stage 0 β Stage 6 start from stage [N] β enter at any stage score my draft β Stage 5 β Stage 6 enrich my draft β Stage 4.5 only (charts + links on existing draft) Reference files (read when detail is needed): references/scoring-rubrics.md β all scoring tables (trend, keyword, UGC, SEO, GEO) references/ai-patterns-blacklist.md β full list of AI phrases to never write references/output-templates.md β exact output format for each stage references/example-run.md β real example: keyword "what is liquid staking"
Required: project_spec (.md) + keyword_or_topic Optional: ugc_urls (skip Stage 3 if absent), blog_draft, language (default: English), word_count (default: 1500β2000), tone (default: auto-detect from spec) If project_spec is missing: stop and ask for it before starting.
Run automatically at the start of every new session, before the user says anything. Parse project_spec.md β extract: domain/niche, audience, product themes, competitor names Run web searches (fill in values from spec): site:x.com [domain keyword] -filter:replies [domain keyword] trending twitter 2025 [domain keyword] discussion OR debate twitter [competitor name] twitter sentiment 2025 crypto twitter trending today [domain keyword] CT crypto twitter discussion Score each topic β see references/scoring-rubrics.md Stage 0 Keep top 3. Output Trend Alert before any user message β see references/output-templates.md Stage 0 Fallback if web search off: skip, say "Stage 0 unavailable. Provide a keyword to start Stage 1." Fallback if no trends found: list 3 evergreen topics from spec context.
Generate 8β12 seed keywords: head terms, mid-tail, long-tail question variants For each seed, run: google trends [keyword] 2025 β direction site:x.com [keyword] + [keyword] trending twitter 2025 β buzz + debate angle [keyword] search volume 2025 + ubersuggest [keyword] β volume estimate Search [keyword] β extract People Also Ask + Related Searches Score using rubric β see references/scoring-rubrics.md Stage 1 Select top 1 = primary, next 5β8 = secondary/LSI. Label volume as [estimated]. Ask once: "Do you have an Ahrefs or SEMrush API key?" Use if provided. Output β see references/output-templates.md Stage 1 Edge cases: keyword too broad β suggest 3β5 long-tail alternatives. Doesn't match spec β warn + confirm.
Pick flow pattern: Problem β Solution | What β Why β How | Comparison | Journey | Argument Map every long-tail keyword to H2, H3, or FAQ entry. No section without a keyword anchor. Flag UGC insertion points: β UGC: community counterpoints / β UGC: case studies / β UGC: FAQ Output brief + outline β see references/output-templates.md Stage 2 Ask: "Does this outline look good?" Wait for confirmation before Stage 3. FAQ section: minimum 5 entries. Mandatory for GEO.
Skip if no ugc_urls. Note "UGC: Missing" in QA report. Why it matters: Reddit ~21% of Google AI Overview citations. Real UGC = 2β3x AI search visibility. E-E-A-T "Experience" signal = cannot be faked by AI content. For each URL: web_fetch β extract post body + all comments with engagement metrics Fallback if login wall: "Paste comment text directly" Quality-score each comment β see references/scoring-rubrics.md Stage 3 Classify into 3 categories: Category A β Counter-Arguments: challenges original post, edge cases, "Yeah but..." β 150β300 word prose paragraph Category B β Real-World FAQs: direct questions from comments, especially upvoted or repeated β 3β6 Q&A pairs Category C β Personal Experiences: first-person accounts with specific numbers/outcomes β 2β4 mini case studies, 50β100 words each, paraphrased but never fabricated Viral pattern analysis for comments scoring β₯7: identify top 3 trigger types, output 2 writing tips Map each UGC block to its insertion point from Stage 2 outline Output β see references/output-templates.md Stage 3 Hard rules: never fabricate, never include usernames, never include spam/memes, max 6 FAQs + 4 case studies. Edge cases: <10 comments β warn "limited data". All score <3 β "No high-value comments, try different URL."
Write full article: follow Stage 2 outline exactly, insert Stage 3 UGC blocks at flagged points. Before writing: write Meta Title (β€60 chars, primary keyword near front) + Meta Description (β€160 chars, primary keyword + hook) Intro: specific fact or bold claim opener. Primary keyword within first 100 words. Write featured snippet candidate block (40β60 words, direct definition or numbered steps) β place within first H2. Body: answer-first each H2 (1β2 sentence direct answer before elaboration). Min 1 data point per major section. Find real stats first: search [topic] statistics 2025. If unavailable: [DATA NEEDED: search "[query]"]. Source format: stat β Source, Year. UGC blocks at exact insertion points. Data minimum: 3 data points total per article. Never invent statistics. Paragraphs: 3β4 lines max. Define technical terms inline on first use. AI patterns: never write any phrase from references/ai-patterns-blacklist.md. If caught: stop, rewrite with fact or direct claim. Conclusion: synthesize 2β3 takeaways. Do not restate all H2s as bullet points. Specific CTA. Internal links: suggest 2β3, anchor text uses secondary keywords. Output format β see references/output-templates.md Stage 4
Runs automatically after Stage 4 is complete. Cannot be skipped β required for publish-ready output.
Data charts are 3Γ more likely to be cited by AI search engines than the same data in plain text Inline hyperlinks on every source citation signal editorial credibility to Google and AI crawlers Every unlinked β Source, Year is a missed E-E-A-T trust signal
Scan the draft for data points that meet at least one of these criteria: CriterionExampleChange over time (2+ periods)"TVL grew from $2B to $8B in 6 months"Compares 2+ assets or metrics"Lido APY 3.8% vs solo staking 3.2%"Inflow / outflow trend"$1.2B ETF inflows in Q1 2025"Index or score over time"Fear & Greed Index: 12/100"Ratio that changed"ETH staking ratio: 18% β 27% in 12 months"3+ data points in a seriesMonthly DEX volume figures Chart types by data shape: Data typeChart typePerformance over timeLine chart with fill-underInflows / outflowsBar chart β green positive, red negativeIndex or score over timeBar chart with color-coded zonesRatio or comparison over timeLine or area chartSingle-point comparisonHorizontal bar or stat callout box Chart design standards (apply to every chart): Background: #F7F7F7 (light gray), no heavy gridlines Primary color: #E8650A (orange, default for crypto/Web3 β adjust to project brand if spec defines one) Remove top + right spine Annotate key data points directly on chart (peak, trough, threshold) Source line at bottom-left: gray italic β Source: [Name] | [Notes] Font: DejaVu Sans (matplotlib default) Resolution: 150 DPI minimum Always generate alt text for every chart Maximum 6 charts per article. More than 6 slows page load. Excess data points β stat callout boxes instead. If no qualifying data points found: output a styled stat callout box for that statistic instead of a chart.
Use Python + matplotlib. Execute in the computing environment. For each chart, produce: PNG image embedded in the output Caption (1β2 sentences): Chart [N]: [What it shows]. [Time period]. Sources: [Name]. Alt text string for CMS upload: [Chart type] showing [metric] from [start] to [end]. [Key finding in one sentence]. Place each chart immediately after the paragraph that first introduces its data. Never stack two charts back-to-back without body text between them.
Scan the entire draft for every inline source citation. Patterns to find: PatternExampleβ [Source, Year]β CoinDesk, Jan 2025per [Source]per DeFiLlamaaccording to [Source]according to Messari[Source] reportsDune Analytics reports([Source])(CoinGecko) For each citation: Run web search: [publication] [topic] [approximate date] Verify URL resolves Replace plain-text source with inline hyperlink β anchor text = source name If exact article not found: link to publication homepage + flag [VERIFY URL] If citation is vague ("analysts say"): flag [SOURCE NEEDED] β never invent a source Link rules: Prefer original publisher over aggregators No paywalled links if a free version exists All external links: open in new tab in HTML output Do not add links to unattributed claims
Append this block to the enriched draft: βββββββββββββββββββββββββββββββββββββββββ STAGE 4.5 β VISUAL & LINK ENRICHMENT SUMMARY βββββββββββββββββββββββββββββββββββββββββ Charts generated: [N] / [max 6] - Chart 1: [title] β placed after [section name] - Chart 2: [title] β placed after [section name] Source links resolved: [N] / [total citations found] - [Source name] β [URL] β - [Source name] β [URL] β οΈ [VERIFY URL β linked to homepage] Unlinked citations flagged: [N] - "[claim]" β [SOURCE NEEDED] Alt text strings: Chart 1: "[alt text]" Chart 2: "[alt text]" βββββββββββββββββββββββββββββββββββββββββ
Meta title: 50β60 chars, primary keyword near front Meta description: 150β160 chars, primary keyword, hook H1 contains primary keyword (only one H1) H2s use secondary keywords or question variants Primary keyword in first 100 words and in conclusion Keyword density: 1β1.5% Paragraphs β€4 lines 2+ internal link suggestions (anchor text = secondary keywords) 1β2 external authoritative sources noted Image alt text recommendations (min 2) FAQ present β FAQPage schema | How-to steps β HowTo schema
GEO = Generative Engine Optimization. Goal: easy for Perplexity, Google SGE, ChatGPT Search to parse and cite. Answer-first every H2 β 1β2 sentence direct answer before elaboration Explicit entity labeling β full context on first mention, units on all numbers ("3.2% APY"), explicit dates ("as of Q1 2025") FAQ mandatory (min 5) β each answer self-contained, 50β150 words, direct answer first Featured snippet block β 40β60 words, placed within first H2, paragraph OR numbered list (not mixed) Citation-friendly β each factual claim on its own sentence, data formatted number unit β Source, Year, no pronoun ambiguity Secondary keywords in internal link anchor text UGC sections present β confirms E-E-A-T "Experience" signal GEO output block β see references/output-templates.md Stage 5 Scoring rubric β see references/scoring-rubrics.md Stage 5
Score using 100-point rubric β see references/scoring-rubrics.md Stage 6 Thresholds: 85β100 = Publish-ready | 70β84 = Minor fixes | Below 70 = Needs revision Output format β see references/output-templates.md Stage 6
CaseActionproject_spec missingStop. Ask for spec before starting.Keyword too broadStop. Suggest 3β5 long-tail alternatives. Wait for choice.Keyword doesn't match specWarn. Ask for confirmation.Deep technical contentFlag [SME REVIEW]. Never fabricate.User requests VietnameseSwitch all output to Vietnamese. Same formats.Word count <500 or >5000Warn. Recommend 800β2500.SEO score below 70List specific fixes with section references.Web search unavailableSkip Stage 0. Flag affected stages. Fall back to training knowledge, label [estimated].UGC URL behind login wallSkip URL. Ask: "Paste comment text directly."No high-value UGC comments"No high-value comments. Try a different URL."No ugc_urls providedSkip Stage 3. Mark UGC = Missing in QA.Stage 0 finds no trendsList 3 evergreen topics from spec context.User enters mid-pipelineStart at appropriate stage. Ask what they have.Stage 4.5: no chart-worthy dataOutput stat callout boxes for all key numbers. Flag: "No time-series or comparison data found β consider adding benchmark data in Stage 4 revision."Stage 4.5: more than 6 chart-worthy pointsPrioritize: (1) comparisons, (2) trends, (3) index scores. Remainder β stat callout boxes.Stage 4.5: all source URLs paywalledLink to publisher homepages. Flag every instance [VERIFY URL]. List all in enrichment summary.Stage 4.5: source article not foundLink to publication homepage + flag [SOURCE NEEDED β could not verify].Stage 4.5: citation is vague ("analysts say")Flag [SOURCE NEEDED]. Never invent a source.Stage 4.5: web search unavailableSkip link resolution. Flag all citations [HYPERLINK NEEDED β web search off]. Charts still generated from in-draft data.
Stage 0: simulated X monitoring via web search, not live X API Keyword volume: estimated unless user provides API key No CMS auto-publishing, no image generation (editorial) Stage 4.5 generates data charts from in-draft data via matplotlib β does NOT generate decorative or editorial images [VERIFY], [DATA NEEDED], [SOURCE NEEDED], and [VERIFY URL] flags require human review before publishing SEO/GEO scores: internal rubric, not third-party tool scores UGC mining: public pages only
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.