write-documents

Apply when creating or editing INFO, SPEC, IMPL, TEST, FIX documents, or STRUT plans

16 stars

Best use case

write-documents is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Apply when creating or editing INFO, SPEC, IMPL, TEST, FIX documents, or STRUT plans

Teams using write-documents should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/write-documents/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/write-documents/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/write-documents/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How write-documents Compares

Feature / Agentwrite-documentsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Apply when creating or editing INFO, SPEC, IMPL, TEST, FIX documents, or STRUT plans

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Document Writing Guide

This skill contains document templates and formatting rules.

## Verb Mapping

This skill implements:
- [WRITE-INFO] - Create INFO documents (use INFO_TEMPLATE.md)
- [WRITE-SPEC] - Create SPEC documents (use SPEC_TEMPLATE.md)
- [WRITE-IMPL-PLAN] - Create IMPL documents (use IMPL_TEMPLATE.md)
- [WRITE-TEST-PLAN] - Create TEST documents (use TEST_TEMPLATE.md)
- [WRITE-FIX] - Create FIX documents (use FIXES_TEMPLATE.md)
- [WRITE-FAIL] - Create/update FAILS.md (use FAILS_TEMPLATE.md)
- [WRITE-REVIEW] - Create _REVIEW.md documents (use REVIEW_TEMPLATE.md)
- [WRITE-TASKS-PLAN] - Create TASKS documents (use TASKS_TEMPLATE.md)
- [WRITE-STRUT] - Create/insert STRUT plans (use STRUT_TEMPLATE.md)

## MUST-NOT-FORGET

- Use lists, not Markdown tables
- No emojis - ASCII only, no `---` markers between sections
- Header block: Doc ID (required), Goal (required), Target file, Depends on (omit if N/A)
- Every document MUST have a unique ID
- Reference other docs by filename AND Doc ID: `_SPEC_CRAWLER.md [CRWL-SP01]`
- Be exhaustive: list ALL domain objects, actions, functions
- Document History section at end, reverse chronological
- Use box-drawing characters (├── └── │) for trees
- SPEC, IMPL, TEST documents MUST have MUST-NOT-FORGET section (after header block, before TOC)

## Document Writing Rules

- Enumerations: use comma-separated format (`.pdf, .docx, .ppt`), NOT slash-separated (`.pdf/.docx/.ppt`)
- Ambiguous modifiers: when a clause can attach to multiple nouns, split into separate sentences
  - BAD: "Files starting with '!' signify high relevance that must be treated with extra attention."
  - GOOD: "Files starting with '!' indicate high relevance. This information must be treated with extra attention."

## Templates (Required)

You MUST read the appropriate template before creating documents:
- `INFO_TEMPLATE.md` - Research and analysis documents
- `SPEC_TEMPLATE.md` - Technical specifications
- `IMPL_TEMPLATE.md` - Implementation plans
- `TEST_TEMPLATE.md` - Test plans
- `TASKS_TEMPLATE.md` - Task plans (partitioned work items)
- `FIXES_TEMPLATE.md` - Fix tracking documents
- `FAILS_TEMPLATE.md` - Failure log (lessons learned)
- `REVIEW_TEMPLATE.md` - Review documents (_REVIEW.md)
- `WORKFLOW_TEMPLATE.md` - AGEN verb workflow structure
- `STRUT_TEMPLATE.md` - STRUT plans (embeddable in any document)

## Usage

1. Read this SKILL.md for core rules
2. Read the template for your document type (required)
3. For SPEC documents: also read `SPEC_RULES.md` (required)
4. Follow the template structure exactly, except when user requests exceptions or different structure

## File Naming

- `_INFO_[TOPIC].md` - Research, analysis, preparation documents
- `_SPEC_[COMPONENT].md` - Technical specifications
- `_SPEC_[COMPONENT]_UI.md` - UI specifications
- `_IMPL_[COMPONENT].md` - Implementation plans
- `_IMPL_[COMPONENT]_FIXES.md` - Fix tracking during implementation
- `SPEC_[COMPONENT]_TEST.md` - Test plan for specification
- `IMPL_[COMPONENT]_TEST.md` - Test plan for implementation
- `TASKS_[TOPIC].md` - Task plans (partitioned work items)
- `!` prefix for priority docs that must be read first

## Agent Behavior

- Be extremely concise. Sacrifice grammar for concision.
- NEVER ask for continuations when following plans.
- Before assumptions, propose 2-3 implementation alternatives.
- List assumptions at spec start for user verification.
- Optimize for simplicity.
- Re-use existing code by default (DRY principle).
- Research APIs before suggesting; rely on primary sources only.
- Document user decisions in "Key Mechanisms" and "What we don't want" sections.

## ID System

See `[AGENT_FOLDER]/rules/devsystem-ids.md` rule (always-on) for complete ID system.

**Quick Reference:**
- Document: `[TOPIC]-[DOC][NN]` (IN = Info, SP = Spec, IP = Impl Plan, TP = Test Plan)
  - Example: `CRWL-SP01`, `AUTH-IP01`
- Spec-Level: `[TOPIC]-[TYPE]-[NN]` (FR = Functional Requirement, IG = Implementation Guarantee, DD = Design Decision)
  - Example: `CRWL-FR-01`, `AUTH-DD-03`
- Plan-Level: `[TOPIC]-[DOC][NN]-[TYPE]-[NN]` (EC = Edge Case, IS = Implementation Step, VC = Verification Checklist, TC = Test Case)
  - Example: `CRWL-IP01-EC-01`, `AUTH-TP01-TC-05`

## Writing AGEN Verb Workflows

AGEN verbs map directly to Windsurf workflows. See `WORKFLOW_TEMPLATE.md` for:
- Workflow structure template
- General vs Specific parts pattern
- Context discovery pattern
- Strategy pattern
- Output rules

Related Skills

write-rich-descriptions

16
from diegosouzapw/awesome-omni-skill

Use metadata for system models (business/technical context) and markdown tables for deployment models (infrastructure specs). Makes models queryable and self-documenting.

write-ida-script

16
from diegosouzapw/awesome-omni-skill

Write an IDAPython script using verified API workflows from the IDA SDK MCP server

write-coding-standards-from-file

16
from diegosouzapw/awesome-omni-skill

Write a coding standards document for a project using the coding styles from the file(s) and/or folder(s) passed as arguments in the prompt.

vue-writer

16
from diegosouzapw/awesome-omni-skill

Skill for creating and editing Vue.js components following Prowi conventions. Use when writing Vue files, creating components, or refactoring frontend code. Enforces modern patterns like defineModel(), TypeScript, and Composition API.

typescript-hook-writer

16
from diegosouzapw/awesome-omni-skill

Expert guidance for developing Claude Code hooks in TypeScript with shared utilities, esbuild compilation, and Vitest testing - distributes compiled JS while maintaining TypeScript development experience

skill-writer

16
from diegosouzapw/awesome-omni-skill

Expert guide for creating, structuring, and documenting Agent Skills following the official specification. Use when you need to create a new Agent Skill, understand the Agent Skills format, or improve existing skill documentation.

notebook-writer

16
from diegosouzapw/awesome-omni-skill

Create and document Jupyter notebooks for reproducible analyses

newsletter-events-write

16
from diegosouzapw/awesome-omni-skill

Generate markdown newsletters from stored events. Use when the user wants to create, write, or generate a newsletter from scraped events.

moqui-service-writer

16
from diegosouzapw/awesome-omni-skill

This skill should be used when users need to create, validate, or modify Moqui framework services, entities, and queries. It provides comprehensive guidance for writing correct Moqui XML definitions, following framework patterns and conventions.

library-writer

16
from diegosouzapw/awesome-omni-skill

This skill should be used when writing software libraries, packages, or modules following battle-tested patterns for clean, minimal, production-ready code. It applies when creating new libraries, refactoring existing ones, designing library APIs, or when clean, dependency-minimal library code is needed. Triggers on requests like "create a library", "write a package", "design a module API", or mentions of professional library development.

cs-guide-writer

16
from diegosouzapw/awesome-omni-skill

CS 학습 문서를 작성합니다. "오늘의 CS", "CS 정리", "{주제} 정리해줘", "최근 이슈 CS" 요청 시 사용하세요.

azure-search-documents-ts

16
from diegosouzapw/awesome-omni-skill

Build search applications using Azure AI Search SDK for JavaScript (@azure/search-documents). Use when creating/managing indexes, implementing vector/hybrid search, semantic ranking, or building ag...