Atlas / Skills / bmad-code-org / Bmad Agent Tech Writer

Bmad Agent Tech WriterBLOCK

skills/bmad-code-org/bmad-agent-tech-writer

Breakthrough Method for Agile Ai Driven Development

Verdict
BLOCK
Grade
D
Trust score
69 /100
Version
—
Hosts
7 documented
License
NOASSERTION
Stars
54,556
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://github.com/bmad-code-org/BMAD-METHOD/tags) [](LICENSE) [](https://discord.gg/gk8jAdXWmj)

Agile Ai Driven Development — turn an idea or change request into working software without giving up the thinking.

Ai Driven Development (AiDD) covers the whole effort, not only the code: what to build, how it holds together, and how it changes as you learn. BMad Method is the agile way to do it — decisions stay explicit, context carries forward, and the process sizes itself to the work. Small changes go straight to build. Complex work gets the depth it needs. The same method covers a weekend prototype and a system with years of history behind it.

Start anywhere. Use BMad end to end, or carry its briefs, specifications, and architecture into your existing delivery workflow.

Start Building

BMad ships on two lines. The stable release is v6.12, installed by the npm installer and frozen aside from bug fixes. V7 is in preview alpha on this branch: its skills, install path, and docs change often. The v7 release ETA is October 16, 2026, and it might be sooner. Both routes need uv for BMad setup and Python scripts.

Stable: v6.12 (recommended if stability is needed until v7 is finalized for release)

With Node.js 20.12+ and Python 3.10+, run in your project:

npx bmad-method install

Open your project in your AI coding tool, invoke bmad-build with what you want

Read from source at commit 3acd2da41b89OBSERVED · 2026-10-26
Advertisement
02

Install

Commands as the repository documents them. They are shown, not run.

npx skills add bmad-code-org/BMAD-METHOD --skill '*'
uv run /abs/project/_bmad/scripts/render_skill.py \
uv run {project-root}/_bmad/scripts/resolve_customization.py \
uv run {project-root}/_bmad/scripts/resolve_customization.py \
git clone --depth 1 --branch 5.2.4 https://github.com/django/django.git bmad-django
uv python install 3.12
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
copilotmentioned
cursormentioned
gemini-climentioned
openclawmentioned
windsurfmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
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:

```bash
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.
05

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
declared (1 observation(s))
Shell
declared (2 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (19)

HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
skills/bmad-agent-po/references/board.md:71
- Query published containers with their leaves; `mirror` reports them under `containers`, never `unmatched`; tell the user when one's tracker status differs from its file's, and close one only through
Why it matters. asks the agent to act without the user's knowledge
HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
skills/bmad-architecture/SKILL.md:25
When the stack is open — greenfield, or a small/beginner project that could sit on a paved path — **recommend a well-known current starter** (verify the going choice on the web first): a good one pre-
Why it matters. asks the agent to act without the user's knowledge
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs-site/README.md:53
The `docs-site/src/content/docs` symlink may not work correctly on Windows without Developer Mode enabled or administrator privileges.
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
MEDIUMInventory / provenance · inv.symlink · CWE-1104
docs-site/src/content/docs
docs-site/src/content/docs
Why it matters. link not followed
LOWInventory / provenance · inv.hidden_file · CWE-1104
.coderabbit.yaml
.coderabbit.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.pre-commit-config.yaml
.pre-commit-config.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.yamllint.yaml
.yamllint.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
docs-site/src/integrations/diagrams.js:44
const hash = createHash('sha1');
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
skills/bmad-brainstorming/scripts/brain.py:231
deg = int(hashlib.md5(cat.encode("utf-8")).hexdigest(), 16) % 360
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
docs-site/scripts/fix-doc-links.js:20
const DOCS_ROOT = path.resolve(__dirname, '../../docs');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
docs-site/scripts/validate-doc-links.js:21
const DOCS_ROOT = path.resolve(__dirname, '../../docs');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
docs-site/scripts/validate-sidebar-order.js:18
const DOCS_ROOT = path.resolve(__dirname, '../../docs');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
docs-site/test/test-rehype-plugins.mjs:396
const tree = makeAnchorTree('../../../../../../outside.md');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
docs-site/test/test-rehype-plugins.mjs:398
assert(getHref(tree) === '../../../../../../outside.md', 'Target outside content root unchanged', `Got ${getHref(tree)}`);
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
docs-site/package.json
@astrojs/markdown-remark, @astrojs/sitemap, @astrojs/starlight, @eslint/js, astro, eslint, eslint-config-prettier, eslint-plugin-n
Why it matters. 13 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOPrompt injection · prompt.conditional_escalation · CWE-94, CWE-1427
skills/bmad-code-review/SKILL.md:3
description: 'Review code changes with several independent reviewers in parallel, then triage and present the findings. Use when the user says "run code review" or "review this code"'
INFOPrompt injection · prompt.conditional_escalation · CWE-94, CWE-1427
skills/bmad-retrospective/SKILL.md:3
description: 'Review a finished epic folder in the ticket tree against the evidence it left behind — the epic file, each ticket's story file and plan, diffs, commits — and produce a retrospective with
INFOPrompt injection · prompt.fetch_and_trust · CWE-94, CWE-1427
skills/bmod-core-tools/help/help.md:62
For a `core-tools` question this document, its topic files, and the installed skills cannot answer, fetch the documentation site at `https://docs.bmad-method.org/` and follow the pages relevant to the
Why it matters. remote text is to be obeyed as instructions
INFOPrompt injection · prompt.fetch_and_trust · CWE-94, CWE-1427
skills/bmod-method/help/help.md:160
For a `method` question this document, its topic files, and the installed skills cannot answer, fetch the documentation site at `https://docs.bmad-method.org/` and follow the pages relevant to the que
Why it matters. remote text is to be obeyed as instructions

Gates applied: instruction_override, no_behavioural_pass.

Audited 2026-10-26 · audit v0.4.1 · source sha 3acd2da41b89full audit observations/trust-audit/skill/bmad-code-org__bmad-agent-tech-writer.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-263acd2da41b89BLOCKD69first audit
07

Questions

What does the bmad-agent-tech-writer — bmad-code-org/bmad-method skill do?

Breakthrough Method for Agile Ai Driven Development

Is bmad-agent-tech-writer — bmad-code-org/bmad-method safe to install?

No — not without reading the findings first. The audit graded it D (69/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can bmad-agent-tech-writer — bmad-code-org/bmad-method access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

Which assistants does bmad-agent-tech-writer — bmad-code-org/bmad-method work with?

Its documentation mentions claude-code, codex, copilot, cursor, gemini-cli, openclaw and windsurf. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (3acd2da41b89), read on 2026-10-26. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Bmad Agent Tech Writer](https://modelsatlas.com/skills/bmad-code-org/bmad-agent-tech-writer/badge.svg)](https://modelsatlas.com/skills/bmad-code-org/bmad-agent-tech-writer/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement