# /review — Structured Content Review Run four-dimensional content review on drafts in `03-review/`. ## Usage ``` /review [slug] ``` - `slug` (optional): Specific article to review. If omitted, reviews the most recent article in `03-review/`. ## Workflow ### Step 1: Load Article ```bash cd /home/kang/apps/content-forge/content-forge obsidian read path="03-review/YYYY-MM-DD-.md" ``` ### Step 2: Four-Dimensional Review Run structured review against each dimension: #### 2.1 Structure Review (结构审) - **Logic Flow**: Opening hook → Main argument → Conclusion - **Paragraph Structure**: Single idea per paragraph, clear topic sentences - **Information Hierarchy**: Headings reflect content, visual elements support structure **Issue Format**: `S{id}` — e.g., S1, S2 #### 2.2 Factual Review (事实审) - **Data Accuracy**: All statistics have sources, no fabricated data - **Reference Quality**: Source URLs accessible, quotes accurate - **Technical Accuracy**: Technical terms correct, code examples work **Issue Format**: `F{id}` — e.g., F1, F2 #### 2.3 Style Review (文风审) - **Audience Match**: Tone matches `audience` field, jargon explained - **Voice Consistency**: Active voice preferred, tense/POV consistent - **Readability**: Clear sentences, no wordiness, complex ideas explained **Issue Format**: `ST{id}` — e.g., ST1, ST2 #### 2.4 Format Review (格式审) - **Markdown Compliance**: Proper heading hierarchy, code blocks with language - **Frontmatter Integrity**: All required fields present, valid YAML - **Asset References**: Images have alt text, paths are vault-relative **Issue Format**: `FM{id}` — e.g., FM1, FM2 ### Step 3: Issue Classification | Severity | Definition | Action | |----------|------------|--------| | **Critical** | Blocks publication | Must fix immediately | | **High** | Strong impact on quality | Should fix before polish | | **Medium** | Noticeable issue | Should consider fixing | | **Low** | Minor polish | Nice to have | ### Step 4: Pass/Fail Decision **Pass Criteria**: Critical = 0 AND High ≤ 1 ``` ┌─────────────────────────────────────┐ │ Review Decision │ ├─────────────────────────────────────┤ │ Critical = 0, High ≤ 1 │ │ → PASSED → polish │ ├─────────────────────────────────────┤ │ Critical ≥ 1 OR High > 1 │ │ → FAILED → revision │ └─────────────────────────────────────┘ ``` ### Step 5: Update Frontmatter #### If PASSED ```bash obsidian property:set path="03-review/YYYY-MM-DD-.md" name="review_status" value="passed" obsidian property:set path="03-review/YYYY-MM-DD-.md" name="review_passed_at" value="$(date -Iseconds)" obsidian property:set path="03-review/YYYY-MM-DD-.md" name="status" value="polish" ``` #### If FAILED ```bash # Check revision count current_count=$(obsidian read path="03-review/YYYY-MM-DD-.md" | grep "revision_count:" | awk '{print $2}') new_count=$((current_count + 1)) obsidian property:set path="03-review/YYYY-MM-DD-.md" name="review_status" value="failed" obsidian property:set path="03-review/YYYY-MM-DD-.md" name="status" value="revision" obsidian property:set path="03-review/YYYY-MM-DD-.md" name="revision_count" value="$new_count" # If revision_count > 3, block if [ $new_count -gt 3 ]; then obsidian property:set path="03-review/YYYY-MM-DD-.md" name="status" value="blocked" echo "WARNING: Revision limit exceeded. Article blocked for human decision." fi ``` ### Step 6: Output Review Report ```markdown # Review Report: {title} ## Summary | Dimension | Critical | High | Medium | Low | |-----------|----------|------|--------|-----| | Structure | {n} | {n} | {n} | {n} | | Factual | {n} | {n} | {n} | {n} | | Style | {n} | {n} | {n} | {n} | | Format | {n} | {n} | {n} | {n} | | **Total** | **{n}** | **{n}** | **{n}** | **{n}** | ## Decision: PASSED / FAILED ## Issues {List all issues with id, severity, description} ## Next Steps {If PASSED}: Proceed to polish phase {If FAILED}: Fix issues and resubmit for review (revision {n}/3) ``` ## Integration - **`/multi-review`**: Run parallel review with multiple AI providers - **`/challenge`**: Pressure-test key claims against vault history - **Review Checklist Template**: `content-forge/templates/review-checklist.md` ## Constraints - **READ-ONLY**: Does not modify article content, only frontmatter - **Golden Rule**: Agents Read, Humans Write — issues are reported, not auto-fixed - **Revision Limit**: Max 3 revision cycles per article