ghostwriter
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Fail
- exec() — Shell command execution in skills/evaluate-ghostwriter/scripts/run-eval.ts
- process.env — Environment variable access in skills/evaluate-ghostwriter/scripts/run-eval.ts
- process.env — Environment variable access in skills/train-ghostwriter/scripts/prepare-corpus.ts
- exec() — Shell command execution in skills/train-ghostwriter/scripts/run-agent.ts
- process.env — Environment variable access in skills/train-ghostwriter/scripts/run-agent.ts
- spawnSync — Synchronous process spawning in tests/prepare-corpus.test.ts
- spawnSync — Synchronous process spawning in tests/run-agent.test.ts
- process.env — Environment variable access in tests/run-agent.test.ts
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Draft messages that read as you wrote them, not as a model did.
Ghostwriter
Drafts messages that read as you wrote them, not as a model did
Three agent skills that learn your register from your own writing and keep it on your machine.
Install
npx skills add mblode/ghostwriter -g --agent codex claude-code -y
Runs on whichever of Codex or Claude Code you already have authenticated. No API keys, no service, no database.
Quickstart
Copy the demo voice in:
mkdir -p ~/.config/ghostwriter
curl -o ~/.config/ghostwriter/soul.md https://raw.githubusercontent.com/mblode/ghostwriter/main/examples/soul.md
curl -o ~/.config/ghostwriter/slack.md https://raw.githubusercontent.com/mblode/ghostwriter/main/examples/slack.md
Then ask your agent:
Use ghostwriter to draft a Slack reply saying I agree and can review the PR tomorrow.
The reply comes back in the demo persona's voice, Sam, with no training step first.
Skills
| Skill | What it does |
|---|---|
| ghostwriter | Drafts, rewrites, and reviews from your per-platform profile, and strips the tells that mark prose as AI. |
| train-ghostwriter | Builds those profiles from your own Slack, email, or WhatsApp exports. |
| evaluate-ghostwriter | Runs blind comparisons to see whether a profile actually helps. |
Make it yours
Swap the demo files for your own. soul.md holds your cross-platform core and slack.md holds one platform's register, and you add any <platform>.md you need. A platform file is required; soul.md is optional. Or point train-ghostwriter at your samples and it writes them for you.
Private data
Everything lives under GHOSTWRITER_HOME, which defaults to ~/.config/ghostwriter: soul.md, your platform profiles, plus corpus/, evals/, and backups/. The bundled scripts make no network requests. Codex or Claude Code still sends any prompt you generate to its own model provider.
License
MIT
Crafted by
Matthew Blode
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found