
What is Kiro Crew? A Hands-On Guide to AI Agents That Learn, Fix, and Scale Your Code
How to set up Kiro Crew on Slack, Telegram, and desktop - and understand how persistent AI agents learn, fix, and scale your code across channels.
If you have used OpenClaw, GitHub Copilot Agent, Claude Code, or Codex, you know the drill. Close the terminal, lose the brain. Next morning, same corrections, same context, same 15 minutes of warm up with prompts.I needed an agent that remembers across sessions, learns from corrections, and keeps working when I close my laptop. That is Kiro Crew. In this blog, I will show you how it works using one project that grows across three stages.
What is Kiro Crew?

Kiro Crew is an open source development workspace built on the Kiro CLI. It runs locally on your machine (or a remote server you control) and does three things most AI coding agents cannot:
- Remembers - corrections become durable lessons. Preferences carry across sessions. It never starts from scratch.
- Keeps working - cron schedules, heartbeat monitors, and webhooks let it watch your CI, fix failures, and deliver summaries while you sleep.
- Coordinates - spawn parallel subagents for independent work and get results synthesized back into one place.
You can interact with it from the web dashboard, desktop app, CLI, or messaging tools like Slack Telegram, Discord, MS Teams. Same agent, same memory, different surface.
Note: Its NOT AN IDE. Consider it as an Agent accessible through Browser tab, app, or telegram or slack having all the tools to code and deploy securely anywhere.
How to Install Kiro Crew
You have three options:
Option 1: One-line install (recommended)
1
curl -fsSL https://download.crew.kiro.dev/cli.sh | sh
Option 2: Desktop App Download from kiro.dev/crew (macOS or Linux).
Option 3: Build from source
1
2
3
4
git clone https://github.com/kirodotdev/KiroCrew.git
cd KiroCrew
make build
source .venv/bin/activate
After installing, run the setup:
1
2
3
kirocrew setup # configure workspace, timezone, connections
kirocrew doctor # verify everything is healthy
kirocrew gateway # start the gateway

Open
localhost:5476 in your browser. You are in.
During setup, it asks for Slack and Telegram tokens. Skip them for now. The web dashboard works without any messaging setup. We will connect those later.
kirocrew doctor checks that kiro-cli is on PATH, that you are logged in, that MCP servers are responding, and that the embedding model is available. It even auto-fixes config issues it finds.Stage 1: Building the To-Do API (Web Dashboard)
Most AI coding tools treat every session like a first date. Kiro Crew remembers the last one.
The Task
I want a simple CRUD API for a To-Do app: Express, TypeScript, Prisma, Postgres. I create a task spec as a markdown file:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Build To-Do API
## Steps
1. Initialize an Express.js project with TypeScript
2. Set up Prisma with a Postgres connection
3. Create the Todo model (id, title, description, completed, createdAt)
4. Generate Prisma migration in `db/migrations/`
5. Create CRUD routes: GET, POST, PUT, DELETE /todos
6. Add input validation with zod
7. Write unit tests (co-located with source files)
8. Run `npm run lint` and `npm test`
9. If all pass, generate a README.md
## Constraints
- File naming: kebab-case
- Type naming: PascalCase
- Tests live next to source files (todo.controller.ts + todo.controller.test.ts)
- Migrations go in `db/migrations/`, NOT `scripts/`
- Always lint before marking a step complete
- Stop and report if any test fails
Running It
In the web dashboard at
localhost:5476, I tell it:"Run the task spec in ~/todo-service/build-todo-api.md"
It parses the 9 steps, acknowledges the constraints, and starts the autonomous task runner. I walk away. When I come back, all 10 steps are complete
The generated project follows every constraint. Tests are co-located. Migrations are in
db/migrations/. File names are kebab-case.If a test had failed, it would have stopped cleanly at that step with a report of what went wrong. No guessing, no silent fixes. You fix the issue and resume from that checkpoint without replaying earlier steps.
The Correction (Durable Lessons)
Here is where it gets interesting. I notice it did not add a health check endpoint. I correct it:
"Always add a GET /health endpoint that returns { status: 'ok' } to every Express service. This is a hard requirement for all my projects."
It makes the change. But more importantly, that correction becomes a durable lesson scoped to my workspace. I can see it in the Knowledge panel on the dashboard.

I also added a lesson in normal plain language that save the code to my desired directory.
Next day, new session. I ask:
"I want to add a new endpoint to my Express todo-service. What should I include?"
Without me reminding it, the response says: "Things NOT to re-do: the app already has GET /health."

It remembered. Not because I added it to a config file. Not because I repeated it. Because one correction became a lasting lesson.
What Kiro Crew Features Did We Use?
| Feature | How it showed up |
|---|---|
| Checkpointed tasks | Ran 10 steps autonomously, would stop on failure |
| Durable lessons | One correction became permanent workspace knowledge |
| Web dashboard | Visible execution, memory panel, task progress |
Stage 2: CI Breaks at 3am (Desktop App + Telegram)
Here is where things go somewhere OpenClaw and Codex cannot. They only run while your terminal is open. Kiro Crew has heartbeats, cron, and webhooks. It keeps working at 3am while you are asleep.
Setting Up Telegram
I switch to the Desktop App for this stage. Same agent, same memory, different surface.
To connect Telegram:
- Message @BotFather on Telegram, send
/newbot - Name it (I called mine
JJKiroCrewBot) - Copy the bot token
- In the Kiro Crew dashboard, go to Settings > Telegram
- Paste the token, add your numeric Telegram user ID (get it from @userinfobot)
- Restart the gateway

Now I can interact with my agent from my phone.

Setting Up the CI Watcher
I push my To-Do API to GitHub and add a simple GitHub Actions workflow (lint + test). Then I tell Kiro Crew:
"Set up a cron to monitor GitHub Actions for my DA_Content repo. Trigger when any workflow run fails on the master branch. Send me the summary on Telegram."
It does something smart. Instead of a heartbeat (which watches state changes), it creates a script cron that polls the GitHub Actions API every 5 minutes. Zero tokens, no LLM call per tick, survives gateway restarts.


It even baselines existing runs so you only get pinged about new failures, not historical ones.
Breaking CI (Intentionally)
I push a lint error:
1
2
3
4
echo "const broken: any = 'this will fail lint';" >> src/app.ts
git add src/app.ts
git commit -m "introduce intentional lint error for Kiro Crew demo"
git push origin master
Five minutes later, I get a Telegram message:
CI Failed - Run #2, commit 585e5c23 "introduce intentional lint error" Failing step: Run lint (eslint .) Root cause: Line 24 in app.ts tripsno-explicit-anyandno-unused-varsFix: Delete the trailing dead statement after createApp(). Lint goes green, tests will pass. Approve fix? [Yes / No]

I approve from my phone. It creates a fix branch, pushes it, CI goes green.


I did not open my laptop. I did not read logs. I did not even know CI broke until it told me and fixed it.
Self-Synthesized Skills
After Kiro Crew fixes a few similar CI issues (lint errors, missing imports), the pattern becomes a synthesized skill. It no longer needs step-by-step reasoning for this class of problem. It just knows the pattern: pull logs, find the lint error, delete the offending line, push fix.
You can inspect, edit, or remove skills from the dashboard. Nothing is hidden.
What Kiro Crew Features Did We Use?
| Feature | How it showed up |
|---|---|
| Cron schedules | Polls CI every 5 minutes, zero-token script |
| Heartbeat/monitoring | Detects state changes in CI pipeline |
| Telegram integration | Notification + approval from your phone |
| Self-synthesized skills | Repeated fix patterns become automatic |
| Security/Approvals | Fix requires your approval before push |
Stage 3: To-Do App Goes Multi-Service (Slack)
GitHub Copilot Agent and OpenClaw work on one thing at a time. Kiro Crew spawns isolated subagents that run in parallel and bring results back to one place.
Note: For this demo, I am using Desktop app, its exactly same like web dashboard.
Connecting Slack
Product says: add authentication and notifications. My one repo becomes three services. Time to bring in the team surface.
To connect Slack:
- Go to Settings, Channels
- Go to Slack, Copy Manifest file, Open Slack App from the option provided
- Slack App will be created by prefilled options form Manifest
- Copy the Slack Bot token, auth token and user id who will access the bot from the slack
- Restart the gateway
Now every Slack thread becomes an isolated AI session with full tool access.
Spawning Parallel Subagents
In a Slack DM with my bot:
"I need to expand my todo-service into a multi-service architecture. Spawn 3 parallel agents:1. Add auth middleware to todo-service using JWT
2. Build an auth-service with login/signup endpoints (Express + TypeScript + Prisma)
3. Build a notifications-service that sends email reminders for tasks due today Use the same conventions from my todo-service."

Three isolated subagents spin up. Each has its own context. But here is the key: they all carry forward my conventions from Stage 1. Kebab-case files. PascalCase types. Migrations in
db/migrations/. Co-located tests. Health check endpoint.I did not re-explain any of that. Memory persists across sessions and surfaces.

Watching Progress
In the Desktop App, the Agent Worlds view shows all three agents working. Each one appears as a character in a themed world - a quick glance tells me how busy my crew is.
The Slack thread updates as agents complete:
- Agent 1 finishes: auth middleware added, tests passing
- Agent 2 finishes: auth-service scaffolded with login/signup
- Agent 3 asks: "Which email provider? SES, SendGrid, or Nodemailer?"
I reply in Slack: "Use SES." It continues and finishes.
All three PRs are ready for review.
Security Audit
Every action across all three subagents is logged:
1
kirocrew security audit
The audit shows:
- Every tool call each subagent made
- Every file it created or modified
- Approval status for each action
- No credentials were exposed (redaction confirmed)

Seven layers of defense: OS sandbox, denied commands, suspicious pattern blocking, input validation, sensitive path protection, credential redaction, and signed audit logs. Because it is open source, you can verify every layer yourself.
What Kiro Crew Features Did We Use?
| Feature | How it showed up |
|---|---|
| Subagents | 3 parallel agents working independently |
| Slack integration | Full interaction in a thread |
| Memory (cross-session) | Conventions from Stage 1 carried over |
| Agent Worlds | Visual monitoring of running agents |
| Security (7 layers) | Signed audit log of all actions |
| Approvals in Slack | Respond to agent questions in-thread |
What We Covered
One To-Do app. Three stages. Every major Kiro Crew feature:
| Feature | Stage |
|---|---|
| Memory and durable lessons | Stage 1 |
| Knowledge graph with embeddings | Stage 1 |
| Checkpointed tasks | Stage 1 |
| Cron schedules and monitoring | Stage 2 |
| Heartbeat/webhook triggers | Stage 2 |
| Self-synthesized skills | Stage 2 |
| Telegram notifications and approvals | Stage 2 |
| Subagents (parallel delegation) | Stage 3 |
| Slack integration | Stage 3 |
| Security audit and 7-layer defense | Stage 3 |
| Web dashboard, Desktop App, mobile | All stages |
The compound effect is what makes it powerful. By Stage 3, my agents knew conventions I taught in Stage 1 without being told again. Corrections made on day one shaped behavior on day five. That is the difference between a session-based tool and a persistent workspace.
We have just scratched the surfasce in this blog, In the next blog lets do twek with Agent capabiltiies like Agent templates, how to add own Crew, Skills, Steering, Hooks

Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article