Skip to content

Commit ffd7d53

Browse files
alexeyvclaude
andauthored
refactor(skills): convert editorial-review-structure.xml to native skill (bmad-code-org#1875)
* refactor(skills): convert editorial-review-structure.xml to native skill directory Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: mark Step 3 as CRITICAL in editorial-review-structure workflow The original XML had critical="true" on Step 3 (Structural Analysis). This attribute was lost during the XML-to-markdown conversion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: replace ambiguous section references in editorial-review-structure workflow Rename "EXECUTION" heading to "STEPS" and update the inline reference from "flow section" to "STEPS section" to avoid LLM misinterpretation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 031a909 commit ffd7d53

File tree

6 files changed

+182
-214
lines changed

6 files changed

+182
-214
lines changed

src/core/module-help.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ core,anytime,bmad-help,BH,,skill:bmad-help,bmad-help,false,,,"Get unstuck by sho
55
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.",,
66
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.",,
77
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",
8-
core,anytime,Editorial Review - Structure,ES,,_bmad/core/tasks/editorial-review-structure.xml,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,
8+
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,
99
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",,
1010
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.",,
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
name: bmad-editorial-review-structure
3+
description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure'
4+
---
5+
6+
Follow the instructions in [workflow.md](workflow.md).
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type: skill
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# Editorial Review - Structure
2+
3+
**Goal:** Review document structure and propose substantive changes to improve clarity and flow -- run this BEFORE copy editing.
4+
5+
**Your Role:** You are a structural editor focused on HIGH-VALUE DENSITY. Brevity IS clarity: concise writing respects limited attention spans and enables effective scanning. Every section must justify its existence -- cut anything that delays understanding. True redundancy is failure. 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.
6+
7+
> **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including human-reader-principles, llm-reader-principles, reader_type-specific priorities, structure-models selection, and the Microsoft Writing Style Guide baseline). 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.
8+
9+
**Inputs:**
10+
- **content** (required) -- Document to review (markdown, plain text, or structured content)
11+
- **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.
12+
- **purpose** (optional) -- Document's intended purpose (e.g., 'quickstart tutorial', 'API reference', 'conceptual overview')
13+
- **target_audience** (optional) -- Who reads this? (e.g., 'new users', 'experienced developers', 'decision makers')
14+
- **reader_type** (optional, default: "humans") -- 'humans' (default) preserves comprehension aids; 'llm' optimizes for precision and density
15+
- **length_target** (optional) -- Target reduction (e.g., '30% shorter', 'half the length', 'no limit')
16+
17+
## Principles
18+
19+
- Comprehension through calibration: Optimize for the minimum words needed to maintain understanding
20+
- Front-load value: Critical information comes first; nice-to-know comes last (or goes)
21+
- One source of truth: If information appears identically twice, consolidate
22+
- Scope discipline: Content that belongs in a different document should be cut or linked
23+
- Propose, don't execute: Output recommendations -- user decides what to accept
24+
- **CONTENT IS SACROSANCT: Never challenge ideas -- only optimize how they're organized.**
25+
26+
## Human-Reader Principles
27+
28+
These elements serve human comprehension and engagement -- preserve unless clearly wasteful:
29+
30+
- Visual aids: Diagrams, images, and flowcharts anchor understanding
31+
- Expectation-setting: "What You'll Learn" helps readers confirm they're in the right place
32+
- Reader's Journey: Organize content biologically (linear progression), not logically (database)
33+
- Mental models: Overview before details prevents cognitive overload
34+
- Warmth: Encouraging tone reduces anxiety for new users
35+
- Whitespace: Admonitions and callouts provide visual breathing room
36+
- Summaries: Recaps help retention; they're reinforcement, not redundancy
37+
- Examples: Concrete illustrations make abstract concepts accessible
38+
- Engagement: "Flow" techniques (transitions, variety) are functional, not "fluff" -- they maintain attention
39+
40+
## LLM-Reader Principles
41+
42+
When reader_type='llm', optimize for PRECISION and UNAMBIGUITY:
43+
44+
- Dependency-first: Define concepts before usage to minimize hallucination risk
45+
- Cut emotional language, encouragement, and orientation sections
46+
- IF concept is well-known from training (e.g., "conventional commits", "REST APIs"): Reference the standard -- don't re-teach it. ELSE: Be explicit -- don't assume the LLM will infer correctly.
47+
- Use consistent terminology -- same word for same concept throughout
48+
- Eliminate hedging ("might", "could", "generally") -- use direct statements
49+
- Prefer structured formats (tables, lists, YAML) over prose
50+
- Reference known standards ("conventional commits", "Google style guide") to leverage training
51+
- STILL PROVIDE EXAMPLES even for known standards -- grounds the LLM in your specific expectation
52+
- Unambiguous references -- no unclear antecedents ("it", "this", "the above")
53+
- Note: LLM documents may be LONGER than human docs in some areas (more explicit) while shorter in others (no warmth)
54+
55+
## Structure Models
56+
57+
### Tutorial/Guide (Linear)
58+
**Applicability:** Tutorials, detailed guides, how-to articles, walkthroughs
59+
- Prerequisites: Setup/Context MUST precede action
60+
- Sequence: Steps must follow strict chronological or logical dependency order
61+
- Goal-oriented: clear 'Definition of Done' at the end
62+
63+
### Reference/Database
64+
**Applicability:** API docs, glossaries, configuration references, cheat sheets
65+
- Random Access: No narrative flow required; user jumps to specific item
66+
- MECE: Topics are Mutually Exclusive and Collectively Exhaustive
67+
- Consistent Schema: Every item follows identical structure (e.g., Signature to Params to Returns)
68+
69+
### Explanation (Conceptual)
70+
**Applicability:** Deep dives, architecture overviews, conceptual guides, whitepapers, project context
71+
- Abstract to Concrete: Definition to Context to Implementation/Example
72+
- Scaffolding: Complex ideas built on established foundations
73+
74+
### Prompt/Task Definition (Functional)
75+
**Applicability:** BMAD tasks, prompts, system instructions, XML definitions
76+
- Meta-first: Inputs, usage constraints, and context defined before instructions
77+
- Separation of Concerns: Instructions (logic) separate from Data (content)
78+
- Step-by-step: Execution flow must be explicit and ordered
79+
80+
### Strategic/Context (Pyramid)
81+
**Applicability:** PRDs, research reports, proposals, decision records
82+
- Top-down: Conclusion/Status/Recommendation starts the document
83+
- Grouping: Supporting context grouped logically below the headline
84+
- Ordering: Most critical information first
85+
- MECE: Arguments/Groups are Mutually Exclusive and Collectively Exhaustive
86+
- Evidence: Data supports arguments, never leads
87+
88+
## STEPS
89+
90+
### Step 1: Validate Input
91+
92+
- Check if content is empty or contains fewer than 3 words
93+
- If empty or fewer than 3 words, HALT with error: "Content too short for substantive review (minimum 3 words required)"
94+
- Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans")
95+
- If reader_type is invalid, HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'"
96+
- Identify document type and structure (headings, sections, lists, etc.)
97+
- Note the current word count and section count
98+
99+
### Step 2: Understand Purpose
100+
101+
- If purpose was provided, use it; otherwise infer from content
102+
- If target_audience was provided, use it; otherwise infer from content
103+
- Identify the core question the document answers
104+
- State in one sentence: "This document exists to help [audience] accomplish [goal]"
105+
- Select the most appropriate structural model from Structure Models based on purpose/audience
106+
- Note reader_type and which principles apply (Human-Reader Principles or LLM-Reader Principles)
107+
108+
### Step 3: Structural Analysis (CRITICAL)
109+
110+
- If style_guide provided, consult style_guide now and note its key requirements -- these override default principles for this analysis
111+
- Map the document structure: list each major section with its word count
112+
- Evaluate structure against the selected model's primary rules (e.g., 'Does recommendation come first?' for Pyramid)
113+
- For each section, answer: Does this directly serve the stated purpose?
114+
- If reader_type='humans', for each comprehension aid (visual, summary, example, callout), answer: Does this help readers understand or stay engaged?
115+
- Identify sections that could be: cut entirely, merged with another, moved to a different location, or split
116+
- Identify true redundancies: identical information repeated without purpose (not summaries or reinforcement)
117+
- Identify scope violations: content that belongs in a different document
118+
- Identify burying: critical information hidden deep in the document
119+
120+
### Step 4: Flow Analysis
121+
122+
- Assess the reader's journey: Does the sequence match how readers will use this?
123+
- Identify premature detail: explanation given before the reader needs it
124+
- Identify missing scaffolding: complex ideas without adequate setup
125+
- Identify anti-patterns: FAQs that should be inline, appendices that should be cut, overviews that repeat the body verbatim
126+
- If reader_type='humans', assess pacing: Is there enough whitespace and visual variety to maintain attention?
127+
128+
### Step 5: Generate Recommendations
129+
130+
- Compile all findings into prioritized recommendations
131+
- Categorize each recommendation: CUT (remove entirely), MERGE (combine sections), MOVE (reorder), CONDENSE (shorten significantly), QUESTION (needs author decision), PRESERVE (explicitly keep -- for elements that might seem cuttable but serve comprehension)
132+
- For each recommendation, state the rationale in one sentence
133+
- Estimate impact: how many words would this save (or cost, for PRESERVE)?
134+
- If length_target was provided, assess whether recommendations meet it
135+
- If reader_type='humans' and recommendations would cut comprehension aids, flag with warning: "This cut may impact reader comprehension/engagement"
136+
137+
### Step 6: Output Results
138+
139+
- Output document summary (purpose, audience, reader_type, current length)
140+
- Output the recommendation list in priority order
141+
- Output estimated total reduction if all recommendations accepted
142+
- If no recommendations, output: "No substantive changes recommended -- document structure is sound"
143+
144+
Use the following output format:
145+
146+
```markdown
147+
## Document Summary
148+
- **Purpose:** [inferred or provided purpose]
149+
- **Audience:** [inferred or provided audience]
150+
- **Reader type:** [selected reader type]
151+
- **Structure model:** [selected structure model]
152+
- **Current length:** [X] words across [Y] sections
153+
154+
## Recommendations
155+
156+
### 1. [CUT/MERGE/MOVE/CONDENSE/QUESTION/PRESERVE] - [Section or element name]
157+
**Rationale:** [One sentence explanation]
158+
**Impact:** ~[X] words
159+
**Comprehension note:** [If applicable, note impact on reader understanding]
160+
161+
### 2. ...
162+
163+
## Summary
164+
- **Total recommendations:** [N]
165+
- **Estimated reduction:** [X] words ([Y]% of original)
166+
- **Meets length target:** [Yes/No/No target specified]
167+
- **Comprehension trade-offs:** [Note any cuts that sacrifice reader engagement for brevity]
168+
```
169+
170+
## HALT CONDITIONS
171+
172+
- HALT with error if content is empty or fewer than 3 words
173+
- HALT with error if reader_type is not "humans" or "llm"
174+
- If no structural issues found, output "No substantive changes recommended" (this is valid completion, not an error)

src/core/tasks/bmad-skill-manifest.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ editorial-review-prose.xml:
33
type: task
44
description: "Clinical copy-editor that reviews text for communication issues"
55

6-
editorial-review-structure.xml:
7-
canonicalId: bmad-editorial-review-structure
8-
type: task
9-
description: "Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension"
10-
116
index-docs.xml:
127
canonicalId: bmad-index-docs
138
type: task

0 commit comments

Comments
 (0)