superzhang21/ghostwriter
影子作家 · 为角色建立可复用的写作与语言特征模型,让 AI 稳定地「像某个人」说话。Python / Agent Skill 双形态。
What it solves
Writing the same thing in the same tone gets boring. Ghostwriter gives you a library of deeply-modelled fictional and public personas — like Lu Xun, Ding Yuanying, Li Yunlong, Lin Daiyu — and lets any AI talk like them. Instead of writing a complicated prompt yourself, you just say "switch to Lu Xun" and the AI adopts that person's speech rhythm, word choices, and thinking pattern.
How it works
The project stores each persona as a JSON file in the data/ directory. A zero-dependency Python script (skill/scripts/ghostwriter-sync.py) reads these files and outputs a ready-to-paste persona prompt. You can either:
- Run the script directly:
python3 skill/scripts/ghostwriter-sync.py --apply 鲁迅to get the prompt, then paste it into ChatGPT, Claude, Gemini, or any AI chat. - Install it as a skill for agents like Hermes, Claude Code, or Cursor, so you can switch personas with natural language.
The script supports commands like --list, --info, --apply, --json, and --no-sync (for offline use). It even syncs via a proxy to fetch the latest characters.
Who it's for
Content writers who want varied styles, game and novel writers who need consistent character voices, business analysts who want different perspectives on the same data, or anyone who wants to chat with a fictional character late at night. It works with any AI platform that accepts custom prompts, so you don't need a special setup.
Highlights
- 15+ pre-built personas drawn from Chinese literature, drama, and public figures, each with a unique voice and outlook.
- Works with any AI tool — no plugin required, just copy and paste the generated prompt.
- Zero-dependency Python script; can also be installed as an agent skill for hands-free switching.
- Extensible: add your own characters by dropping a JSON file into
data/, following the existing format. - Non-commercial, no-derivatives license (CC BY-NC-ND 4.0).
Related
- Project
- Project
- Project
- Project