* fix(quick-dev): make file path references clickable
Spec-file links use paths relative to the spec file's
directory (clickable in VS Code). Terminal output paths
use CWD-relative format for terminal clickability.
* fix(quick-dev): add :line suffix to step-oneshot path example
Aligns the file path example in step-oneshot.md with the clickable
`:line` format already enforced in step-03-implement.md and
step-05-present.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Agent CWD may differ from the project root in worktree setups,
causing relative paths to silently fail. Resolve paths via
git rev-parse --show-toplevel before invoking code -r.
* refactor(installer): discover skills by SKILL.md instead of manifest YAML
Switch skill discovery gate from requiring bmad-skill-manifest.yaml with
type: skill to detecting any directory with a valid SKILL.md (frontmatter
name + description, name matches directory name). Delete 34 stub manifests
that carried no data beyond type: skill. Agent manifests (9) are retained
for persona metadata consumed by agent-manifest.csv.
* refactor(installer): remove dead task/tool/workflow manifest code
The remove-skill-manifest-yaml branch deleted the scanners that
discover tasks, tools, and workflows but left behind the code that
writes their manifest CSVs. Remove collectTasks/Tools/Workflows,
writeTaskManifest/ToolManifest/WorkflowManifest, their helpers, and
the now-unreachable getPreservedCsvRows/upgradeRowToSchema methods.
Update installer pre-registration and test assertions accordingly.
Switch skill discovery gate from requiring bmad-skill-manifest.yaml with
type: skill to detecting any directory with a valid SKILL.md (frontmatter
name + description, name matches directory name). Delete 34 stub manifests
that carried no data beyond type: skill. Agent manifests (9) are retained
for persona metadata consumed by agent-manifest.csv.
* refactor(installer): remove dead agent compilation pipeline
Delete 9 files (~2,600 lines) that compiled .agent.yaml to .md.
No .agent.yaml files exist in the source tree — agents now ship
as pre-built SKILL.md. Clean up all references in installer,
module manager, custom handler, base IDE, UI, and tests.
* refactor(custom-handler): remove dead install/copy/find methods
CustomHandler.install(), copyDirectory(), and findFilesRecursively()
are never called — custom modules are installed via moduleManager.install()
since Dec 2025. Also removes unused FileOps import and constructor.
Verified with before/after clean-installer comparison (codex + custom
modules with custom.yaml): output is identical.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(installer): remove dead compilation refs from docs and module manager
Address review findings from PR #2080 triage:
- Remove compile-agents from CLI action docs (en, fr, zh-cn)
- Remove dead vendorCrossModuleWorkflows() and .agent.yaml skip logic
- Clean stale compilation-era comments in manifest-generator
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor(installer): remove legacy workflow, task, and agent IDE generators
All platforms now use skill_format exclusively. The old
WorkflowCommandGenerator, TaskToolCommandGenerator, and
AgentCommandGenerator code paths in _config-driven.js were
no-ops — collectSkills claims every directory before the
legacy collectors run, making their manifests empty.
Removed:
- workflow-command-generator.js (deleted)
- task-tool-command-generator.js (deleted)
- writeAgentArtifacts, writeWorkflowArtifacts, writeTaskToolArtifacts
- AgentCommandGenerator import from _config-driven.js
- Legacy artifact_types/agents/workflows/tasks result fields
Simplified installToTarget, installToMultipleTargets, printSummary,
and IDE manager detail builder to skills-only.
Updated test fixture to use SKILL.md format instead of old agent format.
* fix(installer): address PR review findings from #2078
- Fix temp dir leak in test fixture cleanup (use path.dirname)
- Fail loudly when skill_format missing instead of silent success
- Add workflow.md to test fixture for verbatim-copy coverage
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Inline workflow.md content directly into SKILL.md for: editorial-review-prose,
editorial-review-structure, help, index-docs, review-adversarial-general,
review-edge-case-hunter, and shard-doc. Deletes the now-redundant workflow.md
files. No behavioral change — same pattern as advanced-elicitation in PR #2076.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Merge workflow.md content directly into SKILL.md and delete the
now-redundant workflow file. The frontmatter `agent_party` variable
moves into SKILL.md; all relative file references (`./methods.csv`)
remain valid.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(code-review): update sprint-status to done after review completes
The code-review workflow ended without updating sprint-status.yaml from
"review" to "done", leaving stories stuck in review status. The dev-story
workflow implies code-review handles this transition but it was dropped
during the v6.2.0 step-file architecture refactor.
- Add sprint_status path to workflow initialization
- Track story_key in step-01 when discovered from sprint status
- Add step-04 section 6 to update sprint-status.yaml and story file
- Add step-04 section 7 with next-step options
Closes#2043
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(code-review): address PR review findings — split gating, story_key guard, HALT
- Split section 6 guard: story file status gated on spec_file only,
sprint-status sync sub-gated on story_key separately
- Add conditional branch for manual choice in multi-story path so
story_key is cleared when user declines a story selection
- Add HALT directive after Next steps menu to prevent LLM runaway
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(code-review): restore actionable review output with interactive choices
The March 15 rewrite (PR #2007) removed the ability to auto-fix patches,
create action items in story files, and handle deferred/spec findings.
This restores interactive post-review actions:
- Deferred findings: auto-written to deferred-work.md and checked off in story
- Intent gap/bad spec: conversation with downgrade-to-patch, patch-spec,
reset-to-ready-for-dev, or dismiss options
- Patch findings: fix automatically, create action items, or show details
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor(code-review): simplify triage to decision-needed/patch/defer/dismiss
Replace 5-bucket classification (intent_gap, bad_spec, patch, defer, reject)
with 4 pragmatic buckets. Findings always written to story file first.
Decision-needed findings gate patch handling — resolve ambiguity before fixing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(code-review): address PR review findings in step-04-present
Replace undefined curly-brace placeholders with angle-bracket syntax,
add HALT guard before patch menu, guard spec_file references for
no-spec mode, and backtick category names for consistency.
* feat(code-review): add HALT guards, batch option, defer reason, final summary
Add strong HALT guards after decision-needed and patch menus to prevent
auto-progression. Add batch-apply option 0 for >3 patch findings. Prompt
for defer reason and append to story file and deferred-work.md. Show
boxed final summary with counts. Polish clean-review shortcut in triage.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: separate subagent launch from skill invocation in code review
The step-02-review prompt fused "invoke skill X" with "in a subagent"
into one instruction, causing LLMs to search for a named agent instead
of launching a generic subagent that uses the skill. Aligns with the
working pattern in quick-dev step-04: upfront gate with inline fallback,
and "Invoke via the skill" as a separate concern from subagent setup.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(code-review): address PR review findings on subagent fallback wording
Capitalize "Markdown" (proper noun) in Acceptance Auditor prompt and
simplify fallback trigger from "context-free subagents" to "subagents"
to eliminate ambiguity about when the fallback activates.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace bmad-create-product-brief (step-based wizard) and
bmad-product-brief-preview (multi-agent) with a single unified
bmad-product-brief skill. Remove accidentally duplicated market
research step files and template. Update research skill
descriptions to use more natural trigger language.
Remove DEV agent references and simplify to Quick Dev as the single
entry point. Show free-form intent examples, add deferred work section,
clarify that Quick Dev commits for you.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Quick Flow was an umbrella for quick-spec + quick-dev. Quick Spec is
gone and the new preview was promoted to bmad-quick-dev, so the explainer
should be about quick-dev directly. Replaces quick-flow.md with the
original quick-dev-new-preview.md content (renamed), including the
diagram reference. zh-cn uses the original hand-written Chinese
translation. Also removes stale Quick Spec references from agents.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The v6.2.0 release renamed src/core to src/core-skills and src/bmm to
src/bmm-skills, but the installer CLI code still referenced the old
directory names, causing ENOENT crashes during installation.
Updated all path references across 7 files in tools/cli/ including
path.join() calls, string comparisons, regex patterns, and comments.
Fixes#2052
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
The deterministic skill validator was in the npm quality chain but
missing from the GitHub Actions workflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Guard against YAML comment lines in parseFrontmatterMultiline
- Broaden PATH-02 to detect any installed_path mention, not just variable refs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SKILL-04: require bmad- prefix, enforce single dashes via regex
^bmad-[a-z0-9]+(-[a-z0-9]+)*$, drop FORBIDDEN_NAME_SUBSTRINGS
- WF-01/WF-02: check all .md files (not just workflow.md) for stray
name/description frontmatter, with tech-writer exception
- Update skill-validator.md prompt to match all rule changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Require \n---\n (not just \n---) for closing frontmatter delimiter
in both parseFrontmatter and parseFrontmatterMultiline, with fallback
for files ending in \n---
- Add SKILL-07: SKILL.md must have non-empty body content after
frontmatter (L2 instructions are required)
- Update rule count to 14
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace SKILL_LOCATIONS array and AGENT_LOCATION constant with a single
walk from SRC_DIR. Any directory under src/ containing SKILL.md is a
skill — no need to enumerate locations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Step-02 now displays the finalized spec file path as a CWD-relative
clickable link after approval. Step-05 clarifies the dual convention:
project-root-relative paths (leading /) for spec-file content, CWD-relative
paths (no leading /) for terminal/conversation output. One-shot review
order explicitly uses CWD-relative path:line format.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor: consolidate agents into phase-based skill directories
Remove separate agent/workflow/skill directories (src/bmm/agents,
src/bmm/workflows, src/core/skills, src/utility/agent-components) and
reorganize all content into phase-based structures under src/bmm-skills
(1-analysis, 2-plan-workflows, 3-solutioning, 4-implementation) and
src/core-skills. Eliminates the agent/skill distinction by treating
agents as skills within their workflow phase.
* fix: update broken file references to use new bmm-skills paths
* docs: update all references for unified bmad-quick-dev workflow
Remove all references to the old separate bmad-quick-spec and
bmad-quick-dev-new-preview workflows. The new bmad-quick-dev is a
unified workflow that handles intent clarification, planning,
implementation, review, and presentation in a single run.
Updated files across English docs, Chinese translations, source
skill manifests, website diagram, and build tooling.
Add tools/validate-skills.js — a Node CLI that checks 13 deterministic
rules (SKILL-01–06, WF-01–02, PATH-02, STEP-01/06/07, SEQ-02) across
all skill directories. Runs in under a second, exits non-zero on HIGH+
findings in strict mode, and outputs JSON for the inference validator.
- Add validate:skills npm script to quality chain
- Update skill-validator.md with first-pass integration instructions
- Update AGENTS.md push gate documentation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The *.agent.yaml format was replaced by SKILL.md-based agents.
Zero agent YAML files remain in src/, so remove the Zod schema,
validator CLI, fixture-based test suite (52 fixtures), unit tests,
CLI integration tests, and the CI steps that invoked them.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove name/description from step-03-implement.md frontmatter (STEP-06)
- Remove name/description from step-oneshot.md frontmatter (STEP-06)
- Fix {project_root} to {project-root} placeholder convention
- Replace undefined {changed_files} with natural language
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The "elite developer" role with "implement autonomously" and "minimum
ceremony" language actively encouraged the model to skip workflow steps
when it judged the task was simple enough. Replaced with a concrete goal
and a critical rule enforcing step-file compliance.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>