π unclaimed β this page was auto-generated from GitHub. Are you the creator?
Claim this page β
claw-skeleton
πͺΌ A personal AI assistant that lives in Telegram β every topic is its own isolated Claude Code agent with layered persistent memory and proactive cron heartβ¦
git clone https://github.com/LuKresXD/claw-skeleton
Claw πͺΌ
A personal AI chief-of-staff that lives in Telegram.
Every chat topic is its own isolated Claude Code agent β with a persona, persistent memory, and a web of cron jobs that quietly keep an eye on your inbox, calendar, and life.
Claw is my Telegram-based personal assistant. This repo is its open skeleton β the full engine and architecture, with my personal data and integrations stripped out so you can build your own.
It's not a wrapper around a chat completion. Each Telegram forum topic spawns a long-lived, resumable Claude Code session with its own persona and memory, so "Coding," "Coach," and "Finance" are genuinely different agents that never bleed into each other. A nightly rollup distills the day's notes into durable memory, a fleet of cron jobs turns the bot from reactive to proactive, and the assistant talks back through Telegram's full native rich formatting β tables, math, live date entities, inline media β by shelling out to its own small CLI toolbelt.
Architecture
flowchart TD
You(["You Β· Telegram"]) <--> Router["grammY router<br/>auth Β· queue Β· media Β· streaming"]
Router -->|"one isolated session<br/>per forum topic"| T1["Coding<br/>Claude Code session"]
Router --> T2["Coach<br/>Claude Code session"]
Router --> T3["General<br/>Claude Code session"]
T1 --> Mem["Layered memory<br/>daily notes β nightly rollup β<br/>MEMORY.md + per-topic"]
T2 --> Mem
T3 --> Mem
Mem -.->|"reinjected at session start"| Router
T1 -.->|"shells out to"| CLI["CLI toolbelt<br/>post Β· react Β· media Β·<br/>diagrams Β· delegate Β· monitor"]
CLI -.-> You
Crons["Cron + heartbeat jobs"] -->|"inbox Β· calendar Β·<br/>proactive nudges"| Router
π Deeper dive: ARCHITECTURE.md β turn lifecycle, the memory pipeline, the rich-output path, and the CLI toolbelt, with diagrams.
What makes it interesting
- π§ Per-topic isolated agents β each forum topic is its own persistent Claude Code session with its own persona and memory file. No cross-talk, no context soup. Sub-topics in a topic-enabled supergroup get their own isolated session too, keyed by thread.
- π Memory that survives restarts β append-only daily notes get promoted by a nightly
LLM rollup into a lean long-term
MEMORY.mdplus per-topic files. The bot wakes up knowing you. - β° Proactive, not just reactive β a shared cron runner fires scheduled Claude jobs (inbox triage, calendar, digests, health) and routes the results to the right topic.
- π¬ Native rich Telegram output β replies render as real Telegram rich text: tables,
task lists, fenced code,
$LaTeX$, spoilers, collapsibles, live timezone-aware date entities, maps, and inline images/video/audio β with an automatic HTML fallback. - π§° A CLI toolbelt the bot wields itself β small standalone CLIs the agent shells out to in order to act in Telegram mid-turn: post/edit a live progress line, drop a reaction, send media, render a Mermaid diagram to an image, host a file, delegate a parallel sub-agent, or arm a watcher that wakes a fresh turn when a long background job finishes.
- π Personas & guest mode β per-topic personas, prefix routing, and a stub-then-edit
guest mode you can
@mentionfrom any chat the bot isn't even in. - β»οΈ Self-maintaining β Claw can read and edit its own source, rebuild, and restart; smart auto-clear summarizes idle sessions into memory instead of nuking them mid-thought.
- π§ Production-hardened details β model-alias indirection, periodic context re-injection, streaming Telegram message edits, per-topic queueing, and systemd units with reliability drop-ins + failure alerts.
Project structure
claw-skeleton/
βββ CLAUDE.md # the blueprint β what the assistant is and how it remembers
βββ .env.example # the environment variables you fill in
βββ src/
β βββ bot/ # grammY router, middleware, commands, guest mode
β βββ claude/ # session lifecycle: runner, auto-clear, checkpoints, prompt builder
β βββ telegram/ # sender β rich Telegram output, streaming edits, HTML fallback
β βββ tools/ # the CLI toolbelt the bot shells out to (sanitized examples)
β βββ util/ # logger, sanitizer, graceful shutdown
β βββ config.ts # topics, personas, models, constants
β βββ index.ts # entry point
βββ cron-scripts/ # shared cron runner framework + libs
βββ cron-prompts/ # example scheduled-job prompts
βββ systemd/ # unit + timer patterns (bot, cron, reliability drop-ins)
βββ personas/ # example personas (default, coding, coach)
Start with CLAUDE.md β it's the spec that defines what the assistant
is, how it remembers, and how it behaves. The TypeScript is the engine; CLAUDE.md is the soul.
Build your own
# 1. create a Telegram bot via @BotFather, make a topic-enabled supergroup
# 2. wire it up
cp .env.example .env # add BOT_TOKEN, CHAT_ID, OWNER_USER_ID
npm install
# edit src/config.ts -> your topic IDs, personas, routing
# write personas/*.md and cron-prompts/*.txt for your own life
npm run build && npm start
# 3. (optional) install the systemd units to run it 24/7 + on a schedule
This is a sanitized skeleton, not a turnkey app: the personal integrations (email, calendar, finance, healthβ¦) and data were removed by design. Point your own Claude Code at the repo and have it flesh out the parts you want β that's the whole idea.
License
MIT β see LICENSE.
// compatibility
| Platforms | cli, api, web |
|---|---|
| Operating systems | β |
| AI compatibility | claude |
| License | MIT |
| Pricing | open-source |
| Language | TypeScript |
// faq
What is claw-skeleton?
πͺΌ A personal AI assistant that lives in Telegram β every topic is its own isolated Claude Code agent with layered persistent memory and proactive cron heartbeats. Open skeleton of a real, running system.. It is open-source on GitHub.
Is claw-skeleton free to use?
claw-skeleton is open-source under the MIT license, so it is free to use.
What category does claw-skeleton belong to?
claw-skeleton is listed under productivity in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/claw-skeleton)
// retro hit counter
[](https://claudeers.com/claw-skeleton)
// reviews
// guestbook
// related in Productivity
Agent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.
Garry's Opinionated OpenClaw/Hermes Agent Brain
Open source repository of plugins primarily intended for knowledge workers to use in Claude Cowork
An open-source alternative to Claude Cowork (powered by opencode)