Write concise Diataxis docs for gh-aw with Starlight markdown conventions.
npx skills add https://github.com/github/gh-aw --skill documentation
Documentation lives in docs/, uses GitHub-flavored Markdown, renders with Astro Starlight, and follows Diátaxis.
Organize documentation into four Diátaxis types:
Purpose: Guide beginners through achieving a specific outcome to build confidence.
Avoid: Explaining concepts in depth, multiple options, troubleshooting
Purpose: Show how to solve a specific real-world problem or accomplish a particular task.
Avoid: Teaching fundamentals, explaining every detail, being exhaustive
Purpose: Provide accurate, complete technical descriptions of the system.
Avoid: Instructions, tutorials, opinions on usage
Purpose: Clarify and illuminate topics to deepen understanding.
Avoid: Step-by-step instructions, exhaustive reference material
aw for agentic workflow snippets with YAML frontmatterExample workflow code block:
on: push
# Your workflow steps here
Documentation files use GitHub-flavored markdown with Astro Starlight for rendering. Key syntax elements:
Every documentation page must have frontmatter:
title: Page Title
description: Brief description for SEO and navigation
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.
title attribute for file names: yaml title=".github/workflows/example.yml" `aw language for agentic workflow files with YAML frontmatterwrap for line wrapping: aw wrap `Use tabs for showing alternatives (e.g., different languages, platforms):
import { Tabs, TabItem } from '@astrojs/starlight/components';
<Tabs>
<TabItem label="npm">
npm install package
</TabItem>
<TabItem label="yarn">
yarn add package
</TabItem>
</Tabs>
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.
Documentation bloat reduces clarity and makes content harder to navigate. Common types of bloat include:
When editing documentation, focus on:
Consolidate bullet points:
Eliminate duplicates:
Condense verbose text:
Standardize structure:
Simplify code samples:
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)
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Query the CELLxGENE Census (61M+ cells) programmatically. Use when you need expression data across tissues, diseases, or cell types from the largest curated single-cell atlas. Best for population-scale queries, reference atlas comparisons. For analyzing your own data use scanpy or scvi-tools.
Take github/documentation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm, yarn.
Without those the skill loads but fails at the first command.