AWS Builder Center
What is Kiro Crew? A Hands-On Guide to AI Agents That Learn, Fix, and Scale Your Code

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.

Developer Advocate @ AWS | Dude who talks, build and break things on AWS
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:
  1. Remembers - corrections become durable lessons. Preferences carry across sessions. It never starts from scratch.
  2. Keeps working - cron schedules, heartbeat monitors, and webhooks let it watch your CI, fix failures, and deliver summaries while you sleep.
  3. 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?

FeatureHow it showed up
Checkpointed tasksRan 10 steps autonomously, would stop on failure
Durable lessonsOne correction became permanent workspace knowledge
Web dashboardVisible 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:
  1. Message @BotFather on Telegram, send /newbot
  2. Name it (I called mine JJKiroCrewBot)
  3. Copy the bot token
  4. In the Kiro Crew dashboard, go to Settings > Telegram
  5. Paste the token, add your numeric Telegram user ID (get it from @userinfobot)
  6. 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 trips no-explicit-any and no-unused-vars Fix: 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?

FeatureHow it showed up
Cron schedulesPolls CI every 5 minutes, zero-token script
Heartbeat/monitoringDetects state changes in CI pipeline
Telegram integrationNotification + approval from your phone
Self-synthesized skillsRepeated fix patterns become automatic
Security/ApprovalsFix 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:
  1. Go to Settings, Channels
  2. Go to Slack, Copy Manifest file, Open Slack App from the option provided
  3. Slack App will be created by prefilled options form Manifest
  4. Copy the Slack Bot token, auth token and user id who will access the bot from the slack
  5. 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?

FeatureHow it showed up
Subagents3 parallel agents working independently
Slack integrationFull interaction in a thread
Memory (cross-session)Conventions from Stage 1 carried over
Agent WorldsVisual monitoring of running agents
Security (7 layers)Signed audit log of all actions
Approvals in SlackRespond to agent questions in-thread

What We Covered

One To-Do app. Three stages. Every major Kiro Crew feature:
FeatureStage
Memory and durable lessonsStage 1
Knowledge graph with embeddingsStage 1
Checkpointed tasksStage 1
Cron schedules and monitoringStage 2
Heartbeat/webhook triggersStage 2
Self-synthesized skillsStage 2
Telegram notifications and approvalsStage 2
Subagents (parallel delegation)Stage 3
Slack integrationStage 3
Security audit and 7-layer defenseStage 3
Web dashboard, Desktop App, mobileAll 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
I share such amazing AWS updates on DevOps, Kubernetes and GenAI daily over Linkedin , X . Follow me over there so that I can make your life more easy.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article