* refactor: convert document-project workflow.yaml to workflow.md (step 9)
Convert main workflow and both sub-workflows (deep-dive, full-scan) from
legacy .yaml entry point format to unified .md format. Update agent files
and module-help.csv references. Clean engine-scaffolding <critical> blocks
from instruction files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: correct config path typo bmb→bmm in sub-workflow files
Both deep-dive-workflow.md and full-scan-workflow.md referenced
_bmad/bmb/config.yaml instead of _bmad/bmm/config.yaml, which
would break config resolution at runtime.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: convert create-story workflow.yaml to workflow.md (step 7)
Merge workflow.yaml config and instructions.xml execution logic into a
single self-contained workflow.md. Drop engine scaffolding directives,
preserve all behavioral constraints. Update checklist.md references.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: update remaining workflow.yaml refs to workflow.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* chore: convert dev-story workflow from yaml to markdown format
Merge workflow.yaml config and instructions.xml content into a single
workflow.md, following the established conversion pattern. Drop engine
scaffolding directives, preserve all behavioral constraints verbatim.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: update dev-story workflow references from .yaml to .md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* chore: convert code-review workflow.yaml to workflow.md
Step 6 of 9 in yaml-to-md conversion plan. Merges workflow.yaml
config and instructions.xml content into a single workflow.md
following the established conversion pattern. Updates agent yaml
and module-help.csv references.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: escape folder names with backticks to fix markdownlint MD037
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Step 5 of 9 in yaml-to-md conversion plan. Merges workflow.yaml config
(6 input_file_patterns including INDEX_GUIDED) and instructions.md
execution logic into a single self-contained workflow.md. Updates
references in sm.agent.yaml, pm.agent.yaml, module-help.csv, and
checklist.md. Deletes workflow.yaml and instructions.md.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* chore(sprint-planning): convert workflow.yaml + instructions.md to unified workflow.md
Step 4 of 9 in the yaml-to-md conversion plan. Merges config
and instructions into a single self-contained workflow.md,
dropping engine scaffolding (critical tags, invoke-protocol).
* fix(sprint-planning): address review findings from PR triage
- Update stale workflow.yaml references to workflow.md in sm.agent.yaml and module-help.csv
- Widen epics_pattern from epic*.md to *epic*.md to match documented input files
- Fix placeholder mismatch: epics_in_progress_count → in_progress_count
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* feat(skills): add type:skill manifest for verbatim skill directory copying
Introduce `type: skill` in bmad-skill-manifest.yaml to signal the
installer to copy entire skill directories verbatim into IDE skill
directories, replacing the launcher-based approach.
Changes:
- skill-manifest.js: fix single-entry detection for type-only manifests,
add getArtifactType export
- manifest-generator.js: collect type:skill entries separately, write
skill-manifest.csv, derive canonicalId from directory name
- _config-driven.js: add installVerbatimSkills with YAML-safe SKILL.md
generation, stale file cleanup, and warning on parse failures
- Rename quick-dev-new-preview to bmad-quick-dev-new-preview so
directory name is the canonical ID
- Update workflow.md installed_path to reference IDE skill base directory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: replace {installed_path} with relative paths in quick-dev skill
Skills resolve paths relative to the skill root directory per the
open agent standard, so the installed_path variable is unnecessary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(skills): add install_to_bmad flag and skill: help catalog reference
Add install_to_bmad flag to skill manifests (default true) enabling
skills to opt out of _bmad/ copy while retaining .claude/skills/
installation. Support skill:<canonicalId> references in module-help.csv
workflow-file column. Fix stale quick-dev-new-preview directory
references in agent YAML and help catalog.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add install_to_bmad design contract tests
Unit tests against getInstallToBmad and loadSkillManifest that nail
down the 4 core design decisions for the install_to_bmad flag.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: reset skills array between runs and allow skill-only targets
- Reset this.skills and this.files in ManifestGenerator to prevent stale
data when instance is reused across multiple manifest runs
- Allow targets with empty artifact_types to still install verbatim
skills by checking skill_format before short-circuiting
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: resolve broken file references in quick-dev-new-preview workflow
- Fix step-02-plan.md templateFile path (./tech-spec-template.md → ../tech-spec-template.md)
- Teach validate-file-refs.js to skip skill: prefixed references in CSV
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* refactor(sprint-status): convert workflow.yaml + instructions.md to single workflow.md
Merge workflow config and instruction content into a unified workflow.md
with YAML frontmatter, following the established convention for converted
workflows. Update module-help.csv reference accordingly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(sprint-status): restore no-time-estimates rule dropped during conversion
The <critical> preamble removal incorrectly classified this behavioral
rule as boilerplate. It is an actual output constraint.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add comprehensive workflow conversion test results
- 14 test fixtures covering data and validate modes
- Tested across Opus, Sonnet, and Haiku models
- OLD format (yaml+md) vs NEW format (workflow.md)
- Confirms zero regressions in conversion
- Includes reproduction instructions for future sessions
* fix(sprint-status): consolidate no-time-estimates into role line
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor(qa-generate-e2e-tests): convert workflow.yaml + instructions.md to single workflow.md
Task 2 of yaml-to-md conversion plan. Merges config variables into
INITIALIZATION section, inlines instructions into EXECUTION section.
Drops non-consumed yaml keys (required_tools, tags, execution_hints).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor(retrospective): convert workflow.yaml + instructions.md to single workflow.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: update workflow.yaml references to workflow.md for converted workflows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: remove test results file from version control
SPRINT_STATUS_CONVERSION_TEST_RESULTS.md contains hardcoded local
filesystem paths and is a session-specific test artifact. Added to
.bare/info/exclude to keep it ignored across all worktrees.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* feat(quick-flow): add quick-dev2 unified workflow
Add the quick-dev2 workflow that unifies clarify, plan, implement,
review, and present into a single flow. Register it in the agent
menu, module-help catalog, and test fixtures.
* fix(quick-flow): rename QD2 trigger to QQ for schema compliance
COMPOUND_TRIGGER_PATTERN only allows uppercase letters in shortcuts.
Rename to QQ so quick-dev2 passes agent schema validation.
* fix(quick-flow): address PR review findings for quick-dev2
- step-04-review: fix copy-paste fallback text to say "perform all
three reviews inline sequentially" instead of "implement directly"
- workflow.md: add missing planning_artifacts to initialization list,
matching quick-spec and quick-dev siblings
- quick-flow-solo-dev.agent.yaml: change QD and QQ menu entries from
workflow: to exec: for .md files, matching the exec-for-md convention
* fix(quick-flow): use human-in-the-loop fallback for review without subagents
Sequential inline reviews in the same context suffer from anchoring
bias and context blowout. Instead, generate separate review prompt
files and ask the human to run each in a separate session.
* refactor(quick-flow): rename quick-dev2 to quick-dev-new-preview
Rename directory, update all references in agent menu, module-help,
and workflow internals.
* fix(workflows): remove ambiguous with-argument from help task chaining
The "with argument" clause in 7 workflow completion steps caused LLMs
to interpret "Read fully and follow: help.md with argument X" as a
skill/function invocation rather than a file-read instruction. Drop the
clause entirely — help.md already infers the completed workflow from
the preceding "[Workflow] complete." text in conversation context.
Closes#1637
* fix(workflows): correct broken qa/automate file references
The QA workflow was renamed to qa-generate-e2e-tests but three files
still referenced the old qa/automate path, breaking CI file-ref
validation.
* fix(test): update QA agent test to match renamed workflow path
The workflow path changed from qa/automate to qa-generate-e2e-tests
but the installation component test was not updated to match.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>