# Pod E2e

ONLY for developing Kiro Crew itself -- if the project you are working on is anything...

- Repository: https://github.com/kirodotdev/KiroCrew (4711 stars)
- Category: Design
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add kirodotdev/KiroCrew --skill pod-e2e -g -a claude-code -y`
Codex: `npx skills add kirodotdev/KiroCrew --skill pod-e2e -g -a codex -y`
Cursor: `npx skills add kirodotdev/KiroCrew --skill pod-e2e -g -a cursor -y`
Gemini CLI: `npx skills add kirodotdev/KiroCrew --skill pod-e2e -g -a gemini-cli -y`

## Description

ONLY for developing Kiro Crew itself -- if the project you are working on is anything else, ignore this skill: it drives Kiro Crew's own pod tooling, which does not exist in another repository. Boots a Kiro Crew feature worktree's full stack as an ISOLATED throwaway pod and proves it boots, authenticates and renders (headless Playwright), without touching the live gateway. It does NOT run the worktree's test suite -- run the tests your change touches yourself and let CI own the full suite. Use when asked to e2e-test / smoke-test / verify a Kiro Crew worktree's feature hands-off, drive browser checks on a pod, or prove a new backend route + UI work together. NOT for testing the live instance, and NOT a general-purpose e2e or smoke-test skill.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# pod-e2e, test a worktree against an isolated full-stack pod

A worktree's full stack (backend API **and** frontend SPA) runs as **one process
on one port**, exactly like a Docker container. The `kirocrew pod` CLI is the
only interface you need: spin one up, get a `{base_url, token}` handle, test
against it, tear it down and have the teardown VERIFIED. The live gateway is
**never touched**.

## Quickstart, run the bundled e2e suite

```bash
bash <app-skills-dir>/pod-e2e/scripts/pod-e2e.sh <worktree-name> --video
```

**Expected success output**, a `POD-E2E SUMMARY` ending like:
```
  ✅ auth, GET /api/sessions → 200 with token, 403 without
  ✅ playwright, headless chromium loaded dashboard …
result:       2 passed, 0 failed
ARTIFACT_DIR=~/.kirocrew-pods/.e2e-artifacts/<worktree-name>
```
Exit code = number of failed phases (0 = all green) once phases run. Setup
errors exit before any phase with their own codes (see the flag table below);
a production-port SAFETY refusal exits 1. Then **look at the
evidence**: `Read` the screenshots in that `ARTIFACT_DIR`
(`fe-smoke.png`, plus any spec screenshots) to confirm the real UI rendered, not a 403/blank page.

To smoke-test isolation after it finishes:
```bash
kirocrew pod ls          # should be empty (torn down)
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:5476/api/sessions   # live plane still alive
```

## The interface, pod tools if you are an agent, the CLI if you are a human

The rest: https://github.com/kirodotdev/KiroCrew/blob/HEAD/src/kiro_crew/apps/builtins/dev_fleet/skills/pod-e2e/SKILL.md
