Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Document Writing

ASecurity

How to write and review project documents: the language-agnostic writing standards, the five-document architecture and ownership boundaries, the document-structure model, cross-reference and maintenance rules, and the review checklist the doc-reviewer enforces. Load when authoring or reviewing any PRD, system-design doc, ADR, brief, or CLAUDE.md.

16 stars
0 votes
0 copies
0 views
Added 9/20/2026
ai-agentsgoshellsqlgitdocumentation

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add woditschka/agentic-coding-reference --skill document-writing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Document Writing?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Document Writing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/woditschka-document-writing-5a5bd1b8/badge)](https://www.skillsdirectory.com/skills/woditschka-document-writing-5a5bd1b8)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: document-writing
description: >-
  How to write and review project documents: the language-agnostic writing
  standards, the five-document architecture and ownership boundaries, the
  document-structure model, cross-reference and maintenance rules, and the
  review checklist the doc-reviewer enforces. Load when authoring or reviewing
  any PRD, system-design doc, ADR, brief, or CLAUDE.md.
compatibility:
  - claude-code
  - github-copilot
  - opencode
reads:
  - docs/prd.md
  - docs/system-design.md
  - docs/ubiquitous-language.md
metadata:
  version: "1.0"
  author: team
---

This skill is the single home of documentation discipline, serving two consumers from one source. The standard itself — the writing rules, the five-document architecture, the ownership boundaries, and the cross-reference and maintenance rules — lives in [`documentation-standards.md`](documentation-standards.md). Every document-producing agent and skill **follows** it when authoring; the `doc-reviewer` **enforces** it on review, together with the stack-specific checks in [`review-checks.md`](review-checks.md) — a stack overlay each stack ships beside this skill (the stack-agnostic core source carries none). This file carries the agent obligations and the author's validation checklist. Author and reviewer read the same rulebook.

## Agent Guidelines

These rules bind any agent that reads or writes project documentation. They restate the ownership and abstraction boundaries from [`documentation-standards.md`](documentation-standards.md) as direct obligations.

Agents must:
- Read PRD requirements before implementing
- Reference system-design.md for types and interfaces
- Check ADRs for design constraints before proposing alternatives
- Never duplicate type definitions across documents
- Never add code or language-specific constructs to PRD
- Never reference internal code in PRD (no class names, function names, or variable names)
- Use behavioral language in PRD ("the system retries the operation" not "`Retry()` calls `continue`")
- When PRD needs to reference implementation details, add a link: `**Design:** See [system-design.md#section](system-design.md#section)`

## Validation Checklist

This is the author's self-check before merging a documentation change. The `doc-reviewer` enforces the same bar at review time, with stack-specific additions, from [`review-checks.md`](review-checks.md). Before merging, verify:

### Structural Checks

- [ ] All requirement IDs have HTML anchors (`<a id="req-xx-nnn"></a>`)
- [ ] A new requirement ID reuses its capability area's prefix and takes the number after the highest under it (an ID is never reused); a new prefix appears only with a new capability group (`prd-authoring` skill)
- [ ] No implementation pseudocode in PRD
- [ ] No language-specific code blocks in PRD
- [ ] No language-specific constructs in PRD
- [ ] All cross-references use full paths with anchors
- [ ] Tables have headers and consistent column counts
- [ ] No prose restates a count of items a list beside it carries; the list is the count (`documentation-standards.md` § Current-State Prose)
- [ ] No relative references ("above", "below", "previous")
- [ ] No version numbers in documents
- [ ] ADR References use em-dashes
- [ ] ADR Implementation section includes **Requirements:** or **Non-goal:**
- [ ] Code blocks have language tags

### Cross-Document Coherence Checks

- [ ] Every requirement ID in system-design.md exists in prd.md
- [ ] Deprecated requirements are absent from system-design.md
- [ ] No principle-brief rule reads unconditionally where system-design.md assigns the case; the rule names its scope and the design's assignment governs
- [ ] Constants referenced in prd.md are defined in system-design.md
- [ ] Domain terms used in prd.md and system-design.md are defined in ubiquitous-language.md (or added there in the same change)
- [ ] All document links resolve to valid anchors

### Abstraction Level Checks (system-design.md)

- [ ] No struct field tables (`| Field | Type | Description |` rows). Purpose paragraph plus source pointer instead.
- [ ] No function parameter tables (`| Parameter | Type | Description |` rows). Contract prose plus source pointer instead.
- [ ] No constant literal values. Name the constant, cite the source file.
- [ ] No exhaustive rule listings (iptables, SQL, shell). State the invariant; source is authoritative for the full listing.
- [ ] Self-test: for each paragraph, would a field rename, parameter addition, or constant change in source silently invalidate it? If yes, rewrite or delete.

### Structure Within a Document Checks

Per [Structure Within a Document](documentation-standards.md#structure-within-a-document):

- [ ] Each top-level heading opens with a Level 1 paragraph (≤200 words, narrative prose, no jargon) that states purpose, conclusion, and scope.
- [ ] A non-specialist can read the first 200 words of any major section and walk away with a useful understanding.
- [ ] No section jumps from Level 1 to Level 3 with more than a 5× length ratio — insert a Level 2 bridge when the gap is larger.
- [ ] Each level is self-contained: no forward references ("as explained in Section 3 below") required to understand the current level.
- [ ] Lower-level sections may use lists, tables, and diagrams, but Level 1 paragraphs are prose.

### Writing Standards Checks

- [ ] No prohibited words without data
- [ ] No vague adjectives without measurements
- [ ] No second-person address or authorial "we" in descriptive prose — exceptions per § Voice and Register (action-directing text, a deliberate pitch, ADR decision voice)
- [ ] Sentences under 30 words; 70% under 20 words
- [ ] No wordy phrases
- [ ] Markdown prose is not hard-wrapped to a column; no word is broken across lines with a hyphen (YAML frontmatter `>-` excepted)
- [ ] Every paragraph passes the "So what?" test
- [ ] Answers start with the answer
- [ ] Acronyms defined on first use
- [ ] No subjective language or buzzwords

## Reviewing Documents

The `doc-reviewer` enforces every standard in [`documentation-standards.md`](documentation-standards.md). The stack-specific review checklist — the prohibited-pattern instantiations for this stack, project-specific coherence checks, and the review process — lives in [`review-checks.md`](review-checks.md), which extends these checks to the stack's concrete paths and constructs. The autofix eligibility rules it applies are core-shipped beside it in [`autofix-protocol.md`](autofix-protocol.md). The reviewer loads all three files.

Attribution

woditschkawoditschka
View sourceMore from woditschka →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →