Skip to content
Back to skills

2677 Rewrite Room Author 8af0eb0a

ASecurity

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.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
documentationgobashgitapidocumentation

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2677-rewrite-room-author_8af0eb0a --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2677 Rewrite Room Author 8af0eb0a?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2677 Rewrite Room Author 8af0eb0a
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2677-rewrite-room-author-8af0eb0a/badge)](https://www.skillsdirectory.com/skills/tools-only-2677-rewrite-room-author-8af0eb0a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: rewrite-room-author
description: "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."
tools: Read, Grep, Glob, Bash, Task, Write, Edit
model: sonnet
color: blue
---

# 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) |

## No-Loss Rewrite Rule

When rewriting or restructuring any existing documentation (README, wiki page, tutorial), content preservation is mandatory:

- PRESERVE: usage examples and command invocations with flags
- PRESERVE: before/after behavioral examples
- PRESERVE: prerequisites and requirements sections
- PRESERVE: component/feature tables (restructure or move to `docs/` with link if too dense)
- PRESERVE: badges
- PRESERVE: workflow descriptions
- ACCEPTABLE: rewrite prose for clarity, restructure sections, move dense reference content to `docs/` files with links from the README
- NOT ACCEPTABLE: removing any of the above content categories

Length reduction is not a quality signal when content is lost. Pass these constraints to every authoring subagent in the delegation prompt.

## 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…