Files
pig-farm-controller/bmad/bmb/workflows/edit-module/instructions.md
2025-11-01 19:22:39 +08:00

12 KiB

Edit Module - Module Editor Instructions

The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/edit-module/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them Communicate all responses in {communication_language}

What is the path to the module you want to edit? (provide path to module directory like bmad/bmm/ or src/modules/bmm/)

Load the module directory structure completely:

  • Scan all directories and files
  • Load config.yaml
  • Load README.md
  • List all agents in agents/ directory
  • List all workflows in workflows/ directory
  • Check for installer files (if in src/modules/)
  • Identify any custom structure or patterns

Load ALL module documentation to inform understanding:

  • Module structure guide: {module_structure_guide}
  • Study reference modules: BMM, BMB, CIS
  • Understand BMAD module patterns and conventions

Analyze the module deeply:

  • Identify module purpose and role in BMAD ecosystem
  • Understand agent organization and relationships
  • Map workflow organization and dependencies
  • Evaluate config structure and completeness
  • Check documentation quality and currency
  • Assess installer configuration (if source module)
  • Identify cross-module integrations
  • Evaluate against best practices from loaded guides

Reflect understanding back to {user_name}:

Present a warm, conversational summary adapted to the module's complexity:

  • What this module provides (its purpose and value in BMAD)
  • How it's organized (agents, workflows, structure)
  • What you notice (strengths, potential improvements, issues)
  • How it fits in the larger BMAD ecosystem
  • Your initial assessment based on best practices

Be conversational and insightful. Help {user_name} see their module through your eyes.

Does this match your understanding of what this module should provide? module_understanding

Understand WHAT the user wants to improve and WHY before diving into edits

Engage in collaborative discovery:

Ask open-ended questions to understand their goals:

  • What prompted you to want to edit this module?
  • What feedback have you gotten from users of this module?
  • Are there specific agents or workflows that need attention?
  • Is the module fulfilling its intended purpose?
  • Are there new capabilities you want to add?
  • How well does it integrate with other modules?
  • Is the documentation helping users understand and use the module?

Listen for clues about:

  • Structural issues (poor organization, hard to navigate)
  • Agent/workflow issues (outdated, broken, missing functionality)
  • Configuration issues (missing fields, incorrect setup)
  • Documentation issues (outdated, incomplete, unclear)
  • Integration issues (doesn't work well with other modules)
  • Installer issues (installation problems, missing files)
  • User experience issues (confusing, hard to use)

Based on their responses and your analysis from step 1, identify improvement opportunities:

Organize by priority and user goals:

  • CRITICAL issues blocking module functionality
  • IMPORTANT improvements enhancing user experience
  • NICE-TO-HAVE enhancements for polish

Present these conversationally, explaining WHY each matters and HOW it would help.

Collaborate on priorities:

Don't just list options - discuss them:

  • "I noticed {{issue}} - this could make it hard for users to {{problem}}. Want to address this?"
  • "The module could be more {{improvement}} which would help when {{use_case}}. Worth exploring?"
  • "Based on what you said about {{user_goal}}, we might want to {{suggestion}}. Thoughts?"

Let the conversation flow naturally. Build a shared vision of what "better" looks like.

improvement_goals

Work iteratively - improve, review, refine. Never dump all changes at once. For agent and workflow edits, invoke specialized workflows rather than doing inline

For each improvement area, facilitate collaboratively:

  1. Explain the current state and why it matters

    • Show relevant sections of the module
    • Explain how it works now and implications
    • Connect to user's goals from step 2
  2. Propose improvements with rationale

    • Suggest specific changes that align with best practices
    • Explain WHY each change helps
    • Provide examples from reference modules when helpful
    • Reference the structure guide's patterns naturally
  3. Collaborate on the approach

    • Ask if the proposed change addresses their need
    • Invite modifications or alternative approaches
    • Explain tradeoffs when relevant
    • Adapt based on their feedback
  4. Apply changes appropriately

    • For agent edits: Invoke edit-agent workflow
    • For workflow edits: Invoke edit-workflow workflow
    • For module-level changes: Make directly and iteratively
    • Show updates and confirm satisfaction

Common improvement patterns to facilitate:

If improving module organization:

  • Discuss how the current structure serves (or doesn't serve) users
  • Propose reorganization that aligns with mental models
  • Consider feature-based vs type-based organization
  • Plan the reorganization steps
  • Update all references after moving files

If updating module configuration:

  • Review current config.yaml fields
  • Check for missing standard fields (user_name, communication_language, output_folder)
  • Add module-specific fields as needed
  • Remove unused or outdated fields
  • Ensure config is properly documented

If managing agents:

  • Ask which agent needs attention and why
  • For editing existing agent:
  • For adding new agent: Guide creation and integration
  • For removing agent: Confirm, remove, update references
  • Ensure all agent references in workflows remain valid

If managing workflows:

  • Ask which workflow needs attention and why
  • For editing existing workflow:
  • For adding new workflow: Guide creation and integration
  • For removing workflow: Confirm, remove, update agent references
  • Ensure all workflow files are properly organized

If improving documentation:

  • Review current README and identify gaps
  • Discuss what users need to know
  • Update module overview and purpose
  • List agents and workflows with clear descriptions
  • Add usage examples if helpful
  • Ensure installation/setup instructions are clear

If setting up cross-module integration:

  • Identify which workflows from other modules are needed
  • Show how to reference workflows properly: {project-root}/bmad/{{module}}/workflows/{{workflow}}/workflow.yaml
  • Document the integration in README
  • Ensure dependencies are clear
  • Consider adding example usage

If updating installer (source modules only):

  • Review installer script for correctness
  • Check web bundle configurations
  • Verify all files are included
  • Test installation paths
  • Update module metadata

When invoking specialized workflows:

Explain why you're handing off:

  • "This agent needs detailed attention. Let me invoke the edit-agent workflow to give it proper focus."
  • "The workflow editor can handle this more thoroughly. I'll pass control there."

After the specialized workflow completes, return and continue:

  • "Great! That agent/workflow is updated. Want to work on anything else in the module?"

Throughout improvements, educate when helpful:

Share insights from the guides naturally:

  • "The module structure guide recommends {{pattern}} for this scenario"
  • "Looking at how BMM organized this, we could use {{approach}}"
  • "The BMAD convention is to {{pattern}} which helps with {{benefit}}"

Connect improvements to broader BMAD principles without being preachy.

After each significant change:

  • "Does this organization feel more intuitive?"
  • "Want to refine this further, or move to the next improvement?"
  • "How does this change affect users of the module?"

improvement_implementation

Run comprehensive validation conversationally:

Don't just check boxes - explain what you're validating and why it matters:

  • "Let me verify the module structure is solid..."
  • "Checking that all agent workflow references are valid..."
  • "Making sure config.yaml has all necessary fields..."
  • "Validating documentation is complete and accurate..."
  • "Ensuring cross-module references work correctly..."

Load validation checklist: {installed_path}/checklist.md Check all items from checklist systematically

Present issues conversationally:

Explain what's wrong and implications:

  • "I found {{issue}} which could cause {{problem}} for users"
  • "The {{component}} needs {{fix}} because {{reason}}"

Propose fixes immediately:

  • "I can fix this by {{solution}}. Should I?"
  • "We have a couple options here: {{option1}} or {{option2}}. Thoughts?"

Fix approved issues and re-validate

Confirm success warmly:

"Excellent! Everything validates cleanly:

  • Module structure is well-organized
  • All agent and workflow references are valid
  • Configuration is complete
  • Documentation is thorough and current
  • Cross-module integrations work properly
  • Installer is correct (if applicable)

Your module is in great shape."

validation_results

Create a conversational summary of what improved:

Tell the story of the transformation:

  • "We started with {{initial_state}}"
  • "You wanted to {{user_goals}}"
  • "We made these key improvements: {{changes_list}}"
  • "Now your module {{improved_capabilities}}"

Highlight the impact:

  • "This means users will experience {{benefit}}"
  • "The module is now more {{quality}}"
  • "It follows best practices for {{patterns}}"

Guide next steps based on changes made:

If structure changed significantly:

  • "Since we reorganized the structure, you should update any external references to this module"

If agents or workflows were updated:

  • "The updated agents/workflows should be tested with real user interactions"

If cross-module integration was added:

  • "Test the integration with {{other_module}} to ensure it works smoothly"

If installer was updated:

  • "Test the installation process to verify all files are included correctly"

If this is part of larger BMAD work:

  • "Consider if patterns from this module could benefit other modules"

Be a helpful guide to what comes next, not just a task completer.

Would you like to:

  • Test the edited module by invoking one of its agents
  • Edit a specific agent or workflow in more detail
  • Make additional refinements to the module
  • Work on a different module

completion_summary