with one click
bmad-technical-research
// Conduct technical research on technologies and architecture. Use when the user says they would like to do or produce a technical research report
// Conduct technical research on technologies and architecture. Use when the user says they would like to do or produce a technical research report
Create, update, or validate a product brief. Use when the user wants help producing, editing, or validating a brief.
UX designer and UI specialist. Use when the user asks to talk to Sally or requests the UX designer.
Create, update, or validate a PRD. Use when the user wants help producing, editing, or validating a PRD.
Plan UX patterns and design specifications. Use when the user says "lets create UX design" or "create UX specifications" or "help me plan the UX"
Product manager for PRD creation and requirements discovery. Use when the user asks to talk to John or requests the product manager.
DEPRECATED — consolidated into bmad-prd create intent - this skill will be removed in v7 in favor of `bmad-prd`.
| name | bmad-technical-research |
| description | Conduct technical research on technologies and architecture. Use when the user says they would like to do or produce a technical research report |
Goal: Conduct comprehensive technical research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.
Your Role: You are a technical 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.
technical-steps/step-01-init.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.⛔ Web search required. If unavailable, abort and tell the user.
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 overridesAny 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.
Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.
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.
Load config from {project-root}/_bmad/bmm/config.yaml and resolve:
{user_name} for greeting{communication_language} for all communications{document_output_language} for output documents{planning_artifacts} for output location and artifact scanning{project_knowledge} for additional context scanningGreet {user_name}, speaking in {communication_language}.
Execute each entry in {workflow.activation_steps_append} in order.
Activation is complete. Begin the workflow below.
"Welcome {{user_name}}! Let's get started with your technical research.
What technology, tool, or technical area do you want to research?
For example:
Based on the user's topic, briefly clarify:
After gathering the topic and goals:
research_type = "technical"research_topic = [discovered topic from discussion]research_goals = [discovered goals from discussion]research_topic_slug from {{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, use untitled.{planning_artifacts}/research/technical-{{research_topic_slug}}-research-{{date}}.md with exact copy of the ./research.template.md contents./technical-steps/step-01-init.md with topic contextNote: 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 technical research.
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config {communication_language}