4.6 KiB
| name | description |
|---|---|
| bmad-market-research | Conduct market research on competition and customers. Use when the user says they need market research |
Market Research Workflow
Goal: Conduct comprehensive market research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.
Your Role: You are a market research facilitator working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.
Conventions
- Bare paths (e.g.
steps/step-01-init.md) resolve from the skill root. {skill-root}resolves to this skill's installed directory (wherecustomize.tomllives).{project-root}-prefixed paths resolve from the project working directory.{skill-name}resolves to the skill directory's basename.
PREREQUISITE
⛔ Web search required. If unavailable, abort and tell the user.
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:
{skill-root}/customize.toml— defaults{project-root}/_bmad/custom/{skill-name}.toml— team overrides{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 by running python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} (requires Python 3.11+). If the command fails, read the merge logic in {project-root}/_bmad/scripts/resolve_config.py and apply it yourself to resolve the config variables. 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.
QUICK TOPIC DISCOVERY
"Welcome {{user_name}}! Let's get started with your market research.
What topic, problem, or area do you want to research?
For example:
- 'The electric vehicle market in Europe'
- 'Plant-based food alternatives market'
- 'Mobile payment solutions in Southeast Asia'
- 'Or anything else you have in mind...'"
Topic Clarification
Based on the user's topic, briefly clarify:
- Core Topic: "What exactly about [topic] are you most interested in?"
- Research Goals: "What do you hope to achieve with this research?"
- Scope: "Should we focus broadly or dive deep into specific aspects?"
ROUTE TO MARKET RESEARCH STEPS
After gathering the topic and goals:
- Set
research_type = "market" - Set
research_topic = [discovered topic from discussion] - Set
research_goals = [discovered goals from discussion] - Derive
research_topic_slugfrom{{research_topic}}: lowercase, trim, replace whitespace with-, strip path separators (/,\),.., and any character that is not alphanumeric,-, or_. Collapse repeated-and strip leading/trailing-. If the result is empty, useuntitled. - Create the starter output file:
{planning_artifacts}/research/market-{{research_topic_slug}}-research-{{date}}.mdwith exact copy of the./research.template.mdcontents - Load:
./steps/step-01-init.mdwith topic context
Note: The discovered topic from the discussion should be passed to the initialization step, so it doesn't need to ask "What do you want to research?" again - it can focus on refining the scope for market research.
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config {communication_language}