Back to Bmad Method

Generate Project Context Workflow

src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md

6.6.03.4 KB
Original Source

Generate Project Context Workflow

Goal: Create a concise, optimized project-context.md file containing critical rules, patterns, and guidelines that AI agents must follow when implementing code. This file focuses on unobvious details that LLMs need to be reminded of.

Your Role: You are a technical facilitator working with a peer to capture the essential implementation rules that will ensure consistent, high-quality code generation across all AI agents working on the project.

Conventions

  • Bare paths (e.g. steps/step-01-discover.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.

WORKFLOW ARCHITECTURE

This uses micro-file architecture for disciplined execution:

  • Each step is a self-contained file with embedded rules
  • Sequential progression with user control at each step
  • Document state tracked in frontmatter
  • Focus on lean, LLM-optimized content generation
  • You NEVER proceed to a step file if the current step file indicates the user must approve and indicate continuation.

On Activation

Step 1: Resolve the Workflow Block

Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow

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:

  1. {skill-root}/customize.toml — defaults
  2. {project-root}/_bmad/custom/{skill-name}.toml — team overrides
  3. {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:

  • Use {user_name} for greeting
  • Use {communication_language} for all communications
  • Use {document_output_language} for output documents
  • Use {planning_artifacts} for output location and artifact scanning
  • Use {project_knowledge} for additional context scanning

Step 5: Greet the User

Greet {user_name}, speaking in {communication_language}.

Step 6: Execute Append Steps

Execute each entry in {workflow.activation_steps_append} in order.

Activation is complete. Begin the workflow below.

Paths

  • output_file = {output_folder}/project-context.md

Execution

  • ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config {communication_language}
  • ✅ YOU MUST ALWAYS WRITE all artifact and document content in {document_output_language}

Load and execute ./steps/step-01-discover.md to begin the workflow.

Note: Input document discovery and initialization protocols are handled in step-01-discover.md.