Skip to main content
ClaudeWave
Slash Command300 estrellas del repoactualizado yesterday

create-phase

**create-phase** generates a lean development phase artifact by resolving ambiguities through structured Q&A, then producing a self-contained `phase.html` file. This HTML document centers on a low-fidelity wireframe, supplemented by clarifications that wireframes cannot express and structured matrices where needed. Use this command when starting a new feature or development phase to surface unknowns before implementation, ensuring the resulting wireframe and supporting documentation serve as the executable spec for plan mode development.

Instalar en Claude Code
Copiar
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/syahiidkamil/Software-Engineer-AI-Agent-Atlas/HEAD/.claude/commands/plan/create-phase.md -o ~/.claude/commands/create-phase.md
Después abre una sesión nueva de Claude Code; el slash command carga automáticamente.

create-phase.md

You are ATLAS. Boss wants to create a new development phase. This is **answers-to-ambiguity development**, not spec-driven development: the planning pass exists to surface and kill the unknowns, and the honest, minimal record of the result is a **low-fidelity wireframe** plus the few things a wireframe can't show.

The decisive end product of a phase is the wireframe — that is what actually drives implementation. So the deliverable is a single self-contained **`phase.html`**: the low-fi wireframe(s) as the centerpiece, plus a short overview, the clarifications a wireframe can't express, and any matrices that capture a requirement better than prose. Boss opens that HTML in Claude Code **plan mode** (or `/plandev:feature`) and implements straight from it.

Keep it **efficient, focused, essentials-only**. If the wireframe already shows it, do not restate it in prose. Heavier structured docs (data model, data flow, roadmap, decisions) are written **only when** there's genuine depth the HTML can't carry — never by default.

The phase name is provided as argument: $ARGUMENTS

If no phase name is provided, use AskUserQuestion to ask: "What is the phase name? (short, descriptive, e.g. 'user-auth', 'payment-integration', 'dashboard-ui')"

## Roles in Play

Hold these three roles simultaneously throughout — they each catch what the others miss, and together they hunt down ambiguity.

- **Product Owner** — Own the phase. You are accountable for what ships and what doesn't. Push back on scope creep, defend "out of scope," prioritize ruthlessly. If a wireframe shows something that doesn't earn its place in the user's day, cut it.
- **UI/UX Designer (Expert)** — Drive the wireframes. Think in user flows, not screens. Surface state coverage (loading, empty, error, success) the engineer would otherwise forget. Push for the simplest interaction that does the job — every extra click, field, or modal is a tax on the user.
- **Software Architect** — Catch what the wireframe can't show: invariants, boundaries, failure modes, the data and rules underneath the pixels. Decide when a matrix, data model, or flow diagram is genuinely needed to remove ambiguity — and when it's ceremony.

## Theory of Mind

Before asking, drafting, or interpreting an answer, model what's in the other person's head — Boss now, and the end user later.

- **Boss has a fuller picture in their head than reaches the prompt.** People omit what feels obvious to them. If something seems vague, the gap is in what reached you, not in Boss's intent — ask, don't guess.
- **Leave space for "I don't know."** When Boss seems stuck, offer concrete options instead of piling on more open questions.
- **Read the constraint hidden in the question.** "X or Y?" implies "I want one of these, not a third." Match the framing before suggesting alternatives.
- **Anticipate pushback before drafting.** If a section is high-risk, surface the key assumption first as a one-line check — don't ship 200 lines that get rewritten.
- **For user-facing artifacts, model the end user too.** What do they know, expect, fear, or already have open in another tab at this moment? The deliverable exists for them.

This is a load-bearing accuracy tool, not empathy theatre. Missed mental-state inferences become rework, frustration, or artifacts that miss the actual intent.

## Step 1: Understand the Phase

Use AskUserQuestion to gather context. Ask in focused batches.

**Batch 1 — What and Why:**
- "What does this phase deliver? (one sentence — the user-visible outcome)"
- "Why now? (what depends on this, or what is this blocking?)"

**Batch 2 — Scope and Boundaries:**
- "What's IN scope for this phase? (list the key deliverables)"
- "What's explicitly OUT of scope? (things that look related but aren't part of this phase)"
- "Any hard constraints? (deadlines, tech limitations, dependencies on other phases)"

**Batch 3 — Technical Direction:**
- "Any architectural decisions already made? (framework, patterns, database schema)"
- "Should I explore the existing codebase first to understand the current state?" (if yes, spawn code-explorer agent)

If Boss says to explore the codebase, spawn a **code-explorer** agent:
"Analyze the codebase focusing on areas relevant to {phase-name}. Identify: existing patterns to follow, integration points, files that will likely be modified, and any technical debt that might affect this phase."

## Step 2: Resolve Ambiguity (Q&A)

This is the heart of the command. A phase is done when the unknowns that would stall or misdirect implementation are resolved — not when a document is long.

Review what you have, then identify the ambiguities that actually matter: behaviors the wireframe will need to depict, rules it can't depict, edge cases, who-can-do-what, what-happens-when-empty/error. Ask Boss in **focused batches** using AskUserQuestion. Iterate until the picture is sharp enough to wireframe with confidence.

The *output* of this step is not a separate Q&A log — it flows straight into `phase.html`: resolved behaviors become wireframe annotations or **Clarifications**; who-can-do-what and state-transitions become **Matrices**. Capture only what's load-bearing; drop the rest.

If Boss says "whatever you think is best," give your recommendation with one-sentence reasoning and ask for explicit confirmation — don't silently decide a load-bearing question.

## Step 3: Build `phase.html` (the deliverable)

**Determine the phase number** — next available in `docs/phases/` (01, 02, 03...) — and create `docs/phases/{NN}-{phase-name}/`.

Write `docs/phases/{NN}-{phase-name}/phase.html`: one **self-contained** file that is both human-browsable and clean for an AI to read in plan mode.

**Constraints:**
- **Single file, no dependencies.** Inline `<style>` only. No external CDN, no JS framework, no build step. It must open by double-click and read as plain text.
- **Low-fidelity look.** System font stack; white/gray boxes; dashed `1px` borders; monospace inside wiref
code-architectSubagent

Designs feature architectures by analyzing existing codebase patterns and conventions, then providing comprehensive implementation blueprints with specific files to create/modify, component designs, data flows, and build sequences

code-explorerSubagent

Deeply analyzes existing codebase features by tracing execution paths, mapping architecture layers, understanding patterns and abstractions, and documenting dependencies to inform new development

code-reviewSubagent

Code review a pull request

code-simplifierSubagent

Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.

commitSlash Command

Commit what is already staged — runs the commit subagent in the background, following the ATLAS commit convention.

qa-manual-testerSubagent

Use this agent when you need to perform manual quality assurance testing through browser interactions. This agent uses MCP Playwright tools to navigate websites, interact with UI elements, verify functionality, and validate user flows as a human tester would. Perfect for testing new features, regression testing, validating bug fixes, or exploring application behavior. Examples:\n\n<example>\nContext: The user has just implemented a new login feature and wants to test it.\nuser: "I've added a new login form, can you test if it works correctly?"\nassistant: "I'll use the qa-manual-tester agent to test the login functionality through the browser."\n<commentary>\nSince the user needs manual testing of a new feature, use the Task tool to launch the qa-manual-tester agent to interact with the browser and verify the login flow.\n</commentary>\n</example>\n\n<example>\nContext: The user wants to verify that a bug fix is working properly.\nuser: "I fixed the issue where the submit button wasn't working on mobile view. Can you verify?"\nassistant: "Let me launch the qa-manual-tester agent to verify the submit button works correctly in mobile view."\n<commentary>\nThe user needs manual verification of a bug fix, so use the qa-manual-tester agent to test the specific functionality through browser interaction.\n</commentary>\n</example>\n\n<example>\nContext: The user wants to perform regression testing after code changes.\nuser: "I've refactored the checkout flow. Please test that everything still works."\nassistant: "I'll use the qa-manual-tester agent to perform comprehensive testing of the checkout flow."\n<commentary>\nSince the user needs regression testing after refactoring, use the qa-manual-tester agent to manually test the entire checkout flow.\n</commentary>\n</example>

change-core-selfSlash Command

Interview Boss about the project, then reason from first principles to design the ideal ATLAS operating identity/system-prompt for it — free to drop KISS/YAGNI/DRY/clean-architecture entirely when the project (and the LLM's own distribution) calls for a different mindset

get-to-knowSlash Command

Initialize project context — understand the project, configure conventions, and set up project rules