eunmin

Haskclaw — Communication skill for Claude Code

Communication community

Telegram ↔ Claude Code bridge bot in Haskell, with per-chat isolation and a cron scheduler (MCP).

How to install Haskclaw

This entry records only its repository, not the path inside it, so there is no exact command to give. Open eunmin/haskclaw and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Haskclaw does

Telegram ↔ Claude Code bridge bot in Haskell, with per-chat isolation and a cron scheduler (MCP).

Alternatives in Communication

  • HolaOS — Open-source agentic workspace enterprises can make their own 10.9k ★
  • Lark Coding Agent Bridge — Bot that bridges Feishu/Lark messenger with a local Claude Code or Codex CLI 2.4k ★
  • Nekro Agent — NekroAgent 是一个面向多人互动场景的跨平台 Agent 框架,集 Claude Code 沙盒执行、工作区编排、长期记忆、结构化 MCP 管理与可视化控制台于一体,兼具高扩展性、多模态交互、实时状态推送和自动化 800 ★

README

haskclaw

Telegram ↔ assistant CLI bridge bot with per-chat isolation and a cron scheduler.

Features

  • Long-polling Telegram bot
  • Per-chat working directory under ~/.haskclaw/chats//
  • Session resume via claude -p --resume or codex exec resume
  • Scheduler MCP server (schedule_task, list_tasks, cancel_task, ...) — register recurring tasks in natural language

Requirements

Build & Run

stack build
TELEGRAM_BOT_TOKEN=xxx stack exec haskclaw-exe

CLI Options

Pass flags after `--` when running through `stack exec`:

stack exec haskclaw-exe -- --help
Option Description
-h, --help Show the help message and exit.
--all, --all-messages Dispatch every message in group chats. Default behavior is to forward only messages that mention the bot or reply to one of its messages.
--assistant claude|codex Choose the assistant CLI provider. Defaults to claude.
--assistant-provider claude|codex Alias for --assistant.
--dangerously-skip-permissions Forward the provider-specific unsafe permission bypass flag to the subprocess.
Environment Variable Description
TELEGRAM_BOT_TOKEN Required. Telegram Bot API token from @BotFather.

Layout

~/.haskclaw/
├── CLAUDE.md            # shared instructions (auto-seeded)
├── state.json           # chat → session id
└── chats//
    ├── .mcp.json        # haskclaw MCP server registration
    ├── .claude/settings.json
    ├── schedules.json   # scheduled tasks
    └── bot.log

Example

Send to the bot in Telegram:

"Every morning at 8am, give me the weather."

The assistant registers a cron task; the bot delivers the response each tick.

License

MIT.