Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Instruções da origem · Visualização somente leitura
name
bmad-dev-auto
description
One iteration of an unattended development loop. Use when invoked by name.
Dev Auto Workflow
Goal: Turn intent into a hardened, reviewable artifact, without human interaction.
CRITICAL: If a step says "read fully and follow step-XX", you read and follow step-XX. No exceptions.
HALT
To HALT with a final status and optional blocking condition:
Folder+id dispatch ({spec_folder} and {story_id} are set): the write-back always lands at the id-keyed story spec. The {implementation_artifacts} fallback in step 2 below is never used in this mode, even for halts before planning starts.
If {spec_file} is still empty, resolve it now:
Entry not resolved (stories.yaml is missing/unparseable, or {story_id} has no matching entry): use the fixed slug segment unresolved: {spec_file} = {spec_folder}/stories/{story_id}-unresolved.md.
Ambiguous on-disk match (the halt is ambiguous story file match — more than one file already matches {spec_folder}/stories/{story_id}-*.md): use the fixed slug segment ambiguous instead of deriving from the title, so the write-back neither creates a third title-derived candidate nor risks silently landing on one of the existing ambiguous files: {spec_file} = {spec_folder}/stories/{story_id}-ambiguous.md.
Otherwise (the entry was resolved and no ambiguous on-disk match exists): derive {spec_file} = {spec_folder}/stories/{story_id}-{slug}.md, where is a kebab-case slug from (and if needed) with no prefix — the same derivation step-01's Route uses.
{slug}
title
description
{story_id}
If {spec_file} exists on disk, update status in frontmatter and append missing result details under ## Auto Run Result.
If it does not exist, create it as a skeletal story spec:
---
status: <finalstatus>
---# <entrytitle, or "Story {story_id}" iftheentrycouldnotberesolvedortheon-diskmatchwasambiguous>## Auto Run Result
Status: <finalstatus>
Blocking condition: <blockingcondition, ifany>
Otherwise:
If {spec_file} is known and exists, update status in frontmatter and append missing result details under ## Auto Run Result.
If {spec_file} is unknown or missing, create {implementation_artifacts}/bmad-dev-auto-result-<slug-or-timestamp>.md with:
---
status: <finalstatus>
---# BMad Dev Auto Result
Status: <finalstatus>
Blocking condition: <blockingcondition, ifany>
If the resolved workflow.on_complete is non-empty, follow it as the final instruction before exiting.
Stop the workflow.
Subagents
Using subagents when instructed is mandatory. If you cannot, HALT with status blocked and blocking condition no subagents.
Invoke every subagent synchronously: launch it, wait for it to return within the same turn, then continue with its result. When a step says to run subagents "in parallel" (e.g. the reviewers), that means several blocking calls awaited together in one turn — not detached execution. Never run a subagent in the background / detached / async (e.g. run_in_background: true), and never end your turn to "await a completion notification." This workflow runs unattended: there is no event loop to resume a yielded turn, so a backgrounded subagent never hands control back and the run stalls. The only sanctioned way to end a turn is the HALT protocol above with an explicit terminal status.
READY FOR DEVELOPMENT STANDARD
A specification is "Ready for Development" when:
Actionable: Every task has a file path and specific action.
Logical: Tasks ordered by dependency.
Testable: All ACs use Given/When/Then.
Surface-anchored: ACs observe the outermost surface the intent references — never a more internal proxy for it (e.g. the API response, not the database row behind it).
Complete: No placeholders or TBDs.
Sufficient: No known requirement, acceptance, dependency, or implementation gaps remain unresolved.
Coherent: No unresolved ambiguities or internal contradictions.
Conventions
Bare paths (e.g. step-01-clarify-and-route.md) resolve from the skill root.
{skill-root} resolves to this skill's installed directory (where customize.toml lives).
{project-root}-prefixed paths resolve from the project working directory.
{skill-name} resolves to the skill directory's basename.
If the script fails, resolve the workflow block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
{skill-root}/customize.toml — defaults
{project-root}/_bmad/custom/{skill-name}.toml — team overrides
{project-root}/_bmad/custom/{skill-name}.user.toml — personal overrides
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.
Step 2: Execute Prepend Steps
Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.
Step 3: Load Persistent Facts
Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} -- load the referenced contents as facts. All other entries are facts verbatim.
Step 4: Load Config
Load config from {project-root}/_bmad/bmm/config.yaml and resolve: