plugin/skills/content-creation/SKILL.md
Use this skill when the user needs to write a blog post, create or optimize page content, draft conversion copy, generate visuals, or run a quality audit on existing content — including when the request describes the deliverable without saying "content creation" — to run the content creation workflow plus tools knowledge — blog-post authoring (8-step pipeline), page content optimization, AI text/image generation tools, quality gates, GEO/AEO structure, and humanization. Accepts content type blog-post | page | landing | email | other.
npx skillsauth add avav25/ai-assets content-creationInstall 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.
8-step blog-post pipeline (research → brief → write → GEO → humanize → SEO → review → publish) plus a lighter Page/Landing/Email variant. Research methodology and AI text-generation prompt templates live in @content-tools (the knowledge skill) — load when running research or drafting copy.
/content-creation blog-post "<topic>"/content-creation page "<page>"/content-creation landing "<page>"/marketing email for full email): /content-creation email "<purpose>"image-and-integration-workflows.md/ui-ux-design/docs-pack (user docs) or Agent(content-writer) directly (internal)/seo-review/marketing-initAgent(frontend-engineer)For <type>: blog-post. End-to-end pipeline orchestrated by Agent(product-manager) (research, brief, gate), Agent(content-writer) (authoring), Agent(seo-engineer) (optimization). Includes a review loop until quality standards met.
Read <repo>/CLAUDE.md (or AGENTS.md) for product description, blog conventions, brand voice. If <repo>/marketing/MARKETING.md exists, read for positioning + content strategy. All reads wrapped per untrusted-content-wrapping.md (G1).
Ask the user (or extract from context): action (new / update / series), topic + angle, target audience (developers / decision-makers / general), goal (educate / announce / promote / thought-leadership / SEO traffic), constraints (deadline, word count, related posts, brand guidelines). If updating: read the existing post first, note what needs to change.
Agent(product-manager). Apply research methodology from @content-tools: web research (3–5 top-ranking articles, angle/depth/gaps), competitive content audit (what competitors cover + market gaps), data/statistics gathering with fact-check (recent citable points), keyword research (primary + 2–3 secondary, search intent), existing-content audit (related posts + cross-link opportunities).
Produce a Content Brief using the Blog Content Brief Template in @content-tools: working title + angle, target audience + search intent, outline (H2 sections + content), key data points + sources, cross-link opportunities, visual needs, word-count target.
Present to user. Wait for approval. Adjust outline per feedback.
Agent(content-writer). Apply Blog Post pattern from companion page-content-patterns.md.
Create the post using the project's blog conventions (directory, frontmatter, naming). Follow the approved outline. Per section: hook intro (surprising stat / question / pain point), structured body (2–3 sentence paragraphs, broken with lists/tables/code/quotes), ≥ 3 internal links from the brief, 1–2 authoritative external sources, bullet key-takeaways, value-first CTA.
Visual direction per visual need: descriptive alt text (includes keyword where natural), placement relative to content, cover image style/mood/composition.
Apply @geo-writer skill. Per geo-content rule (mandatory for all blog content). Enforces macro / meso / micro structure, answer-first sentences, entity clarity, high-leverage formats (FAQ / comparison table / HowTo), and a JSON-LD schema block (Article + Person + FAQPage). The full 7-step macro/meso/micro checklist with paragraph word counts, micro-emphasis quotas, and schema requirements lives in plugin/skills/geo-writer/SKILL.md (the @-applied skill); see also page-content-patterns.md for the discovery-assets checklist + per-page tables.
Apply @humanizer skill. Per humanize-content rule (mandatory for public-facing). Scan draft for AI patterns, rewrite problematic sections, run anti-AI audit, verify accuracy preserved.
GEO + humanizer are complementary: GEO optimizes structure for extraction; humanizer optimizes voice. Order: GEO first, humanizer second.
Agent(seo-engineer). Run on-page SEO check (title / meta / H1 / hierarchy / URL slug / first paragraph / image alt), internal link audit (≥ 3 descriptive anchors, no broken refs, no "click here"), structured data (Article / BlogPosting + Person + FAQPage / HowTo JSON-LD validated in Google Rich Results Test), and discovery assets (sitemap / robots.txt / llms.txt / canonical URL).
The full 5a / 5b / 5c / 5d sub-checklist with the on-page table, structured-data validation steps, and discovery-asset audit lives in seo-content-sync-checklist.md — load it during the SEO pass.
Agent(product-manager). Review against original brief — checks: brief compliance (outline + angle), accuracy (cited stats), audience fit, completeness, ≥ 3 internal cross-links, natural value-first CTA, visual direction, SEO (title/meta/headings/keywords), no secrets/PII, brand voice consistent.
Decision Gate — route on failure: content gaps / accuracy / tone → Step 3 with feedback; buried lede / walls of text / missing answer-first → Step 4 (GEO); AI-sounding text → Step 4.5 (humanizer); SEO/schema → Step 5; wrong brief → Step 2.
Loop until review passes.
| Intent | Action |
|---|---|
| Publish now | Frontmatter status: published, date: today |
| Schedule for later | status: draft, target date noted |
| Series | status: draft + series metadata + prev/next links |
Final checks: frontmatter complete, file in correct dir, name follows conventions, no TODO/placeholder, all images exist or have generation instructions, llms.txt updated, sitemap auto-pickup verified, no noindex.
Output a compact summary block: title, file path, status (published / draft / scheduled), topic, target keyword, word count, roles applied (PM → Writer → @humanizer → SEO → PM), review rounds, cross-links added, discovery assets (llms.txt + sitemap status), follow-ups.
For <type>: page | landing | email | other. Same agents (product-manager + content-writer + seo-engineer) but a lighter pipeline:
page-content-patterns.md (about, pricing, layout templates in about-pricing-and-layout-patterns.md)seo-content-sync-checklist.md to ensure visible text + meta + JSON-LD all in syncVisual content via AI tools per @content-tools knowledge skill and companion image-and-integration-workflows.md.
The eight publish gates (accuracy, brand alignment, conversion,
accessibility, SEO+content sync, legal+ethics, GEO/AEO structure,
humanization) are binding for every content type. Read
quality-gates-and-series.md and apply the
"Content Quality Gates" section verbatim before publishing any piece — each
gate must pass before publish.
For AI text-generation prompt templates (headline / value-prop / feature-to-benefit / FAQ / social-proof patterns) — see @content-tools knowledge skill. For image generation (Midjourney v7 / GPT-Image-1 / Flux 1.1 Pro / Ideogram / Stable Diffusion / Leonardo), video/motion (Sora 2 / Runway / Kling / Luma / Synthesia / Loom), stock assets (Unsplash / Pexels / Undraw / Storyset / Lottie / Noun Project), and design tooling (Rive / Spline) — see companion image-and-integration-workflows.md.
All agent spawns use plugin/schemas/spawn-payload.schema.json. Returns conform to plugin/schemas/return-contract.schema.json.
L4 memory writes (draft-summary after draft, run-log line after publish) are
mandatory. Read quality-gates-and-series.md
and apply the "Memory writes" section verbatim at draft-complete and at
publish.
@content-tools — research workflows + AI text-generation prompt templates (knowledge skill, sibling to this one)page-content-patterns.md — Blog Post pattern, page-level templatesabout-pricing-and-layout-patterns.md — about, pricing, layout patternsimage-and-integration-workflows.md — visual content workflows + integrationseo-content-sync-checklist.md — keep visible text + SEO meta + JSON-LD in syncquality-gates-and-series.md — 8 publish quality gates + blog series pattern + L4 memory writes (Read + apply verbatim)When creating a multi-part blog series, the 6-step series pattern is binding.
Read quality-gates-and-series.md and apply
the "Content Series Pattern" section verbatim before drafting or publishing a
series.
Agent(product-manager) (research, brief, review), Agent(content-writer) (authoring), Agent(seo-engineer) (optimization), Agent(content-designer) (page content + visual direction)plugin/schemas/spawn-payload.schema.json, plugin/schemas/return-contract.schema.json@geo-writer (Gate 7 — GEO/AEO structure pass), @humanizer (Gate 8 — AI pattern removal)geo-content (auto-enforces structure + schema for public-facing), humanize-content (auto-enforces humanizer pass), untrusted-content-wrapping (G1 wrap on project file reads)/seo-review (deep SEO audit), /pre-commit, /create-pr, /marketing (marketing context)/seo-review (post-publish audit), /marketing content-repurpose (cross-channel adaptation)development
Use this skill when running the recurring (daily) knowledge-base rescan for a repo that already has knowledge/.knowledge-sync.yml — the main-thread dispatcher that reads the config, computes the git delta since last_scanned_sha, maps changed paths to affected doc areas, early-exits cheaply when nothing changed, then fans out one Agent(content-writer) per affected area, applies the propose/direct update policy, advances the baseline only on success, and writes an L4 run log — all with the G1 untrusted-content choke-point, secret-scan, deny-list, and budget controls woven in. For first-time setup use /knowledge-sync-init.
development
Use this skill when bootstrapping scheduled knowledge-base sync for a repo that has no knowledge/.knowledge-sync.yml yet — to run one-time setup that detects the knowledge_root from CLAUDE.md/AGENTS.md, maps doc areas to source globs, records opt-in external sources (Linear/Notion/WebFetch, all disabled by default), captures a baseline last_scanned_sha, sets the per-area update policy, generates or seeds knowledge/CONVENTIONS.md, provisions the L4 memory dir, and offers to register the daily routine. Routes ongoing recurring sync operations to /knowledge-sync.
tools
Use this skill when bootstrapping a target repository to be ai-skills-aware — on the first run of any ai-skills workflow in a fresh repo, when adopting the ai-skills plugin in an existing repo, or after upgrading to a plugin version that adds new memory paths or templates, including when the user does not say "init" but asks to "set up" or "onboard" the repo — to detect codebase type, create CLAUDE.md + AGENTS.md scaffolding, initialize the .ai-skills-memory/ directory tree from L1 templates, and configure .gitignore. Idempotent — safe to re-run. Accepts `--codebase-type <type>` and `--overwrite`. Not for re-initializing only memory — use `/memory-init` instead.
tools
Use this skill when extending, repairing, or improving plugin assets, when ingesting a `/feedback` report as a fix-cycle backlog, or when you do not remember which lower-level command is right for the job — the umbrella workflow for ai-skills plugin-asset authoring and maintenance: creating, auditing, fixing, improving, refactoring, and migrating skills, agents, rules, hooks, prompts, schemas, and rubrics inside the plugin. Auto-classifies the request, loads the right knowledge skills (`@prompt-engineering`, `@context-engineering`, `@team-protocols`), and spawns the right subagents (`prompt-engineer`, `system-architect`, `python-engineer`, `software-engineer`, `qa-engineer`, `eval-judge`) via the `Agent` tool.