/architect-next
Resume a build — reads tasks.json from a bundle, finds the first pending task whose dependencies are all done, and prints it with its epic, acceptance criteria, and every verify command. This is what lets a long build survive across sessions. / Reanuda una construcción desde
> /plugin marketplace add Hainrixz/the-architect > /plugin install the-architect@soyenriquerocha
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/architect-next
Context preview
What this command does when you run it.
Resume a build — reads tasks.json from a bundle, finds the first pending task whose dependencies are all done, and prints it with its epic, acceptance criteria, and every verify command. This is what lets a long build survive across sessions. / Reanuda una construcción desde
Command definition
architect-next.mddescription: Resume a build — reads tasks.json from a bundle, finds the first pending task whose dependencies are all done, and prints it with its epic, acceptance criteria, and every verify command. This is what lets a long build survive across sessions. / Reanuda una construcción desde tasks.json y muestra la siguiente tarea desbloqueada.
argument-hint: "[path/to/bundle] [--list | --task <id> | --start <id> | --done <id>]"
allowed-tools:
- Read
- Edit
- Glob
- Grep
- Bash
`/architect-next` — the resume protocol
You are being invoked as `/architect-next`. A build that spans sessions needs one question answered in a fresh context with no memory: **what do I do next, and how do I know when it is done?**
This command answers it from `tasks.json`. Nothing else. No interview, no redesign.
**Field names are defined by `${CLAUDE_PLUGIN_ROOT}/templates/tasks-schema.md` — read it first and use its names verbatim.** If a bundle's `tasks.json` disagrees with the schema, report the mismatch instead of guessing what a field meant.
Locate the bundle
| Argument | Do | |---|---| | A directory | Read `<dir>/tasks.json`. | | A `tasks.json` path | Read it. | | Empty | Glob `./blueprints/*/tasks.json`, then `./tasks.json`. One match → use it. Several → list them and ask. | | Nothing found | Say so and point at `/architect` (new project) or `/architect-brownfield` (existing repo). Do not invent a task list. |
**Verify commands run from the target project root — the repo being built — not from the bundle directory.** Every command in a task's `verify` array is written to be runnable from that root. If the bundle is not inside the project it builds (a design session that produced `./blueprints/<slug>/` in some other directory), say so and stop: running `verify` from the wrong working directory produces failures that have nothing to do with the code, and a red result nobody can trust is worse than no result. Tell the user to move the bundle into the project, or to re-run `/architect-next <path-to-bundle>` from the project root.
Handle an interrupted task first
Before selecting anything, look for a task whose status is `in_progress`. That is not a ready task — it is **crash recovery**. A previous session wrote `in_progress` before touching code and never got to finish, so the working tree may already be half-changed.
Exactly one such task can exist. When you find it:
1. Print its card, labelled `RESUMING`. 2. Run every command in its `verify` array. All pass → set its status to `done` and continue to selection. Any fail → this is the task to work on; report which commands failed and stop. 3. Never hand out a different task while one is `in_progress`. Re-handing an interrupted task out as fresh work is how a build ends up applying the same migration twice.
More than one `in_progress` → corrupt bundle. Report both ids; do not pick.
Select
1. Read every task and its status. 2. A task is **ready** when its status is `pending` **and** every id in its `dependencies` array has status `done`. `in_progress` is not ready (see above) and `done` is not ready. 3. Pick the first ready task in array order. **Array order is the build order and already encodes priority — do not re-rank.** `priority` is metadata for humans and for the p0/p1/p2 scope-cut conversation; it is not a selector. 4. Edge cases, each reported plainly:
- **All done** → say the build is complete, print the final verify command from the blueprint, stop.
- **Nothing ready but tasks remain** → print the blocking graph: which task waits on which. Then
check for a dependency cycle and name the cycle members if one exists.
- **A dependency id does not exist** → that is a corrupt bundle. Report it; do not route around it.
Print the task card
Exactly this, nothing padded around it:
TASK <id> — <title>
Epic: <path to epics/*.md>
Status: <status> Depends on: <ids, or "nothing">
WHAT
<the one-sitting scope — read it from this task's block in the epic file;
tasks.json carries no scope or description field, only the 60-char title>
FILES
<every entry in the task's files array>
ACCEPTANCE CRITERIA
1. WHEN <trigger> THE SYSTEM SHALL <observable response>
2. ...
VERIFY (run from the target project root — all must exit 0)
<verify[0]>
<verify[1]>
<...one line per entry; print every command in the array>
REMAINING <n> of <total> tasks
`verify` is an **array** of commands, not one command. Print all of them, in order. A card that shows only the first is how a task gets marked done with its integration test never run.
Then read the epic file and summarize in three lines max the context the builder needs that the task card does not carry. Then **stop**. Selecting and briefing is the whole job. Do not start building unless the user says go — a fresh session should get to choose.
Flags
| Flag | Behavior | |---|---| | `--list` | Print the full queue: `id · title · status · blocked-by`. Done tasks collapsed to a count at the top. No card. | | `--task <id>` | Print that task's card regardless of readiness. If its dependencies are not done, print the warning and list them first. | | `--start <id>` | Set that task's status to `in_progress` in `tasks.json` with `Edit`, then print its card. Do this before any code is written — a crash mid-task must leave evidence, and `in_progress` is that evidence. Refuse if another task is already `in_progress`. | | `--done <id>` | Run **every** command in that task's `verify` array with `Bash`, in order, from the target project root. **All exit 0** → set its status to `done` in `tasks.json` with `Edit`, confirm in one line, then print the next ready card. **Any non-zero** → print which command failed and its output, change nothing. |
`--done` never marks a task complete on assertion alone, and never on a partial run. Every command in the array is the authority; that is the entire point of writing more than one.
Rules
1.
Read more
description: Resume a build — reads tasks.json from a bundle, finds the first pending task whose dependencies are all done, and prints it with its epic, acceptance criteria, and every verify command. This is what lets a long build survive across sessions. / Reanuda una construcción desde tasks.json y muestra la siguiente tarea desbloqueada. argument-hint: "[path/to/bundle] [--list | --task <id> | --start <id> | --done <id>]" allowed-tools: - Read - Edit - Glob - Grep - Bash
`/architect-next` — the resume protocol
You are being invoked as `/architect-next`. A build that spans sessions needs one question answered in a fresh context with no memory: **what do I do next, and how do I know when it is done?**
This command answers it from `tasks.json`. Nothing else. No interview, no redesign.
**Field names are defined by `${CLAUDE_PLUGIN_ROOT}/templates/tasks-schema.md` — read it first and use its names verbatim.** If a bundle's `tasks.json` disagrees with the schema, report the mismatch instead of guessing what a field meant.
Locate the bundle
| Argument | Do | |---|---| | A directory | Read `<dir>/tasks.json`. | | A `tasks.json` path | Read it. | | Empty | Glob `./blueprints/*/tasks.json`, then `./tasks.json`. One match → use it. Several → list them and ask. | | Nothing found | Say so and point at `/architect` (new project) or `/architect-brownfield` (existing repo). Do not invent a task list. |
**Verify commands run from the target project root — the repo being built — not from the bundle directory.** Every command in a task's `verify` array is written to be runnable from that root. If the bundle is not inside the project it builds (a design session that produced `./blueprints/<slug>/` in some other directory), say so and stop: running `verify` from the wrong working directory produces failures that have nothing to do with the code, and a red result nobody can trust is worse than no result. Tell the user to move the bundle into the project, or to re-run `/architect-next <path-to-bundle>` from the project root.
Handle an interrupted task first
Before selecting anything, look for a task whose status is `in_progress`. That is not a ready task — it is **crash recovery**. A previous session wrote `in_progress` before touching code and never got to finish, so the working tree may already be half-changed.
Exactly one such task can exist. When you find it:
1. Print its card, labelled `RESUMING`. 2. Run every command in its `verify` array. All pass → set its status to `done` and continue to selection. Any fail → this is the task to work on; report which commands failed and stop. 3. Never hand out a different task while one is `in_progress`. Re-handing an interrupted task out as fresh work is how a build ends up applying the same migration twice.
More than one `in_progress` → corrupt bundle. Report both ids; do not pick.
Select
1. Read every task and its status. 2. A task is **ready** when its status is `pending` **and** every id in its `dependencies` array has status `done`. `in_progress` is not ready (see above) and `done` is not ready. 3. Pick the first ready task in array order. **Array order is the build order and already encodes priority — do not re-rank.** `priority` is metadata for humans and for the p0/p1/p2 scope-cut conversation; it is not a selector. 4. Edge cases, each reported plainly:
- **All done** → say the build is complete, print the final verify command from the blueprint, stop.
- **Nothing ready but tasks remain** → print the blocking graph: which task waits on which. Then
check for a dependency cycle and name the cycle members if one exists.
- **A dependency id does not exist** → that is a corrupt bundle. Report it; do not route around it.
Print the task card
Exactly this, nothing padded around it:
TASK <id> — <title> Epic: <path to epics/*.md> Status: <status> Depends on: <ids, or "nothing"> WHAT <the one-sitting scope — read it from this task's block in the epic file; tasks.json carries no scope or description field, only the 60-char title> FILES <every entry in the task's files array> ACCEPTANCE CRITERIA 1. WHEN <trigger> THE SYSTEM SHALL <observable response> 2. ... VERIFY (run from the target project root — all must exit 0) <verify[0]> <verify[1]> <...one line per entry; print every command in the array> REMAINING <n> of <total> tasks
`verify` is an **array** of commands, not one command. Print all of them, in order. A card that shows only the first is how a task gets marked done with its integration test never run.
Then read the epic file and summarize in three lines max the context the builder needs that the task card does not carry. Then **stop**. Selecting and briefing is the whole job. Do not start building unless the user says go — a fresh session should get to choose.
Flags
| Flag | Behavior | |---|---| | `--list` | Print the full queue: `id · title · status · blocked-by`. Done tasks collapsed to a count at the top. No card. | | `--task <id>` | Print that task's card regardless of readiness. If its dependencies are not done, print the warning and list them first. | | `--start <id>` | Set that task's status to `in_progress` in `tasks.json` with `Edit`, then print its card. Do this before any code is written — a crash mid-task must leave evidence, and `in_progress` is that evidence. Refuse if another task is already `in_progress`. | | `--done <id>` | Run **every** command in that task's `verify` array with `Bash`, in order, from the target project root. **All exit 0** → set its status to `done` in `tasks.json` with `Edit`, confirm in one line, then print the next ready card. **Any non-zero** → print which command failed and its output, change nothing. |
`--done` never marks a task complete on assertion alone, and never on a partial run. Every command in the array is the authority; that is the entire point of writing more than one.
Rules
1.
A Claude Code plugin that interviews you, designs the whole architecture, and writes a self-contained blueprint another Claude Code instance builds from with zero context — EARS acceptance criteria and a runnable verify command on every build step. 14 project shapes, greenfield and brownfield. EN/ES.
Repo: Hainrixz/the-architect
Other commands on the-architect.
- /architect-audit
Run the blueprint-validator against an existing blueprint and report PASS/FAIL with specifics. Blueprints written before v2 will FAIL — they have no acceptance criteria. That is expected, not a bug. / Audita un blueprint existente con el validador; los blueprints v1 fallan
Open command - /architect-brownfield
Design a change against an existing codebase — maps the repo's stack, conventions, structure and tests, then emits a blueprint for a feature, refactor, or migration instead of a from-scratch build. / Diseña un cambio sobre un repo existente — mapea stack y convenciones y emite
Open command - /architect-quick
Fast-track blueprint — three questions, smart defaults for everything else, still validator-gated. For when you just want it built. / Blueprint express — tres preguntas, defaults inteligentes, con el mismo validador.
Open command - /architect-refresh
Re-verify every pinned version in an existing blueprint against the live registries and report what moved, what breaks, and what to change — un-rots a months-old blueprint without a redesign. / Reverifica cada versión fijada en un blueprint contra los registros y reporta qué
Open command - /architect
Interview, design, and emit a self-contained build bundle for a new project — 4 phases, acceptance criteria on every step, validator-gated. / Entrevista, diseña y genera un bundle autocontenido para un proyecto nuevo.
Open command

