ghostie
v0.13.0AI proposes, you approve. Ghostie is a local menubar app + MCPs for iMessage and WhatsApp: Claude drafts, you hold-to-fire in the menubar. A post-onboarding walkthrough verifies Claude can reach each MCP, and a persistent Status pane lets you re-run the checks on demand. Full audit log under ~/.messages-mcp/send-audit.log. Requires Ghostie.app installed from GitHub Releases.
by Sunrise LabsMIT1updated 4 days ago
Source
git clone https://github.com/Sunrise-Labs-Dot-AI/ghostieClone the source, then follow the repository's marketplace instructions for your runtime. The repository root is the plugin root.
Layout
├── .claude-plugin/plugin.json├── skills/birthday-reminder/SKILL.md├── skills/birthday-text-voice/SKILL.md├── skills/texting-analytics/SKILL.md├── skills/texting-voice-skill-creator/SKILL.md└── .mcp.json
Skills4
Build the user's birthday list from who they're actually in regular contact with (sourcing birthdays the Mac doesn't have), and surface upcoming birthdays + draft a happy-birthday iMessage. Use when the user asks "build my birthday list", "who should I add for birthdays", "find the birthdays I'm missing", "update my birthday list", "whose birthday is coming up", "any birthdays this week/month", "remind me of birthdays", "did I miss anyone's birthday", "draft a birthday text to [name]", or "what should I text [name] for their birthday". Read-only on message data; outbound is draft-only via the imessage-drafts MCP — never auto-sends. Pairs with texting-analytics (relationship context), james-text-voice (base voice), and birthday-text-voice (learned birthday voice).
Draft birthday wishes in James's actual birthday voice, learned from his past outbound birthday texts and segmented by relationship tier (family / friend / partner / colleague). Use whenever James asks to "draft a birthday text to [name]", "what should I text [name] for their birthday", "wish [name] happy birthday", or when the birthday-reminder skill stages a birthday draft. Also use to "refresh my birthday voice" / "relearn how I write birthday wishes" — which re-pulls his past wishes (1:1 AND group threads), recomputes the aggregate fingerprint, and rewrites VOICE.md. Aggregate style only — never stores message bodies. An overlay on anthropic-skills:james-text-voice (apply the base voice first, then the tier-specific patterns here).
Run a texting-behavior analysis on the user's iMessage history and produce a personal "Texting Wrapped" report with charts. Use when the user asks "how fast do I reply to texts", "what's my texting wrapped", "am I a bad texter", "analyze my message data", "how often do I leave people on read", or wants a quantified report of their messaging behavior. Requires the iMessage MCP to be installed and granted Full Disk Access. Produces a markdown summary plus four PNG charts saved to the user's chosen output folder.
Build OR refresh a per-relationship texting-voice skill by analyzing the user's outbound iMessage history with a specific contact and producing a SKILL.md that captures how they text that person. Use when the user asks "create a texting-voice skill for [contact]", "build a voice skill for how I text [name]", "make a [name]-text-voice skill", "generate a per-contact voice skill", "I want a voice skill for texts with [contact]", OR to refresh an existing one as their style drifts — "refresh my texting voice for [name]", "update the voice skill for [contact]", "relearn how I text [name]" (re-pulls recent history, recomputes the fingerprint, and reports what drifted). Outputs/updates a directory under skills/ with a populated SKILL.md (aggregate style fingerprint, NOT message bodies). Complements the existing james-text-voice skill (which captures default texting voice) with relationship-specific overlays.
MCP servers3
- command
- /Applications/Ghostie.app/Contents/MacOS/ghostie-mcp
- command
- /Applications/Ghostie.app/Contents/MacOS/imessage-drafts-mcp
- command
- /Applications/Ghostie.app/Contents/MacOS/whatsapp-drafts-mcp
Manifests1
{
"name": "ghostie",
"description": "AI proposes, you approve. Ghostie is a local menubar app + MCPs for iMessage and WhatsApp: Claude drafts, you hold-to-fire in the menubar. A post-onboarding walkthrough verifies Claude can reach each MCP, and a persistent Status pane lets you re-run the checks on demand. Full audit log under ~/.messages-mcp/send-audit.log. Requires Ghostie.app installed from GitHub Releases.",
"version": "0.13.0",
"author": {
"name": "Sunrise Labs",
"url": "https://messagesfor.ai"
},
"homepage": "https://messagesfor.ai",
"repository": "https://github.com/Sunrise-Labs-Dot-AI/messages-for-ai",
"license": "MIT",
"keywords": [
"imessage",
"whatsapp",
"messaging",
"drafts",
"menubar",
"safety-gate",
"audit-log",
"mcp",
"macos",
"baileys"
]
}