From 568365e7ff68765a5fffc479e1ec32988f3ddca5 Mon Sep 17 00:00:00 2001 From: Brian Date: Sun, 16 Aug 2026 11:37:41 -0400 Subject: [PATCH] chore: default persistent_facts to an empty array (#2750) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: default persistent_facts to an empty array Every customize.toml shipped with a skill seeded persistent_facts with file:{project-root}/**/project-context.md. That made project-context an opt-out default rather than an opt-in customization. Ship the arrays empty so nothing is loaded unless the user adds it. * docs: correct the persistent_facts default in comments and docs Comments and docs still described project-context.md as loading by default. They were wrong twice over: the array now ships empty, and bmad-project-context no longer produces a project-context.md at all — it writes a verified block into AGENTS.md and treats project-context.md as a legacy artifact. Replace those claims with the actual model: repo-wide context belongs in AGENTS.md, which every skill already sees; persistent_facts carries context only one skill needs, loaded on demand instead of as constant memory. Each site shows the file: entry users can add to opt back in. --- docs/fr/how-to/expand-bmad-for-your-org.md | 2 +- docs/how-to/expand-bmad-for-your-org.md | 2 +- docs/reference/build-auto.md | 3 +-- docs/vi-vn/how-to/expand-bmad-for-your-org.md | 2 +- docs/zh-cn/how-to/expand-bmad-for-your-org.md | 2 +- docs/zh-cn/reference/build-auto.md | 3 +-- .../agents/bmad-agent-analyst/customize.toml | 4 +--- .../agents/bmad-agent-architect/customize.toml | 4 +--- src/bmm-skills/agents/bmad-agent-dev/customize.toml | 4 +--- src/bmm-skills/agents/bmad-agent-pm/customize.toml | 4 +--- .../agents/bmad-agent-ux-designer/customize.toml | 4 +--- src/bmm-skills/plan/bmad-architecture/SKILL.md | 2 +- src/bmm-skills/plan/bmad-architecture/customize.toml | 11 +++++------ .../plan/bmad-create-epics-and-stories/customize.toml | 4 +--- src/bmm-skills/plan/bmad-prd/customize.toml | 11 +++++------ src/bmm-skills/plan/bmad-prfaq/customize.toml | 4 +--- src/bmm-skills/plan/bmad-product-brief/customize.toml | 11 +++++------ src/bmm-skills/plan/bmad-spec/customize.toml | 10 +++++----- .../plan/bmad-sprint-planning/customize.toml | 4 +--- src/bmm-skills/plan/bmad-ux/customize.toml | 4 +--- src/bmm-skills/ship/bmad-build-auto/customize.toml | 4 +--- src/bmm-skills/ship/bmad-build/customize.toml | 4 +--- .../ship/bmad-checkpoint-preview/customize.toml | 4 +--- src/bmm-skills/ship/bmad-code-review/customize.toml | 4 +--- .../ship/bmad-correct-course/customize.toml | 4 +--- .../ship/bmad-qa-generate-e2e-tests/customize.toml | 4 +--- src/bmm-skills/ship/bmad-retrospective/customize.toml | 4 +--- .../v6-shims/bmad-create-architecture/customize.toml | 4 +--- .../v6-shims/bmad-create-prd/customize.toml | 4 +--- src/bmm-skills/v6-shims/bmad-create-story/SKILL.md | 2 +- .../v6-shims/bmad-create-story/customize.toml | 4 +--- src/bmm-skills/v6-shims/bmad-dev-story/customize.toml | 7 +------ src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml | 4 +--- .../v6-shims/bmad-sprint-status/customize.toml | 4 +--- .../v6-shims/bmad-validate-prd/customize.toml | 4 +--- src/core-skills/bmad-brainstorming/customize.toml | 11 +++++------ src/core-skills/bmad-forge-idea/customize.toml | 11 +++++------ src/core-skills/bmad-party-mode/customize.toml | 8 ++++---- src/core-skills/bmad-review/customize.toml | 2 +- 39 files changed, 66 insertions(+), 122 deletions(-) diff --git a/docs/fr/how-to/expand-bmad-for-your-org.md b/docs/fr/how-to/expand-bmad-for-your-org.md index b47f89ecc..695da9dcb 100644 --- a/docs/fr/how-to/expand-bmad-for-your-org.md +++ b/docs/fr/how-to/expand-bmad-for-your-org.md @@ -73,7 +73,7 @@ persistent_facts = [ ] ``` -**Ce qui se passe :** Les faits sont chargés durant l’étape 3 de l’activation du workflow. Quand l’agent rédige le brief, il connaît les champs requis et le document de conventions enterprise. La valeur par défaut livrée (`file:{project-root}/**/project-context.md`) se charge toujours, car il s’agit d’un ajout. +**Ce qui se passe :** Les faits sont chargés durant l’étape 3 de l’activation du workflow. Quand l’agent rédige le brief, il connaît les champs requis et le document de conventions enterprise. Les skills livrés ne portent aucun fait persistant par défaut : ce sont donc les seuls chargés. Mais comme la clé ajoute au lieu de remplacer, un fait défini au niveau équipe et un autre au niveau utilisateur s’appliquent tous les deux. ## Recette 3 : Publier les livrables finis vers des systèmes externes diff --git a/docs/how-to/expand-bmad-for-your-org.md b/docs/how-to/expand-bmad-for-your-org.md index d26b78593..43e3d6661 100644 --- a/docs/how-to/expand-bmad-for-your-org.md +++ b/docs/how-to/expand-bmad-for-your-org.md @@ -73,7 +73,7 @@ persistent_facts = [ ] ``` -**What happens:** The facts load during Step 3 of the workflow's activation. When the agent drafts the brief, it knows the required fields and the enterprise conventions document. The shipped default (`file:{project-root}/**/project-context.md`) still loads, since this is an append. +**What happens:** The facts load during Step 3 of the workflow's activation. When the agent drafts the brief, it knows the required fields and the enterprise conventions document. Shipped skills carry no persistent facts of their own, so these are the only ones loaded — but because the key appends rather than replaces, a fact added at the team level and one added at the user level both apply. ## Recipe 3: Publish Completed Outputs to External Systems diff --git a/docs/reference/build-auto.md b/docs/reference/build-auto.md index 13727fc67..af2869385 100644 --- a/docs/reference/build-auto.md +++ b/docs/reference/build-auto.md @@ -78,8 +78,7 @@ On activation, the workflow resolves: - `_bmad/config.toml`, `_bmad/config.user.toml`, and optional team/user overrides under `_bmad/custom/` - Any configured workflow customizations from `customize.toml`, team overrides, and user overrides -- Persistent facts listed in workflow config -- `project-context.md` files, if present +- Persistent facts listed in workflow config — empty unless you opt in, so nothing is loaded here by default It may also look at: diff --git a/docs/vi-vn/how-to/expand-bmad-for-your-org.md b/docs/vi-vn/how-to/expand-bmad-for-your-org.md index 26e363e45..1eec5c297 100644 --- a/docs/vi-vn/how-to/expand-bmad-for-your-org.md +++ b/docs/vi-vn/how-to/expand-bmad-for-your-org.md @@ -78,7 +78,7 @@ persistent_facts = [ ] ``` -**Điều gì xảy ra:** Những fact này được nạp trong quá trình activation của workflow. Khi agent soạn brief, nó đã biết các trường bắt buộc và tài liệu convention nội bộ. Mặc định có sẵn, ví dụ `file:{project-root}/**/project-context.md`, vẫn tiếp tục được nạp vì phần này chỉ append thêm. +**Điều gì xảy ra:** Những fact này được nạp trong quá trình activation của workflow. Khi agent soạn brief, nó đã biết các trường bắt buộc và tài liệu convention nội bộ. Các skill được ship sẵn không mang fact cố định nào, nên đây là những fact duy nhất được nạp. Nhưng vì khóa này append chứ không thay thế, một fact khai báo ở cấp team và một fact ở cấp user đều có hiệu lực. ## Recipe 3: xuất bản kết quả hoàn tất sang hệ thống ngoài diff --git a/docs/zh-cn/how-to/expand-bmad-for-your-org.md b/docs/zh-cn/how-to/expand-bmad-for-your-org.md index 177360714..a323235e4 100644 --- a/docs/zh-cn/how-to/expand-bmad-for-your-org.md +++ b/docs/zh-cn/how-to/expand-bmad-for-your-org.md @@ -73,7 +73,7 @@ persistent_facts = [ ] ``` -**效果:** 这些事实在工作流激活的第 3 步加载。当智能体起草摘要时,它已了解必填字段和企业规范文档。内置默认值(`file:{project-root}/**/project-context.md`)仍会加载,因为这是追加操作。 +**效果:** 这些事实在工作流激活的第 3 步加载。当智能体起草摘要时,它已了解必填字段和企业规范文档。随附的技能本身不带任何持久事实,因此这些就是加载的全部内容;但由于该键是追加而非替换,团队级和用户级各自添加的事实会同时生效。 ## 方案 3:将完成的产出发布到外部系统 diff --git a/docs/zh-cn/reference/build-auto.md b/docs/zh-cn/reference/build-auto.md index fd71cad44..b886567ed 100644 --- a/docs/zh-cn/reference/build-auto.md +++ b/docs/zh-cn/reference/build-auto.md @@ -78,8 +78,7 @@ workflow 读取 `/stories.yaml`,查找 `id` 匹配的条目。它 - `_bmad/config.toml`、`_bmad/config.user.toml`,以及 `_bmad/custom/` 下可选的团队/用户 override - `customize.toml`、团队 override、用户 override 中的 workflow 自定义 -- workflow 配置中列出的 persistent facts -- 若存在的 `project-context.md` 文件 +- workflow 配置中列出的 persistent facts —— 除非你主动添加,否则为空,默认不会加载任何内容 还可能查看: diff --git a/src/bmm-skills/agents/bmad-agent-analyst/customize.toml b/src/bmm-skills/agents/bmad-agent-analyst/customize.toml index 6c570ff16..fcedfbf76 100644 --- a/src/bmm-skills/agents/bmad-agent-analyst/customize.toml +++ b/src/bmm-skills/agents/bmad-agent-analyst/customize.toml @@ -35,9 +35,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] role = "Help the user ideate research and analyze before committing to a project in the BMad Method analysis phase." identity = "Channels Michael Porter's strategic rigor and Barbara Minto's Pyramid Principle discipline." diff --git a/src/bmm-skills/agents/bmad-agent-architect/customize.toml b/src/bmm-skills/agents/bmad-agent-architect/customize.toml index 82e7204c1..24628802b 100644 --- a/src/bmm-skills/agents/bmad-agent-architect/customize.toml +++ b/src/bmm-skills/agents/bmad-agent-architect/customize.toml @@ -35,9 +35,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] role = "Convert the PRD and UX into technical architecture decisions that keep implementation on track during the BMad Method solutioning phase." identity = "Channels Martin Fowler's pragmatism and Werner Vogels's cloud-scale realism." diff --git a/src/bmm-skills/agents/bmad-agent-dev/customize.toml b/src/bmm-skills/agents/bmad-agent-dev/customize.toml index 35b7b58a4..aa159e0d1 100644 --- a/src/bmm-skills/agents/bmad-agent-dev/customize.toml +++ b/src/bmm-skills/agents/bmad-agent-dev/customize.toml @@ -35,9 +35,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] role = "Implement approved stories with test-first discipline and ship working, verified code during the BMad Method implementation phase." identity = "Disciplined in Kent Beck's TDD and the Pragmatic Programmer's precision." diff --git a/src/bmm-skills/agents/bmad-agent-pm/customize.toml b/src/bmm-skills/agents/bmad-agent-pm/customize.toml index e6f4e7ab9..c4cfc9954 100644 --- a/src/bmm-skills/agents/bmad-agent-pm/customize.toml +++ b/src/bmm-skills/agents/bmad-agent-pm/customize.toml @@ -35,9 +35,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] role = "Translate product vision into a validated PRD, epics, and stories that development can execute during the BMad Method planning phase." identity = "Thinks like Marty Cagan and Teresa Torres. Writes with Bezos's six-pager discipline." diff --git a/src/bmm-skills/agents/bmad-agent-ux-designer/customize.toml b/src/bmm-skills/agents/bmad-agent-ux-designer/customize.toml index 8554e06c3..f316b3d96 100644 --- a/src/bmm-skills/agents/bmad-agent-ux-designer/customize.toml +++ b/src/bmm-skills/agents/bmad-agent-ux-designer/customize.toml @@ -35,9 +35,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] role = "Turn user needs and the PRD into UX design specifications that inform architecture and implementation during the BMad Method planning phase." identity = "Grounded in Don Norman's human-centered design and Alan Cooper's persona discipline." diff --git a/src/bmm-skills/plan/bmad-architecture/SKILL.md b/src/bmm-skills/plan/bmad-architecture/SKILL.md index fffa89960..3cedce9f9 100644 --- a/src/bmm-skills/plan/bmad-architecture/SKILL.md +++ b/src/bmm-skills/plan/bmad-architecture/SKILL.md @@ -50,7 +50,7 @@ Writes go through the shared script (don't read the file back except on resume): **Forwarded activation:** if a caller invoked you with a stated intent and pre-resolved customization fields, honor them verbatim — skip your own intent inference, use the supplied values for those named fields, and resolve only the remaining fields from your own `customize.toml`. -1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` (on failure read `{skill-root}/customize.toml`, use defaults). Run `{workflow.activation_steps_prepend}`, then `{workflow.activation_steps_append}`. Hold `{workflow.persistent_facts}` as standing context — the default loads `project-context.md`, load-bearing for brownfield — and consult `{workflow.external_sources}` on demand. +1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` (on failure read `{skill-root}/customize.toml`, use defaults). Run `{workflow.activation_steps_prepend}`, then `{workflow.activation_steps_append}`. Hold `{workflow.persistent_facts}` as standing context — empty unless the user opted in — and consult `{workflow.external_sources}` on demand. 2. Resolve config: `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (merges `_bmad/config.toml`, `_bmad/config.user.toml`, and the `_bmad/custom/` overrides). From the merged JSON resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{project_name}` (under `core`), `{planning_artifacts}` (under `modules.bmm`), and `{date}`; missing keys take neutral defaults, never block. 3. Headless (no interactive user) → follow `references/headless.md` for the whole run. Otherwise greet `{user_name}` in `{communication_language}`. Detect the intent from the conversation and input — **create** (the default), **update** an existing spine, or **validate** one (see those sections). If the real ask is requirements / UX / a capability contract / epic breakdown / an agent, invoke the `bmad-prd`, `bmad-ux`, `bmad-spec`, `bmad-create-epics-and-stories`, or `bmad-workflow-builder` (if the BMad Builder module is installed) skill instead. 4. If a run folder for this target already exists under `{workflow.spine_output_path}`, offer to resume from its memlog rather than restart. diff --git a/src/bmm-skills/plan/bmad-architecture/customize.toml b/src/bmm-skills/plan/bmad-architecture/customize.toml index 7841f3d02..b8867733f 100644 --- a/src/bmm-skills/plan/bmad-architecture/customize.toml +++ b/src/bmm-skills/plan/bmad-architecture/customize.toml @@ -24,14 +24,13 @@ activation_steps_append = [] # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed # path/glob whose contents are loaded as facts. # -# Default loads project-context.md if bmad-generate-project-context produced one — giving the -# architect persistent awareness of the project's tech, domain, and conventions (load-bearing -# for brownfield). Common opt-ins (set in team/user override TOML): +# Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every +# skill already sees; use this for context only this skill needs, loaded on demand rather than +# carried as constant memory. Common opt-ins (set in team/user override TOML): # "Our org is AWS-only -- do not propose GCP or Azure." # "file:{project-root}/docs/engineering-standards.md" -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +# "file:{project-root}/**/project-context.md" # if you keep a project-context.md +persistent_facts = [] # Executed when the workflow completes (after the spine is final and the user has been told). # String scalar (single instruction) or array of instructions executed in order. Empty for none. diff --git a/src/bmm-skills/plan/bmad-create-epics-and-stories/customize.toml b/src/bmm-skills/plan/bmad-create-epics-and-stories/customize.toml index fb05efaf7..ec3d476e7 100644 --- a/src/bmm-skills/plan/bmad-create-epics-and-stories/customize.toml +++ b/src/bmm-skills/plan/bmad-create-epics-and-stories/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 4 (Final Validation) and the # user confirms [C] Complete — after the epics.md is saved and bmad-help is invoked. diff --git a/src/bmm-skills/plan/bmad-prd/customize.toml b/src/bmm-skills/plan/bmad-prd/customize.toml index 64389aabf..c5982f523 100644 --- a/src/bmm-skills/plan/bmad-prd/customize.toml +++ b/src/bmm-skills/plan/bmad-prd/customize.toml @@ -24,14 +24,13 @@ activation_steps_append = [] # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob # whose contents are loaded as facts. # -# Default loads project-context.md if bmad-generate-project-context has produced one — this gives -# the facilitator persistent awareness of the project's tech, domain, and constraints without -# re-asking. Common opt-ins (set in team/user override TOML): +# Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every +# skill already sees; use this for context only this skill needs, loaded on demand rather than +# carried as constant memory. Common opt-ins (set in team/user override TOML): +# "file:{project-root}/**/project-context.md" # if you keep a project-context.md # "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info # "Investor PRDs must include a market sizing section." # generic agent instruction -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Executed when the workflow completes (after the user has been told the # PRD is ready). Accepts either a string scalar (single instruction) diff --git a/src/bmm-skills/plan/bmad-prfaq/customize.toml b/src/bmm-skills/plan/bmad-prfaq/customize.toml index c8db70955..3309650ca 100644 --- a/src/bmm-skills/plan/bmad-prfaq/customize.toml +++ b/src/bmm-skills/plan/bmad-prfaq/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches its terminal stage (Stage 5: The Verdict), # after the PRFAQ and distillate have been delivered. Override wins. Leave empty for diff --git a/src/bmm-skills/plan/bmad-product-brief/customize.toml b/src/bmm-skills/plan/bmad-product-brief/customize.toml index 8452f3649..0659de1e8 100644 --- a/src/bmm-skills/plan/bmad-product-brief/customize.toml +++ b/src/bmm-skills/plan/bmad-product-brief/customize.toml @@ -24,14 +24,13 @@ activation_steps_append = [] # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob # whose contents are loaded as facts. # -# Default loads project-context.md if bmad-generate-project-context has produced one — this gives -# the facilitator persistent awareness of the project's tech, domain, and constraints without -# re-asking. Common opt-ins (set in team/user override TOML): +# Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every +# skill already sees; use this for context only this skill needs, loaded on demand rather than +# carried as constant memory. Common opt-ins (set in team/user override TOML): +# "file:{project-root}/**/project-context.md" # if you keep a project-context.md # "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info # "Elvis has left the building" # generic agent instruction -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Executed when the workflow completes (after the user has been told the # brief is ready). Accepts either a string scalar (single instruction) diff --git a/src/bmm-skills/plan/bmad-spec/customize.toml b/src/bmm-skills/plan/bmad-spec/customize.toml index 742ab8ac3..e6e8df81e 100644 --- a/src/bmm-skills/plan/bmad-spec/customize.toml +++ b/src/bmm-skills/plan/bmad-spec/customize.toml @@ -20,11 +20,11 @@ activation_steps_append = [] # Persistent facts the workflow keeps in mind for the whole run. # Each entry is either a literal sentence, a skill prefixed with `skill:`, # or a `file:`-prefixed path/glob whose contents are loaded as facts. -# Default points to a single top-level file; override in team/user TOML -# to widen the scope (e.g. `_bmad/**/project-context.md`) if needed. -persistent_facts = [ - "file:{project-root}/project-context.md", -] +# Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), +# which every skill already sees; use this for context only this skill needs, loaded on +# demand rather than carried as constant memory. Add a `file:` entry in team/user TOML to +# opt in (e.g. `file:{project-root}/**/project-context.md` if you keep one). +persistent_facts = [] # Executed when the workflow completes. Scalar or array of instructions. on_complete = "" diff --git a/src/bmm-skills/plan/bmad-sprint-planning/customize.toml b/src/bmm-skills/plan/bmad-sprint-planning/customize.toml index bc89e8230..7c32309af 100644 --- a/src/bmm-skills/plan/bmad-sprint-planning/customize.toml +++ b/src/bmm-skills/plan/bmad-sprint-planning/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches its final step, # after sprint-status.yaml is generated and validated. Override wins. diff --git a/src/bmm-skills/plan/bmad-ux/customize.toml b/src/bmm-skills/plan/bmad-ux/customize.toml index aad0829f0..72dc4b9e4 100644 --- a/src/bmm-skills/plan/bmad-ux/customize.toml +++ b/src/bmm-skills/plan/bmad-ux/customize.toml @@ -14,9 +14,7 @@ activation_steps_append = [] # Persistent facts loaded at activation and kept in mind for the run. # Entries: literal sentence, `skill:NAME`, or `file:PATH` (glob ok). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Runs at workflow completion. String or array of instructions. on_complete = "" diff --git a/src/bmm-skills/ship/bmad-build-auto/customize.toml b/src/bmm-skills/ship/bmad-build-auto/customize.toml index 66e1fcb4d..31809283d 100644 --- a/src/bmm-skills/ship/bmad-build-auto/customize.toml +++ b/src/bmm-skills/ship/bmad-build-auto/customize.toml @@ -24,9 +24,7 @@ activation_steps_append = [] # Entries are literal text or file references prefixed with "file:". # File entries may use globs and are loaded during activation. -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Instruction run by HALT after writing the terminal result. # Empty means no extra terminal behavior. diff --git a/src/bmm-skills/ship/bmad-build/customize.toml b/src/bmm-skills/ship/bmad-build/customize.toml index 661b43899..967d5cfe0 100644 --- a/src/bmm-skills/ship/bmad-build/customize.toml +++ b/src/bmm-skills/ship/bmad-build/customize.toml @@ -24,9 +24,7 @@ activation_steps_append = [] # Entries are literal text or file references prefixed with "file:". # File entries may use globs and are loaded during activation. -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Instruction run after Build completes. # Empty means no extra completion behavior. diff --git a/src/bmm-skills/ship/bmad-checkpoint-preview/customize.toml b/src/bmm-skills/ship/bmad-checkpoint-preview/customize.toml index 2f9b034ac..cef03bfea 100644 --- a/src/bmm-skills/ship/bmad-checkpoint-preview/customize.toml +++ b/src/bmm-skills/ship/bmad-checkpoint-preview/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches its final step, # after the review decision (approve/rework/discuss) is made. Override wins. diff --git a/src/bmm-skills/ship/bmad-code-review/customize.toml b/src/bmm-skills/ship/bmad-code-review/customize.toml index d865c3ff6..8ea86f744 100644 --- a/src/bmm-skills/ship/bmad-code-review/customize.toml +++ b/src/bmm-skills/ship/bmad-code-review/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches its final step, # after review findings are presented and sprint status is synced. Override wins. diff --git a/src/bmm-skills/ship/bmad-correct-course/customize.toml b/src/bmm-skills/ship/bmad-correct-course/customize.toml index d23577e4b..09a7e51d8 100644 --- a/src/bmm-skills/ship/bmad-correct-course/customize.toml +++ b/src/bmm-skills/ship/bmad-correct-course/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 6 (Workflow Completion), # after the Sprint Change Proposal is finalized and handoff is confirmed. Override wins. diff --git a/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/customize.toml b/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/customize.toml index 0a2c6fec5..c5549d3cd 100644 --- a/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/customize.toml +++ b/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 5 (Create Summary), # after all tests pass and the summary document is saved. Override wins. diff --git a/src/bmm-skills/ship/bmad-retrospective/customize.toml b/src/bmm-skills/ship/bmad-retrospective/customize.toml index 816e886fa..9761c9119 100644 --- a/src/bmm-skills/ship/bmad-retrospective/customize.toml +++ b/src/bmm-skills/ship/bmad-retrospective/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed at the end of Phase 5 (Close), after the retrospective # document is saved and sprint-status is updated. Override wins. diff --git a/src/bmm-skills/v6-shims/bmad-create-architecture/customize.toml b/src/bmm-skills/v6-shims/bmad-create-architecture/customize.toml index 327561200..61f5d7fd5 100644 --- a/src/bmm-skills/v6-shims/bmad-create-architecture/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-create-architecture/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 8 (Architecture Completion & Handoff), # after the architecture document frontmatter is updated and next-steps guidance is given. diff --git a/src/bmm-skills/v6-shims/bmad-create-prd/customize.toml b/src/bmm-skills/v6-shims/bmad-create-prd/customize.toml index fde1ba1b1..df74e1d03 100644 --- a/src/bmm-skills/v6-shims/bmad-create-prd/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-create-prd/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 12 (Workflow Completion), # after the PRD is finalized and workflow status is updated. Override wins. diff --git a/src/bmm-skills/v6-shims/bmad-create-story/SKILL.md b/src/bmm-skills/v6-shims/bmad-create-story/SKILL.md index afe75dab5..fbb7a6dad 100644 --- a/src/bmm-skills/v6-shims/bmad-create-story/SKILL.md +++ b/src/bmm-skills/v6-shims/bmad-create-story/SKILL.md @@ -257,7 +257,7 @@ Activation is complete. If `activation_steps_prepend` or `activation_steps_appen Read fully and follow `./discover-inputs.md` to load all input files - Available content: {epics_content}, {prd_content}, {architecture_content}, {ux_content}, plus the project-context facts loaded during activation via `persistent_facts`. + Available content: {epics_content}, {prd_content}, {architecture_content}, {ux_content}, plus any facts loaded during activation via `persistent_facts` (empty unless the user opted in). From {epics_content}, extract Epic {{epic_num}} complete context: **EPIC ANALYSIS:** - Epic diff --git a/src/bmm-skills/v6-shims/bmad-create-story/customize.toml b/src/bmm-skills/v6-shims/bmad-create-story/customize.toml index fbd4a789a..74224225d 100644 --- a/src/bmm-skills/v6-shims/bmad-create-story/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-create-story/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 6 (Update sprint status and finalize), # after the story file is saved and sprint-status.yaml is updated. Override wins. diff --git a/src/bmm-skills/v6-shims/bmad-dev-story/customize.toml b/src/bmm-skills/v6-shims/bmad-dev-story/customize.toml index e2fac266b..d17c8d7b2 100644 --- a/src/bmm-skills/v6-shims/bmad-dev-story/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-dev-story/customize.toml @@ -30,12 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", - "Never add epic or story references as inline code comments (e.g. # Epic: X, # Story: PROJ-42).", - "Code comments explain why, not what — no AI workflow metadata, planning refs, or story tracking in source code.", - "Generated code must be production-ready: clean, minimal, and free of AI-generated noise.", -] +persistent_facts = [] # Scalar: executed when the workflow reaches its final step, # after the story implementation is complete and status is updated. Override wins. diff --git a/src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml b/src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml index 1886d4ace..0de445a9a 100644 --- a/src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step E-4 (Complete & Validate) and the # user exits via [S] Summary or [X] Exit — not on [V] Validate (which chains to diff --git a/src/bmm-skills/v6-shims/bmad-sprint-status/customize.toml b/src/bmm-skills/v6-shims/bmad-sprint-status/customize.toml index c3c5600c4..f99d6c97c 100644 --- a/src/bmm-skills/v6-shims/bmad-sprint-status/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-sprint-status/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches its final step, # after sprint status is summarized and risks are surfaced. Override wins. diff --git a/src/bmm-skills/v6-shims/bmad-validate-prd/customize.toml b/src/bmm-skills/v6-shims/bmad-validate-prd/customize.toml index 15ec851af..547689b56 100644 --- a/src/bmm-skills/v6-shims/bmad-validate-prd/customize.toml +++ b/src/bmm-skills/v6-shims/bmad-validate-prd/customize.toml @@ -30,9 +30,7 @@ activation_steps_append = [] # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" # (glob patterns are supported; the file's contents are loaded and treated as facts). -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +persistent_facts = [] # Scalar: executed when the workflow reaches Step 13 (Validation Report Complete) and # the user exits via [X] Exit — not on [E] Use Edit Workflow (which chains to diff --git a/src/core-skills/bmad-brainstorming/customize.toml b/src/core-skills/bmad-brainstorming/customize.toml index a68c34217..e0e0ccbf1 100644 --- a/src/core-skills/bmad-brainstorming/customize.toml +++ b/src/core-skills/bmad-brainstorming/customize.toml @@ -22,12 +22,11 @@ activation_steps_append = [] # Persistent facts the facilitator keeps in mind for the whole session # (domain constraints, house rules, stylistic guardrails). Each entry is a # literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed -# path/glob whose contents are loaded as facts. Default loads project-context.md -# if bmad-generate-project-context has produced one, giving the facilitator -# persistent awareness of the project's domain without re-asking. -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +# path/glob whose contents are loaded as facts. Empty by default — repo-wide context +# belongs in AGENTS.md (see bmad-project-context), which every skill already sees. Use +# this for context only the facilitator needs, loaded on demand rather than carried as +# constant memory (e.g. `file:{project-root}/**/project-context.md` if you keep one). +persistent_facts = [] # The technique library loaded on demand during the session. Swap the path in # team/user TOML to ship a different or extended catalog of creative methods. diff --git a/src/core-skills/bmad-forge-idea/customize.toml b/src/core-skills/bmad-forge-idea/customize.toml index 98949e26a..91ce9b4ce 100644 --- a/src/core-skills/bmad-forge-idea/customize.toml +++ b/src/core-skills/bmad-forge-idea/customize.toml @@ -20,12 +20,11 @@ activation_steps_append = [] # Persistent facts the interrogator keeps in mind for the whole session # (domain constraints, house rules, what's off the table). Each entry is a # literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed -# path/glob whose contents are loaded as facts. Default loads project-context.md -# when one exists (e.g. from bmad-generate-project-context), so the forge grounds -# in the project's tech, domain, and constraints without re-asking. -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +# path/glob whose contents are loaded as facts. Empty by default — repo-wide context +# belongs in AGENTS.md (see bmad-project-context), which every skill already sees. Use +# this for context only the forge needs, loaded on demand rather than carried as constant +# memory (e.g. `file:{project-root}/**/project-context.md` if you keep one). +persistent_facts = [] # Executed when the session completes. Scalar or array of instructions. Empty for none. on_complete = [] diff --git a/src/core-skills/bmad-party-mode/customize.toml b/src/core-skills/bmad-party-mode/customize.toml index b4b4f5de7..5e404eb78 100644 --- a/src/core-skills/bmad-party-mode/customize.toml +++ b/src/core-skills/bmad-party-mode/customize.toml @@ -22,10 +22,10 @@ activation_steps_append = [] # Persistent facts the orchestrator keeps in mind for the whole session # (house rules, running gags, topics to avoid). Each entry is a literal # sentence, a `skill:`-prefixed reference, or a `file:`-prefixed path/glob whose -# contents load as facts. Default picks up project-context.md if one exists. -persistent_facts = [ - "file:{project-root}/**/project-context.md", -] +# contents load as facts. Empty by default — repo-wide context belongs in AGENTS.md +# (see bmad-project-context), which every skill already sees. Use this for context only +# the party needs, loaded on demand rather than carried as constant memory. +persistent_facts = [] # Which party loads when the user just says "party mode" with no override. # Empty = the installed BMAD agents — exactly the default behavior of a plain diff --git a/src/core-skills/bmad-review/customize.toml b/src/core-skills/bmad-review/customize.toml index e9f8e36c0..37470f5c5 100644 --- a/src/core-skills/bmad-review/customize.toml +++ b/src/core-skills/bmad-review/customize.toml @@ -23,7 +23,7 @@ activation_steps_append = [] # prefixed `file:` are paths or globs whose contents load as facts; all others # are literal facts. The shipped entry is a project-wide glob — set it to [] # if you don't want every review scanning for it. -persistent_facts = ["file:{project-root}/**/project-context.md"] +persistent_facts = [] # Standing review directives applied on every run alongside each lens's own # method. Each entry is a literal sentence or a `file:`-prefixed path/glob