Everything we know about writing character cards is now on GitHub
character-card-skills is live: two agent skills (card authoring + chat-quality triage), 47 genre playbooks, 15 original cards shipped as SillyTavern-ready v2 JSON and v3 PNG, and the rule-based AI-flavor detector we calibrated after our LLM judges failed gold calibration at 12%. Code MIT, content CC BY 4.0. Runs in Claude Code, Cursor, Codex, Gemini CLI — and natively in Foreverse on Android.

Today we pushed foreverse-app/character-card-skills to GitHub: the full stack we use to write roleplay character cards that don't read like a language model wrote them. Two agent skills, 47 genre playbooks, 15 original cards, and the detector that gates them. Code under MIT, cards and docs under CC BY 4.0.
Here is what's in the box, why it's free, and where it still fails.
What ships in the repo?
The centerpiece is character-card-author, an agent skill following the open SKILL.md convention — the same format Claude Code, Cursor, Codex and Gemini CLI all read. It walks an agent from positioning (four axes: audience, genre, distance, heat) through 47 genre-specific playbooks, five opening-message paradigms, nine liveliness techniques, lorebook patterns, and a prose discipline with hard quotas on the sentence patterns real readers flag as machine tells.
Next to it sits chat-quality-doctor: the triage skill for "I chatted with my card and something feels off." It maps symptoms — wall-of-text replies, out-of-character drift, the model speaking for the user — to causes and scoped fixes, with symptom profiles for 8 model families.
The 15 cards are not demo filler. Each one shipped only after clearing an 8-dimension score gate and the flavor detector; each ships as card.md source, chara_card_v2 JSON, and a v3 PNG with the card embedded — drag it straight into SillyTavern. Twelve are Chinese, three are English, written by the English skill as its own proof of use. A zero-dependency Python converter and the CI workflow that enforces all of this are in tools/.
Why give this away?
The short version: the method only stays honest in public. Last week we published what happened when we asked LLM judges to grade AI flavor. They agreed with each other 86% of the time and scored 12% on human-consensus anchors — confidently, consistently backwards, praising machine-polished copy as "lived-in" and dismissing million-conversation human cards as "formulaic." A debiasing prompt rescued exactly one model family (12% to 83%) and moved the others not at all.
After that experiment we rebuilt quality control around things a reader can verify: phrase lists and sentence-pattern quotas calibrated on real reader judgments, human spot checks, and LLM review only for before/after comparisons of the same text. All of that is now in the repo, gold regression included. If the detector is miscalibrated, the failing sample and the rule that missed it are both public. That is a stronger guarantee than "trust our taste" — and it is checkable by people who have never heard of us.
There is also a plainer reason. Roleplay communities have been burned by closed tools wearing open clothing, and the skills ecosystem — 280k+ published skills within half a year of the format opening — still has almost nothing for character writing. We would rather occupy that gap with something inspectable.
How do the pieces fit together?
The loop we actually use: an agent reads the skill, drafts a card into card.md, the scorer and the flavor detector gate it, the converter emits v2 JSON and a v3 PNG, and the PNG goes into whatever frontend you chat in. In SillyTavern that means the character import button. In Foreverse the same skills run natively on the bookshelf agent, which can also score the card, paint its cover, and import it — one tap, no laptop. That app loop is the part we keep; everything methodological is now yours.
Clone it, steal the playbooks, file an issue when the detector false-flags your prose. That last one is not politeness — reader-flagged false positives are exactly the data the gold set grows on.
FAQ
What exactly is in the character-card-skills repo?
Two agent skills (character-card-author and chat-quality-doctor), 47 genre-specific writing playbooks, 8 per-model roleplay symptom profiles, 15 original character cards (12 Chinese, 3 English) shipped as card.md source plus chara_card_v2 JSON plus v3 PNG-embedded cards, a rule-based AI-flavor detector with its gold regression set, and a zero-dependency md-to-card converter. Code is MIT; cards and docs are CC BY 4.0.
Do the cards work in SillyTavern?
Yes. Every card ships pre-converted: a v3 PNG you can drag into SillyTavern's character import, and a v2 JSON for frontends that prefer it. Lorebooks, alternate greetings and example dialogues are embedded. We test imports in SillyTavern and in Foreverse.
Which coding agents can run the skills?
Anything that reads the open SKILL.md convention: Claude Code, Cursor, Codex, Gemini CLI. Install is a folder copy. The same skills also run natively inside Foreverse on Android, where the agent can score, illustrate and import the card it just wrote.
Why trust a rule-based detector over an LLM judge?
Because we measured both. In a double-blind panel our LLM judges agreed with each other 86% of the time and were right 12% of the time on human-consensus anchors — they systematically rated human-written cards as AI. The rule-based detector is calibrated against what real readers actually flagged, and it gates every card in the repo through CI. Its honest limit: perfectly templated AI copy still passes.
Questions or ideas? Join our Discord →