Marketing Claw: a containerized Claude agent for Chromia's Telegram
What it is
Chromia Marketing Claw is our fork of NanoClaw, an open-source personal assistant that runs Claude agents inside Linux containers. We added what a marketing team needs to work with an agent from a Telegram group: Chromia context, research tools and a way to send back images and video.
What NanoClaw provides
NanoClaw is deliberately small: one Node process and a handful of source files on the Claude Agent SDK. Each chat group gets its own CLAUDE.md memory and its own filesystem, and runs in its own container (Apple Container on macOS, or Docker). The agent can only see what is mounted into that container, so shell access is contained by the OS rather than by allowlists. It also supports scheduled tasks that run the agent on a timer and message the group with the result.
Features are added as skills that change your fork, not as config flags. Telegram support, for example, is a skill rather than a built-in option.
What we added
The Chromia-specific commits on top of upstream:
- Telegram channel. Built on the grammY bot framework, it registers itself at startup when a bot token is set. It replies in the right thread in forum-style supergroups and supports more than one registered group.
- Chromia MCP server. Every container agent can reach Chromia's remote MCP server, which gives it blockchain queries, dApp interaction and Chromia documentation search.
- Research skills. An OpenRouter-backed search skill replaces the default web search tool, and a separate skill pulls social data about crypto.
- Media output. A new
send_videotool runs from the agent through the IPC layer to the Telegram channel, next to the existing photo support. Container skills for image generation and Remotion video composition let the agent make assets and post them in the chat. - Brand context. The global agent memory carries a Chromia brand overview, campaign notes and the primary color palette, so drafts start on-brand.
Upstream features like credential proxying for containers, context compaction and timezone-aware prompts come in through regular syncs with NanoClaw.
Stack
- TypeScript on Node.js 20+, Claude Agent SDK
- Apple Container or Docker for isolation
- grammY for Telegram
- Remotion for video
