
Phantom Ai Coworker
Stand up a self-hosted AI co-worker with its own VM, persistent memory, dynamic MCP tools, and Slack/email-style channels using the Claude Agent SDK.
Install
npx skills add https://github.com/aradotso/trending-skills --skill phantom-ai-coworkerWhat is this skill?
- Runs on a dedicated machine/VM with Claude Agent SDK, TypeScript, and Bun—not a stateless chat wrapper
- Qdrant-backed persistent memory across sessions plus runtime-created MCP tools on an embedded MCP server
- Self-evolution from observed patterns; multi-channel I/O: Slack, email, Telegram, webhooks
- Docker-oriented deployment path for isolating the co-worker environment
- Can provision adjacent infra on the VM (databases, dashboards, APIs, pipelines) as the agent acts
Adoption & trust: 679 installs on skills.sh; 31 GitHub stars; 0/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Phantom is primarily assembled when you are building agent infrastructure—not a one-off prompt—memory, MCP, and channel wiring are product engineering work. Agent-tooling is the canonical shelf for SDK-based agents, runtime MCP registration, and co-worker identity across chat surfaces.
Common Questions / FAQ
Is Phantom Ai Coworker safe to install?
skills.sh reports 0 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Phantom Ai Coworker
# Phantom AI Co-worker > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. Phantom is an AI co-worker that runs on its own dedicated machine. Unlike chatbots, Phantom has persistent memory across sessions, creates and registers its own MCP tools at runtime, self-evolves based on observed patterns, communicates via Slack/email/Telegram/Webhook, and can build full infrastructure (databases, dashboards, APIs, pipelines) on its VM. Built on the Claude Agent SDK with TypeScript/Bun. ## Architecture Overview ``` ┌─────────────────────────────────────────────────────┐ │ Phantom Agent │ │ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │ │ │ Claude │ │ Qdrant │ │ MCP Server │ │ │ │ Agent │ │ (memory) │ │ (dynamic tools) │ │ │ │ SDK │ │ │ │ │ │ │ └──────────┘ └──────────┘ └───────────────────┘ │ │ ┌──────────────────────────────────────────────┐ │ │ │ Channels │ │ │ │ Slack │ Email │ Telegram │ Webhook │ Discord │ │ │ └──────────────────────────────────────────────┘ │ │ ┌──────────────────────────────────────────────┐ │ │ │ Self-Evolution Engine │ │ │ │ observe → reflect → propose → validate → evolve│ │ └──────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────┘ ``` ## Installation ### Docker (Recommended) ```bash # Download compose file and env template curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/docker-compose.user.yaml -o docker-compose.yaml curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/.env.example -o .env # Edit .env with your credentials (see Configuration section) nano .env # Start Phantom (includes Qdrant + Ollama) docker compose up -d # Check health curl http://localhost:3100/health # View logs docker compose logs -f phantom ``` ### From Source (Bun) ```bash git clone https://github.com/ghostwright/phantom.git cd phantom # Install dependencies bun install # Copy env cp .env.example .env # Edit .env # Start Qdrant (required for memory) docker run -d -p 6333:6333 qdrant/qdrant # Start Phantom bun run start # Development mode with hot reload bun run dev ``` ## Configuration (.env) ```bash # === Required === ANTHROPIC_API_KEY= # Your Anthropic API key # === Slack (required for Slack channel) === SLACK_BOT_TOKEN=xoxb- # Bot OAuth token SLACK_APP_TOKEN=xapp- # App-level token (socket mode) SLACK_SIGNING_SECRET= # Signing secret OWNER_SLACK_USER_ID=U0XXXXXXXXX # Your Slack user ID # === Memory (Qdrant) === QDRANT_URL=http://localhost:6333 # Qdrant vector DB URL QDRANT_API_KEY= # Optional, for cloud Qdrant OLLAMA_URL=http://localhost:11434 # Ollama for embeddings # === Email (optional) === RESEND_API_KEY= # For email sending via Resend PHANTOM_EMAIL=phantom@yourdomain # Phantom's email address # === Telegram (optional) === TELEGRAM_BOT_TOKEN= # BotFather token # === Infrastructure === PHANTOM_VM_DOMAIN= # Public domain for served assets PHANTOM_PORT=3100 # HTTP port (default 3100) # === Self-Evolution === EVOLUTION_VALIDATION_MODEL=claude-3-5-sonnet-20241022 # Separate model for validation EVOLUTION_ENABLED=true # === Credentials Vault === CREDENTIAL_ENCRYPTION_KEY= # AES-256-GCM key (auto-generated if empty) ``` ## Key Comm