
documentation
Write concise Diataxis docs for gh-aw with Starlight markdown conventions.
- Installs
- 62
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/github/gh-aw --skill documentation- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads documentation automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Documentation
Documentation lives in docs/, uses GitHub-flavored Markdown, renders with Astro Starlight, and follows Diátaxis.
Diátaxis Framework
Organize documentation into four Diátaxis types:
1. Tutorials (Learning-Oriented)
Purpose: Guide beginners through achieving a specific outcome to build confidence.
- Start with what the user will build or achieve
- Provide a clear, step-by-step path from start to finish
- Include concrete examples and working code
- Assume minimal prior knowledge
- Focus on the happy path (avoid edge cases and alternatives)
- End with a working result the user can see and use
- Use imperative mood: "Create a file", "Run the command"
Avoid: Explaining concepts in depth, multiple options, troubleshooting
2. How-to Guides (Goal-Oriented)
Purpose: Show how to solve a specific real-world problem or accomplish a particular task.
- Title format: "How to [accomplish specific goal]"
- Assume the user knows the basics
- Focus on practical steps to solve one problem
- Include necessary context but stay focused
- Show multiple approaches only when genuinely useful
- End when the goal is achieved
- Use imperative mood: "Configure the setting", "Add the following"
Avoid: Teaching fundamentals, explaining every detail, being exhaustive
3. Reference (Information-Oriented)
Purpose: Provide accurate, complete technical descriptions of the system.
- Organized by structure (CLI commands, configuration options, API endpoints)
- Comprehensive and authoritative
- Consistent format across all entries
- Technical accuracy is paramount
- Include all parameters, options, and return values
- Use descriptive mood: "The command accepts", "Returns a string"
- Minimal narrative or explanation
Avoid: Instructions, tutorials, opinions on usage
4. Explanation (Understanding-Oriented)
Purpose: Clarify and illuminate topics to deepen understanding.
- Discuss why things are the way they are
- Explain design decisions and tradeoffs
- Provide context and background
- Connect concepts to help form mental models
- Discuss alternatives and their implications
- Use indicative mood: "This approach provides", "The engine uses"
Avoid: Step-by-step instructions, exhaustive reference material
General Style Guidelines
- Tone: Neutral, technical, not promotional
- Voice: Avoid "we", "our", "us" (use "the tool", "this command")
- Headings: Use markdown heading syntax, not bold text as headings
- Lists: Avoid long bullet point lists; prefer prose with structure
- Code samples: Minimal and focused; exclude optional fields unless relevant
- Language tag: Use
awfor agentic workflow snippets with YAML frontmatter
Example workflow code block:
on: push
# Your workflow steps here
GitHub-Flavored Markdown Syntax
Documentation files use GitHub-flavored markdown with Astro Starlight for rendering. Key syntax elements:
Frontmatter
Every documentation page must have frontmatter:
title: Page Title
description: Brief description for SEO and navigation
GitHub Alerts
Use GitHub's alert syntax for notes, tips, warnings, and cautions:
> [!NOTE]
> Important information the reader should notice.
> [!TIP]
> Helpful advice for the reader.
> [!WARNING]
> Warning about potential issues or pitfalls.
> [!CAUTION]
> Critical warning about dangerous operations.
> [!IMPORTANT]
> Key information users need to know.
Code Blocks
- Use syntax highlighting with language tags
- Add
titleattribute for file names:```yaml title=".github/workflows/example.yml" - Use
awlanguage for agentic workflow files with YAML frontmatter - Add
wrapfor line wrapping:```aw wrap
Links
- Internal links: Use relative paths between documentation pages
- External links: Open in new tab automatically
- Link text: Use descriptive text, avoid "click here"
Tabs
Use tabs for showing alternatives (e.g., different languages, platforms):
import { Tabs, TabItem } from '@astrojs/starlight/components';
<Tabs>
<TabItem label="npm">
```bash
npm install package
```
</TabItem>
<TabItem label="yarn">
```bash
yarn add package
```
</TabItem>
</Tabs>
Cards
Use cards for navigation or highlighting multiple options:
import { Card, CardGrid } from '@astrojs/starlight/components';
<CardGrid>
<Card title="Getting Started" icon="rocket">
Quick introduction to the basics.
</Card>
<Card title="Advanced Usage" icon="setting">
Deep dive into advanced features.
</Card>
</CardGrid>
Remember: Keep components minimal. Prefer standard markdown when possible.
Content to Avoid
- "Key Features" sections
- Marketing language or selling points
- Excessive bullet points (prefer structured prose)
- Overly verbose examples with all optional parameters
- Mixing documentation types (e.g., tutorials that become reference)
Avoiding Documentation Bloat
Documentation bloat reduces clarity and makes content harder to navigate. Common types of bloat include:
Types of Documentation Bloat
- Duplicate content: Same information repeated in different sections
- Excessive bullet points: Long lists that could be condensed into prose or tables
- Redundant examples: Multiple examples showing the same concept
- Verbose descriptions: Overly wordy explanations that could be more concise
- Repetitive structure: The same "What it does" / "Why it's valuable" pattern overused
Writing Concise Documentation
When editing documentation, focus on:
Consolidate bullet points:
- Convert long bullet lists into concise prose or tables
- Remove redundant points that say the same thing differently
Eliminate duplicates:
- Remove repeated information
- Consolidate similar sections
Condense verbose text:
- Make descriptions more direct and concise
- Remove filler words and phrases
- Keep technical accuracy while reducing word count
Standardize structure:
- Reduce repetitive "What it does" / "Why it's valuable" patterns
- Use varied, natural language
Simplify code samples:
- Remove unnecessary complexity from code examples
- Focus on demonstrating the core concept clearly
- Eliminate boilerplate or setup code unless essential for understanding
- Keep examples minimal yet complete
- Use realistic but simple scenarios
Example: Before and After
Before (Bloated):
### Tool Name
Description of the tool.
- **What it does**: This tool does X, Y, and Z
- **Why it's valuable**: It's valuable because A, B, and C
- **How to use**: You use it by doing steps 1, 2, 3, 4, 5
- **When to use**: Use it when you need X
- **Benefits**: Gets you benefit A, benefit B, benefit C
- **Learn more**: [Link](url)
After (Concise):
### Tool Name
Description of the tool that does X, Y, and Z to achieve A, B, and C.
Use it when you need X by following steps 1-5. [Learn more](url)
Documentation Quality Guidelines
- Preserve meaning: Never lose important information
- Be surgical: Make precise edits, don't rewrite everything
- Maintain tone: Keep the neutral, technical tone
- Test locally: Verify links and formatting are still correct
Structure by File Type
- Getting Started: Tutorial format
- How-to Guides: Goal-oriented, one task per guide
- CLI Reference: Reference format, complete command documentation
- Concepts: Explanation format, building understanding
- API Reference: Reference format, complete API documentation
FAQ
What does the documentation skill do?
Write concise Diataxis docs for gh-aw with Starlight markdown conventions.
How do I install documentation?
Run npx skills add https://github.com/github/gh-aw --skill documentation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/documentation/ (personal) or .claude/skills/documentation/ (project).
Which AI agents can use documentation?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is documentation safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains documentation?
It is published by github in github/gh-aw, and it is an official skill from the maker of the technology it covers. It has 62 recorded installs.
More from github/gh-aw
github-mcp-server
github/gh-aw
Reference for GitHub MCP server tools, methods, and usage patterns.
developer
github/gh-aw
Core developer rules and coding conventions for gh-aw changes.
javascript-refactoring
github/gh-aw
Split large JavaScript files into maintainable modules safely.
debugging-workflows
github/gh-aw
Diagnose gh-aw failures using the canonical debugging strategy and evidence reference.
agentic-workflows
github/gh-aw
Open the skill to read its SKILL.md instructions.
github-pr-query
github/gh-aw
Query GitHub pull requests with jq filtering and reusable selectors.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.