# Lat Md

Writing and maintaining lat.md documentation files, structured markdown that describes...

- Repository: https://github.com/fathah/hermes-desktop (14509 stars)
- Category: Design
- License: MIT
- Last updated: 2026-10-13
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add fathah/hermes-desktop --skill lat-md -g -a claude-code -y`
Codex: `npx skills add fathah/hermes-desktop --skill lat-md -g -a codex -y`
Cursor: `npx skills add fathah/hermes-desktop --skill lat-md -g -a cursor -y`
Gemini CLI: `npx skills add fathah/hermes-desktop --skill lat-md -g -a gemini-cli -y`

## Description

Writing and maintaining lat.md documentation files, structured markdown that describes a project's architecture, design decisions, and test specs. Use when creating, editing, or reviewing files in the lat.md/ directory.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# lat.md Authoring Guide

This skill covers the syntax, structure rules, and conventions for writing `lat.md/` files. Load it whenever you need to create or edit sections in the `lat.md/` directory.

## What belongs in lat.md

`lat.md/` files describe **what** the project does and **why**, domain concepts, key design decisions, business logic, and test specifications. They do NOT duplicate source code. Think of each section as an anchor that source code references back to.

Good candidates for sections:
- Architecture decisions and their rationale
- Domain concepts and business rules
- API contracts and protocols
- Test specifications (what is tested and why)
- Non-obvious constraints or invariants

Bad candidates:
- Step-by-step code walkthroughs (the code itself is the walkthrough)
- Auto-generated API docs (use tools for that)
- Temporary notes or TODOs

## Section structure

Every section **must** have a leading paragraph, at least one sentence immediately after the heading, before any child headings or other block content.

The first paragraph must be ≤250 characters (excluding `[[wiki link]]` content). This paragraph is the section's identity, it appears in search results, command output, and RAG context.

```markdown
# Good Section

Brief overview of what this section documents and why it matters.

More detail can go in subsequent paragraphs, code blocks, or lists.

## Child heading

Details about this child topic.
```

```markdown
# Bad Section

## Child heading

This is invalid, "Bad Section" has no leading paragraph.
```

`lat check` enforces this rule.

## Section IDs

Sections are addressed by file path and heading chain:

- **Full form**: `lat.md/path/to/file#Heading#SubHeading`
- **Short form**: `file#Heading#SubHeading` (when the file stem is unique)

Examples: `lat.md/tests/search#RAG Replay Tests`, `cli#init`, `parser#Wiki Links`.

## Wiki links

Cross-reference other sections or source code with `[[target]]` or `[[target|alias]]`.

The rest: https://github.com/fathah/hermes-desktop/blob/HEAD/.agents/skills/lat-md/SKILL.md
