Commit Graph

94 Commits

Author SHA1 Message Date
Jonah Schulte 2526e7c9cb refactor: rename workflows for clarity
Renamed three implementation workflows to avoid confusion:
- batch-super-dev → batch-stories (processes multiple stories)
- super-dev-pipeline → story-full-pipeline (single story with validation/review)
- story-pipeline → story-dev-only (basic TDD implementation only)

Changes include:
- Renamed workflow directories
- Updated workflow.yaml name fields and installed_path references
- Updated all cross-references in workflow.md files
- Updated state file naming conventions for clarity
- Updated references in documentation and other workflows

This naming convention eliminates pattern-matching confusion by using
completely distinct names for each workflow level.
2026-01-28 02:47:19 -05:00
Jonah Schulte b4217ba65f fix: explicit slash command detection + document resilience improvements
**Slash Command Detection Fix:**
- Check for <command-name> tag explicitly (not pseudocode)
- If tag exists: Run in main context (interactive)
- If no tag: Delegate to Task agent (internal call)
- Reduces task nesting from 3 levels to 1 level

**Resilience Documentation:**
- Added RESILIENCE-FIX.md documenting state tracking
- Proposes state file for resume capability
- File read retry logic
- Error handling improvements

**Expected improvement:**
- Slash commands: No Task wrapper (1 level nesting)
- Fewer file access issues
- Can resume after crashes

To be implemented in future release.
2026-01-26 18:59:48 -05:00
Jonah Schulte 39f78c6412 fix: allow slash commands in main context, enforce Task agents for internal calls
**Problem:**
- workflow.xml enforced Task agent for ALL workflow executions
- User slash commands like /batch-super-dev need interactive prompts
- Can't run in Task agent (no user interaction)

**Solution:**
- Detect invocation source
- User slash command: Allow in main context
- Internal workflow call: Force Task agent delegation

**Detection:**
- Slash command: User message contains '/bmad_' or <command-name> tag
- Internal call: Invoked from within another workflow step

**Benefits:**
- Interactive workflows work (user can respond to prompts)
- Internal calls still get fresh context (Task agents)
- Balance between enforcement and UX

Tested: /bmad_bmm_batch-super-dev now runs without violation error.
2026-01-26 18:28:46 -05:00
Jonah Schulte 8df0378a4a fix: sync ALL enforcement fixes from craftedcall production testing
**Enforcement Fixes from craftedcall (commits 9e299817e through 63e719d77):**

1. **workflow.xml** - Mandatory Task agent delegation
   - FORBIDS executing workflows in main context
   - REQUIRES workflow-executor Task agent
   - Prevents context bloat and degradation

2. **step-enforcement.xml** (NEW)
   - Centralized enforcement rules
   - Task checkbox verification
   - Dev Agent Record requirements

3. **workflow-executor.md** (NEW)
   - Agent dedicated to workflow execution
   - Loads ALL context upfront
   - Executes with fresh context

4. **ALL-STEPS-EMBEDDED.md** (NEW)
   - All 12 steps in single file
   - Prevents agents from skipping steps
   - Complete pipeline visibility

5. **step-04-implement.md** - Per-task checkbox enforcement
   - Verify after EVERY task
   - Auto-fix with 3-attempt retry
   - Batch task verification

6. **step-10-complete.md** - Pre-commit verification
   - Verify checked tasks > 0
   - Auto-populate Dev Agent Record
   - HALT only after auto-fix exhausted

7. **step-01-init.md** - Canonical filename enforcement
   - ONE format only
   - Auto-rename legacy files

8. **multi-agent-review/workflow.yaml** - Canonical format

These fixes were battle-tested on Epic 18 and proven to work.
All 352 unit tests passing.
2026-01-26 16:45:10 -05:00
Jonah Schulte bc950dec99 fix: add CRITICAL enforcement to prevent workflow failures (from production battle-testing)\n**Root Cause Analysis:**
Agents marked stories 'done' but left ALL tasks unchecked, Dev Agent Records empty,
and implemented different code than story specifications. This happened because
workflows had NO ENFORCEMENT - everything was optional theater.

**Enforcement Added (7 files changed):**

1. **workflow.xml** - Filename validation at completion
   - Verifies output matches canonical format
   - Auto-renames wrong-named files
   - Prevents 'story-' prefix proliferation

2. **step-04-implement.md** - Per-task checkbox enforcement
   - After EVERY task: Verify checkbox updated
   - Auto-fix with Edit tool if missing
   - 3-attempt retry before halt
   - Batch tasks: Loop through all, verify each

3. **step-10-complete.md** - Final verification before commit
   - Count checked tasks (HALT if zero)
   - Verify Dev Agent Record filled (HALT if empty)
   - Auto-fix from git commit if missing

4. **batch-super-dev Step 4.5** - Mandatory reconciliation
   - Verify checked_tasks > 0 after reconciliation
   - Auto-fix: Read commit → match tasks → check boxes
   - Fill Dev Agent Record from commit message
   - Override status to 'in-progress' if <80% complete

5. **super-dev-pipeline/workflow.yaml** - Canonical filename pattern
   - Changed: story-*.md → *.md (removed 'story-' prefix)

6. **multi-agent-review/workflow.yaml** - Canonical format
   - Changed: story-{story_id}.md → {story_id}.md

7. **batch-super-dev instructions** - ONE canonical format
   - Format: {epic}-{story}-{slug}.md (NO 'story-' prefix)
   - Auto-rename legacy 'story-' files
   - Removed all 6 pattern variations
   - Single format everywhere

**Behavioral Changes:**
- Before: Agents could skip tasks, leave checkboxes unchecked, claim 'done'
- After: Auto-fix with retry, HALT only if all attempts exhausted
- Before: Multiple filename formats caused confusion
- After: ONE format, auto-rename legacy files
- Before: No verification, trust agent claims
- After: Verify EVERYTHING, auto-fix failures

**Tested in production:**
- Epic 18 batch execution revealed all failure modes
- Every enforcement added addresses real observed failure
- No theoretical fixes - all battle-tested

**Quality Standards:**
Lives are at stake. Zero tolerance for unchecked tasks or missing documentation.

Ref: craftedcall commits 9e299817e, e607a4422, 6a9d87176, 0240b4742, 91f73c7f4
2026-01-26 09:47:49 -05:00
Alex Verkhovsky 9abd6654f1
feat: add optional style_guide input to editorial review tasks (#1380)
When provided, the style_guide input overrides all generic principles
(including Microsoft Style Guide baseline, reader-type priorities, and
structure-model selection) except CONTENT IS SACROSANCT.

Changes to both editorial-review-structure.xml and editorial-review-prose.xml:
- Add style_guide input after content input
- Add STYLE GUIDE OVERRIDE instruction in llm section
- Add "Consult style_guide" action in Step 3 for mid-flow refresh

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-24 00:24:54 -06:00
Brian Madison 431b961451 Update agent command file naming to include -agent- in filename
- Change agent command files from bmad_module_name to bmad_module_agent_name
- Update path-utils.js to insert 'agent' segment in agent file names
- Update CSV files to reflect new underscore naming convention
- Refactor toUnderscorePath to use toUnderscoreName for consistency
- Update parseUnderscoreName to handle new agent naming pattern

Examples:
- bmm/agents/pm.md → bmad_bmm_agent_pm.md (was bmad_bmm_pm.md)
- cis/agents/brainstorming.md → bmad_cis_agent_brainstorming.md
- Core agents: bmad_agent_name.md
2026-01-23 22:30:14 -06:00
Alex Verkhovsky def8da0acb
refactor: replace 'execute' with 'Read fully and follow:' in workflow prompts (#1387)
Replace ambiguous "execute" terminology with explicit "Read fully and follow:"
phrasing across all workflow files to prevent LLM goal-seeking behavior where
models attempt to "achieve the end result" rather than following step-by-step
instructions verbatim.

Changes:
- Update 5 handler templates with canonical phrasing
- Replace ~150 INSTRUCTIONAL patterns across 87 workflow files
- Add "[Workflow] complete." prefix to 7 workflow endpoints
- Preserve BEHAVIORAL/STRUCTURAL patterns (agent descriptions, XML tags)
- Fix gitignore and markdownlint to ignore all node_modules directories

Closes #1372

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 22:25:19 -06:00
Brian Madison efbe839a0a installer cleanup 2026-01-23 00:27:26 -06:00
Alex Verkhovsky aad132c9b1
feat: add optional also_consider input to adversarial review task (#1371)
Add an optional also_consider parameter that allows callers to pass
domain-specific areas to keep in mind during review. This gently nudges
the reviewer toward specific concerns without overriding normal analysis.

Testing showed:
- Specific items steer strongly (questions get directly answered)
- Domain-focused items shift the lens (e.g., security focus = deeper security findings)
- Vague items have minimal effect (similar to baseline)
- Single items nudge without dominating
- Contradictory items handled gracefully

Includes test cases with sample content and 10 configurations to validate
the parameter behavior across different use cases.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-22 22:26:25 -06:00
Brian Madison 5d89298fe8 brainstorming docs now go to /brainstorming folder instead of /analysis 2026-01-21 23:18:38 -06:00
Brian Madison c9c3d31d3a add the phase four items to the workflow csv for bmm. compile all csv to a install file. improve the bmad-help to know how to work with the csv that contains the workflows from all installed modules 2026-01-21 20:47:43 -06:00
Brian Madison 83641eee9d improve all install prompts 2026-01-18 17:27:50 -06:00
Brian Madison 7cd4926adb project-root stutter fix 2026-01-15 23:03:02 -06:00
Brian Madison 577c1aa218 remove modules moved to new repos and update installer to support the remote module isntallation and updates. this is a temporary imlemtation machanism 2026-01-15 22:20:56 -06:00
Brian Madison 3360666c2a remove hard inclusion of AV from installer, to replace with module soon 2026-01-14 23:04:19 -06:00
Eduard Voiculescu 59e1b7067c
remove remember the users name is {user_name}, it is already present in the activation-steps.txt (#1315) 2026-01-14 21:04:43 -06:00
Alex Verkhovsky d419ac8a70
feat: add editorial review tasks for structure and prose (#1307)
* feat: add editorial review tasks for structure and prose

Add two complementary editorial review tasks:

- editorial-review-structure.xml: Structural editor that proposes cuts,
  reorganization, and simplification. Includes 5 document archetype models
  (Tutorial, Reference, Explanation, Prompt, Strategic) for targeted evaluation.

- editorial-review-prose.xml: Clinical copy-editor for prose improvements
  using Microsoft Writing Style Guide as baseline.

Both tasks support humans and llm target audiences with different principles.

* fix: add content-sacrosanct guardrail to editorial review tasks

Both editorial review tasks (prose and structure) were missing the key
constraint that reviewers should never challenge the ideas/knowledge
themselves—only how clearly they are communicated. This restores the
original design intent.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: align reader_type parameter naming across editorial tasks

Prose task was using 'target_audience' for the humans/llm optimization
flag while structure task correctly separates 'target_audience' (who
reads) from 'reader_type' (optimization mode). Aligns to reader_type.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-13 00:20:04 +08:00
Brian Madison 7bf05c9d9d fix missing scripts from installation, and add ability to exclude workflows from being added as commands in tools, the first being the example workflow meant just for workflow example to the workflow builder 2026-01-07 16:21:25 +08:00
Davor Racic 51aa3dda2f
fix: brainstorming (#1251)
* fix(brainstorming): extend ideation phase with 100+ idea goal

Add emphasis on quantity-first approach to unlock better quality ideas.
Introduce energy checkpoints, multiple continuation options, and clearer
success metrics to keep users in generative exploration mode longer.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(brainstorming): improve exploration menus and fix workflow paths

- Change menu options from numbers [1-4] to letters [K/T/A/B/C] for clearer navigation
- Fix workflow references from .yaml to .md across agents and patterns
- Add universal facilitation rules emphasizing 100+ idea quantity goal
- Update exploration menu with Keep/Try/Advanced/Break/Continue options

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(brainstorming): implement research-backed procedural rigor

Phase 4 achievements:
- Added Anti-Bias Protocol (Every 10 ideas domain pivot)
- Added Chain-of-Thought requirements (Reasoning before generation)
- Implemented Simulated Temperature prompts for higher divergence
- Standardized Idea Format Template for quality control
- Fixed undefined Advanced Elicitation variables
- Synchronized documentation with new [K, T, A, P, C] pattern

* fix(brainstorming): align ideation goals and fix broken workflow paths

- Standardized quantity goals to 100+ ideas across all brainstorming steps
- Fixed broken .yaml references pointing to renamed .md workflow files
- Aligned documentation summaries with mandatory IDEA FORMAT TEMPLATE
- Cleaned up misplaced mindset/goal sections in core workflow file
- Fixed spelling and inconsistencies in facilitation rules

* Fix ambiguous variable names in brainstorming ideation step

* fix(brainstorming): enforce quality growth alongside quantity

* fix: correct dependency format and add missing frontmatter variable

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 09:09:03 +08:00
Brian Madison d8b13bdb2e agents all indicate hasSidecar true or false, validation requires it, agent builder and validator and editor use the field. Added a better brownfield doc 2025-12-31 21:30:19 +08:00
Brian Madison 484990de50 all sharded progressive workflows integrate language choice deeply with each step biased towards configured language. Tested with Spanish and Pirate Speak, worked really well. 2025-12-29 19:35:20 +08:00
Brian Madison 8d679b177b advanced elicitation moved to workflows folder. core module extensive documentation added. 2025-12-28 19:44:55 +08:00
Brian Madison 24cedea690 phase 3 input disco and output updated 2025-12-26 20:44:45 +08:00
Brian Madison 59a0eec2e2 all agents passing new validation checks 2025-12-26 17:34:20 +08:00
Brian Madison 1f16bb7413 agent renormalized, and all now have chat and party mode auto injectioned 2025-12-26 12:00:37 +08:00
Alex Verkhovsky b1d1242fcf
fix: restore agent files accidentally modified in Docusaurus merge (#1191)
* fix: restore agent files accidentally modified in Docusaurus merge

Restores 25 agent files to their pre-merge state:
- Trigger format with shortcuts (WS, CH, BP, etc.) restored
- Fuzzy matching syntax restored
- BMB module: restores separate agent-builder, module-builder,
  workflow-builder agents; removes consolidated bmad-builder

Also updates test to match restored trigger format.

Note: Schema validation needs update in follow-up commit.

* fix: normalize trigger fuzzy match format for schema validation

- Add dashes to fuzzy match text to match kebab-case triggers
- Add missing 'chat' kebab in CH triggers (CH or chat or fuzzy match on chat)
- Relax schema to allow 1-3 char shortcuts and skip shortcut derivation check
- Remove compound-wrong-shortcut test fixture (no longer validated)

All 24 agent files now pass schema validation.
2025-12-26 06:59:39 +08:00
Alex Verkhovsky 19df17b261
feat: add documentation website with Docusaurus build pipeline (#1177)
* feat: add documentation website with Docusaurus build pipeline

* feat(docs): add AI discovery meta tags for llms.txt files

- Add global headTags with ai-terms, llms, llms-full meta tags
- Update landing page link to clarify AI context purpose

* fix(docs): restore accidentally deleted faq.md and glossary.md

Files were removed in 12dd97fe during path restructuring.

* fix(docs): update broken project-readme links to GitHub URL

* feat(schema): add compound trigger format validation
2025-12-23 23:01:36 +08:00
Alex Verkhovsky dcaa892ce1
refactor(bmm): convert quick-dev workflow to sharded format with adversarial review (#1182)
convert quick-dev workflow to sharded format with adversarial review
2025-12-23 17:48:47 +08:00
Brian Madison 9c268f8190 remove asterix insertion into agent files 2025-12-22 08:18:53 +08:00
Brian Madison 32615afaf9 memory location is non configurable _bmad/_memory for sidecar content 2025-12-16 15:43:38 +08:00
Brian Madison bbda7171bd quick update output modified 2025-12-15 17:30:12 +08:00
Brian Madison 5716282898 roo installer had some bugs 2025-12-15 15:08:19 +08:00
Brian Madison 1da7705821 folder workflow naming alignment for consistency 2025-12-15 10:17:58 +08:00
Brian Madison 4c65f3a006 quick install fixed 2025-12-13 23:45:47 +08:00
Brian Madison cba7cf223f standardize custom agent workflow and module output, and improve module folder selection 2025-12-13 22:59:58 +08:00
Brian Madison ae9851acab _cfg -> _config 2025-12-13 19:41:09 +08:00
Brian Madison ce42d56fdd agent customzation almost working again 2025-12-13 17:50:33 +08:00
Brian Madison 25c79e3fe5 folder rename from .bmad to _bmad 2025-12-13 16:22:34 +08:00
Brian Madison e6f911d791 remove dead and unused functionality - the web bundler will be replaced 2025-12-13 14:06:35 +08:00
Brian Madison 446a0359ab fix bmb workflow paths 2025-12-10 20:50:24 +09:00
Brian Madison 55cb4681bc party mode and brainstorming had bmm config instead of core config listed causing loading error when bmm is not an installed module - fixed. 2025-12-08 08:11:39 -06:00
Brian Madison 6430173738 all modules custom or core use the same installer and have consistent behavior now. 2025-12-07 17:17:50 -06:00
Brian Madison 8c04ccf3f0 rename default folder location for agent_sidecar_folder installation location 2025-12-06 21:21:03 -06:00
Brian Madison ba2c81263b remove: all legacy file cleanup functionality
- Removed scanForLegacyFiles, performCleanup, and related methods from installer.js
- Removed --skip-cleanup option from install command
- Deleted cleanup.js command file entirely
- Simplified installation flow by removing cleanup prompts
- All tests passing after removal
2025-12-06 17:11:40 -06:00
Alex Verkhovsky e3f756488a
feat(quality): add markdownlint-cli2 to quality checks (#1039)
- Add markdownlint-cli2 as dev dependency
- Add lint:md script to package.json
- Add markdownlint job to CI workflow
- Configure 5 rules: heading-increment, no-duplicate-heading,
  no-trailing-punctuation, no-bare-urls, no-space-in-emphasis
- Fix existing violations across 19 markdown files
- No auto-fix to prevent destructive changes

Closes #1034

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-06 12:40:07 -06:00
Alex Verkhovsky e979b47fe5
fix(workflows): remove hardcoded years from WebSearch queries (#1040)
* update 2024 to 2025

* fix(workflows): remove hardcoded years from WebSearch queries

Years in search queries (2024/2025) do not improve results - search
engines already prioritize current documentation. Tested all patterns
and confirmed identical quality results with/without years.

Removes years from:
- step-03-starter.md (5 queries)
- step-04-decisions.md (2 queries)
- game-architecture/instructions.md (2 queries)

Leaves file-utils.md unchanged (test fixture data, not a search query).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(workflows): remove year placeholders from research WebSearch queries

Search engines return current results regardless of year - removes
{{current_year}} and hardcoded 2025 from step-05-technical-trends.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(workflows): replace {{current_year}} with semantic alternatives

Replaces year placeholder with context-appropriate wording:
- 'current data' for up-to-date information
- 'web searches' without year qualifier
- Updated failure mode to focus on using web searches

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(workflows): clarify failure mode about stale training data

Rephrased to explicitly mention training data cutoff as the reason
to use web searches for current technology trends.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(workflows): make web search references platform-agnostic

- Remove hardcoded year references from WebSearch queries
- Replace `WebSearch` tool name with natural language "search the web"
- Soften "training data is stale" to "verify and supplement your knowledge"
- Add web search prerequisite check to research workflow
- Add platform-agnostic design note to CLAUDE.md

This framework targets 15+ agentic platforms, not just Claude Code.
Tool-specific syntax like `WebSearch:` won't work across all platforms.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor(research): clean up prompts and routing

---------

Co-authored-by: Pomazan Bohdan <pomazan.bogdan@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-06 12:37:50 -06:00
Brian Madison aa1cf76f88 new workflow types generate slash commands 2025-12-03 21:36:24 -06:00
Brian Madison a0732df56c more step sharded workflows added for architecture and some fixes across all workflows to improve their file loading and reduction of time based estimates. 2025-11-29 01:49:15 -06:00
Brian Madison 4e254d7c63 brainstorming, research and partymode updated to use sharded step flow workflows 2025-11-29 01:49:15 -06:00