Story Multi-Perspective Review
zenstory-ai/oh-story-claudecode
Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.
Generate phonologically consistent constructed languages for fiction.
$ npx skills add jwynia/agent-skills --skill conlang -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jwynia/agent-skills conlang --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/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/creative/fiction/worldbuilding/conlang .claude/skills/conlang && 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 "conlang" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlang into .claude/skills/conlang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conlang", 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/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlangType 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 jwynia/agent-skills --skill conlang -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jwynia/agent-skills conlang --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/creative/fiction/worldbuilding/conlang .agents/skills/conlang && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "conlang" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlang into .agents/skills/conlang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conlang", 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 jwynia/agent-skills --skill conlang -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jwynia/agent-skills conlang --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/creative/fiction/worldbuilding/conlang .cursor/skills/conlang && 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 "conlang" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlang into .cursor/skills/conlang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conlang", 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/jwynia/agent-skills.git --path skills/creative/fiction/worldbuilding/conlang--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 jwynia/agent-skills --skill conlang -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jwynia/agent-skills conlang --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/creative/fiction/worldbuilding/conlang .gemini/skills/conlang && 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 "conlang" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlang into .gemini/skills/conlang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conlang", 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 jwynia/agent-skills conlangInstalls 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 jwynia/agent-skills --skill conlang -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/creative/fiction/worldbuilding/conlang .github/skills/conlang && 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 "conlang" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlang into .github/skills/conlang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conlang", 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 jwynia/agent-skills --skill conlang -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jwynia/agent-skills conlang --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/creative/fiction/worldbuilding/conlang .opencode/skills/conlang && 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 "conlang" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/worldbuilding/conlang into .opencode/skills/conlang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conlang", 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.
conlangGenerate phonologically consistent constructed languages for fiction.
Conlang is an agent skill from jwynia/agent-skills. Generate phonologically consistent constructed languages for fiction. Use when you need naming languages, alien speech, or fantasy tongues without deep linguistics knowledge.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `data/phoneme-frequencies.json`, `data/syllable-templates.json` and `scripts/phonology.ts`).
It sits in Writing & Content, covering Creative writing and fiction. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e02ec7e. 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.
Ships 2 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
denoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Conlang loads about 3k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,360 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); the scripts in this folder are not scanned.
The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 1,360 words, ~3,010 tokens.
.claude/skills/conlang/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.You generate constructed languages for fiction writers. Your role is to create phonologically consistent language foundations—phoneme inventories, syllable structures, and sample vocabulary—that make names and dialogue feel like they come from a coherent linguistic system.
Languages fail when names don't sound like they belong together.
Good constructed languages create the perception that all words came from the same system—even if the writer never defines grammar. Bad constructed languages are inconsistent: names that could be from any language, sounds that don't recur, patterns that shift arbitrarily.
When diagnosing, identify which state applies:
Symptoms: Generic fantasy names with no consistency; "Zarthok" and "Jenny" in the same culture; no phonological identity. Key Questions: What sounds define this culture? What syllable patterns should recur? Interventions: Generate phoneme inventory at flavor complexity; establish basic sound palette.
Symptoms: Conlang is English with different words; grammar follows English patterns; no alien concepts. Key Questions: What would be grammatically different? What concepts have no English equivalent? Interventions: Evolutionary Language Framework for deeper linguistic development.
Symptoms: Names don't sound like they're from the same language; sound inventory shifts between words; no recurring patterns. Key Questions: Which phonemes are in this language? Which are NOT? What syllable shapes are allowed? Interventions: Generate phoneme inventory; document allowed sounds; regenerate inconsistent names.
Symptoms: Language lacks registers (formal/informal); no dialect variation; no historical layers. Key Questions: How do power differences show in speech? Are there regional variants? What's archaic? Interventions: Evolutionary Language Framework for sociolinguistic development.
Symptoms: Non-human species speaks human-optimized language; sounds require human vocal tract; concepts assume human cognition. Key Questions: What sounds can this species produce? What concepts would their cognition prioritize? Interventions: Alien Sensory Framework + custom phoneme inventory based on biology.
When a writer needs language help:
Use for: Quick names, background cultures, brief references Time: 5 minutes Output: Sound palette + syllable patterns + 10-20 sample names Limitations: Not enough for extended dialogue or grammar
Use for: Main character names, place names, consistent vocabulary Time: 15 minutes Output: Full phoneme inventory + syllable templates + 50+ sample words Limitations: Grammar not defined; extended sentences may feel inconsistent
Use for: Languages that will be examined closely, grammar development Time: 30+ minutes Output: Complete sound system + syllable rules + phonotactic constraints Enables: Morphology development, grammar rules, translation exercises
Problem: Conlang is just English with different words; "I love you" → "Mi amor tu" Fix: Identify concepts that should be grammaticalized differently; use Evolutionary Language Framework.
Problem: Too many exotic features; clicks AND tones AND ejectives AND vowel harmony Fix: Pick 1-2 distinctive features; most natural languages are "boring" in most ways.
Problem: "Kthor" exists but so does "Alina"—incompatible syllable structures Fix: Define syllable templates FIRST; regenerate names that don't fit.
Problem: Readers can't sound out names; "Xq'tkhl" stops the reading flow Fix: Use simpler syllable structures; keep consonant clusters manageable; include vowels.
Problem: Apostrophes everywhere with no consistent meaning; "K'tar'nak'vul" Fix: If using apostrophes, define what they mean (glottal stop? syllable break?); use sparingly.
Problem: Alien species has human phonology; they can say "s" perfectly but have no lips Fix: Start with biology; trace to vocal apparatus; derive possible sounds.
Generates phoneme inventories based on cross-linguistic frequency data.
# Generate flavor-complexity inventory
deno run --allow-read scripts/phonology.ts --complexity flavor
# Generate naming inventory with reproducible seed
deno run --allow-read scripts/phonology.ts --complexity naming --seed 12345
# Use an elvish-like preset
deno run --allow-read scripts/phonology.ts --preset elvish_like
# Full complexity with tonal features
deno run --allow-read scripts/phonology.ts --complexity full --features tonesOutput: Consonant inventory, vowel inventory, syllable templates, seed for reproduction.
Generates words from a phoneme inventory.
# Generate 20 words using default inventory
deno run --allow-read scripts/words.ts --count 20
# Generate from saved inventory
deno run --allow-read scripts/words.ts --inventory language.json --count 50
# Specify syllable count range
deno run --allow-read scripts/words.ts --syllables 2-3 --seed 42
# Generate categorized words (names, places, short, long)
deno run --allow-read scripts/words.ts --categoriesOutput: Generated words with optional syllable breakdown.
# Generate inventory, then words
deno run --allow-read scripts/phonology.ts --json | deno run --allow-read scripts/words.ts --count 30Writer: "I need names for my elf culture but they all sound random."
Your approach:
phonology.ts --preset elvish_like --complexity namingwords.ts --categories for sample namesWriter: "My aliens have two vocal tracts—how should their language sound?"
Your approach:
Writer: "I just need quick names for background characters."
Your approach:
phonology.ts --complexity flavor --seed [timestamp]words.ts --syllables 2-3 --count 20This skill writes primary output to files so work persists across sessions.
Before doing any other work:
context/output-config.md in the projectexplorations/conlang/ or a sensible location for this projectcontext/output-config.md if context network exists.conlang-output.md at project root otherwiseFor this skill, persist:
| Goes to File | Stays in Conversation |
|---|---|
| Phonology specification | Discussion of sound preferences |
| Vocabulary lists | Iteration on word choices |
| Generation seeds | Real-time feedback |
| Usage guidelines | Writer's naming decisions |
Pattern: {language-name}-{date}.md
Example: elvish-dialect-2025-01-15.md
Language problems often underlie character/world problems:
| Story-Sense State | May Actually Be |
|---|---|
| State 2: World Without Life | L1-L3 (language inconsistency breaks immersion) |
| State 3: Flat Non-Humans | L5 (language too human for species) |
| State 4: Characters Without Dimension | L4 (no sociolinguistic variation) |
When story-sense diagnosis leads to language problems, hand off to conlang diagnostic.
Language reflects world systems:
When worldbuilding cascade affects language, generate vocabulary for affected domains.
Consonants: p, t, k, m, n, s, l, r, w, j Vowels: a, i, u
Consonants: b, d, g, f, ʃ, h, ŋ, ʔ, tʃ Vowels: e, o
Consonants: v, z, x, ɲ, ts Vowels: ɛ, ɔ, ə
Consonants: θ, ð, q, ɬ Vowels: æ, ɯ, œ, y
| Feel | Templates | Example Pattern |
|---|---|---|
| Flowing | CV, CVV | ta-ri-a, se-lo |
| Balanced | CV, CVC | kor-tan, me-lik |
| Complex | CCVC, CVCC | strak, kelth |
| Minimal | CV only | ka-ra-na |
© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts) in skills/creative/fiction/worldbuilding/conlang of jwynia/agent-skills.
Open the folder on GitHubat commit e02ec7e
Conlang 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 |
|---|---|---|---|---|---|---|
| Conlang this skilljwynia/agent-skills | 169 | — | ~3k | Automated safety check: Pass | MIT | |
| Story Multi-Perspective Reviewzenstory-ai/oh-story-claudecode | 7.4k | 3 repos | ~3k | Automated safety check: Pass | MIT | |
| Short Web Fiction Trend Scanzenstory-ai/oh-story-claudecode | 7.4k | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| InkOS Creative HarnessNarcooo/inkos | 10k | 1 repos | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Novel Arteternityspring/shuohao-skills | 4.3k | — | ~1.1k | Automated safety check: Notes | Apache-2.0 | |
| SepiaNanako0129/sepia | 3k | — | ~3.6k | Automated safety check: Pass | MIT |
zenstory-ai/oh-story-claudecode
Reviews Chinese web-novel text with several reviewer agents in parallel, falling back to a single-agent pass, and reports structure, character, prose and setting problems with fixes.
zenstory-ai/oh-story-claudecode
Scans popular short web-fiction rankings on Chinese platforms such as Dianzhong and Heiyan to surface trending emotional hooks, themes and topic candidates with an expiry warning.
Narcooo/inkos
Drives long-form fiction, scripts, storyboards, interactive films and long-document translation through InkOS, with every change made by a typed action.
eternityspring/shuohao-skills
给 AI 短剧出美术设定集(场景 + 叙事道具):场景的设计意图、一致性锚点、光照时段变体、 空景提示词;道具的戏剧功能、状态变体、尺度参照、白底无手提示词。
Nanako0129/sepia
Make AI-generated writing read as human-written, in fiction and in professional prose.
zenstory-ai/oh-story-claudecode
Routes a Chinese web-novel writing request to the matching tool in a 13-skill toolbox, covers author habit memory, and can launch a local dashboard for browsing a project.
jwynia/agent-skills
Diagnose devcontainer configuration problems and guide development environment setup.
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality.
jwynia/agent-skills
Orchestrate agile development workflows for Gitea repositories using the tea CLI.
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.
jwynia/agent-skills
Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.
jwynia/agent-skills
Create and manipulate PowerPoint PPTX files programmatically.
Categories
Generate phonologically consistent constructed languages for fiction. Conlang is an agent skill from jwynia/agent-skills. Generate phonologically consistent constructed languages for fiction.
Conlang fits situations like: you need naming languages; fantasy tongues without deep linguistics knowledge.
Run `npx skills add jwynia/agent-skills --skill conlang -a claude-code`. Or copy the skill folder (skills/creative/fiction/worldbuilding/conlang in jwynia/agent-skills) into .claude/skills/conlang in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jwynia/agent-skills --skill conlang -a codex`. Or copy the skill folder (skills/creative/fiction/worldbuilding/conlang in jwynia/agent-skills) into .agents/skills/conlang 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 jwynia/agent-skills --skill conlang -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conlang, .gemini/skills/conlang, .github/skills/conlang and .opencode/skills/conlang in your project.
Going by SKILL.md and its folder, Conlang needs TypeScript for the scripts in its folder and the command-line tools its instructions call (deno). Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Conlang is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k 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 Conlang: Story Multi-Perspective Review (zenstory-ai/oh-story-claudecode, 7.4k stars), Short Web Fiction Trend Scan (zenstory-ai/oh-story-claudecode, 7.4k stars), InkOS Creative Harness (Narcooo/inkos, 10k stars) and Novel Art (eternityspring/shuohao-skills, 4.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 169 GitHub stars. The repository holds 111 skills in this directory. The repository was last updated on February 24, 2026.
Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.