relaylisted
Install: claude install-skill sungjunlee/dev-relay
## Inputs
- Env: optional `RELAY_SKILL_ROOT` defaults to `skills`; role overrides use `RELAY_ORCHESTRATOR`/`RELAY_REVIEWER`.
- Files: task/issue text, optional sprint file, readiness probe inputs, `/tmp/dispatch-<N>.md`, and `/tmp/rubric-<N>.yaml`.
- Sibling scripts: `${RELAY_SKILL_ROOT:-skills}/relay/scripts/run-preflight.js`, `${RELAY_SKILL_ROOT:-skills}/relay-dispatch/scripts/dispatch.js`, `${RELAY_SKILL_ROOT:-skills}/relay-review/scripts/review-runner.js`.
# Dev Relay
Execute the plan -> dispatch -> review cycle. Stop at `ready_to_merge` unless the user explicitly asks to merge. The public/internal/optional skill tiers are defined in `../../references/operator-surface.md`.
## Role Defaults
- Orchestrator: `unknown` until explicitly stamped; override with `RELAY_ORCHESTRATOR`.
- Executor: Codex by default; override with dispatch `--executor`.
- Reviewer: `unknown` until explicitly stamped; override with `--reviewer` or `RELAY_REVIEWER`.
Standard Codex path: stamp `RELAY_ORCHESTRATOR=codex` and review through `review-runner --reviewer codex`. Assigned manifest roles stay immutable; acting reviewer data is recorded separately.
## Route Preset Words
When the user gives a routing style, map only these clear words:
| User wording | Dispatch option |
| --- | --- |
| `가볍게`, `싸게`, `light` | `--route-preset light` |
| `리뷰 다양하게`, `diverse` | `--route-preset diverse` |
| `하드하게`, `hardened` | `--route-preset hardened` |
If no wording matches, list configured presets from route