Skills › BMAD Method › bmad-deep-recon › process.md
process.md
10 lines · skills/bmad-deep-recon/references/process.md at bd70c64
Most marks come from matching words in the file, so treat them as pointers.
1# Process
3For a report the user names or drops ("there's a research report at <path>, process it"):
51. **File it.** Find or create the run folder: if a drafted brief for this topic exists, that folder is the target; otherwise infer type and topic from the report (confirm in one line), bind `{doc_workspace}` (expand the folder name with `uv run {skill-root}/scripts/recon_kit.py slug` as in Draft), and init the memlog. Move or copy the original into `{doc_workspace}/imports/` untouched — full fidelity is preserved there, and nowhere else.
62. **Record provenance** in the memlog: what produced it (which tool or firm), when (ask if not evident — production date drives staleness), and what the user wants decided from it.
73. **Extract.** A subagent (fresh context, firewall rules) reads the import and pulls every claim bearing on the decision into digest files under `{doc_workspace}/digests/` — standard shape `{claim, source, publisher, pub_date, accessed, confidence, class}`, keeping the original's citations (the cited source is the publisher; the import is the via). Multiple imports each get their own digest; contradictions between them are findings, not noise.
84. **Check against the pack**: which of the type's dimensions the material covers, which are open, where its claims fall inside two-source classes but rest on one publisher. Verification per the resolved `validation` level (`references/verification.md`) — at `normal` this is a spot-check of the load-bearing claims only, minutes not hours.
95. **Distill** into `<folder name>.md` per `references/synthesis.md` — the succinct, cited, decision-first summary with full metadata frontmatter (topic, type, decision, `source:` provenance, dates, status). This is the artifact downstream skills read; nobody ever reprocesses the import. Open dimensions are listed honestly with a one-line route: draft a follow-up prompt, or a targeted Run on the gap.
106. Finalize per `references/finalize.md`.
Process
For a report the user names or drops ("there's a research report at <path>, process it"):
- File it. Find or create the run folder: if a drafted brief for this topic exists, that folder is the target; otherwise infer type and topic from the report (confirm in one line), bind
{doc_workspace}(expand the folder name withuv run {skill-root}/scripts/recon_kit.py slugas in Draft), and init the memlog. Move or copy the original into{doc_workspace}/imports/untouched — full fidelity is preserved there, and nowhere else. - Record provenance in the memlog: what produced it (which tool or firm), when (ask if not evident — production date drives staleness), and what the user wants decided from it.
- Extract. A subagent (fresh context, firewall rules) reads the import and pulls every claim bearing on the decision into digest files under
{doc_workspace}/digests/— standard shape{claim, source, publisher, pub_date, accessed, confidence, class}, keeping the original's citations (the cited source is the publisher; the import is the via). Multiple imports each get their own digest; contradictions between them are findings, not noise. - Check against the pack: which of the type's dimensions the material covers, which are open, where its claims fall inside two-source classes but rest on one publisher. Verification per the resolved
validationlevel (references/verification.md) — atnormalthis is a spot-check of the load-bearing claims only, minutes not hours. - Distill into
<folder name>.mdperreferences/synthesis.md— the succinct, cited, decision-first summary with full metadata frontmatter (topic, type, decision,source:provenance, dates, status). This is the artifact downstream skills read; nobody ever reprocesses the import. Open dimensions are listed honestly with a one-line route: draft a follow-up prompt, or a targeted Run on the gap. - Finalize per
references/finalize.md.
Runs code scripts/recon_kit.py :5
Starts an agent subagent :7