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.
Last scanned: 6/22/2026
{
"issues": [
{
"type": "npm-audit",
"message": "esbuild: esbuild allows arbitrary file read when running the development server on Windows",
"severity": "low"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-06-22T09:51:52.057Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}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 64 GitHub stars.
Yes. claw-skeleton passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
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!
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.
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.
MEMORY.md plus per-topic files. The bot wakes up knowing you.$LaTeX$, spoilers, collapsibles, live timezone-aware date
entities, maps, and inline images/video/audio — with an automatic HTML fallback.@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 — 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.
# 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.