by LuKresXD
🪼 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.
# Add to your Claude Code skills
git clone https://github.com/LuKresXD/claw-skeletonGuides for using ai agents skills like claw-skeleton.
claw-skeleton is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by LuKresXD. 🪼 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 has 65 GitHub stars.
claw-skeleton's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/LuKresXD/claw-skeleton" and add it to your Claude Code skills directory (see the Installation section above).
claw-skeleton is primarily written in TypeScript. It is open-source under LuKresXD on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh claw-skeleton against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
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, and a fleet of cron jobs turns the bot from reactive to proactive — triaging email, drafting calendar events, and nudging you before you ask.
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
Crons["Cron + heartbeat jobs"] -->|"inbox · calendar ·<br/>proactive nudges"| Router
📖 Deeper dive: ARCHITECTURE.md — turn lifecycle + the memory pipeline, with diagrams.
MEMORY.md plus per-topic files. The bot wakes up knowing you.@mention from any chat the bot isn't even in.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 — markdown → Telegram HTML, streaming edits
│ ├── 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.
# 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.
MIT — see LICENSE.