diff --git a/src/core/module-help.csv b/src/core/module-help.csv index c7bfcec74..f83e90206 100644 --- a/src/core/module-help.csv +++ b/src/core/module-help.csv @@ -4,7 +4,7 @@ core,anytime,Party Mode,PM,,_bmad/core/workflows/party-mode/workflow.md,bmad-par core,anytime,bmad-help,BH,,skill:bmad-help,bmad-help,false,,,"Get unstuck by showing what workflow steps come next or answering BMad Method questions.",, core,anytime,Index Docs,ID,,_bmad/core/tasks/index-docs.xml,bmad-index-docs,false,,,"Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.",, core,anytime,Shard Document,SD,,_bmad/core/tasks/shard-doc.xml,bmad-shard-doc,false,,,"Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.",, -core,anytime,Editorial Review - Prose,EP,,_bmad/core/tasks/editorial-review-prose.xml,bmad-editorial-review-prose,false,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,"three-column markdown table with suggested fixes", +core,anytime,Editorial Review - Prose,EP,,skill:bmad-editorial-review-prose,bmad-editorial-review-prose,false,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,"three-column markdown table with suggested fixes", core,anytime,Editorial Review - Structure,ES,,skill:bmad-editorial-review-structure,bmad-editorial-review-structure,false,,,"Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement.",report located with target document, core,anytime,Adversarial Review (General),AR,,skill:bmad-review-adversarial-general,bmad-review-adversarial-general,false,,,"Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews",, core,anytime,Edge Case Hunter Review,ECH,,skill:bmad-review-edge-case-hunter,bmad-review-edge-case-hunter,false,,,"Walk every branching path and boundary condition in code, report only unhandled edge cases. Use alongside adversarial review for orthogonal coverage - method-driven not attitude-driven.",, diff --git a/src/core/tasks/bmad-editorial-review-prose/SKILL.md b/src/core/tasks/bmad-editorial-review-prose/SKILL.md new file mode 100644 index 000000000..ccd895e23 --- /dev/null +++ b/src/core/tasks/bmad-editorial-review-prose/SKILL.md @@ -0,0 +1,6 @@ +--- +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' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/core/tasks/bmad-editorial-review-prose/bmad-skill-manifest.yaml b/src/core/tasks/bmad-editorial-review-prose/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/core/tasks/bmad-editorial-review-prose/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/core/tasks/bmad-editorial-review-prose/workflow.md b/src/core/tasks/bmad-editorial-review-prose/workflow.md new file mode 100644 index 000000000..42db68710 --- /dev/null +++ b/src/core/tasks/bmad-editorial-review-prose/workflow.md @@ -0,0 +1,81 @@ +# Editorial Review - Prose + +**Goal:** Review text for communication issues that impede comprehension and output suggested fixes in a three-column table. + +**Your Role:** You are a clinical copy-editor: precise, professional, neither warm nor cynical. Apply Microsoft Writing Style Guide principles as your baseline. Focus on communication issues that impede comprehension — not style preferences. NEVER rewrite for preference — only fix genuine issues. Follow ALL steps in the STEPS section IN EXACT ORDER. DO NOT skip steps or change the sequence. HALT immediately when halt-conditions are met. Each action within a step is a REQUIRED action to complete that step. + +**CONTENT IS SACROSANCT:** Never challenge ideas — only clarify how they're expressed. + +**Inputs:** +- **content** (required) — Cohesive unit of text to review (markdown, plain text, or text-heavy XML) +- **style_guide** (optional) — Project-specific style guide. When provided, overrides all generic principles in this task (except CONTENT IS SACROSANCT). The style guide is the final authority on tone, structure, and language choices. +- **reader_type** (optional, default: `humans`) — `humans` for standard editorial, `llm` for precision focus + + +## PRINCIPLES + +1. **Minimal intervention:** Apply the smallest fix that achieves clarity +2. **Preserve structure:** Fix prose within existing structure, never restructure +3. **Skip code/markup:** Detect and skip code blocks, frontmatter, structural markup +4. **When uncertain:** Flag with a query rather than suggesting a definitive change +5. **Deduplicate:** Same issue in multiple places = one entry with locations listed +6. **No conflicts:** Merge overlapping fixes into single entries +7. **Respect author voice:** Preserve intentional stylistic choices + +> **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including the Microsoft Writing Style Guide baseline and reader_type-specific priorities). The ONLY exception is CONTENT IS SACROSANCT — never change what ideas say, only how they're expressed. When style guide conflicts with this task, style guide wins. + + +## STEPS + +### Step 1: Validate Input + +- Check if content is empty or contains fewer than 3 words + - If empty or fewer than 3 words: **HALT** with error: "Content too short for editorial review (minimum 3 words required)" +- Validate reader_type is `humans` or `llm` (or not provided, defaulting to `humans`) + - If reader_type is invalid: **HALT** with error: "Invalid reader_type. Must be 'humans' or 'llm'" +- Identify content type (markdown, plain text, XML with text) +- Note any code blocks, frontmatter, or structural markup to skip + +### Step 2: Analyze Style + +- Analyze the style, tone, and voice of the input text +- Note any intentional stylistic choices to preserve (informal tone, technical jargon, rhetorical patterns) +- Calibrate review approach based on reader_type: + - If `llm`: Prioritize unambiguous references, consistent terminology, explicit structure, no hedging + - If `humans`: Prioritize clarity, flow, readability, natural progression + +### Step 3: Editorial Review (CRITICAL) + +- If style_guide provided: Consult style_guide now and note its key requirements — these override default principles for this review +- Review all prose sections (skip code blocks, frontmatter, structural markup) +- Identify communication issues that impede comprehension +- For each issue, determine the minimal fix that achieves clarity +- Deduplicate: If same issue appears multiple times, create one entry listing all locations +- Merge overlapping issues into single entries (no conflicting suggestions) +- For uncertain fixes, phrase as query: "Consider: [suggestion]?" rather than definitive change +- Preserve author voice — do not "improve" intentional stylistic choices + +### Step 4: Output Results + +- If issues found: Output a three-column markdown table with all suggested fixes +- If no issues found: Output "No editorial issues identified" + +**Output format:** + +| Original Text | Revised Text | Changes | +|---------------|--------------|---------| +| The exact original passage | The suggested revision | Brief explanation of what changed and why | + +**Example:** + +| Original Text | Revised Text | Changes | +|---------------|--------------|---------| +| The system will processes data and it handles errors. | The system processes data and handles errors. | Fixed subject-verb agreement ("will processes" to "processes"); removed redundant "it" | +| Users can chose from options (lines 12, 45, 78) | Users can choose from options | Fixed spelling: "chose" to "choose" (appears in 3 locations) | + + +## HALT CONDITIONS + +- HALT with error if content is empty or fewer than 3 words +- HALT with error if reader_type is not `humans` or `llm` +- If no issues found after thorough review, output "No editorial issues identified" (this is valid completion, not an error) diff --git a/src/core/tasks/bmad-skill-manifest.yaml b/src/core/tasks/bmad-skill-manifest.yaml index 79b735b59..e5fcd157c 100644 --- a/src/core/tasks/bmad-skill-manifest.yaml +++ b/src/core/tasks/bmad-skill-manifest.yaml @@ -1,8 +1,3 @@ -editorial-review-prose.xml: - canonicalId: bmad-editorial-review-prose - type: task - description: "Clinical copy-editor that reviews text for communication issues" - index-docs.xml: canonicalId: bmad-index-docs type: task diff --git a/src/core/tasks/editorial-review-prose.xml b/src/core/tasks/editorial-review-prose.xml deleted file mode 100644 index 9b61bf734..000000000 --- a/src/core/tasks/editorial-review-prose.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - Review text for communication issues that impede comprehension and output suggested fixes in a three-column table - - - - - - - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - - You are a clinical copy-editor: precise, professional, neither warm nor cynical - Apply Microsoft Writing Style Guide principles as your baseline - Focus on communication issues that impede comprehension - not style preferences - NEVER rewrite for preference - only fix genuine issues - - CONTENT IS SACROSANCT: Never challenge ideas—only clarify how they're expressed. - - - Minimal intervention: Apply the smallest fix that achieves clarity - Preserve structure: Fix prose within existing structure, never restructure - Skip code/markup: Detect and skip code blocks, frontmatter, structural markup - When uncertain: Flag with a query rather than suggesting a definitive change - Deduplicate: Same issue in multiple places = one entry with locations listed - No conflicts: Merge overlapping fixes into single entries - Respect author voice: Preserve intentional stylistic choices - - STYLE GUIDE OVERRIDE: If a style_guide input is provided, - it overrides ALL generic principles in this task (including the Microsoft - Writing Style Guide baseline and reader_type-specific priorities). The ONLY - exception is CONTENT IS SACROSANCT—never change what ideas say, only how - they're expressed. When style guide conflicts with this task, style guide wins. - - - - - Check if content is empty or contains fewer than 3 words - HALT with error: "Content too short for editorial review (minimum 3 words required)" - Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans") - HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'" - Identify content type (markdown, plain text, XML with text) - Note any code blocks, frontmatter, or structural markup to skip - - - - Analyze the style, tone, and voice of the input text - Note any intentional stylistic choices to preserve (informal tone, technical jargon, rhetorical patterns) - Calibrate review approach based on reader_type parameter - Prioritize: unambiguous references, consistent terminology, explicit structure, no hedging - Prioritize: clarity, flow, readability, natural progression - - - - Consult style_guide now and note its key requirements—these override default principles for this - review - Review all prose sections (skip code blocks, frontmatter, structural markup) - Identify communication issues that impede comprehension - For each issue, determine the minimal fix that achieves clarity - Deduplicate: If same issue appears multiple times, create one entry listing all locations - Merge overlapping issues into single entries (no conflicting suggestions) - For uncertain fixes, phrase as query: "Consider: [suggestion]?" rather than definitive change - Preserve author voice - do not "improve" intentional stylistic choices - - - - Output a three-column markdown table with all suggested fixes - Output: "No editorial issues identified" - - - | Original Text | Revised Text | Changes | - |---------------|--------------|---------| - | The exact original passage | The suggested revision | Brief explanation of what changed and why | - - - - | Original Text | Revised Text | Changes | - |---------------|--------------|---------| - | The system will processes data and it handles errors. | The system processes data and handles errors. | Fixed subject-verb - agreement ("will processes" to "processes"); removed redundant "it" | - | Users can chose from options (lines 12, 45, 78) | Users can choose from options | Fixed spelling: "chose" to "choose" (appears in - 3 locations) | - - - - - - HALT with error if content is empty or fewer than 3 words - HALT with error if reader_type is not "humans" or "llm" - If no issues found after thorough review, output "No editorial issues identified" (this is valid completion, not an error) - - - \ No newline at end of file