add-ecosystem
Add a new ecosystem and base model to basemodel.constants.ts. Use when onboarding a new model…
Draft a model description for the CivitaiOfficial account when mirroring a third-party model on civitai.com or civitai.red. Use when the user is publishing or rewriting a mirrored model page (e.g. Sulphur, HappyHorse, Wan, ACE-Step) and wants a structured, properly-credited
$ npx -y skills add civitai/civitai --skill write-model-description --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/write-model-descriptionContext preview
The summary Claude sees to decide when to auto-load this skill.
Draft a model description for the CivitaiOfficial account when mirroring a third-party model on civitai.com or civitai.red. Use when the user is publishing or rewriting a mirrored model page (e.g. Sulphur, HappyHorse, Wan, ACE-Step) and wants a structured, properly-credited
name: write-model-description description: Draft a model description for the CivitaiOfficial account when mirroring a third-party model on civitai.com or civitai.red. Use when the user is publishing or rewriting a mirrored model page (e.g. Sulphur, HappyHorse, Wan, ACE-Step) and wants a structured, properly-credited description rather than a one-line stub. Produces HTML ready to paste into the Civitai rich-text editor.
How to write a model description for the **CivitaiOfficial** account when mirroring a third-party model on civitai.com or civitai.red.
A good CivitaiOfficial description:
1. Opens with a one-paragraph lede (what is it, who built it, what's the base, what's the headline capability). 2. Credits and links the **original creators** prominently, near the top. 3. Lists which **versions** are mirrored on Civitai (and which aren't). 4. Has 3-5 H3 sections with **bold labels**, each covering one capability or workflow detail. 5. Ends with a Links section (source repo, project Discord, support/funding). 6. Length: aim for **2,000-4,000 characters of HTML**. Anything under 1,000 chars is too thin.
We mirror community / lab models on the CivitaiOfficial account so creators can run them on-site without local setup. That mirror only works socially if:
A 1-line description (just "model based on X, link here") leaves money on the table for both the creators and our users. It also reads like we don't care.
Drop into the Civitai rich-text editor as HTML. The editor will preserve `<h3>`, `<strong>`, `<em>`, `<a>`, `<code>`, `<ul>`, `<ol>`.
One paragraph, ~2-3 sentences. Should answer:
Keep it punchy. No hedging, no adjectives like "cutting-edge" / "state-of-the-art" unless there's a benchmark to back it.
A bold sentence pointing to the original release and explicitly handing credit upstream. Example:
> **Originally released by [TeamName](https://huggingface.co/TeamName/model) on Hugging Face.** All credit for the model goes to the TeamName team and contributors below. Civitai is hosting a mirror so creators can run it on-site - please head to the [original repo](...) for weights, updates, and to support the project directly.
H3 list of every contributor named in the upstream README, with their links. Lead with the org/lead author. Include funders if they're acknowledged upstream.
H3 with a **bold label**, then 1-2 short paragraphs. Each covers one of:
H3 list with: Source (HF/GitHub), project Discord, project funding/Patreon/Ko-fi.
1. **Read the upstream README.** Hugging Face raw README is usually at `https://huggingface.co/<org>/<model>/raw/main/README.md`. 2. **Open 2-3 sibling CivitaiOfficial models** for tone reference (e.g. HappyHorse-1.0, Wan Video 2.7, ACE-Step). Match their structure. 3. **Confirm what's actually mirrored on Civitai.** Check the model versions on the Civitai page - if upstream ships fp8/bf16/fp16 and we only mirror fp8, say that. 4. **Draft in markdown first**, then convert to HTML for the editor. 5. **Get Justin's eyes on it before publishing** for any model that's externally significant or NSFW.
When using this skill, the assistant should ask the user for (or be given):
Then draft using this template instruction:
> Draft a CivitaiOfficial model description for [model name] using the structure in this skill. Source README is below. Output as HTML ready to paste into the Civitai editor. Keep it 2,000-4,000 chars. No em dashes. No marketing fluff.
Then verify before returning to the user:
| Model | Why it works | |---|---| | HappyHorse-1.0 | Clear feature H3s with bold labels, ends with "Originally posted" link | | Wan Video 2.7 | Strong Overview + Key Improvements split, full details link | | ACE-Step Audio Gen | Explicit Direct Use / Downstream Use sections + bullet capability list | | OpenAI's GPT-image-1 | Top-of-page colored callout for the on-site-generation news |
This model was the trigger for writing the guide this skill is based on. The original 420-char description was:
> Model Source: huggingface.co/Sulp
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…