diff --git a/src/bmm-skills/1-analysis/bmad-agent-analyst/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/bmad-agent-analyst/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/bmad-agent-analyst/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/bmad-agent-analyst/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/bmad-agent-tech-writer/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/bmad-agent-tech-writer/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/bmad-agent-tech-writer/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/bmad-agent-tech-writer/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md b/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md index 38b8e29df..707353f4b 100644 --- a/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/1-analysis/bmad-document-project/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/bmad-document-project/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/bmad-document-project/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/bmad-document-project/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md b/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md index f5f37bcaa..4b18430cb 100644 --- a/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Working Backwards: The PRFAQ Challenge @@ -113,4 +113,4 @@ When the user gets stuck, offer concrete suggestions based on what they've share After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/1-analysis/bmad-prfaq/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/bmad-prfaq/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/bmad-prfaq/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/bmad-prfaq/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/bmad-product-brief/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/bmad-product-brief/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/bmad-product-brief/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/bmad-product-brief/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md b/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md index 29b49db6a..e0800f61d 100644 --- a/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +++ b/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/1-analysis/research/bmad-domain-research/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/research/bmad-domain-research/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/research/bmad-domain-research/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/research/bmad-domain-research/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md b/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md index 576538e12..88e8b74e0 100644 --- a/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +++ b/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/1-analysis/research/bmad-market-research/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/research/bmad-market-research/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/research/bmad-market-research/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/research/bmad-market-research/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md b/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md index 3ed374b07..21b4ae4a1 100644 --- a/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +++ b/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/1-analysis/research/bmad-technical-research/scripts/resolve-customization.py b/src/bmm-skills/1-analysis/research/bmad-technical-research/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/1-analysis/research/bmad-technical-research/scripts/resolve-customization.py +++ b/src/bmm-skills/1-analysis/research/bmad-technical-research/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/2-plan-workflows/bmad-agent-pm/scripts/resolve-customization.py b/src/bmm-skills/2-plan-workflows/bmad-agent-pm/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/2-plan-workflows/bmad-agent-pm/scripts/resolve-customization.py +++ b/src/bmm-skills/2-plan-workflows/bmad-agent-pm/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/scripts/resolve-customization.py b/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/scripts/resolve-customization.py +++ b/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md index b7133c74d..58ae6ab61 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/2-plan-workflows/bmad-create-prd/scripts/resolve-customization.py b/src/bmm-skills/2-plan-workflows/bmad-create-prd/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/2-plan-workflows/bmad-create-prd/scripts/resolve-customization.py +++ b/src/bmm-skills/2-plan-workflows/bmad-create-prd/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/SKILL.md index f546e9ac2..971cee855 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/scripts/resolve-customization.py b/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/scripts/resolve-customization.py +++ b/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md index 54b0e9155..6b8b65144 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/2-plan-workflows/bmad-edit-prd/scripts/resolve-customization.py b/src/bmm-skills/2-plan-workflows/bmad-edit-prd/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/2-plan-workflows/bmad-edit-prd/scripts/resolve-customization.py +++ b/src/bmm-skills/2-plan-workflows/bmad-edit-prd/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md index 8ba6ba892..36bc6159d 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/2-plan-workflows/bmad-validate-prd/scripts/resolve-customization.py b/src/bmm-skills/2-plan-workflows/bmad-validate-prd/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/2-plan-workflows/bmad-validate-prd/scripts/resolve-customization.py +++ b/src/bmm-skills/2-plan-workflows/bmad-validate-prd/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/3-solutioning/bmad-agent-architect/scripts/resolve-customization.py b/src/bmm-skills/3-solutioning/bmad-agent-architect/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/3-solutioning/bmad-agent-architect/scripts/resolve-customization.py +++ b/src/bmm-skills/3-solutioning/bmad-agent-architect/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md b/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md index 916962db6..33e5024ac 100644 --- a/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/scripts/resolve-customization.py b/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/scripts/resolve-customization.py +++ b/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md b/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md index 1cd17b9ea..a8d0ce08e 100644 --- a/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/3-solutioning/bmad-create-architecture/scripts/resolve-customization.py b/src/bmm-skills/3-solutioning/bmad-create-architecture/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/3-solutioning/bmad-create-architecture/scripts/resolve-customization.py +++ b/src/bmm-skills/3-solutioning/bmad-create-architecture/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md b/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md index 87c0491d4..d0fa06a32 100644 --- a/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/scripts/resolve-customization.py b/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/scripts/resolve-customization.py +++ b/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md b/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md index 2f7aec65b..9534d9585 100644 --- a/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/3-solutioning/bmad-generate-project-context/scripts/resolve-customization.py b/src/bmm-skills/3-solutioning/bmad-generate-project-context/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/3-solutioning/bmad-generate-project-context/scripts/resolve-customization.py +++ b/src/bmm-skills/3-solutioning/bmad-generate-project-context/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-agent-dev/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-agent-dev/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-agent-dev/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-agent-dev/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md b/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md index 4a5f86fba..183b7ddff 100644 --- a/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Checkpoint Review Workflow @@ -46,4 +46,4 @@ Read fully and follow `./step-01-orientation.md` to begin. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-checkpoint-preview/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-checkpoint-preview/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-checkpoint-preview/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-checkpoint-preview/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md b/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md index e054dff15..e627c179f 100644 --- a/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-code-review/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-code-review/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-code-review/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-code-review/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md b/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md index d16ef0fbb..2c31277c8 100644 --- a/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-correct-course/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-correct-course/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-correct-course/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-correct-course/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md b/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md index f9a0ca586..22818351b 100644 --- a/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-create-story/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-create-story/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-create-story/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-create-story/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md b/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md index 189c8f66e..2be886d96 100644 --- a/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-dev-story/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-dev-story/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-dev-story/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-dev-story/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md b/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md index eb2c160ee..35fcd2996 100644 --- a/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md b/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md index 900b70193..434f57354 100644 --- a/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-quick-dev/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-quick-dev/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-quick-dev/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-quick-dev/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md b/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md index 565171fa8..bd9ea31cc 100644 --- a/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-retrospective/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-retrospective/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-retrospective/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-retrospective/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md b/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md index 60451b5ee..b10dc076d 100644 --- a/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-sprint-planning/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-sprint-planning/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-sprint-planning/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-sprint-planning/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md b/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md index 83b859895..238a27e36 100644 --- a/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/bmm-skills/4-implementation/bmad-sprint-status/scripts/resolve-customization.py b/src/bmm-skills/4-implementation/bmad-sprint-status/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/4-implementation/bmad-sprint-status/scripts/resolve-customization.py +++ b/src/bmm-skills/4-implementation/bmad-sprint-status/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/bmm-skills/_shared/scripts/resolve-customization.py b/src/bmm-skills/_shared/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/bmm-skills/_shared/scripts/resolve-customization.py +++ b/src/bmm-skills/_shared/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-advanced-elicitation/SKILL.md b/src/core-skills/bmad-advanced-elicitation/SKILL.md index 72720510d..7aee05144 100644 --- a/src/core-skills/bmad-advanced-elicitation/SKILL.md +++ b/src/core-skills/bmad-advanced-elicitation/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Advanced Elicitation @@ -153,4 +153,4 @@ x. Proceed / No Further Actions After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-advanced-elicitation/scripts/resolve-customization.py b/src/core-skills/bmad-advanced-elicitation/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-advanced-elicitation/scripts/resolve-customization.py +++ b/src/core-skills/bmad-advanced-elicitation/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-brainstorming/SKILL.md b/src/core-skills/bmad-brainstorming/SKILL.md index a3c98d553..6a045a514 100644 --- a/src/core-skills/bmad-brainstorming/SKILL.md +++ b/src/core-skills/bmad-brainstorming/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. Follow the instructions in ./workflow.md. @@ -23,4 +23,4 @@ Follow the instructions in ./workflow.md. After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-brainstorming/scripts/resolve-customization.py b/src/core-skills/bmad-brainstorming/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-brainstorming/scripts/resolve-customization.py +++ b/src/core-skills/bmad-brainstorming/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-distillator/SKILL.md b/src/core-skills/bmad-distillator/SKILL.md index 163a83311..cb5cafade 100644 --- a/src/core-skills/bmad-distillator/SKILL.md +++ b/src/core-skills/bmad-distillator/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Distillator: A Document Distillation Engine @@ -194,4 +194,4 @@ This stage proves the distillate is lossless by reconstructing source documents After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-distillator/scripts/resolve-customization.py b/src/core-skills/bmad-distillator/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-distillator/scripts/resolve-customization.py +++ b/src/core-skills/bmad-distillator/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-editorial-review-prose/SKILL.md b/src/core-skills/bmad-editorial-review-prose/SKILL.md index cfcf8936d..ae7fe62f1 100644 --- a/src/core-skills/bmad-editorial-review-prose/SKILL.md +++ b/src/core-skills/bmad-editorial-review-prose/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Editorial Review - Prose @@ -100,4 +100,4 @@ If `additional_resources` is not empty, read each listed file and incorporate as After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-editorial-review-prose/scripts/resolve-customization.py b/src/core-skills/bmad-editorial-review-prose/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-editorial-review-prose/scripts/resolve-customization.py +++ b/src/core-skills/bmad-editorial-review-prose/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-editorial-review-structure/SKILL.md b/src/core-skills/bmad-editorial-review-structure/SKILL.md index 4ce075bbb..5185f5183 100644 --- a/src/core-skills/bmad-editorial-review-structure/SKILL.md +++ b/src/core-skills/bmad-editorial-review-structure/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Editorial Review - Structure @@ -196,4 +196,4 @@ Use the following output format: After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-editorial-review-structure/scripts/resolve-customization.py b/src/core-skills/bmad-editorial-review-structure/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-editorial-review-structure/scripts/resolve-customization.py +++ b/src/core-skills/bmad-editorial-review-structure/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-help/SKILL.md b/src/core-skills/bmad-help/SKILL.md index 7512ead31..10dfb1165 100644 --- a/src/core-skills/bmad-help/SKILL.md +++ b/src/core-skills/bmad-help/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # BMad Help @@ -92,4 +92,4 @@ For each recommended item, present: After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-help/scripts/resolve-customization.py b/src/core-skills/bmad-help/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-help/scripts/resolve-customization.py +++ b/src/core-skills/bmad-help/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-index-docs/SKILL.md b/src/core-skills/bmad-index-docs/SKILL.md index 15be61979..f4891cfb4 100644 --- a/src/core-skills/bmad-index-docs/SKILL.md +++ b/src/core-skills/bmad-index-docs/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Index Docs @@ -79,4 +79,4 @@ If `additional_resources` is not empty, read each listed file and incorporate as After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-index-docs/scripts/resolve-customization.py b/src/core-skills/bmad-index-docs/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-index-docs/scripts/resolve-customization.py +++ b/src/core-skills/bmad-index-docs/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-party-mode/SKILL.md b/src/core-skills/bmad-party-mode/SKILL.md index efe480248..137d47c8c 100644 --- a/src/core-skills/bmad-party-mode/SKILL.md +++ b/src/core-skills/bmad-party-mode/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Party Mode @@ -142,4 +142,4 @@ When the user says they're done (any natural phrasing — "thanks", "that's all" After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-party-mode/scripts/resolve-customization.py b/src/core-skills/bmad-party-mode/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-party-mode/scripts/resolve-customization.py +++ b/src/core-skills/bmad-party-mode/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-review-adversarial-general/SKILL.md b/src/core-skills/bmad-review-adversarial-general/SKILL.md index 39a3c8d7f..1e9777b12 100644 --- a/src/core-skills/bmad-review-adversarial-general/SKILL.md +++ b/src/core-skills/bmad-review-adversarial-general/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Adversarial Review (General) @@ -52,4 +52,4 @@ Output findings as a Markdown list (descriptions only). After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-review-adversarial-general/scripts/resolve-customization.py b/src/core-skills/bmad-review-adversarial-general/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-review-adversarial-general/scripts/resolve-customization.py +++ b/src/core-skills/bmad-review-adversarial-general/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-review-edge-case-hunter/SKILL.md b/src/core-skills/bmad-review-edge-case-hunter/SKILL.md index dcdfacc75..177326dda 100644 --- a/src/core-skills/bmad-review-edge-case-hunter/SKILL.md +++ b/src/core-skills/bmad-review-edge-case-hunter/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Edge Case Hunter Review @@ -81,4 +81,4 @@ No extra text, no explanations, no markdown wrapping. An empty array `[]` is val After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-review-edge-case-hunter/scripts/resolve-customization.py b/src/core-skills/bmad-review-edge-case-hunter/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-review-edge-case-hunter/scripts/resolve-customization.py +++ b/src/core-skills/bmad-review-edge-case-hunter/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val diff --git a/src/core-skills/bmad-shard-doc/SKILL.md b/src/core-skills/bmad-shard-doc/SKILL.md index 943cc309a..13fbe4dd2 100644 --- a/src/core-skills/bmad-shard-doc/SKILL.md +++ b/src/core-skills/bmad-shard-doc/SKILL.md @@ -13,8 +13,8 @@ Resolve `inject` and `additional_resources` from customization: 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. -If `additional_resources` is not empty, read each listed file and incorporate as reference context. +1. **Inject before** -- If `inject.before` resolved to a non-empty value, prepend it to your active instructions and follow it. +2. **Available resources** -- Note the `additional_resources` list. Do not read these files now; they are available for the injected prompt or workflow steps to reference when needed. # Shard Document @@ -122,4 +122,4 @@ Present user with options for the original document: After the workflow completes, resolve `inject.after` from customization: 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. +If resolved `inject.after` is not empty, append it to your active instructions and follow it. diff --git a/src/core-skills/bmad-shard-doc/scripts/resolve-customization.py b/src/core-skills/bmad-shard-doc/scripts/resolve-customization.py index c102b1561..d9994a569 100755 --- a/src/core-skills/bmad-shard-doc/scripts/resolve-customization.py +++ b/src/core-skills/bmad-shard-doc/scripts/resolve-customization.py @@ -91,7 +91,7 @@ def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any] if isinstance(over_val, dict) and isinstance(base_val, dict): merged[key] = deep_merge(base_val, over_val) elif _is_menu_array(over_val) and _is_menu_array(base_val): - merged[key] = merge_menu(base_val, over_val) + merged[key] = merge_menu(base_val, over_val) # type: ignore[arg-type] else: merged[key] = over_val