BMAD-METHOD bmad-generate-project-context

Create project-context.md with AI rules. Use when the user says "generate project context" or "create project context"

install
source · Clone the upstream repo
git clone https://github.com/bmad-code-org/BMAD-METHOD
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/bmad-code-org/BMAD-METHOD "$T" && mkdir -p ~/.claude/skills && cp -r "$T/src/bmm-skills/3-solutioning/bmad-generate-project-context" ~/.claude/skills/bmad-code-org-bmad-method-bmad-generate-project-context && rm -rf "$T"
manifest: src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md
source content

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.