Best for
- Use when creating, outlining, editing, auditing, rewriting, or quality-checking blog posts, tutorials, comparisons, listicles, explainers, FAQ sections, excerpts, SEO titles, meta descriptions, tags, or Google-friendly…
flaqai/Awesome_SEO_Writing_Skill/writer/SKILL.md
SEO-friendly article writing, audit, and humanization workflow for Markdown content. Use when creating, outlining, editing, auditing, rewriting, or quality-checking blog posts, tutorials, comparisons, listicles, explainers, FAQ sections, excerpts, SEO titles, meta descriptions, tags, or Google-friendly content briefs that need clear topics, natural keyword use, on-page SEO review, reader-friendly prose, and iterative optimization.
Decision brief
SEO-friendly article writing, audit, and humanization workflow for Markdown content.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/flaqai/Awesome_SEO_Writing_Skill --skill "writer"Inspect the Agent Skill "writer" from https://github.com/flaqai/Awesome_SEO_Writing_Skill/blob/7d30056b47534d6d31d93e74d788268a788dac1f/writer/SKILL.md at commit 7d30056b47534d6d31d93e74d788268a788dac1f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Follow this sequence for new articles:
Before outlining or writing, create or infer a task card in 10 lines or fewer:
Use the audit loop whenever a draft, published page, URL, or pasted article needs SEO improvement:
Humanization is the final editorial stage, not a substitute for fact-checking or SEO auditing. Load references/humanization.md after the audit-driven rewrite and follow its draft, critique, revision, and integrity-check sequence.
Use a fact-check pass before finalizing articles that include claims beyond common knowledge:
Permission review
The documentation asks the agent to create, modify, or delete local files.
Create a directory at `writer/output/<article-slug>/`.The documentation includes network, browsing, or remote request actions.
When `writer/config/r2.config.json` does not exist, do not request credentials, do not attempt a remote config lookup, and do not fail the article task. Keep references such as ``.The documentation includes network, browsing, or remote request actions.
Do not search for or download remote R2 credentials. This skill supports only a local ignored config file or a local path explicitly passed with `--config`.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 71 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Use this skill to produce and improve Google SEO-friendly articles that stay focused on one topic, use keywords naturally, and avoid invented facts or over-marketing. Default output language should match the user's request unless they specify another language.
When the requested destination is a Chinese WeChat Official Account (微信公众号、微信文章、公众号推文), load wechat-writer/SKILL.md and follow that workflow instead of applying this Google-first structure. When the destination is a LinkedIn Article, newsletter, LinkedIn long-form post, or LinkedIn thought-leadership package, use linkedin-writer/SKILL.md; its output contract overrides this file and stores the package under linkedin-writer/output/<article-slug>/. When the destination is Medium or another editorial third-party article, use medium-writer/SKILL.md; its output contract stores the package under medium-writer/output/<story-slug>/.
For a full reusable prompt and final article template, load references/seo-article-template.md when the user asks for a ready-to-copy prompt, a complete article, or a reusable writing template.
For article audits, existing-page reviews, or post-draft optimization, load references/seo-audit-checklist.md.
For fact-heavy articles, comparisons, product/category analysis, or style polishing, load references/fact-check-and-style.md.
After the SEO audit and audit-driven rewrite, load references/humanization.md for the final humanization pass. Preserve verified facts, search intent, required keywords, citations, code, URLs, and the author's voice while removing mechanical or overly AI-like writing patterns.
For deliverables that must be saved as files, use the output rules in this file and load references/output-packaging.md.
Cloudflare R2 is optional. Always create the article with local relative image paths first. If writer/config/r2.config.json exists and contains valid values, load references/r2-image-upload.md, upload the images, and replace the local paths with public URLs. If that local config is absent, keep the local image references and finish normally.
For Cloudflare R2 credential handling and leak-prevention rules, load references/r2-security.md.
Before outlining or writing, create or infer a task card in 10 lines or fewer:
If critical inputs are missing, make conservative assumptions and show them in the task card. Ask a question only when the topic, audience, or article type is too ambiguous to proceed safely.
Follow this sequence for new articles:
references/humanization.md and humanize the audit-corrected draft. Match a user-provided voice sample when available; otherwise use a natural voice appropriate to the publication and audience.writer/output/<article-slug>/.writer/config/r2.config.json. Upload only when it exists and is valid; otherwise keep local relative image paths without treating the missing config as an error.When the user provides the topic and asks for a complete article in one go, still internally follow the outline-first structure, then output the full article without exposing unnecessary process notes.
Use the audit loop whenever a draft, published page, URL, or pasted article needs SEO improvement:
For URL audits, do not claim robots.txt, sitemap, PageSpeed, schema, canonical, status code, or crawlability results unless a tool or source actually verifies them. If technical checks are unavailable, mark them as "needs tool verification" and focus on content-level SEO.
Humanization is the final editorial stage, not a substitute for fact-checking or SEO auditing. Load references/humanization.md after the audit-driven rewrite and follow its draft, critique, revision, and integrity-check sequence.
During this pass:
After rewriting, ask internally what still feels templated or over-produced, revise those passages once more, and recheck only the affected facts and SEO elements.
Use a fact-check pass before finalizing articles that include claims beyond common knowledge:
When using external sources, separate facts from interpretation. Facts should be traceable; recommendations can include the writer's own judgment as long as the reasoning is explicit.
When the user provides UI reference images to guide an article, use them as private reference material only. In the article body, captions, alt text, source note, SEO metadata, and audit notes, do not mention that visual references were provided or name their file/source format. Prefer natural phrasing such as "the interface shows," "the visible controls include," or "the live interface may change."
For comparison articles, make the comparison deep and evidence-aware:
Use this paragraph pattern for main sections:
Avoid filler openings, repeated definitions, and keyword stuffing. Use bullets only when they make scanning easier.
Use a four-step shape:
Compare across five dimensions:
Include 6 to 10 items unless the user asks for a different count. Each item should include a short explanation and a "best for" line when useful.
Include a plain-language definition, why it matters, common misconceptions, and practical application.
Always evaluate these writing-level checks before final delivery:
Write in a style that is clear to readers and easy for search engines to interpret:
When producing a final article, save it as files instead of only returning chat text:
writer/output/<article-slug>/.<article-slug> from the article title: lowercase, ASCII when possible, hyphen-separated, no punctuation.writer/output/<article-slug>/article.md.writer/output/<article-slug>/seo-audit.md.hero-16x9.png, section-01-16x9.png, and comparison-chart-16x9.png.Seedance 2.0 AI video hero becomes seedance20AiVideoHero.png.article.md with relative Markdown paths, for example .writer/config/r2.config.json exists before attempting an R2 upload. When it exists and is valid, upload generated images with writer/scripts/upload-r2.mjs; the script compresses PNG/JPEG/WebP images locally before upload, collects public URLs, and replaces matching local Markdown references.writer/config/r2.config.json does not exist, do not request credentials, do not attempt a remote config lookup, and do not fail the article task. Keep references such as .writer/output/<article-slug>/image-urls.json when images are uploaded.For article images:
writer/output/<article-slug>/ and leave the original generated file in place.writer/output/<article-slug>/.article.md using a relative Markdown path immediately near the section it supports.1600x900, 1792x1024, or another 16:9 equivalent.writer/config/r2.config.json exists, upload final images with node writer/scripts/upload-r2.mjs, then use returned public URLs in article.md. A custom local config may be supplied explicitly with --config <path>.writer/scripts/upload-r2.mjs to create a local compressed upload copy by default. It uses high-quality WebP compression (--compressionQuality 88) for PNG/JPEG/WebP inputs, writes a sibling *-r2.webp file, uploads the compressed copy only when it is meaningfully smaller, and keeps the original generated image for backup.--noCompress only when the user explicitly asks to upload the original file. Use --compressionQuality 90 or higher when the image has fine UI details or text-like labels that must remain extra crisp.--config.blog/yyyy/mm/dd/<filename> by default. Override with blogDirectory, --blogDir, --date, or --key only when the user asks for a different storage layout..png, .jpg, .jpeg, or .webp.--seoName, --keyword, --topic, and --alt. Save this metadata and the compression summary in image-urls.json.writer/config/r2.config.example.json as the tracked template and keep writer/config/r2.config.json local-only.Before finalizing, check:
article.md and related images are saved in the expected writer/output/<article-slug>/ directory.article.md with relative Markdown paths.article.md still works with local relative image paths and the task is complete.article.md uses public R2 image URLs and the URL mapping is saved locally.Frequently asked questions
SEO-friendly article writing, audit, and humanization workflow for Markdown content.
The source record exposes this install command: npx skills add https://github.com/flaqai/Awesome_SEO_Writing_Skill --skill "writer". Inspect the command and pinned source before running it.
Static rules flagged write-files, network in the source; the page lists the matching lines and excerpts.
Alternatives
simbajigege/book2skills
Audit SEO metadata such as title, description, headings, alt, robots, canonical, schema, viewport, charset, and social tags.
nexscope-ai/Amazon-Skills
Amazon listing builder and optimizer for sellers. Two modes: (A) Create — build keyword-optimized listings from scratch using keyword lists + product characteristics + AI copywriting, (B) Optimize — audit existing listings, find keyword gaps, score across 8 dimensions, and rewrite with missing keywords. Integrates with amazon-keyword-research for keyword input. Works on 12 Amazon marketplaces. No API key required. Use when: (1) creating a new Amazon listing from keywords, (2) auditing an existin
nexscope-ai/eCommerce-Skills
Comprehensive Shopify marketing strategy and execution. SEO optimization, email marketing automation, paid advertising management, conversion rate optimization, and customer retention strategies specifically for DTC Shopify brands. Use when the user asks about Shopify marketing, DTC marketing, Shopify SEO, or Shopify store growth.
indranilbanerjee/digital-marketing-pro
Build local SEO strategy end to end — Google Business Profile optimization, NAP consistency and citation cleanup, local pack ranking tactics, location and service-area pages, review management, local link building, LocalBusiness schema, and multi-location management — delivered as audit reports, checklists, and a 30/60/90-day roadmap. Triggers on "/digital-marketing-pro:local-seo", "optimize my Google Business Profile", "why aren't we in the map pack", "fix our NAP consistency", "local SEO for o