Claude Code loop auto-completes Linear tickets via Telegram chat
A team built a system where a Claude Code session running in a loop on a laptop picks up tickets from a Telegram group chat, builds fixes in isolated git worktrees, and opens pull requests — with no custom framework, just one Markdown skill file and a 180-line Python script.
Score breakdown
The system demonstrates that a production agentic coding loop — from natural-language bug report to merged PR — can be built with no orchestration framework, relying entirely on Claude Code's native capabilities and an MCP connection to an existing issue tracker.
- 01A Claude Code session running in a loop on a laptop acts as the autonomous engineer — no framework like LangChain or custom orchestrator is used.
- 02The entire system is one Markdown skill file and one 180-line stdlib-only Python script.
- 03Linear is connected via MCP (Model Context Protocol) with zero custom integration code written by the team.
The post describes a production agentic coding setup built by the Niptao team, where a Claude Code session running on a loop acts as a software engineer managed entirely through a Telegram group chat. A plain-text message like "bug: demo revision limit" becomes a Linear ticket; the bot proposes taking it, receives a "go" approval, announces the start of work, and roughly forty minutes later posts a PR link. The PR includes a root-cause section, the fix, stated assumptions, and a regression test.
The architecture has four components: a Claude Code skill (a Markdown file describing the orchestration procedure), a 180-line stdlib-only Python script bridging Telegram, Linear via MCP, and git worktrees for isolation.
The architecture has four components: a Claude Code skill (a Markdown file describing the orchestration procedure), a 180-line stdlib-only Python script bridging Telegram, Linear via MCP, and git worktrees for isolation. The orchestrator never edits code itself — it reads, decides, and communicates. Each ticket is built by a fresh subagent spawned in its own git worktree branched off the integration branch; the worktree is discarded after the PR is opened. Linear handles three roles simultaneously through the MCP connection: it is the work queue (tickets labeled `agent` in Todo state, processed by priority), the state machine (three labels — `agent`, `agent-blocked`, and `manual` — drive the entire workflow), and the agent's persistent memory (every question and answer is mirrored as a ticket comment, allowing the loop to be killed and restarted cold without losing context). The team wrote zero lines of custom issue-tracker integration, inheriting all Linear changes automatically through the existing MCP connection.
Key facts
- 01A Claude Code session running in a loop on a laptop acts as the autonomous engineer — no framework like LangChain or custom orchestrator is used.
- 02The entire system is one Markdown skill file and one 180-line stdlib-only Python script.
- 03Linear is connected via MCP (Model Context Protocol) with zero custom integration code written by the team.
- 04Linear serves three roles: work queue, state machine (via three labels: `agent`, `agent-blocked`, `manual`), and persistent agent memory.
- 05Each ticket is built in an isolated git worktree by a fresh subagent, which runs tests, opens a PR, and is then discarded.
- 06The Telegram bridge uses only two Bot API calls — `sendMessage` out and long-polled `getUpdates` in — with no inbound infrastructure exposed to the internet.
- 07Both the skill file and the Python script are publicly available at singlas/ai-dev-prompts.
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 10, 2026 · 15:34 UTC. How this works →