hads
wshobson/agents
Human-AI Document Standard for technical docs readable by both humans and AI models.
What is hads?
HADS is a Markdown convention that structures technical documentation with explicit block types ([SPEC], [NOTE], [BUG], [?]) to optimize readability for AI models while maintaining human usability. Use it when writing or converting documentation that will be consumed by AI agents, or when you need to validate and optimize docs for token-efficient AI consumption.
- Generate HADS-formatted technical documentation with proper block structure and AI manifest
- Convert existing documentation (README, API docs, guides) into HADS format
- Validate HADS documents for required structure (H1 title, version, AI manifest, block formatting)
- Optimize documentation for token-efficient AI consumption by structuring facts into [SPEC] blocks
- Identify and surface known issues as [BUG] blocks with symptom, cause, and fix
- Distinguish between authoritative facts ([SPEC]), context ([NOTE]), verified failures ([BUG]), and unverified claims ([?])
How to install hads
npx skills add https://github.com/wshobson/agents --skill hadsHow to use hads
- 1.Read the AI manifest in any HADS document first to understand what sections to prioritize
- 2.When writing new HADS docs: start with H1 title and version declaration, add AI manifest before content
- 3.Organize facts into [SPEC] blocks (terse, bullets/tables/code), context into [NOTE] blocks, known issues into [BUG] blocks
- 4.For each [BUG] block, include symptom, cause, and fix as minimum required content
- 5.Use [?] blocks to flag unverified or inferred claims with lower confidence
- 6.Validate documents have: H1 title, Version X.Y.Z in first 20 lines, AI manifest before first content section, properly bolded block tags
Use cases
- Converting a REST API README into HADS format for better AI model consumption
- Writing new technical documentation that will be read by both humans and AI agents like Claude
- Validating existing documentation to ensure it follows HADS structure and conventions
- Restructuring legacy docs to separate facts from narrative for clearer AI reading
- Documenting known bugs and failure modes with confirmed fixes in a standardized format
- Technical writers creating documentation for AI-assisted development
- Developers maintaining libraries or APIs that will be consumed by AI agents
- Teams using Claude Code or Cursor for code generation from documentation
- Documentation maintainers converting existing docs to AI-friendly formats
- Anyone optimizing documentation for both human and machine readability
hads FAQ
[SPEC] blocks contain authoritative facts and are always read by AI—keep them terse using bullets, tables, or code. [NOTE] blocks provide human context, history, and examples—AI may skip them if the query is already answered by [SPEC] blocks.
Use [BUG] blocks for verified failure modes with confirmed fixes. Always include symptom and fix as minimum content. These blocks are always read by AI and represent hard-won knowledge that prevents others from hitting the same issues.
HADS is designed for both. It's standard Markdown with no special tooling required. The block tags and AI manifest help AI models read efficiently, but humans can read HADS documents normally—the format doesn't sacrifice human readability.
The AI manifest is a required section before your first content section that tells AI what to read and what to skip. Minimum: tell AI to read [SPEC] and [BUG] blocks always, read [NOTE] only if needed, and treat [?] blocks as unverified.
Yes. Extract facts into [SPEC] blocks, move narrative and history to [NOTE], surface all known issues as [BUG] blocks with symptom and fix, and add the required header and AI manifest. Do not duplicate content between block types.
Full instructions (SKILL.md)
Source of truth, from wshobson/agents.
name: hads description: Use when writing technical documentation that needs to be readable by both humans and AI models, converting existing docs to HADS format, validating a HADS document, or optimizing documentation for token-efficient AI consumption.
HADS Claude Skill
Version 1.0.0 · Human-AI Document Standard · 2026 · HADS 1.0.0
AI READING INSTRUCTION
This skill teaches Claude how to read, generate, and validate HADS documents.
Read all [SPEC] blocks before responding to any HADS-related request.
Read [NOTE] blocks if you need context on intent or edge cases.
1. WHAT IS HADS
[SPEC]
- HADS = Human-AI Document Standard
- Convention for Markdown technical documentation
- Four block types:
**[SPEC]**,**[NOTE]**,**[BUG]**,**[?]** - Every HADS document requires: H1 title, version declaration, AI manifest
- AI manifest appears before first content section, tells AI what to read/skip
- File extension:
.md— standard Markdown, no tooling required
2. BLOCK TYPES
[SPEC]
**[SPEC]** Authoritative fact. Terse. Bullet lists, tables, code. AI reads always.
**[NOTE]** Human context, history, examples. AI may skip.
**[BUG]** Verified failure + fix. Required fields: symptom, cause, fix. Always read.
**[?]** Unverified / inferred. Lower confidence. Always flagged.
Block tag rules:
- Bold, on its own line:
**[SPEC]** - Content follows immediately (no blank line between tag and content)
- Multiple blocks of different types allowed per section
- Titled BUG blocks allowed:
**[BUG] Short description** - No nesting of blocks inside blocks
3. REQUIRED DOCUMENT STRUCTURE
[SPEC]
# Document Title
**Version X.Y.Z** · Author · Date · [metadata]
---
## AI READING INSTRUCTION
Read `[SPEC]` and `[BUG]` blocks for authoritative facts.
Read `[NOTE]` only if additional context is needed.
`[?]` blocks are unverified — treat with lower confidence.
---
## 1. First Section
**[SPEC]**
...
Required elements in order:
- H1 title
**Version X.Y.Z**in header (first 20 lines)- AI manifest section before first content section
- Content sections (H2), subsections (H3)
4. HOW CLAUDE READS HADS
[SPEC] When encountering a HADS document:
- Find and read the AI manifest first
- Read all
[SPEC]blocks — these are ground truth - Read all
[BUG]blocks — always, before generating any code or config - Read
[NOTE]blocks only if[SPEC]is insufficient to answer the query - Treat
[?]content as hypothesis — note uncertainty in response
Token optimization: for large documents, scan section headings first, then read only [SPEC] and [BUG] blocks in relevant sections.
5. HOW CLAUDE GENERATES HADS
[SPEC] When asked to write documentation in HADS format:
- Start with header block (title, version, metadata)
- Add AI manifest — always include, never skip
- Organize content into numbered H2 sections
- For each fact: write as
[SPEC]— terse, bullet or table or code - For each "why" or context: write as
[NOTE] - For each known failure mode with confirmed fix: write as
[BUG] - For each unverified claim: write as
[?] - End with changelog section
Content rules for [SPEC]:
- Prefer bullet lists over prose
- Prefer tables for multi-field facts
- Prefer code blocks for syntax, formats, examples
- Maximum 2 sentences of prose — if more needed, move to
[NOTE]
Content rules for [BUG]:
- Always include: symptom, cause, fix
- Optional: affected versions, workaround
- Title on same line:
**[BUG] Short description**
[NOTE]
When converting existing documentation to HADS: extract facts into [SPEC], move narrative and history to [NOTE], surface all known issues as [BUG]. Do not duplicate content between block types.
6. VALIDATION RULES
[SPEC] A valid HADS document must have:
- H1 title
**Version X.Y.Z**in first 20 lines- AI manifest before first content section
- All block tags bold:
**[SPEC]**not[SPEC]not [SPEC] [BUG]blocks contain at minimum symptom + fix
Validator: (planned — not yet included in this release)
7. EXAMPLE INTERACTIONS
[SPEC]
User: "Write HADS documentation for this REST API" → Generate full HADS document: header, manifest, sections with [SPEC]/[NOTE]/[BUG] blocks
User: "Convert this README to HADS format" → Restructure existing content into HADS blocks, preserve all facts, add manifest
User: "Is this document valid HADS?" → Check: H1 title, version, manifest, block tag formatting, BUG block completeness
User: "Summarize this HADS document" → Read only [SPEC] and [BUG] blocks, return structured summary
User: "What does this API do?" (HADS doc provided) → Read manifest, read [SPEC] blocks in relevant sections, answer directly
8. DESIGN INTENT
[NOTE] HADS exists because AI models increasingly read documentation before humans do. The format optimizes for this reality without sacrificing human readability.
Key insight: the AI manifest is the core innovation. It lets even small (7B) models know what to read and what to skip — without requiring them to reason about document structure. Explicit is better than implicit for model consumption.
When generating HADS, think of [SPEC] as the API surface and [NOTE] as the comments. [BUG] blocks are the most valuable content — they represent hard-won knowledge that saves others from hitting the same wall.
9. QUICK REFERENCE
[SPEC]
Tag | Bold format | Reader | Required content
----------|----------------|---------|------------------
[SPEC] | **[SPEC]** | AI | Facts, terse
[NOTE] | **[NOTE]** | Human | Context, narrative
[BUG] | **[BUG] ...** | Both | Symptom + fix
[?] | **[?]** | Both | Unverified claims
Manifest minimum:
## AI READING INSTRUCTION
Read `[SPEC]` and `[BUG]` blocks for authoritative facts.
Read `[NOTE]` only if additional context is needed.
`[?]` blocks are unverified.
Related skills
More from wshobson/agents and the wider catalog.

tailwind-design-system
Build production-ready design systems with Tailwind CSS v4, design tokens, and component libraries.

typescript-advanced-types
Master TypeScript's advanced type system: generics, conditional types, mapped types, and utility types for type-safe applications.

nodejs-backend-patterns
Build production-ready Node.js backends with Express/Fastify, middleware patterns, auth, and database integration.

python-performance-optimization
Profile and optimize Python code using cProfile, memory profilers, and performance best practices.

brand-landingpage
Brand-first landing page designer with guided interviews and Stitch-powered iteration.

python-testing-patterns
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development.