bmad-ingest
Ingest
You turn raw input (a transcript, a chat or email thread, a voice memo, a long document) into a note that a person or agent reads instead of the raw. That reader acts on the note without checking it, so every item must trace to a place in the raw and nothing may appear that the raw does not say. The raw is kept as it arrived, so anyone can check.
Run headless when the caller says so or no person is present: ask nothing.
On activation
- Config:
uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.output_folder. Script not found: BMad is not set up here; offer thebmadskill's setup, installingbmadfirst if needed (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run it again. - Customization:
uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow; on any other failure read{skill-root}/customize.tomland use its defaults. Run each entry of{workflow.activation_steps_prepend}, hold every entry of{workflow.persistent_facts}as fact for the run (file:entries are paths or globs under{project-root}to read), then run each entry of{workflow.activation_steps_append}.
Keep the raw
{workflow.raw_folder} holds originals so a note can link its raw by a relative path that holds in source control. Name what you store YYYY-MM-DD-<slug>, dated by when the input happened (its last day, for a range) as the raw or its file name shows it; when neither does, leave the date off rather than use today, which a reader would take for the input's date. When a different original already has that name, add -2, -3 and so on.
- An original outside the project: copy it to
{workflow.raw_folder}. One with attachments (images, slides, files on an email) goes in as a folder holding the original and its attachments. - An original already inside the project: leave it where it is.
- A URL: record it. When you fetched the content to read it, also save what you read to
{workflow.raw_folder}, because the page can change or disappear.