Agent skill

Writing Documentation With Diataxis

by sammcj in sammcj/agentic-coding

Applies the Diataxis framework to create or improve technical documentation.

Apache-2.0Auto-check passedWriting & Content

Install Writing Documentation With Diataxis

skills CLI
$ npx skills add sammcj/agentic-coding --skill writing-documentation-with-diataxis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sammcj/agentic-coding writing-documentation-with-diataxis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills_disabled/diataxis-documentation .claude/skills/writing-documentation-with-diataxis && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
writing-documentation-with-diataxis
GitHub stars
162
Token cost
~2.3k tokens
SKILL.md length
1,117 words
Files
3
Skills in repo
64
Repo updated
First seen
Licence
Apache-2.0

At a glance

Applies the Diataxis framework to create or improve technical documentation.

  • Works in 5 steps: Identify the User Need → Use the Compass → Apply the Core Principles → …
  • Being asked to write high quality tutorials
  • SKILL.md covers What Diataxis Is, The Diataxis Compass (Your…, When Creating New Documentation and When Reviewing Existing…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Writing Documentation With Diataxis is an agent skill from sammcj/agentic-coding. Applies the Diataxis framework to create or improve technical documentation. Use when being asked to write high quality tutorials, how-to guides, reference docs, or explanations, when reviewing documentation quality, or when deciding what type of documentation to create. Helps identify documentation types using the action/cognition and acquisition/application dimensions.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `principles.md` and `reference.md`).

It sits in Writing & Content, covering Technical writing and Technical documentation. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.

When your agent uses it

  • Being asked to write high quality tutorials
  • Reviewing documentation quality
  • Deciding what type of documentation to create

Example prompts

  • “Use the writing-documentation-with-diataxis skill to apply the Diataxis framework to create or improve technical documentation”
  • “/writing-documentation-with-diataxis”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Identify the User Need
  2. Use the Compass
  3. Apply the Core Principles
  4. Use Appropriate Language
  5. Check Boundaries

What it can do on your machine

Read from SKILL.md and the folder at commit 2f25ced. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Writing Documentation With Diataxis loads about 2.3k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 1,117 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 1,117 words, ~2,295 tokens.

Download SKILL.mdSave it as .claude/skills/writing-documentation-with-diataxis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
writing-documentation-with-diataxis
description
Applies the Diataxis framework to create or improve technical documentation. Use when being asked to write high quality tutorials, how-to guides, reference docs, or explanations, when reviewing documentation quality, or when deciding what type of documentation to create. Helps identify documentation types using the action/cognition and acquisition/application dimensions.

Writing Documentation with Diataxis

You help users create and improve technical documentation using the Diataxis framework, which identifies four distinct documentation types based on user needs.

What Diataxis Is

Diataxis is a framework for creating documentation that feels good to use - documentation that has flow, anticipates needs, and fits how humans actually interact with a craft.

Important: Diataxis is an approach, not a template. Don't create empty sections for tutorials/how-to/reference/explanation just to have them. Create content that serves actual user needs, apply these principles, and let structure emerge organically.

Core insight: Documentation serves practitioners in a domain of skill. What they need changes based on two dimensions:

  1. Action vs Cognition - doing things vs understanding things
  2. Acquisition vs Application - learning vs working

These create exactly four documentation types:

  • Learning by doing → Tutorials
  • Working to achieve a goal → How-to Guides
  • Working and need facts → Reference
  • Learning to understand → Explanation

Why exactly four: These aren't arbitrary categories. The two dimensions create exactly four quarters - there cannot be three or five. This is the complete territory of what documentation must cover.

The Diataxis Compass (Your Primary Tool)

When uncertain which documentation type is needed, ask two questions:

1. Does the content inform ACTION or COGNITION?

  • Action: practical steps, doing things
  • Cognition: theoretical knowledge, understanding

2. Does it serve ACQUISITION or APPLICATION of skill?

  • Acquisition: learning, study
  • Application: working, getting things done

Then apply:

Content TypeUser ActivityDocumentation Type
ActionAcquisitionTutorial
ActionApplicationHow-to Guide
CognitionApplicationReference
CognitionAcquisitionExplanation

When Creating New Documentation

1. Identify the User Need

Ask yourself:

  • Who is the user? (learner or practitioner)
  • What do they need? (to do something or understand something)
  • Where are they? (studying or working)
2. Use the Compass

Apply the two questions above to determine which documentation type serves this need.

3. Apply the Core Principles

For Tutorials (learning by doing):

  • You're responsible for the learner's success - every step must work
  • Focus on doing, not explaining
  • Show where they're going upfront
  • Deliver visible results early and often
  • Maintain narrative of expectation ("You'll see...", "Notice that...")
  • Be concrete and specific - one path only, no alternatives
  • Eliminate the unexpected - perfectly repeatable
  • Encourage repetition to build the "feeling of doing"
  • Aspire to perfect reliability

For How-to Guides (working to achieve goals):

  • Address real-world problems, not tool capabilities
  • Assume competence - they know what they want
  • Provide logical sequence that flows with human thinking
  • Address real-world complexity with conditionals ("If X, do Y")
  • Seek flow - anticipate their next move, minimise context switching
  • Omit unnecessary detail - practical usability beats completeness
  • Focus on tasks, not tools
  • Name guides clearly: "How to [accomplish X]"

For Reference (facts while working):

  • Describe, don't instruct - neutral facts only
  • Structure mirrors the product architecture
  • Use standard, consistent patterns throughout
  • Be austere and authoritative - no ambiguity
  • Separate description from instruction
  • Provide succinct usage examples
  • Completeness matters here (unlike how-to guides)

For Explanation (understanding concepts):

  • Talk about the subject from multiple angles
  • Answer "why" - design decisions, history, constraints
  • Make connections to related concepts
  • Provide context and bigger picture
  • Permit opinion and perspective - discuss trade-offs
  • Keep boundaries clear - no instruction or pure reference
  • Take higher, wider perspective
4. Use Appropriate Language

Tutorials: "We will create..." "First, do X. Now, do Y." "Notice that..." "You have built..."

How-to Guides: "This guide shows you how to..." "If you want X, do Y" "To achieve W, do Z"

Reference: "X is available as Y" "Sub-commands are: A, B, C" "You must use X. Never Y."

Explanation: "The reason for X is..." "W is better than Z, because..." "Some prefer W. This can be effective, but..."

5. Check Boundaries

Review your content:

  • Does any part serve a different user need?
  • Is there explanation in your tutorial? (Extract and link to it)
  • Are you instructing in reference? (Move to how-to guide)
  • Is there reference detail in your how-to? (Link to reference instead)

If content serves multiple needs, split it and link between documents.

Show full SKILL.md (464 more words)Show less

When Reviewing Existing Documentation

Use this iterative workflow:

1. Choose a piece - Any page, section, or paragraph

2. Challenge it with these questions:

  • What user need does this serve?
  • Which documentation type should this be?
  • Does it serve that need well?
  • Is the language appropriate for this type?
  • Does any content belong in a different type?

3. Use the compass if the type is unclear

4. Identify one improvement that would help right now

5. Make that improvement according to Diataxis principles

6. Repeat with another piece

Don't try to restructure everything at once. Structure emerges from improving individual pieces.

Key Principles

Flow is paramount: Documentation should move smoothly with the user, anticipating their next need. For how-to guides especially, think: What must they hold in their mind? When can they resolve those thoughts? What will they reach for next?

Boundaries are protective: Keep documentation types separate. The most common mistake is mixing tutorials (learning) with how-to guides (working).

Structure follows content: Don't create empty sections. Write content that serves real needs, apply Diataxis principles, and let structure emerge organically.

One need at a time: Each piece serves one user need. If users need multiple things, create multiple pieces and link between them.

Good documentation feels good: Beyond accuracy, documentation should anticipate needs, have flow, and fit how humans work.

Common Mistakes to Avoid

  1. Tutorial/How-to conflation - Tutorials are for learning (study), how-to guides are for working. Signs you've mixed them:

    • Your "tutorial" assumes users know what they want to do
    • Your "tutorial" offers multiple approaches
    • Your "how-to guide" tries to teach basic concepts
    • Your "tutorial" addresses real-world complexity
  2. Over-explaining in tutorials - Trust that learning happens through doing. Give minimal explanation and link to detailed explanation elsewhere.

  3. How-to guides that teach - Assume competence. Don't explain basics.

  4. Reference that instructs - Reference describes, it doesn't tell you what to do.

  5. Explanation in action-oriented docs - Move it to explanation docs and link to it.

Quick Reference Table

AspectTutorialsHow-to GuidesReferenceExplanation
Answers"Can you teach me?""How do I...?""What is...?""Why...?"
User isLearning by doingWorking on taskWorking, needs factsStudying to understand
ContentAction stepsAction stepsInformationInformation
FormA lessonDirectionsDescriptionDiscussion
ResponsibilityOn the teacherOn the userNeutralShared
ToneSupportive, guidingDirect, conditionalAustere, factualDiscursive, contextual

Supporting Files

For more detailed guidance, refer to:

  • principles.md - Comprehensive principles for each documentation type with examples
  • reference.md - Quality framework, complex scenarios, and additional guidance

Output Requirements

When applying Diataxis:

  • Be direct and practical
  • Focus on serving user needs
  • Use the compass to resolve uncertainty
  • Cite which documentation type you're applying and why
  • If reviewing docs, be specific about what type it should be and how to improve it
  • Use British English spelling throughout

© sammcj, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in Skills_disabled/diataxis-documentation of sammcj/agentic-coding.

  • SKILL.md
  • principles.md
  • reference.md

Open the folder on GitHubat commit 2f25ced

Compare with similar skills

Writing Documentation With Diataxis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Writing Documentation With Diataxis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Writing Documentation With Diataxis this skillsammcj/agentic-coding162—~2.3kAutomated safety check: PassApache-2.0
Beads Documentation Style Guidegastownhall/beads28k—~3.2kAutomated safety check: PassMIT
Technical Writing Standardcursor/plugins11k10 repos~2.3kAutomated safety check: PassNone
Heym Documentation Articlesheymrun/heym1.1k—~780Automated safety check: PassCustom licence
Developer Docs Technical Writervercel-labs/github-tools130—~3.9kAutomated safety check: PassMIT
Aholo Viewer Docsmanycoretech/aholo-viewer1.1k—~341Automated safety check: PassMIT

Similar skills

  • Sets the house style for the beads user docs: the canonical concept model, required terminology, prose and diagram conventions, and checks before docs work is done.

    28k GitHub stars~3.2k tokensUpdated today
    Writing & ContentAuto-check passed
  • Official

    Applies four layers of technical-writing rules to docs, RFCs, readmes, PR descriptions and commit messages so a tired engineer follows them on the first read.

    11k GitHub starsUsed in 10 repos~2.3k tokens
    Writing & ContentAuto-check passed
  • Creates and updates documentation articles for the Heym platform: category choice, manifest entry, markdown file and cross-links from existing pages.

    1.1k GitHub stars~780 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Developer Docs Technical Writer

    vercel-labs/github-tools

    Official

    Writes, reviews and edits developer documentation for SDKs, libraries and frameworks, from getting-started guides and API references to migration guides.

    130 GitHub stars~3.9k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Aholo Viewer Docs

    manycoretech/aholo-viewer

    Guides writing and maintaining Aholo Viewer documentation: README, AGENTS.md, architecture notes, bilingual manual pages and AI collaboration guides.

    1.1k GitHub stars~341 tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Diataxis

    WebMCP-org/npm-packages

    Write technical documentation following the Diataxis framework by Daniele Procida.

    104 GitHub stars~1.7k tokensUpdated yesterday
    Writing & ContentAuto-check passed

More from sammcj/agentic-coding

All 64 skills in this repo
  • Yue2 Music

    sammcj/agentic-coding

    A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…

    162 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Bento Slides

    sammcj/agentic-coding

    A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.

    162 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Idrive Backup

    sammcj/agentic-coding

    A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS

    162 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check: notes
  • Piper Tts Training

    sammcj/agentic-coding

    Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.

    162 GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • PPTX To Md

    sammcj/agentic-coding

    Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.

    162 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed
  • Skill Creator Primer

    sammcj/agentic-coding

    You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.

    162 GitHub stars~9.8k tokensUpdated 2 days ago
    Auto-check passed

Questions about Writing Documentation With Diataxis

What does Writing Documentation With Diataxis do?

Applies the Diataxis framework to create or improve technical documentation. Writing Documentation With Diataxis is an agent skill from sammcj/agentic-coding. Applies the Diataxis framework to create or improve technical documentation.

When should I use Writing Documentation With Diataxis?

Writing Documentation With Diataxis fits situations like: being asked to write high quality tutorials; reviewing documentation quality; deciding what type of documentation to create.

How do I install Writing Documentation With Diataxis in Claude Code?

Run `npx skills add sammcj/agentic-coding --skill writing-documentation-with-diataxis -a claude-code`. Or copy the skill folder (Skills_disabled/diataxis-documentation in sammcj/agentic-coding) into .claude/skills/writing-documentation-with-diataxis in your project. Claude Code loads it when a task matches its description.

How do I install Writing Documentation With Diataxis in Codex?

Run `npx skills add sammcj/agentic-coding --skill writing-documentation-with-diataxis -a codex`. Or copy the skill folder (Skills_disabled/diataxis-documentation in sammcj/agentic-coding) into .agents/skills/writing-documentation-with-diataxis in your project. Codex loads it when a task matches its description.

Can I use Writing Documentation With Diataxis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sammcj/agentic-coding --skill writing-documentation-with-diataxis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/writing-documentation-with-diataxis, .gemini/skills/writing-documentation-with-diataxis, .github/skills/writing-documentation-with-diataxis and .opencode/skills/writing-documentation-with-diataxis in your project.

What does Writing Documentation With Diataxis need to run?

SKILL.md names no scripts, command-line tools or credentials: Writing Documentation With Diataxis is instructions for the agent only.

Does Writing Documentation With Diataxis access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Writing Documentation With Diataxis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Writing Documentation With Diataxis use?

Writing Documentation With Diataxis is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Writing Documentation With Diataxis use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Writing Documentation With Diataxis?

Skills that share tags, products or a category with Writing Documentation With Diataxis: Beads Documentation Style Guide (gastownhall/beads, 28k stars), Technical Writing Standard (cursor/plugins, 11k stars), Heym Documentation Articles (heymrun/heym, 1.1k stars) and Developer Docs Technical Writer (vercel-labs/github-tools, 130 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Writing Documentation With Diataxis?

sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.

Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.