add-ecosystem
Add a new ecosystem and base model to basemodel.constants.ts. Use when onboarding a new model…
Generate a programmatic-SEO "ecosystem hub page" mockup for a Civitai generation ecosystem (Flux, SDXL, Pony, Illustrious, Wan, Qwen, etc.). Produces a self-contained, on-brand HTML landing page that ranks for "<ecosystem> AI", "best <ecosystem> models", "<ecosystem> vs X", "how
$ npx -y skills add civitai/civitai --skill ecosystem-seo-page --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ecosystem-seo-pageContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate a programmatic-SEO "ecosystem hub page" mockup for a Civitai generation ecosystem (Flux, SDXL, Pony, Illustrious, Wan, Qwen, etc.). Produces a self-contained, on-brand HTML landing page that ranks for "<ecosystem> AI", "best <ecosystem> models", "<ecosystem> vs X", "how
name: ecosystem-seo-page description: Generate a programmatic-SEO "ecosystem hub page" mockup for a Civitai generation ecosystem (Flux, SDXL, Pony, Illustrious, Wan, Qwen, etc.). Produces a self-contained, on-brand HTML landing page that ranks for "<ecosystem> AI", "best <ecosystem> models", "<ecosystem> vs X", "how to run <ecosystem>" and funnels visitors into the generator and membership. Auto-derives what it can from basemodel.constants.ts, asks the dev for the rest, optionally pulls live stats/top-models, then publishes it as an artifact. Use when someone wants an ecosystem landing/SEO page, a hub-page mockup, or to add a page for a new model family. allowed-tools: Read, Write, Edit, Glob, Grep, AskUserQuestion, Artifact, Skill, Bash
Build one authoritative landing page per generation ecosystem. The strategy is **programmatic SEO**: a single template, populated per-ecosystem with data only Civitai has (models, LoRAs, real generations + prompts, usage metrics), that captures high-intent search ("best Flux models", "Flux vs SDXL", "how to run Wan") and funnels it into the generator and membership.
The visual design is **frozen** in [`template.html`](template.html) — it's Civitai's real dark-first system (card/badge/amber-bolt-CTA vocabulary). A fully-worked reference is [`example-flux.html`](example-flux.html). Your job is to fill the template with correct, real-as-possible content for the requested ecosystem — never to restyle it.
Take it from the user's request (`/ecosystem-seo-page Wan`) or ask. Resolve it against `src/shared/constants/basemodel.constants.ts` — grep for the `ECO.<Key>` entry and its `ecosystems`/`baseModelFamilies` records.
From `basemodel.constants.ts` and a quick grep of the repo, pull:
Use **AskUserQuestion** (batch the questions). Ask ONLY things you couldn't derive. Typical set:
Keep it to one AskUserQuestion round of 2–4 questions where possible. If the user said "just mock it up / use placeholders", skip straight to plausible placeholder data (mirror the Flux example's style) and note the assumptions in your summary.
If the dev opts into live data:
Always keep these read-only and scoped; never block the mockup on them — fall back to placeholders.
The real `/ecosystems/[key]` page carries three pieces of unique long-form text that are the primary SEO lever (depth + de-duplication). **These MUST be grounded in authoritative sources — never free-written from model memory.** Free-writing scales an accuracy risk across every page and reads as thin/duplicate content to search engines.
The `EcosystemSeoConfig` fields:
Repo: civitai/civitai
Add a new ecosystem and base model to basemodel.constants.ts. Use when onboarding a new model…
Wire an existing ecosystem into the generation system. Adds generation support to…
Author a prompt-enhancement system prompt for a new ecosystem and register/update it on the…
Add a new trainable base model to BOTH trainers end-to-end — the in-app trainer (main Next.js…
Wire an existing ecosystem into the LoRA training system so it appears as a trainable base…
Deterministically drive a first-party Civitai App Block in the operator's browser and produce…