Kosmo Sidekick
Spec-driven development for VSCode — powered by any AI CLI agent. Describe a feature, get a full requirements + design + task breakdown, then run each task as an isolated AI agent.
Inspired by Kiro.
How it works
- Describe what you want to build
- Kosmo generates
requirements.md → design.md → tasks.md for your feature
- Run tasks — each one spawns a Claude Code agent with injected spec context
- Track progress in the sidebar and directly in
tasks.md
Screenshots
New Spec — describe your goal


CLI picker — choose your AI agent on first use


Requirements
- VSCode 1.75+
- At least one supported AI CLI installed and authenticated:
Note: Task execution always uses claude (Claude Code CLI) — it provides the Read/Write/Edit/Bash tools that run your tasks. The CLI picker only affects spec generation.
Installation
- Clone this repo
npm install && npm run compile
- Press F5 to launch the Extension Development Host
Or install the .vsix:
npm run package
code --install-extension kosmo-sidekick-*.vsix
Usage
Generate a spec
Open the Command Palette (⌘⇧P) → Kosmo: New Spec
Enter a goal like:
"Add rate limiting to the REST API using a Redis sliding window"
On first use, Kosmo detects which AI CLIs are installed and asks you to pick one. The choice is saved globally — change it anytime via Kosmo: Select AI CLI.
Kosmo writes three files to .kosmo/specs/[spec-name]/:
| File |
Contents |
requirements.md |
User stories + EARS acceptance criteria |
design.md |
Architecture, components, data models |
tasks.md |
Numbered checkbox task list |
Run a task
Click ▶ next to any [ ] task in the sidebar or in tasks.md via CodeLens.
A Claude Code subprocess runs the task in your workspace CWD with the full spec as context. The Output Channel streams every tool call in real time. When done, the checkbox updates to [x] automatically.
If a task has _Requirements: 1.1, 2.3_, only the referenced subsections of requirements.md are injected into the prompt — keeping context tight for large specs.
Kill a running task
Click ⏹ next to any [~] task. The marker reverts to [ ].
Discover
Kosmo: Discover queries your codebase with a freetext question via subq or miami CLI (must be in PATH). Output streams to a channel; you can copy it or feed it directly into a new spec.
Edit spec files
Opening any .kosmo/specs/**/*.md file uses Kosmo's custom editor — an editable textarea with line numbers, a step-navigation toolbar (Requirements › Design › Task list), and sync/continue buttons. Use the floating Open Preview button for rendered markdown.
tasks.md uses a strict format that Kosmo parses:
- [ ] 1. Task title
- implementation detail
- another detail
- [model:haiku]
- _Requirements: 1.1, 2.3_
States: [ ] pending · [~] in progress · [x] done
Model tiers — add [model:haiku], [model:sonnet], or [model:opus] to any detail line to control which model runs that task. Default is sonnet. Use haiku for cheap/fast tasks (linting, formatting) and opus for complex reasoning tasks.
Project context
For best results, fill in the generated CLAUDE.md at your project root. Every agent subprocess receives it as context alongside the spec files.
# Project Context
## Tech Stack
## Architecture Notes
## Coding Conventions
Extension commands
| Command |
Description |
Kosmo: New Spec |
Generate spec from a goal string |
Kosmo: Start Task |
Run selected task via Claude Code |
Kosmo: Kill Task |
Stop running task |
Kosmo: Refresh Tasks |
Manually refresh sidebar |
Kosmo: Select AI CLI |
Change which CLI is used for spec generation |
Kosmo: Discover |
Query codebase via subq/miami; stream results or create new spec |
Kosmo: Delete Spec |
Delete a spec folder (right-click spec in sidebar) |