askill
documentation-standards

documentation-standardsSafety 90Repository

User-centered documentation quality framework. Eight quality dimensions, document type requirements, and review checklist. Documentation exists to serve readers, not demonstrate knowledge.

1 stars
1.2k downloads
Updated 1/15/2026

Package Files

Loading files...
SKILL.md

Documentation Standards

Documentation exists to serve readers, not to demonstrate knowledge.

Core Principle

Every documentation decision starts with: "What does the reader need?"

Critical Rules

RuleEnforcement
Reader firstNot code-centered - user task-centered
No liesNo broken links, untested examples, outdated info
Test everythingEvery code sample runs, every link resolves
Principles over templatesMaster principles; templates follow

8 Quality Dimensions

1. Clarity

CriterionRequirement
Simple wordsNo unexplained jargon
No ambiguous pronouns"it", "this" have clear referents
Active voice"Create a client" not "A client is created"
One idea per sentenceSplit complex sentences
15-20 words per sentenceTarget average

2. Accuracy

CriterionRequirement
All facts verifiedChecked against source
All code samples testedRun before publishing
All steps reproducibleFollow your own guide
No outdated informationCurrent version only
Version-specific labeled"Added in 2.0" clearly marked

3. Conciseness

CriterionRequirement
No filler wordsEvery word earns its place
No redundant explanationsSay it once, clearly
Maximum densityPack information in minimum space

4. Structure

CriterionRequirement
Logical progressionWhat → Why → How
Clear headingsInformation-carrying words first
Appropriate listsBullets for scannable content
No orphan subsectionsNever one subsection alone

5. Usability

CriterionRequirement
Designed for scanningF-pattern, bullets, whitespace
Table of contentsFor docs >500 words
Cross-referencesLink related content
Findable via searchUses vocabulary users search

6. Consistency

CriterionRequirement
Same term for same conceptThroughout document
Consistent formattingCode blocks, lists, headings
Consistent voiceSame tone throughout

7. Completeness

CriterionRequirement
Prerequisites statedWhat user needs before starting
Error cases documentedNot just happy paths
Related topics linked"See also" where relevant
No missing stepsNumbered, verifiable

8. Examples

CriterionRequirement
Real-world, not toyMeaningful scenarios
Working code (tested)Actually runs
Progressive complexitySimple → advanced
Imports includedCopy-paste ready

Document Types

README

Purpose: First impression. "What is this? Should I use it? How do I start?"

Required sections:

  • Name and description
  • Installation
  • Basic usage
  • License

WRONG:

## Getting Started

Welcome to our project! We're excited that you're interested...

CORRECT:

## Quick Start

Requires Node.js 18+.

npm install mylib

API Reference

Purpose: "What can I call? What do I send? What do I get back?"

Required for each endpoint:

  • Parameters with types
  • Return type
  • Error codes with causes AND solutions
  • Request/response examples

WRONG:

### authenticate()
Returns: True if successful

CORRECT:

### authenticate(username, password, mfa_code?)

**Returns:** AuthToken with .token and .expires_at
**Raises:** InvalidCredentialsError, MFARequiredError

**Example:**
try:
    token = authenticate("user@example.com", "pass123")
except MFARequiredError:
    token = authenticate("user@example.com", "pass123", "123456")

Tutorial

Purpose: Guided learning from start to finish.

Required:

  • Numbered steps
  • Each step: intro → content → verification
  • Working end result
  • Time estimate

Changelog

Purpose: "What changed? When? Does it affect me?"

Required:

  • Semantic versioning
  • ISO dates
  • Categories: Added, Changed, Fixed, Removed
  • Human-written (not commit logs)

Code Sample Rules

WRONG - Incomplete

client.send(message)

Missing: imports, initialization, error handling, output

CORRECT - Complete

import { Client, Message } from 'mylib';

const client = new Client({ apiKey: process.env.API_KEY });
const msg = new Message({ to: "user@example.com", body: "Hello" });

try {
  const result = await client.send(msg);
  console.log(`Sent: ${result.id}`); // Output: Sent: msg_123
} catch (error) {
  if (error instanceof RateLimitError) {
    console.log(`Rate limited. Retry after ${error.retryAfter}s`);
  }
}

Code Sample Checklist

  • Imports included
  • Initialization shown
  • Error handling included
  • Output demonstrated
  • Language tag on code block
  • Copy-paste ready
  • Tested and verified

Writing Principles

Sentence Level

PrincipleBadGood
Strong verbs"The error occurs when...""Dividing by zero raises..."
No "There is""There is a method that...""The validate() method..."
Active voice"Staff hours are calculated by""The manager calculates"
Positive statements"Do not close the valve""Leave the valve open"

Paragraph Level

PrincipleRequirement
Opening sentenceFront-load the point
3-5 sentencesMax 7 per paragraph
One topicPer paragraph

Document Level

PrincipleRequirement
Front-loadCritical info in first two paragraphs
Information-carrying headings"Installation Guide" not "A Guide to Installation"
Progressive disclosureEssential first, advanced on demand

Error Messages

Every error message answers:

  1. What went wrong? (Specific)
  2. How do I fix it? (Actionable)

WRONG:

Authentication failed

CORRECT:

Authentication failed. Check that your API key is valid at Settings > API Keys.

Integration

SkillRelationship
concise-outputApplies brevity to documentation
design-principlesDomain naming in docs
validation-boundaryDocument schemas at boundaries

Review Checklist

User-Centered Design

  • Target user identified
  • User goal stated
  • Prerequisites listed
  • Success criteria clear
  • Next steps offered

Content Quality

  • First sentence explains purpose
  • Active voice used
  • Technical terms defined
  • Assumptions stated explicitly

Code Examples

  • Imports included
  • Complete and runnable
  • Output shown
  • Error handling included
  • Tested and verified

Accuracy

  • API signatures match code
  • Examples syntactically correct
  • Version numbers current
  • Links resolve

Anti-Patterns

Anti-PatternWhy It's Wrong
"See source code"Document it or don't ship it
{ /* config */ } examplesPlaceholders can't be run
Commit logs as changelogWrite for humans
Undefined jargonReaders don't share your context
Only happy pathsErrors happen
Walls of textReaders scan, not read

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/10/2026

A comprehensive and highly actionable framework for documentation quality. It provides specific, measurable criteria, clear 'Wrong vs Correct' examples, and thorough checklists.

90
95
100
95
98

Metadata

Licenseunknown
Version1.0.0
Updated1/15/2026
Publisherjagreehal

Tags

apitesting