diff --git a/docs/reference/workflow-map.md b/docs/reference/workflow-map.md index 42d80dd52..e3368c7d4 100644 --- a/docs/reference/workflow-map.md +++ b/docs/reference/workflow-map.md @@ -46,7 +46,7 @@ Define what to build and for whom. | Workflow | Purpose | Produces | |-------------------------|-------------------------------------------------------------------------------------|---------------------------------------------------| -| `bmad-prd` | Create, update, or validate a PRD — facilitated discovery, three intents in one skill | `prd.md`, `addendum.md`, `decision-log.md` | +| `bmad-prd` | Create, update, or validate a PRD — facilitated discovery, three intents in one skill | Create/Update: `prd.md`, `addendum.md`, `decision-log.md`; Validate: `validation-report.html` + `.md` | | `bmad-create-ux-design` | Design user experience (when UX matters) | `ux-spec.md` | :::tip[Three intents in one skill] diff --git a/src/bmm-skills/2-plan-workflows/bmad-prd/scripts/render-validation-html.py b/src/bmm-skills/2-plan-workflows/bmad-prd/scripts/render-validation-html.py index b89db9ae8..802f9b511 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-prd/scripts/render-validation-html.py +++ b/src/bmm-skills/2-plan-workflows/bmad-prd/scripts/render-validation-html.py @@ -220,7 +220,7 @@ def main(argv: list[str]) -> int: output_path = Path(args.output) try: - data = json.loads(findings_path.read_text()) + data = json.loads(findings_path.read_text(encoding="utf-8")) except FileNotFoundError: print(f"error: findings file not found: {findings_path}", file=sys.stderr) return 1 @@ -228,7 +228,7 @@ def main(argv: list[str]) -> int: print(f"error: findings file is not valid JSON ({findings_path}): {e}", file=sys.stderr) return 1 try: - template = template_path.read_text() + template = template_path.read_text(encoding="utf-8") except FileNotFoundError: print(f"error: template file not found: {template_path}", file=sys.stderr) return 1 @@ -268,10 +268,10 @@ def main(argv: list[str]) -> int: } rendered = string.Template(template).safe_substitute(substitutions) - output_path.write_text(rendered) + output_path.write_text(rendered, encoding="utf-8") md_path = output_path.with_suffix(".md") - md_path.write_text(render_markdown_report(data, findings, stats, grade)) + md_path.write_text(render_markdown_report(data, findings, stats, grade), encoding="utf-8") print(json.dumps({ "output": str(output_path),