Input Channels
- Telegram bot — voice, images, history,
/new
- Discord bot — threads, attachments, profile aliases, interactive coding sessions
- Web dashboard — audit, cron, usage, templates, skills
- CLI — start, stop, onboard, tools, cron
Core Runtime
- Fastify gateway on
:18790 with bearer auth
- Agent runner with tool loop, history, and memory
- Unified provider router (Anthropic / Codex / OpenAI-compat)
- Configured agents + Discord profile routing
- Cron scheduler + heartbeat keep-alive
Tools
- Read, Write, Glob, Bash, Fetch
- Path-scoped to
allowedPaths
- MCP tools auto-discovered via mcporter
Safety Gate
- Exec approval classifies bash commands tier 0–3
- Tiers 2–3 pause and require human approval
- Approval requests route to the active channel
Coding Agents
code_with_agent spawns Claude or Codex CLI
- Monorepo-aware validation scoped to changed packages
- Live stdout streaming + cost / token tracking
- Discord threads: bidirectional
claude --resume sessions
Local Storage
- Config at
~/.skimpyclaw/config.json (0600 perms)
- JSONL logs: audit, usage, code-agents, interactive-sessions
- Discord profile aliases in
discord-thread-agents.json
- Skills at
~/.skimpyclaw/skills/<name>/SKILL.md
- Agent templates at
~/.skimpyclaw/agents/<name>/
External APIs
- Anthropic (Claude Opus / Sonnet / Haiku)
- Codex backend via ChatGPT responses endpoint
- Anthropic and Codex providers
- MCP servers auto-discovered via mcporter