style(skills): follow agentskills.io script conventions

- Drop ./ prefix from script paths (use scripts/ not ./scripts/)
- Use python3 instead of python for explicitness
- Add Available Scripts listing to all SKILL.md files
This commit is contained in:
Brian Madison 2026-04-14 12:51:55 -05:00
parent 99094acd4f
commit 37114a4a14
43 changed files with 241 additions and 77 deletions

View File

@ -5,10 +5,14 @@ description: Strategic business analyst and requirements expert. Use when the us
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `persona`, `inject`, `additional_resources`, and `menu` from customization:
Run: `python ./scripts/resolve-customization.py bmad-agent-analyst --key persona --key inject --key additional_resources --key menu`
Run: `python3 scripts/resolve-customization.py bmad-agent-analyst --key persona --key inject --key additional_resources --key menu`
Use the JSON output as resolved values.
### Step 2: Apply Customization

View File

@ -5,10 +5,14 @@ description: Technical documentation specialist and knowledge curator. Use when
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `persona`, `inject`, `additional_resources`, and `menu` from customization:
Run: `python ./scripts/resolve-customization.py bmad-agent-tech-writer --key persona --key inject --key additional_resources --key menu`
Run: `python3 scripts/resolve-customization.py bmad-agent-tech-writer --key persona --key inject --key additional_resources --key menu`
Use the JSON output as resolved values.
### Step 2: Apply Customization

View File

@ -3,10 +3,14 @@ name: bmad-document-project
description: 'Document brownfield projects for AI context. Use when the user says "document this project" or "generate project docs"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-document-project --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-document-project --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-document-project --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-document-project --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-prfaq
description: Working Backwards PRFAQ challenge to forge product concepts. Use when the user requests to 'create a PRFAQ', 'work backwards', or 'run the PRFAQ challenge'.
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-prfaq --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-prfaq --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -107,6 +111,6 @@ When the user gets stuck, offer concrete suggestions based on what they've share
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-prfaq --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-prfaq --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -15,10 +15,14 @@ The user is the domain expert. You bring structured thinking, facilitation, mark
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `inject`, `additional_resources`, and `config.defaultMode` from customization:
Run: `python ./scripts/resolve-customization.py bmad-product-brief --key inject --key additional_resources --key config.defaultMode`
Run: `python3 scripts/resolve-customization.py bmad-product-brief --key inject --key additional_resources --key config.defaultMode`
Use the JSON output as resolved values.
### Step 2: Apply Activation Customization

View File

@ -10,7 +10,7 @@
Resolve `config.outputFile`, `config.sections`, `config.customSections`, and `review`
from customization:
Run: `python ./scripts/resolve-customization.py bmad-product-brief --key config.outputFile --key config.sections --key config.customSections --key review`
Run: `python3 scripts/resolve-customization.py bmad-product-brief --key config.outputFile --key config.sections --key config.customSections --key review`
If script unavailable, read these fields from the customization files
(most specific first: user > team > skill defaults).

View File

@ -10,7 +10,7 @@
Resolve `config.outputFile`, `config.distillateFile`, `config.alwaysGenerateDistillate`,
and `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-product-brief --key config.outputFile --key config.distillateFile --key config.alwaysGenerateDistillate --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-product-brief --key config.outputFile --key config.distillateFile --key config.alwaysGenerateDistillate --key inject.after`
If script unavailable, read these fields from the customization files
(most specific first: user > team > skill defaults).

View File

@ -3,10 +3,14 @@ name: bmad-domain-research
description: 'Conduct domain and industry research. Use when the user says wants to do domain research for a topic or industry'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-domain-research --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-domain-research --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-domain-research --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-domain-research --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-market-research
description: 'Conduct market research on competition and customers. Use when the user says they need market research'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-market-research --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-market-research --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-market-research --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-market-research --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-technical-research
description: 'Conduct technical research on technologies and architecture. Use when the user says they would like to do or produce a technical research report'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-technical-research --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-technical-research --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-technical-research --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-technical-research --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -5,10 +5,14 @@ description: Product manager for PRD creation and requirements discovery. Use wh
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `persona`, `inject`, `additional_resources`, and `menu` from customization:
Run: `python ./scripts/resolve-customization.py bmad-agent-pm --key persona --key inject --key additional_resources --key menu`
Run: `python3 scripts/resolve-customization.py bmad-agent-pm --key persona --key inject --key additional_resources --key menu`
Use the JSON output as resolved values.
### Step 2: Apply Customization

View File

@ -5,10 +5,14 @@ description: UX designer and UI specialist. Use when the user asks to talk to Sa
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `persona`, `inject`, `additional_resources`, and `menu` from customization:
Run: `python ./scripts/resolve-customization.py bmad-agent-ux-designer --key persona --key inject --key additional_resources --key menu`
Run: `python3 scripts/resolve-customization.py bmad-agent-ux-designer --key persona --key inject --key additional_resources --key menu`
Use the JSON output as resolved values.
### Step 2: Apply Customization

View File

@ -3,10 +3,14 @@ name: bmad-create-prd
description: 'Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-prd --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-create-prd --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-prd --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-create-prd --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-create-ux-design
description: 'Plan UX patterns and design specifications. Use when the user says "lets create UX design" or "create UX specifications" or "help me plan the UX"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-ux-design --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-create-ux-design --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-ux-design --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-create-ux-design --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-edit-prd
description: 'Edit an existing PRD. Use when the user says "edit this PRD".'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-edit-prd --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-edit-prd --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-edit-prd --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-edit-prd --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-validate-prd
description: 'Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-validate-prd --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-validate-prd --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-validate-prd --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-validate-prd --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -5,10 +5,14 @@ description: System architect and technical design leader. Use when the user ask
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `persona`, `inject`, `additional_resources`, and `menu` from customization:
Run: `python ./scripts/resolve-customization.py bmad-agent-architect --key persona --key inject --key additional_resources --key menu`
Run: `python3 scripts/resolve-customization.py bmad-agent-architect --key persona --key inject --key additional_resources --key menu`
Use the JSON output as resolved values.
### Step 2: Apply Customization

View File

@ -3,10 +3,14 @@ name: bmad-check-implementation-readiness
description: 'Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says "check implementation readiness".'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-check-implementation-readiness --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-check-implementation-readiness --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-check-implementation-readiness --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-check-implementation-readiness --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-create-architecture
description: 'Create architecture solution design decisions for AI agent consistency. Use when the user says "lets create architecture" or "create technical architecture" or "create a solution design"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-architecture --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-create-architecture --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-architecture --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-create-architecture --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-create-epics-and-stories
description: 'Break requirements into epics and user stories. Use when the user says "create the epics and stories list"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-epics-and-stories --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-create-epics-and-stories --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-epics-and-stories --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-create-epics-and-stories --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-generate-project-context
description: 'Create project-context.md with AI rules. Use when the user says "generate project context" or "create project context"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-generate-project-context --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-generate-project-context --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-generate-project-context --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-generate-project-context --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -5,10 +5,14 @@ description: Senior software engineer for story execution and code implementatio
## On Activation
### Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
### Step 1: Resolve Activation Customization
Resolve `persona`, `inject`, `additional_resources`, and `menu` from customization:
Run: `python ./scripts/resolve-customization.py bmad-agent-dev --key persona --key inject --key additional_resources --key menu`
Run: `python3 scripts/resolve-customization.py bmad-agent-dev --key persona --key inject --key additional_resources --key menu`
Use the JSON output as resolved values.
### Step 2: Apply Customization

View File

@ -3,10 +3,14 @@ name: bmad-checkpoint-preview
description: 'LLM-assisted human-in-the-loop review. Make sense of a change, focus attention where it matters, test. Use when the user says "checkpoint", "human review", or "walk me through this change".'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-checkpoint-preview --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-checkpoint-preview --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -40,6 +44,6 @@ Read fully and follow `./step-01-orientation.md` to begin.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-checkpoint-preview --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-checkpoint-preview --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-code-review
description: 'Review code changes adversarially using parallel review layers (Blind Hunter, Edge Case Hunter, Acceptance Auditor) with structured triage into actionable categories. Use when the user says "run code review" or "review this code"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-code-review --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-code-review --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-code-review --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-code-review --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-correct-course
description: 'Manage significant changes during sprint execution. Use when the user says "correct course" or "propose sprint change"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-correct-course --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-correct-course --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-correct-course --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-correct-course --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-create-story
description: 'Creates a dedicated story file with all the context the agent will need to implement it later. Use when the user says "create the next story" or "create story [story identifier]"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-story --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-create-story --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-create-story --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-create-story --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-dev-story
description: 'Execute story implementation following a context filled story spec file. Use when the user says "dev this story [story file]" or "implement the next story in the sprint plan"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-dev-story --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-dev-story --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-dev-story --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-dev-story --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-qa-generate-e2e-tests
description: 'Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-qa-generate-e2e-tests --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-qa-generate-e2e-tests --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-qa-generate-e2e-tests --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-qa-generate-e2e-tests --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-quick-dev
description: 'Implements any user intent, requirement, story, bug fix or change request by producing clean working code artifacts that follow the project''s existing architecture, patterns and conventions. Use when the user wants to build, fix, tweak, refactor, add or modify any code, component or feature.'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-quick-dev --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-quick-dev --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-quick-dev --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-quick-dev --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-retrospective
description: 'Post-epic review to extract lessons and assess success. Use when the user says "run a retrospective" or "lets retro the epic [epic]"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-retrospective --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-retrospective --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-retrospective --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-retrospective --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-sprint-planning
description: 'Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-sprint-planning --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-sprint-planning --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-sprint-planning --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-sprint-planning --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-sprint-status
description: 'Summarize sprint status and surface risks. Use when the user says "check sprint status" or "show sprint status"'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-sprint-status --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-sprint-status --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-sprint-status --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-sprint-status --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ 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.'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-advanced-elicitation --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-advanced-elicitation --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -147,6 +151,6 @@ x. Proceed / No Further Actions
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-advanced-elicitation --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-advanced-elicitation --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-brainstorming
description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate.'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-brainstorming --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-brainstorming --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -17,6 +21,6 @@ Follow the instructions in ./workflow.md.
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-brainstorming --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-brainstorming --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-distillator
description: Lossless LLM-optimized compression of source documents. Use when the user requests to 'distill documents' or 'create a distillate'.
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-distillator --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-distillator --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -188,6 +192,6 @@ This stage proves the distillate is lossless by reconstructing source documents
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-distillator --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-distillator --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-editorial-review-prose
description: 'Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-editorial-review-prose --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-editorial-review-prose --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -94,6 +98,6 @@ If `additional_resources` is not empty, read each listed file and incorporate as
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-editorial-review-prose --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-editorial-review-prose --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-editorial-review-structure
description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-editorial-review-structure --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-editorial-review-structure --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -190,6 +194,6 @@ Use the following output format:
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-editorial-review-structure --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-editorial-review-structure --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-help
description: 'Analyzes current state and user query to answer BMad questions or recommend the next skill(s) to use. Use when user asks for help, bmad help, what to do next, or what to start with in BMad.'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-help --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-help --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -86,6 +90,6 @@ For each recommended item, present:
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-help --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-help --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-index-docs
description: 'Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-index-docs --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-index-docs --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -73,6 +77,6 @@ If `additional_resources` is not empty, read each listed file and incorporate as
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-index-docs --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-index-docs --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-party-mode
description: 'Orchestrates group discussions between installed BMAD agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-party-mode --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-party-mode --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -136,6 +140,6 @@ When the user says they're done (any natural phrasing — "thanks", "that's all"
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-party-mode --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-party-mode --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-review-adversarial-general
description: 'Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-review-adversarial-general --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-review-adversarial-general --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -46,6 +50,6 @@ Output findings as a Markdown list (descriptions only).
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-review-adversarial-general --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-review-adversarial-general --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-review-edge-case-hunter
description: 'Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven. Use when you need exhaustive edge-case analysis of code, specs, or diffs.'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-review-edge-case-hunter --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-review-edge-case-hunter --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -75,6 +79,6 @@ No extra text, no explanations, no markdown wrapping. An empty array `[]` is val
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-review-edge-case-hunter --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-review-edge-case-hunter --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.

View File

@ -3,10 +3,14 @@ name: bmad-shard-doc
description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
---
## Available Scripts
- **`scripts/resolve-customization.py`** -- Resolves customization from three-layer TOML merge (user > team > defaults). Outputs JSON.
## Resolve Customization
Resolve `inject` and `additional_resources` from customization:
Run: `python ./scripts/resolve-customization.py bmad-shard-doc --key inject --key additional_resources`
Run: `python3 scripts/resolve-customization.py bmad-shard-doc --key inject --key additional_resources`
Use the JSON output as resolved values.
If `inject.before` is not empty, incorporate its content as high-priority context.
@ -116,6 +120,6 @@ Present user with options for the original document:
## Post-Workflow Customization
After the workflow completes, resolve `inject.after` from customization:
Run: `python ./scripts/resolve-customization.py bmad-shard-doc --key inject.after`
Run: `python3 scripts/resolve-customization.py bmad-shard-doc --key inject.after`
If resolved `inject.after` is not empty, incorporate its content as a final checklist or validation gate.