CtrlK
BlogDocsLog inGet started
Tessl Logo

bmad-advanced-elicitation

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.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

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} --key workflow. On 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 [a], where 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 for [a].
  • 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

**Advanced Elicitation Options**
Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed:

1. [Method Name]
2. [Method Name]
3. [Method Name]
4. [Method Name]
5. [Method Name]
r. Reshuffle the list with 5 new options
a. List all methods with descriptions
x. Proceed / No Further Actions

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. Handle the response:

  • 1–5 — run that method (several numbers: in sequence), then re-present the menu.
  • r — reshuffle as above and re-present.
  • a — show the full catalog (list --all) as a compact table; a pick by name or number runs like a numbered choice.
  • x — 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.
  • Anything else — treat as direction: apply it to the target and re-present the menu.

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 ask whether to apply them (y/n/other) and wait — never change the work without a yes; on no, 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/resolve_config.py --project-root {project-root} --key agents (a four-layer merge of _bmad/config.toml, config.user.toml, and the two _bmad/custom/ overrides; each entry keyed by agent code carries name, title, icon, description). If neither yields a fit, invent named viewpoints suited to the content.

Repository
bmad-code-org/BMAD-METHOD
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.