PluginBench
Skill
Pass
Audit score 90

bmad-advanced-elicitation

bmad-code-org/bmad-method

Push LLMs to reconsider and refine output using structured critique methods like Socratic questioning and pre-mortem analysis.

What is bmad-advanced-elicitation?

Advanced Elicitation is a refinement checkpoint that applies deeper critique techniques to recent outputs. Invoke it directly when you want to pressure-test a draft, plan, or decision, or let other skills call it automatically at natural pauses to improve their work before handing it back.

  • Serves a curated menu of 5 elicitation methods matched to the target (risk, technical, collaboration, or creative angles)
  • Runs chosen methods in sequence, showing what each reveals and proposing concrete changes
  • Compounds refinements across multiple method applications so improvements build
  • Reshuffles method options on demand to attack the target from fresh angles
  • Integrates with party mode to reuse session agents as personas in round tables, panels, and debates

How to install bmad-advanced-elicitation

npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-advanced-elicitation
Prerequisites
  • BMad method framework installed (run `npx skills add bmad-code-org/BMAD-METHOD --skill bmad` if not present)
  • Project with `customize.toml` and `_bmad/scripts/` directory, or skill will read defaults from `customize.toml`
Claude Code
Cursor
Windsurf
Cline

How to use bmad-advanced-elicitation

  1. 1.Call the skill on your recent output (draft, plan, decision, or code section)
  2. 2.Review the offered menu of 5 elicitation methods tailored to your target
  3. 3.Pick one or more methods, or reshuffle to see different options
  4. 4.For each method chosen, review the critique and proposed changes, then accept or reject
  5. 5.Repeat with new methods until satisfied, then choose Proceed to finalize the enhanced version

Use cases

Good for
  • Pressure-test a technical architecture decision before implementation by running risk and first-principles methods
  • Deepen a flat or generic draft section by applying creative and Socratic critique methods in sequence
  • Validate a plan's assumptions using pre-mortem and red-team methods before stakeholder sign-off
  • Refine a decision by having multiple personas debate trade-offs in a structured panel format
  • Improve code or design by running technical critique methods and accepting or rejecting proposals iteratively
Who it's for
  • Engineers and architects validating decisions before major commits
  • Writers and content creators deepening drafts through structured critique
  • Product and project managers pressure-testing plans and assumptions
  • Teams using party mode to get diverse agent perspectives on decisions
  • Anyone seeking deeper analysis of recent work via Socratic, first-principles, or adversarial methods

bmad-advanced-elicitation FAQ

What happens if I reject a method's proposal?

The proposal is dropped entirely and the work stays unchanged. You can then pick a different method or give new direction.

Can I use this with party mode active?

Yes. When party mode is active, the skill reuses agents already in the session as personas for round tables, panels, and debates instead of inventing viewpoints.

How does the skill pick which methods to offer?

It analyzes the target (draft, plan, code, decision) and selects 2–4 relevant categories (risk, technical, collaboration, creative), then hand-picks 5 methods that attack from different angles while respecting your workflow preferences.

What if BMad is not set up in my project?

The skill will detect this and offer to run the `bmad` skill's setup, installing BMad first if needed, then retry the customization step.

Can I add custom elicitation methods?

Yes. Define them in `customize.toml` under `workflow.additional_methods` and they become first-class in all menus, reshuffles, and listings.

Full instructions (SKILL.md)

Source of truth, from bmad-code-org/bmad-method.


name: bmad-advanced-elicitation description: 'Push the LLM to reconsider, refine, and improve its recent output. Use when user asks for deeper critique or mentions a known deeper critique method, e.g. socratic, first principles, pre-mortem, red team'

Advanced Elicitation

You are BMad's shared refinement checkpoint: other skills invoke you at natural pauses to pressure the piece of work they just produced, and users call you directly on anything recent. The target is the most recent output in the conversation — a section, plan, draft, or decision — unless the caller or user points at something else. You offer a short menu of elicitation methods, run the chosen ones against the target, and hand back the improved version so the invoking flow resumes exactly where it paused. Work in the surrounding session's communication language.

Conventions

  • Bare paths (e.g. assets/methods.csv) resolve from {skill-root} (where customize.toml lives); {project-root}-prefixed paths from the project working directory.
  • {workflow.<name>} resolves to fields in the merged customize.toml [workflow] table.

On Activation

  1. Resolve customization: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.
    • Script not found: BMad is not set up here. Offer to run the bmad skill's setup, installing bmad first if you do not have it (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run the command again.
    • Any other failure: read {skill-root}/customize.toml directly and use defaults.
  2. Hold every {workflow.preferences} entry for the whole session, fix the target, and serve the first menu.

Serving the Catalog

scripts/pick_methods.py serves the method catalog (num, category, method_name, description, output_pattern) so it never enters context whole — the one exception is listing the full catalog, when the user asked for all of it. Invoke as:

uv run {skill-root}/scripts/pick_methods.py --file {workflow.methods_file} <command>

If {workflow.additional_methods} is non-empty, add --extra '<its entries as a JSON array>' (or a path to a JSON file holding them) on every call, so custom methods are first-class in menus, reshuffles, and listings.

  • categories — category names + counts, the cheap map.
  • list --category <cat> [--category <cat>] — the index for chosen categories; --all dumps the whole catalog, only when listing all.
  • show <name-or-num> [...] — full rows by name or num.
  • random -n 5 --spread [--exclude <name>]... — a category-diverse random draw.

First menu: run categories, pick the 2–4 categories that fit the target (risk before a launch, technical for code, collaboration when stakeholders compete, creative when the content is flat), list them, and hand-pick five methods that attack the target from different angles — honoring {workflow.preferences}. Reshuffle: random -n 5 --spread, excluding everything already offered.

The Menu

HALT and give the user a choice:

  • The five offered methods, listed by name. The user may pick one or several.
  • Reshuffle — replace the list with five new options.
  • List all — show the full catalog with descriptions.
  • Proceed — no further elicitation.

This menu is the interface other skills and their users rely on — keep its options and behavior stable. When party mode is active in the session, add _Party mode is active — agents will join in._ under the heading.

  • If the user picks methods: run them (several: in sequence), then offer the menu again.
  • If the user chooses Reshuffle: reshuffle as above and offer the menu again.
  • If the user chooses List all: show the full catalog (list --all) as a compact table; a pick by name or number runs like a method choice.
  • If the user chooses Proceed: done. The current enhanced version is final for this content: hand it back to the invoking skill as the replacement for what it had, and signal completion so it continues. If anything shown was never accepted, confirm what should carry over before returning.
  • Any other reply is direction: apply it to the target and offer the menu again.

Running a Method

Use the method's description as its intent and its output_pattern as a flexible flow guide; scale depth to the target — a paragraph gets a light pass, an architecture decision gets the full treatment. Each application works on the current enhanced version, so refinements compound. Show what the method revealed and the changes it proposes, then HALT and give the user a choice:

  • Apply — accept the proposed changes.
  • Reject — drop the proposal entirely.
  • Or give different direction.

Never change the work unless the user accepts the proposal. If they reject it, drop the proposal entirely. Any other reply is instruction to follow.

When a method casts personas (round tables, panels, debates), reuse party members already in the session if party mode is active; otherwise resolve installed agents on demand via uv run {project-root}/_bmad/scripts/roster.py --skill {skill-root} --project-root {project-root} (its agents table is keyed by agent code; each entry carries name, title, icon, persona). If neither yields a fit, invent named viewpoints suited to the content.