add-ecosystem
Add a new ecosystem and base model to basemodel.constants.ts. Use when onboarding a new model…
Turn a batch of user feedback (Discord threads, DMs, article comments, support tickets) into a triage checklist. Produces TWO artifacts — a full private one with attribution and tracker links, and a sanitized public one safe for docs/. Use when asked to triage feedback, build a
$ npx -y skills add civitai/civitai --skill feedback-triage --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/feedback-triageContext preview
The summary Claude sees to decide when to auto-load this skill.
Turn a batch of user feedback (Discord threads, DMs, article comments, support tickets) into a triage checklist. Produces TWO artifacts — a full private one with attribution and tracker links, and a sanitized public one safe for docs/. Use when asked to triage feedback, build a
name: feedback-triage description: Turn a batch of user feedback (Discord threads, DMs, article comments, support tickets) into a triage checklist. Produces TWO artifacts — a full private one with attribution and tracker links, and a sanitized public one safe for docs/. Use when asked to triage feedback, build a feedback checklist, or record what a round of reports asked for.
Feedback arrives as a mess of threads and DMs. Triage turns it into a checklist someone can work from and, later, read as a record of what was decided and why.
**This repo is public** (see CLAUDE.md → Security). Raw feedback is not publishable: it carries reporter identities, private message content, internal ticket ids, and sometimes a named user's earnings. The decisions are publishable, and are the part with long-term value. So every triage produces two files.
| | Private | Public | |---|---|---| | Where | scratchpad dir, or the private repo | `docs/` | | Reporter names / handles | ✅ | ❌ → "a creator", "a moderator" | | Tracker links (ClickUp etc.) | ✅ | ❌ | | Verbatim / paraphrased DM content | ✅ | ❌ → the underlying request only | | A named user's earnings or moderation state | ✅ | ❌ **never**, in any form | | The work item | ✅ | ✅ | | The decision + reasoning | ✅ | ✅ | | Commit shas, file paths, root causes | ✅ | ✅ | | Done/not-done state | ✅ | ✅ |
The public file is not a summary — it should carry every item and every decision note. Only provenance is removed. If stripping attribution makes an entry meaningless, the entry was gossip, not a work item.
1. **Collect** the raw feedback. Keep the source (thread, date) in the private file only. 2. **Dedupe.** The same complaint usually arrives from several people in different words. One item, and in the private file note that it was independently reported — that's evidence of priority. 3. **Classify** each item: bug, feature request, or decision needed. Separate already-shipped from open. 4. **Create tracker tasks** and put the links in the **private** file. 5. **Write both files.** Same items, same order, same headings, so they can be diffed against each other. 6. **As work lands**, update both: tick the box and add a one-line outcome note (what shipped, what was deliberately not done, the sha). This is the part people actually come back for.
pattern, strikes, or content ratings. This is the one that is never fixable by rewording; drop the detail and keep only the technical finding ("a payout report traced to a display bug in `<sha>`").
anything but "understand the product or contribute code", cut more.
They drift. When you update one, update the other in the same turn. If only the private file is current, say so in the public file's header rather than letting it silently rot.
If a public entry has been reduced to nothing useful by sanitizing, delete it from the public file rather than leaving a stub — and note in the private file that it is private-only.
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…