Adaptation
danjdewhurst/story-skills
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is the audiobook", "adapt to a screenplay"…
A skill your agent uses when defining visual novel characters for a @drincs/pixi-vn game — creating a character with a name, color, icon and other props, registering it so it can be looked up by id…
$ npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DRincs-Productions/pixi-vn pixi-vn-characters --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DRincs-Productions/pixi-vn.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/characters .claude/skills/pixi-vn-characters && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pixi-vn-characters" agent skill from https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/characters into .claude/skills/pixi-vn-characters/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixi-vn-characters", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/charactersType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DRincs-Productions/pixi-vn pixi-vn-characters --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DRincs-Productions/pixi-vn.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/characters .agents/skills/pixi-vn-characters && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pixi-vn-characters" agent skill from https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/characters into .agents/skills/pixi-vn-characters/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixi-vn-characters", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DRincs-Productions/pixi-vn pixi-vn-characters --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DRincs-Productions/pixi-vn.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/characters .cursor/skills/pixi-vn-characters && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pixi-vn-characters" agent skill from https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/characters into .cursor/skills/pixi-vn-characters/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixi-vn-characters", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DRincs-Productions/pixi-vn.git --path skills/characters--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DRincs-Productions/pixi-vn pixi-vn-characters --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DRincs-Productions/pixi-vn.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/characters .gemini/skills/pixi-vn-characters && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pixi-vn-characters" agent skill from https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/characters into .gemini/skills/pixi-vn-characters/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixi-vn-characters", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DRincs-Productions/pixi-vn pixi-vn-charactersInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DRincs-Productions/pixi-vn.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/characters .github/skills/pixi-vn-characters && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pixi-vn-characters" agent skill from https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/characters into .github/skills/pixi-vn-characters/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixi-vn-characters", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DRincs-Productions/pixi-vn pixi-vn-characters --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DRincs-Productions/pixi-vn.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/characters .opencode/skills/pixi-vn-characters && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pixi-vn-characters" agent skill from https://github.com/DRincs-Productions/pixi-vn/tree/main/skills/characters into .opencode/skills/pixi-vn-characters/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixi-vn-characters", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pixi-vn-charactersA skill your agent uses when defining visual novel characters for a @drincs/pixi-vn game — creating a character with a name, color, icon and other props, registering it so it can be looked up by id…
Pixi Vn Characters is an agent skill from DRincs-Productions/pixi-vn. Use when defining visual novel characters for a @drincs/pixi-vn game — creating a character with a name, color, icon and other props, registering it so it can be looked up by id, and referencing it from dialogue/narration. Load this before writing any CharacterBaseModel or RegisteredCharacters code.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Writing & Content, covering Creative writing and fiction and Text to speech and voice. It works with React. The repository describes itself as: Create visual novels with a modern 2D rendering engine and your favorite JavaScript framework.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 01c19cb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
pixi-vn.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pixi Vn Characters loads about 3.1k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 1,068 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DRincs-Productions/pixi-vn at commit 01c19cb, republished under its LGPL-2.1 licence (© DRincs-Productions). 1,068 words, ~3,123 tokens.
.claude/skills/pixi-vn-characters/SKILL.md (or your agent's skills folder).Use this skill whenever a task involves creating the characters that appear in a
Pixi'VN game (name, surname, age, color, icon, and any custom fields), storing
them so the engine and narration code can find them by id, or hooking a
character into a narration.dialogue line. It does not cover how dialogue/text
itself is displayed (see the narration skill) or how variables are generally
saved (see the storage skill).
import { CharacterBaseModel, RegisteredCharacters } from "@drincs/pixi-vn";(Also available from the narrower @drincs/pixi-vn/characters subpath — see pixi-vn-getting-started for when to prefer that.)
Full reference: https://pixi-vn.com/start/character
CharacterBaseModel is the built-in character class. Construct it with a
unique string id and a props object (name, surname, age, icon,
color — all optional):
import { CharacterBaseModel } from "@drincs/pixi-vn";
export const liam = new CharacterBaseModel("liam", {
name: "Liam",
surname: "Smith",
age: 25,
icon: "https://example.com/liam.png",
color: "#9e2e12",
});
export const emma = new CharacterBaseModel("emma", {
name: "Emma",
surname: "Johnson",
age: 23,
icon: "https://example.com/emma.png",
color: "#c23b7f",
});The id is the value used everywhere else in the game (dialogue, lookups,
history) to reference this character, so it must be unique and stable across
saves.
name/surname/age are actually get/set accessors backed by the game's
storage (see CharacterStoredClass, which CharacterBaseModel extends, and
the stored classes doc): the value
passed in the constructor becomes the default, but setting liam.name = "..."
at runtime persists an override in storage that survives save/load and takes
priority over the default. icon and color are plain readonly fields, not
stored/overridable at runtime.
import { liam } from "@/content/characters";
console.log(liam.name); // "Liam"
liam.name = "Liam Smith";
console.log(liam.name); // "Liam Smith" — now persisted in game storageIf a character's id is ever changed between game versions, the engine does
not migrate the storage data from the old id to the new one — treat ids as
permanent once shipped.
If you need fields beyond name/surname/age/icon/color (e.g. a
sprite id or a relationship stat), this is the recommended, docs-endorsed
approach (project templates already ship it as models/Character.ts):
Character extends CharacterStoredClass implements CharacterInterface.CharacterInterface in a pixi-vn.d.ts file
via declare module "@drincs/pixi-vn" so every CharacterInterface
consumer in the project — including RegisteredCharacters.get() — sees the
richer, project-specific type.this.getStorageProperty() /
this.setStorageProperty() (inherited from CharacterStoredClass), the
same pattern CharacterBaseModel uses internally for name/surname/age.This is exactly what the official pixi-vn-react-template (the "TS narration
npm create pixi-vn@latest scaffolds) ships as
src/models/Character.ts — stored getters/setters for name, surname and
age, and plain (non-stored) fields for icon/color:// models/Character.ts
import { type CharacterInterface, CharacterStoredClass } from "@drincs/pixi-vn";
export default class Character
extends CharacterStoredClass
implements CharacterInterface
{
constructor(
id: string | { id: string; emotion: string },
props: CharacterProps,
) {
super(
typeof id === "string" ? id : id.id,
typeof id === "string" ? "" : id.emotion,
);
this.defaultName = props.name;
this.defaultSurname = props.surname;
this.defaultAge = props.age;
this.icon = props.icon;
this.color = props.color;
}
// stored — persists across save/load, same pattern as CharacterBaseModel
private defaultName?: string;
get name(): string {
return (
this.getStorageProperty<string>("name") || this.defaultName || this.id
);
}
set name(value: string | undefined) {
this.setStorageProperty<string>("name", value);
}
private defaultSurname?: string;
get surname(): string | undefined {
return this.getStorageProperty<string>("surname") || this.defaultSurname;
}
set surname(value: string | undefined) {
this.setStorageProperty<string>("surname", value);
}
private defaultAge?: number;
get age(): number | undefined {
return this.getStorageProperty<number>("age") || this.defaultAge;
}
set age(value: number | undefined) {
this.setStorageProperty<number>("age", value);
}
// not stored
readonly icon?: string;
readonly color?: string;
}
interface CharacterProps {
name?: string;
surname?: string;
age?: number;
icon?: string;
color?: string;
}// pixi-vn.d.ts
declare module "@drincs/pixi-vn" {
interface CharacterInterface {
name: string;
surname?: string;
age?: number;
readonly icon?: string;
readonly color?: string;
}
}Characters are looked up at runtime by id through the RegisteredCharacters
registry (a namespace, not a decorator despite its file name). Calling
RegisteredCharacters.add(...) is required — a CharacterBaseModel (or
custom class) instance that is only exported/constructed but never passed to
add will not be findable by id and will not work in dialogue lookups after a
save/load. Register every character you define once, at module load time
(recommended: import them all at project startup), then reference it by id
elsewhere:
import { RegisteredCharacters } from "@drincs/pixi-vn";
RegisteredCharacters.add(liam, emma);
// or with arrays:
RegisteredCharacters.add([liam, emma]);Other RegisteredCharacters functions:
RegisteredCharacters.get(id) — returns the character (or undefined,
logging a warning if it was never registered).RegisteredCharacters.has(id) — checks whether an id is registered.RegisteredCharacters.values() — returns all registered characters.RegisteredCharacters.keys() — returns all registered ids.RegisteredCharacters.clear() — removes all registered characters (mainly
useful in tests).const liam = RegisteredCharacters.get("liam");Re-adding an id that's already registered overwrites the previous character (a log message notes this), so registration order matters if two files define the same id.
The official pixi-vn-react-template (what npm create pixi-vn@latest
scaffolds for the "TS narration + React" setup) defines its characters as
export const instances in src/content/characters.ts, then registers all of
them with a single RegisteredCharacters.add([...]) call at module scope:
// src/content/characters.ts
import Character from "@/models/Character";
import { RegisteredCharacters } from "@drincs/pixi-vn";
export const mc = new Character("mc", { name: "Me" });
export const james = new Character("james", {
name: "James",
color: "#0084ac",
});
export const steph = new Character("steph", {
name: "Steph",
color: "#ac5900",
});
export const sly = new Character("sly", { name: "Sly", color: "#6d00ac" });
RegisteredCharacters.add([mc, james, steph, sly]);This works with no manual import list to maintain because src/content/index.ts
uses import.meta.glob to import every file under content/ for its side
effects at app startup — so the module-scope RegisteredCharacters.add(...)
call above always runs. That means you never need to remember to import each
new character file yourself (dropping it anywhere under content/ is
enough), but conversely, a character defined (and .added) in a file
outside content/ that nothing else imports never gets its add call
executed, and stays silently unregistered.
This is the official template's convention, not a hard requirement of the
library — RegisteredCharacters.add can be called from any file, as long as
it's guaranteed to run before the character is looked up. Projects without
this glob-import setup must import each character file explicitly instead
(e.g. from a top-level content/index.ts or the app's entry point).
Character ids are typed as CharacterIdType, which is string by default.
If a project augments the empty PixivnCharacterIds interface (typically
auto-generated by the vitePluginPixivn Vite plugin's typeFilePath option),
CharacterIdType narrows to a union of known ids and typos become compile
errors. Don't assume this augmentation exists unless you see a generated
pixi-vn.gen.d.ts/similar file in the project — if not, treat ids as plain
strings.
A character id may optionally be paired with an emotion by passing an object instead of a plain string as the constructor's first argument:
export const alice = new CharacterBaseModel("alice", {
name: "Alice",
icon: "https://example.com/alice.png",
color: "#9e2e12",
});
export const angryAlice = new CharacterBaseModel(
{ id: "alice", emotion: "angry" },
{ icon: "https://example.com/angryAlice.png" },
);
RegisteredCharacters.add([alice, angryAlice]);Internally this stores the character's name/surname/age under a
separate storage key ("<id>@<emotion>") while still falling back to the
base id's stored/default values if an emotion-specific value isn't set — the
base id and its emotion variants share the same underlying character data
except where the emotion variant overrides it:
console.log(alice.name); // "Alice"
alice.name = "Eleonora";
console.log(alice.name); // "Eleonora"
console.log(angryAlice.name); // "Eleonora" — falls back to the base id's value
angryAlice.name = "Angry Eleonora";
console.log(alice.name); // "Eleonora" — unaffected
console.log(angryAlice.name); // "Angry Eleonora" — its own override now setUse this only if you need per-emotion overrides of a character's stored fields; for swapping the character's on-screen sprite/image per emotion, that's driven by the canvas/image APIs, not this module.
Once registered, pass the character instance (or its id string) as the
character field of a dialogue, e.g. inside a label step:
narration.dialogue = {
character: liam,
text: "Which test do you want to perform?",
};
// or by id:
narration.dialogue = { character: "liam", text: "..." };Which form to prefer depends on whether the project's @drincs/pixi-vn/vite plugin generates
typed character ids (the typeFilePath option covered in pixi-vn-getting-started, which narrows
CharacterIdType from plain string to a union of the actually-registered ids):
character: liam) — a bare string id has no
compile-time typo protection, while the instance is a real variable reference the compiler
already checks.character: "liam") — it now gets the same
compile-time safety (a typo like "liem" fails to typecheck against the generated
CharacterIdType union) without needing to import the character module wherever a dialogue line
is written, which keeps label files decoupled from character-definition files.DialogueInterface.character accepts CharacterInterface | string; when a
string id is stored, the engine resolves it back to the registered character
object (via RegisteredCharacters.get) when the dialogue is read back — so a
character must already be registered by the time its dialogue line runs.
Reading/rendering the resolved dialogue is covered by the narration skill.
pixi-vn-getting-started, pixi-vn-narration, pixi-vn-storage
© DRincs-Productions, LGPL-2.1. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/characters of DRincs-Productions/pixi-vn.
Open the folder on GitHubat commit 01c19cb
Pixi Vn Characters next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pixi Vn Characters this skillDRincs-Productions/pixi-vn | 149 | — | ~3.1k | Automated safety check: Pass | LGPL-2.1 | |
| Adaptationdanjdewhurst/story-skills | 286 | 1 repos | ~3.5k | Automated safety check: Notes | MIT | |
| Reader Paneldanjdewhurst/story-skills | 286 | 1 repos | ~3.5k | Automated safety check: Notes | MIT | |
| InkOS Creative HarnessNarcooo/inkos | 10k | 1 repos | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Anything2explainerVincentwei1021/anything2explainer | 2.4k | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Video TranslatorInsiderX-Pro/video-translator | 928 | — | ~635 | Automated safety check: Pass | MIT |
danjdewhurst/story-skills
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is the audiobook", "adapt to a screenplay"…
danjdewhurst/story-skills
This skill should be used when the user asks for a "simulated beta read", "reader panel", "persona read", "first read before my beta readers", "how would a genre reader react", "would a reader keep…
Narcooo/inkos
Drives long-form fiction, scripts, storyboards, interactive films and long-document translation through InkOS, with every change made by a typed action.
Vincentwei1021/anything2explainer
给一个主题,产出一条黑底 MG 风格(幕底可选星点或点阵波)、有配音字幕章节进度条的科普讲解视频(中文或英文;Remotion 代码动画;时长由用户定,常用 3–5 分钟)。内含可编译模板、图元库、配音/分镜/渲染工具、风格与动效规范、多 agent 分工协议与 QC 判据,以及一条完整样片(《RAG 与知识库》)作为质量标尺。Turn any topic into a narrated…
InsiderX-Pro/video-translator
Real time video translation / dubbing skill. An agent skill from InsiderX-Pro/video-translator.
MartinDelophy/ai-video-editor
Analyze images, video, speech, motion, products, and websites; route local vision, audio, depth, tracking, matting, identity, and restoration models; auto-edit, replicate, enhance, caption, voice…
DRincs-Productions/pixi-vn
A skill your agent uses when adding, organizing, registering, or loading non-code files (images, audio, video) in a Pixi'VN project — local assets processed by PixiJS AssetPack vs.
DRincs-Productions/pixi-vn
A skill your agent uses when implementing "go back" / "rewind" / step-navigation features in a Pixi'VN game, or when you need to read the player-facing dialogue/choice history (e.g.
DRincs-Productions/pixi-vn
A skill your agent uses when adding a minigame (snake, quiz, puzzle, timing/reaction game, ...) to a Pixi'VN visual novel — the useMinigame lifecycle hook pattern, using PixiJS directly on its own…
DRincs-Productions/pixi-vn
A skill your agent uses when writing or editing Pixi'VN story content — defining labels (scenes) with newLabel, writing dialogue steps, adding player choices with…
DRincs-Productions/pixi-vn
A skill your agent uses when implementing save/load in a Pixi'VN game — Game.exportGameState()/restoreGameState()/jsonToGameState(), what the exported GameState contains, and how to persist it (save…
DRincs-Productions/pixi-vn
A skill your agent uses when playing or stopping background music, sound effects, or voice lines; creating/organizing audio channels; controlling volume, mute, or pan; or wiring Tone.js audio…
Works with
Categories
A skill your agent uses when defining visual novel characters for a @drincs/pixi-vn game — creating a character with a name, color, icon and other props, registering it so it can be looked up by id…. Pixi Vn Characters is an agent skill from DRincs-Productions/pixi-vn. Use when defining visual novel characters for a @drincs/pixi-vn game — creating a character with a name, color, icon and other props, registering it so it can be looked up by id, and referencing it from dialogue/narration.
Pixi Vn Characters fits situations like: defining visual novel characters for a @drincs/pixi-vn game — creating a character with a name; icon and other props; registering it so it can be looked up by id; referencing it from dialogue/narration.
Run `npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a claude-code`. Or copy the skill folder (skills/characters in DRincs-Productions/pixi-vn) into .claude/skills/pixi-vn-characters in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a codex`. Or copy the skill folder (skills/characters in DRincs-Productions/pixi-vn) into .agents/skills/pixi-vn-characters in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DRincs-Productions/pixi-vn --skill pixi-vn-characters -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pixi-vn-characters, .gemini/skills/pixi-vn-characters, .github/skills/pixi-vn-characters and .opencode/skills/pixi-vn-characters in your project.
Going by SKILL.md and its folder, Pixi Vn Characters needs the command-line tools its instructions call (npm).
SKILL.md names 1 domain. As links in the text: pixi-vn.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Pixi Vn Characters is published under the LGPL-2.1 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Pixi Vn Characters: Adaptation (danjdewhurst/story-skills, 286 stars), Reader Panel (danjdewhurst/story-skills, 286 stars), InkOS Creative Harness (Narcooo/inkos, 10k stars) and Anything2explainer (Vincentwei1021/anything2explainer, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DRincs-Productions (a GitHub organization) maintains it in DRincs-Productions/pixi-vn, which has 149 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 1, 2026.
Source: DRincs-Productions/pixi-vn on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.