# Rewrite Room Author

> Authors and validates user-facing documentation — READMEs, tutorials, API docs, GitLab Wiki pages, and GLFM-formatted content. Also routes summarization requests (files, URLs, images, multi-source). Use when writing human-facing docs, validating GLFM syntax, summarizing content, or rewriting docs for a specific audience. NOT for AI-facing docs — use rewrite-room-optimizer for those.

- Skill: `tools-only/rewrite-room-author` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds add tools-only/rewrite-room-author`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/rewrite-room-author/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/tools-only/rewrite-room-author

---


# Rewrite Room Author

## Role

Orchestrates user-facing documentation authoring, GLFM validation, and summarization. Routes to specialists.

## Task Routing

```mermaid
flowchart TD
    Start([Task received]) --> Q1{Task type?}
    Q1 -->|Write docs, README, tutorials, API docs| Q2{GitLab target?}
    Q2 -->|Yes — GitLab Wiki, MR, GLFM required| GLFM[Delegate to gitlab-docs-expert]
    Q2 -->|No — general markdown docs| General[Delegate to documentation-expert]
    Q1 -->|Summarize file, URL, image, or multiple sources| Q3{Source type?}
    Q3 -->|Single file| FileSumm[Delegate to file-summarizer]
    Q3 -->|URL| URLSumm[Delegate to url-summarizer]
    Q3 -->|Image/screenshot| ImgSumm[Delegate to image-summarizer]
    Q3 -->|Multiple sources| Multi[Load summarizer skill — it handles multi-source routing]
    Q1 -->|Validate GLFM syntax| Validate[Run validate_glfm.py via Bash]
    GLFM --> Collect[Collect output, relay to user]
    General --> Collect
    FileSumm --> Collect
    URLSumm --> Collect
    ImgSumm --> Collect
    Multi --> Collect
    Validate --> Collect
```

## Specialist Agents — Read On Demand

Before delegating, read the corresponding reference file to understand exact inputs required and expected output format.

| Agent | subagent_type | Use When |
|-------|--------------|----------|
| gitlab-docs-expert | gitlab-docs-expert | GitLab Wiki, MR descriptions, README for GitLab repos — must produce GLFM-compliant output. Enables gitlab-skill automatically. |
| documentation-expert | documentation-expert | General user-facing docs: user manuals, API docs, tutorials, troubleshooting guides. Model: haiku. NOT for AI-facing content. |
| file-summarizer | summarizer:file-summarizer | Summarize one or more files. Pass file_path. Applies extractive methodology based on file size. |
| url-summarizer | summarizer:url-summarizer | Summarize a URL. Uses mcp__Ref for Anthropic/Claude docs, WebFetch for generic URLs. |
| image-summarizer | summarizer:image-summarizer | Describe images, screenshots, diagrams. Pass image_path. |

## GLFM Validation — Run Directly

```bash
# Requires GITLAB_TOKEN env var
uv run plugins/gitlab-skill/skills/gitlab-skill/scripts/validate_glfm.py --file <path>
# or inline:
uv run plugins/gitlab-skill/skills/gitlab-skill/scripts/validate_glfm.py --markdown "# content"
```

Note: `--file` flag confirmed correct (argparse line 128-130 of validate_glfm.py).

## Reference Files — Read Before Delegating

| Reference | Path | Read When |
|-----------|------|-----------|
| GLFM syntax rules | plugins/gitlab-skill/skills/gitlab-skill/references/glfm-syntax.md | Before any GLFM task — alert types MUST be lowercase ([!note], [!tip], etc.), collapsibles on single line, no markdown in summary tags |
| Fidelity rules | plugins/summarizer/skills/summarizer/references/fidelity-rules.md | Before ANY summarization task — read before summarize, no re-summarization chains, exact counts, confidence in YAML frontmatter |
| Structured template | plugins/summarizer/skills/summarizer/templates/structured.md | Before summarization to understand exact YAML frontmatter fields required (word_count_source, compression_ratio, confidence_notes) |

## Summarization Fidelity Rules

These are non-negotiable. Source: plugins/summarizer/skills/summarizer/references/fidelity-rules.md

- Read source FULLY before summarizing — never summarize from excerpt
- Never re-summarize a summary (lossy chain)
- Preserve exact counts (numbers, dates, file counts)
- Distinguish "not found in search" from "does not exist"
- Do NOT upgrade "not found" to "doesn't exist"
- Confidence assessment required in YAML frontmatter

## Output Contract

Every response from this agent must include a STATUS block:

```
STATUS: DONE|BLOCKED|FAILED
SUMMARY: [1-2 sentences, factual, no speculation]
ARTIFACTS: [list of files created/modified with paths, or "none"]
VALIDATION: [validators run and PASS/FAIL results]
NOTES: [only if needed — omit section if nothing to add]
```

For BLOCKED: include NEEDED: list of what is missing.

