fix(skills): use resolve_config.py instead of reading config.yaml directly
Skills were reading _bmad/bmm|core/config.yaml directly, bypassing the TOML merge mechanism. Now they call resolve_config.py first, with a fallback to read the merge logic and apply it manually.
This commit is contained in:
parent
cb4f85223c
commit
8e7d5b4bea
|
|
@ -46,7 +46,7 @@ Treat every entry in `{agent.persistent_facts}` as foundational context you carr
|
||||||
|
|
||||||
### Step 5: Load Config
|
### Step 5: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Treat every entry in `{agent.persistent_facts}` as foundational context you carr
|
||||||
|
|
||||||
### Step 5: Load Config
|
### Step 5: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
### Configuration Loading
|
### Configuration Loading
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_knowledge`
|
- `project_knowledge`
|
||||||
- `user_name`
|
- `user_name`
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
### Configuration Loading
|
### Configuration Loading
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_knowledge`
|
- `project_knowledge`
|
||||||
- `user_name`
|
- `user_name`
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ Briefs produced here are honest, right-sized to purpose, and built for what come
|
||||||
1. Resolve customization: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, surface the diagnostic and halt.
|
1. Resolve customization: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, surface the diagnostic and halt.
|
||||||
2. Execute each entry in `{workflow.activation_steps_prepend}` in order.
|
2. Execute each entry in `{workflow.activation_steps_prepend}` in order.
|
||||||
3. Treat every entry in `{workflow.persistent_facts}` as foundational context for the rest of the run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
3. Treat every entry in `{workflow.persistent_facts}` as foundational context for the rest of the run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
||||||
4. Load `{project-root}/_bmad/bmm/config.yaml` (and `config.user.yaml` if present). Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`.
|
4. Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`.
|
||||||
5. Greet `{user_name}` in `{communication_language}`. Detect intent (create / update / validate). If interactive and intent is unclear, ask; for headless behavior see `## Headless Mode`.
|
5. Greet `{user_name}` in `{communication_language}`. Detect intent (create / update / validate). If interactive and intent is unclear, ask; for headless behavior see `## Headless Mode`.
|
||||||
6. Execute each entry in `{workflow.activation_steps_append}` in order.
|
6. Execute each entry in `{workflow.activation_steps_append}` in order.
|
||||||
|
|
||||||
|
|
@ -59,6 +59,13 @@ When invoked headless, do not ask. Complete the intent using what is provided, w
|
||||||
|
|
||||||
Omit keys for artifacts that were not produced.
|
Omit keys for artifacts that were not produced.
|
||||||
|
|
||||||
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
- Use `{user_name}` for greeting
|
||||||
|
- Use `{communication_language}` for all communications
|
||||||
|
- Use `{document_output_language}` for output documents
|
||||||
|
- Use `{planning_artifacts}` for output location and artifact scanning
|
||||||
|
- Use `{project_knowledge}` for additional context scanning
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
Conversationally surface what the user brings, why this brief exists, and the domain — echo back how each shapes your approach. Open with space for the full picture: invite a brain dump and ask up front for any source material they already have (memo, deck, transcript, prior brief, slack thread). Read what exists first; ask only what is missing. After the dump, a simple "anything else?" often surfaces what they almost forgot. Drill into specifics only after the broad shape is on the table; premature granular questions interrupt the dump and miss the room. Get a read on stakes early (passion project, internal pitch, investor input, public launch), and let that calibrate how hard you push. Suggest research (web, competitive, market) only when the stakes warrant it.
|
Conversationally surface what the user brings, why this brief exists, and the domain — echo back how each shapes your approach. Open with space for the full picture: invite a brain dump and ask up front for any source material they already have (memo, deck, transcript, prior brief, slack thread). Read what exists first; ask only what is missing. After the dump, a simple "anything else?" often surfaces what they almost forgot. Drill into specifics only after the broad shape is on the table; premature granular questions interrupt the dump and miss the room. Get a read on stakes early (passion project, internal pitch, investor input, public launch), and let that calibrate how hard you push. Suggest research (web, competitive, market) only when the stakes warrant it.
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Treat every entry in `{agent.persistent_facts}` as foundational context you carr
|
||||||
|
|
||||||
### Step 5: Load Config
|
### Step 5: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Treat every entry in `{agent.persistent_facts}` as foundational context you carr
|
||||||
|
|
||||||
### Step 5: Load Config
|
### Step 5: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Treat every entry in `{agent.persistent_facts}` as foundational context you carr
|
||||||
|
|
||||||
### Step 5: Load Config
|
### Step 5: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Treat every entry in `{agent.persistent_facts}` as foundational context you carr
|
||||||
|
|
||||||
### Step 5: Load Config
|
### Step 5: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
- Use `{document_output_language}` for output documents
|
- Use `{document_output_language}` for output documents
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `implementation_artifacts`
|
- `implementation_artifacts`
|
||||||
- `planning_artifacts`
|
- `planning_artifacts`
|
||||||
|
|
@ -63,6 +63,18 @@ Activation is complete. Begin the workflow below.
|
||||||
- **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
|
- **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
|
||||||
- **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.
|
- **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
## INITIALIZATION
|
||||||
|
|
||||||
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
|
- `implementation_artifacts`
|
||||||
|
- `planning_artifacts`
|
||||||
|
- `communication_language`
|
||||||
|
- `document_output_language`
|
||||||
|
|
||||||
|
>>>>>>> 3846e184 (fix(skills): use resolve_config.py instead of reading config.yaml directly)
|
||||||
## FIRST STEP
|
## FIRST STEP
|
||||||
|
|
||||||
Read fully and follow `./step-01-orientation.md` to begin.
|
Read fully and follow `./step-01-orientation.md` to begin.
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_name`, `user_name`
|
- `project_name`, `user_name`
|
||||||
- `communication_language`, `document_output_language`
|
- `communication_language`, `document_output_language`
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_name`, `user_name`
|
- `project_name`, `user_name`
|
||||||
- `communication_language`, `document_output_language`
|
- `communication_language`, `document_output_language`
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_name`, `user_name`
|
- `project_name`, `user_name`
|
||||||
- `communication_language`, `document_output_language`
|
- `communication_language`, `document_output_language`
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ Treat every entry in `{workflow.persistent_facts}` as foundational context you c
|
||||||
|
|
||||||
### Step 4: Load Config
|
### Step 4: Load Config
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_name`, `user_name`
|
- `project_name`, `user_name`
|
||||||
- `communication_language`, `document_output_language`
|
- `communication_language`, `document_output_language`
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ This uses **micro-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### Configuration Loading
|
### Configuration Loading
|
||||||
|
|
||||||
Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
|
Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
|
|
||||||
- `project_name`, `output_folder`, `user_name`
|
- `project_name`, `output_folder`, `user_name`
|
||||||
- `communication_language`, `document_output_language`, `user_skill_level`
|
- `communication_language`, `document_output_language`, `user_skill_level`
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ When this skill completes, the user should:
|
||||||
## Data Sources
|
## Data Sources
|
||||||
|
|
||||||
- **Catalog**: `{project-root}/_bmad/_config/bmad-help.csv` — assembled manifest of all installed module skills
|
- **Catalog**: `{project-root}/_bmad/_config/bmad-help.csv` — assembled manifest of all installed module skills
|
||||||
- **Config**: `config.yaml` and `user-config.yaml` files in `{project-root}/_bmad/` and its subfolders — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
|
- **Config**: Run `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` to get merged config. If that fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
|
||||||
- **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
|
- **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
|
||||||
- **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
|
- **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
|
||||||
- **Module docs**: Rows with `_meta` in the `skill` column carry a URL or path in `output-location` pointing to the module's documentation (e.g., llms.txt). Fetch and use these to answer general questions about that module.
|
- **Module docs**: Rows with `_meta` in the `skill` column carry a URL or path in `output-location` pointing to the module's documentation (e.g., llms.txt). Fetch and use these to answer general questions about that module.
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ Party mode accepts optional arguments when invoked:
|
||||||
|
|
||||||
1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
|
1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
|
||||||
|
|
||||||
2. Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
|
2. Load config by running `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (requires Python 3.11+). If the command fails, read the merge logic in `{project-root}/_bmad/scripts/resolve_config.py` and apply it yourself to resolve the config variables. Resolve:
|
||||||
- Use `{user_name}` for greeting
|
- Use `{user_name}` for greeting
|
||||||
- Use `{communication_language}` for all communications
|
- Use `{communication_language}` for all communications
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue