← Back to Skills Marketplace
fuzzyb33s

Ghostty — Your Always-On Digital Self

by Fuzzyb33s · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
75
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install ghostty
Description
Your always-on digital self — monitors all your communication channels in parallel, learns your writing style, drafts replies in your voice, and routes them...
README (SKILL.md)

Ghostty — Your Always-On Digital Self

Ghostty is an always-on AI proxy that acts as you when you're unavailable. It watches your channels, learns your voice, drafts replies, and escalates intelligently.

Core Loop

1. MONITOR   → Spawn sub-agents watching email, calendar, Slack, WhatsApp
2. LEARN     → Build voice profile from your sent messages (ongoing)
3. DRAFT     → When meaningful event detected, draft reply in YOUR voice
4. ROUTE     → Send via the right channel (urgent → WhatsApp, formal → email)
5. ESCALATE  → Only interrupt you when it truly matters

Step 1 — First Time Setup: Build Your Voice Profile

Before Ghostty can draft as you, it needs to learn your style. Run the profile builder:

scripts/profile_builder.py --source \x3Cemail-folder or messages-export> --output ghostty/voice-profile.md

The builder analyzes:

  • Average sentence length and structure
  • Common phrases and fillers
  • Greeting and sign-off patterns
  • Formality level (1-10)
  • Preferred punctuation style
  • Tone indicators (confident, warm, terse, etc.)

Store the profile at ghostty/voice-profile.md in your workspace. Update it monthly as your style evolves.

Step 2 — Set Up Channel Monitors

Spawn a persistent sub-agent for each channel you want Ghostty to watch. Use mode="session" so they run continuously.

Email (Gmail/Outlook):

sessions_spawn(
  task="You monitor the email inbox for important messages. 
  Rules: (1) Only act on emails from people in the PRIORITY_SENDERS list in ghostty/config.md, 
  (2) For each important email, draft a reply using the voice profile at ghostty/voice-profile.md, 
  (3) Send the draft to the escalation channel (WhatsApp/Signal) with [APPROVE] prefix for one-click send, 
  (4) Mark as TODO in ghostty/pending-drafts.md
  Run continuously. Check every 15 minutes.",
  runtime="subagent",
  mode="session",
  label="ghostty-email"
)

WhatsApp/Signal:

sessions_spawn(
  task="You monitor WhatsApp messages. 
  Rules: (1) Only respond to DND-mode messages or explicit @ghostty mentions, 
  (2) Draft replies using voice profile at ghostty/voice-profile.md, 
  (3) If sender is in PRIORITY_SENDERS, send directly. Otherwise queue for approval.
  Run continuously.",
  runtime="subagent",
  mode="session",
  label="ghostty-whatsapp"
)

Calendar:

sessions_spawn(
  task="You monitor the Google Calendar / Outlook calendar.
  Rules: (1) Alert via WhatsApp 1 hour before any calendar event, 
  (2) If a meeting is about to start and you haven't joined, alert again, 
  (3) If someone invites you to a meeting and you're not available (based on ghostty/availability.md), draft a polite decline using your voice profile.
  Run continuously.",
  runtime="subagent",
  mode="session",
  label="ghostty-calendar"
)

Step 3 — Escalation Rules

Edit ghostty/config.md to define:

  • PRIORITY_SENDERS — list of people who always get a response
  • URGENT_KEYWORDS — words that trigger immediate WhatsApp alert
  • IGNORE_SENDERS — newsletters, bots, noise to skip
  • RESPONSE_WINDOW_MINUTES — how long before drafting (default: 60)
  • APPROVAL_CHANNEL — where to send drafts for approval (default: WhatsApp)

Step 4 — Drafting in Your Voice

When a monitor detects something worth responding to:

1. Read ghostty/voice-profile.md — get style params
2. Read ghostty/config.md — get context (relationship, ongoing projects, preferences)
3. Fetch the incoming message — understand what it's about
4. Draft reply — apply voice profile (tone, length, phrases, formality)
5. If sender is PRIORITY — send directly
6. If not — queue to ghostty/pending-drafts.md and send preview to WhatsApp

Voice drafting rules:

  • Short replies: aim for same length as you typically write
  • Matching tone: if you use "Hey mate" don't use "Dear Sir"
  • Reference context: mention anything ongoing (projects, prior emails)
  • Signature: include your sign-off style from the voice profile

Step 5 — One-Click Approval

When a draft is sent to WhatsApp:

[Ghostty] Reply to John re: Q4 proposal

Hey John, yeah happy to jump on Tuesday — 3pm works from my end. 
I'll send over the deck beforehand so we can dive straight in.

[APPROVE to send] [EDIT then send] [SKIP]

Respond with "APPROVE" on WhatsApp → Ghostty sends the email/WhatsApp reply.

File Structure

ghostty/
├── voice-profile.md      # Your style fingerprint — generated by profile_builder.py
├── config.md             # Priority senders, keywords, escalation rules
├── availability.md       # When you're reachable, timezone, DND hours
├── pending-drafts.md     # Queue of drafts awaiting approval
└── sent-log.md           # History of what Ghostty sent on your behalf

Reference Files

  • references/voice-profile.md — detailed voice profiling methodology
  • references/channel-monitors.md — channel-specific setup (Gmail, WhatsApp, Calendar, Slack)
  • references/draft-engine.md — how to draft contextually in your voice
  • references/delivery-router.md — escalation logic, urgency routing, approval flows
  • scripts/profile_builder.py — analyze sample messages, output voice profile markdown

Safety

  • Ghostty never sends without approval UNLESS the sender is in PRIORITY_SENDERS
  • All sent drafts are logged in ghostty/sent-log.md
  • DND hours from ghostty/availability.md are respected — no pings during sleep hours
  • Review ghostty/pending-drafts.md at least once daily
Usage Guidance
This skill will monitor multiple private channels and needs sensitive credentials (Gmail/IMAP, Google Calendar, Slack token, WhatsApp/Signal gateway) and local secret files, but the package metadata does not declare those requirements — that mismatch is a red flag. Before installing: (1) ask the publisher for an explicit list of required env vars/config paths and for a privacy/data-flow description (where drafts, sent logs, and profiles are stored and who/what can read them); (2) review scripts/profile_builder.py and any other code locally (don’t run it on real data until reviewed); (3) use least-privilege test accounts or service credentials (not your primary accounts) and avoid giving long-lived refresh tokens; (4) consider running in an isolated/sandboxed environment and restrict network access if possible; (5) confirm the approval and auto-send rules and whether you can disable autonomous/persistent sessions; and (6) if you are uncomfortable with continuous monitoring of personal communications, do not install until the author fixes the missing metadata and provides assurances (and preferably a security/privacy audit).
Capability Tags
requires-oauth-token
Capability Assessment
Purpose & Capability
The name/description claim an always-on proxy for email, calendar, Slack, WhatsApp, Signal, etc. The included docs and prompts explicitly require Gmail/IMAP credentials, Google Calendar credentials, Slack bot token, WhatsApp/Signal gateways, and local secret files (ghostty/secrets/*.env). However the registry metadata declares no required env vars or config paths. Requiring broad messaging and calendar credentials is proportionate to the stated purpose, but not declaring them in metadata is an incoherence that hides the true credential footprint.
Instruction Scope
SKILL.md and the reference files instruct the agent to spawn persistent sub-agents (session mode) that continuously read inboxes, message histories, calendar events, and local voice-profile/config files and write pending-drafts and sent-log files. Instructions reference secret files (ghostty/secrets/gmail.env, calendar.env, slack.env) and fallback behaviors (IMAP). They also include operational rules (e.g., 'Never reveal you are an AI') and approval flows. The instructions therefore require continuous access to private messages and credentials; that scope is appropriate for the feature but is broader than the declared skill metadata and grants substantial data access.
Install Mechanism
No install spec — instruction-only with one included Python script (profile_builder.py). No external downloads or obscure URLs. The script reads local exported message files and writes a markdown profile; it does not show network exfiltration code. Installation risk is low compared to packages that fetch remote binaries, but the provided script will be executed on local data and should be reviewed before running.
Credentials
The skill needs multiple sensitive credentials to function (Gmail OAuth/IMAP creds, Google Calendar OAuth, Slack bot token, WhatsApp/Signal gateway config) and expects secret files under ghostty/secrets/*.env — yet the skill metadata lists no required env vars or config paths and has no declared primary credential. This mismatch hides required secrets. Requesting these credentials is proportionate to an always-on proxy, but failing to declare them is a red flag for transparency and least privilege.
Persistence & Privilege
The skill instructs spawning persistent subagents running in 'session' mode that poll/monitor channels continuously and keep state in local files (pending-drafts.md, sent-log.md, calendar-state.md). While 'always' is false, autonomous invocation + persistent background sessions implies long-lived agent activity with broad data access. Combined with undisclosed credential needs, this increases the blast radius if misconfigured or malicious.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ghostty
  3. After installation, invoke the skill by name or use /ghostty
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of Ghostty: your always-on digital self for communication management. - Monitors email, calendar, Slack, WhatsApp, Signal, and Telegram in parallel. - Learns your writing style by analyzing your sent messages to create a personal voice profile. - Drafts replies in your unique voice and routes them to the appropriate channel. - Supports urgent escalation, prioritization, and one-click approval flows. - Configurable escalation rules, sender priorities, and notification preferences.
Metadata
Slug ghostty
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Ghostty — Your Always-On Digital Self?

Your always-on digital self — monitors all your communication channels in parallel, learns your writing style, drafts replies in your voice, and routes them... It is an AI Agent Skill for Claude Code / OpenClaw, with 75 downloads so far.

How do I install Ghostty — Your Always-On Digital Self?

Run "/install ghostty" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ghostty — Your Always-On Digital Self free?

Yes, Ghostty — Your Always-On Digital Self is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ghostty — Your Always-On Digital Self support?

Ghostty — Your Always-On Digital Self is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ghostty — Your Always-On Digital Self?

It is built and maintained by Fuzzyb33s (@fuzzyb33s); the current version is v1.0.0.

💬 Comments