Copy of the legacy ~/.pi/agent/docs tree rebuilt as the command-center knowledge base: concept files promoted to path identity, index listings stripped of frontmatter, all wikilinks/relative links resolved, every checkable claim verified against the live fleet (Dankserver = Ryzen 7 7700X + RTX 3090; Strix Halo is Dankclaw), unverifiable claims tagged. kb-lint exits 0.
6.9 KiB
type, title, description, tags, timestamp
| type | title | description | tags | timestamp | |||||
|---|---|---|---|---|---|---|---|---|---|
| reference | AGENTS.md Format Specification | Canonical structure and conventions for the system-level instruction file that governs agent behavior during configuration sessions. |
|
2026-01-15 |
AGENTS.md Format Specification
This document defines the canonical structure and conventions for the AGENTS.md file located at /home/dank/.pi/AGENTS.md. It is the behavioral contract that tells the agent who it is, what context it is in, and what rules apply.
Purpose
AGENTS.md is a progressive disclosure instruction file. It does not tell the agent how to configure a specific tool — it tells the agent how to behave while configuring tools. Think of it as the difference between a recipe and a cookbook. The recipe tells you what to do with eggplant. The cookbook tells you how to think about cooking.
Structure
The file follows a strict top-to-bottom structure:
# Title — Context Label
## Context Declaration
## Your Role: Persona
## Progressive Disclosure (header)
---
### Layer N: <Title>
<Content>
---
### Layer N+1: <Title>
<Content>
---
## Summary
Section Order (Mandatory)
| Order | Section | Description |
|---|---|---|
| 1 | # Title — Context Label |
One-line title with context label in em-dash. Example: AGENTS.md — System Configuration Mode |
| 2 | ## Context Declaration |
Brief paragraph stating where the user is and what it means. Must mention the directory path. |
| 3 | ## Your Role: <Persona> |
Persona definition with bullet-point traits. Keep it tight — 4-6 bullets max. |
| 4 | ## Progressive Disclosure |
Intro paragraph explaining the layering model, followed by --- separators between layers. |
| 5 | ### Layer N: <Title> |
Individual instruction layers (see Layer Conventions below). |
| 6 | ## Summary |
Compact table of all layers as quick-reference rows. |
Layer Conventions
Naming
- Layers are numbered sequentially starting from 1.
- Use decimal sub-numbers for inserted layers (for example,
Layer 1.5) to preserve ordering when new layers are added between existing ones. - Format:
### Layer N: <Descriptive Title> - Make the title a command or principle, not a topic name. Prefer:
Verify Before You Commit — Deterministic Check FirstThe Mandatory Documentation Fetch Protocol- NOT
Documentation - NOT
Package Installation
Content Structure
Give each layer this content:
- Opening callout (if the rule is critical): Bold
**This is non-negotiable.**or**MANDATORY:**prefix. - Definition: What the rule/concept is. One paragraph, plain English.
- Workflow or steps: Numbered lists for procedural instructions.
- Examples: Code blocks, commands, or concrete scenarios.
- Scope: When the rule applies (and when it does not).
- Common mistakes (optional):
❌prefixed anti-patterns. - Correct behavior (optional):
✅prefixed patterns.
Layer Ordering Principle
Layers are ordered by priority and dependency, not alphabetical:
- Context layers first (who you are, where you are)
- Pre-flight / safety layers next (verification, documentation checks)
- Domain-specific layers after that (tool rules, package rules, etc.)
- Emergency / fallback layers last
A layer that gates another layer must come before the layer it gates. (for example, "check docs exist" comes before "fetch docs if missing".)
Summary Table Conventions
The ## Summary section at the bottom is a quick-reference table that maps each layer to its action.
Format
## Summary
| Context | Action |
|---------|--------|
| <Short layer title> | **<One-line action>** — <Optional detail>. |
Rules
- Every layer must have exactly one row in the summary.
- The Context column uses a short phrase (2-5 words) that maps to the layer title.
- The Action column starts with bold text for the core directive, followed by an em-dash and a brief elaboration.
- Critical failures get emphasized:
**CRITICAL FAILURE** — this violates the core protocol. - The table is the only place where failure conditions and severity are stated.
- Rows are ordered to match layer numbering.
Section Formatting
Code Blocks
- Use triple backtick code blocks for commands, scripts, and configuration examples.
- Specify the language for syntax highlighting:
bash`,json, ````text. - Include inline comments in code blocks explaining what is right vs. wrong.
- Use
# CORRECTand# WRONGcomment labels for contrast examples.
Lists
- Use numbered lists for sequential steps (workflows, protocols).
- Use bullet lists for non-sequential attributes, traits, or considerations.
- Use
❌and✅prefixed bullets for anti-patterns vs. correct patterns.
Emphasis
- Use
**bold**for critical directives and failure conditions. - Use
**bold**in the Summary table for the core action phrase. - Use backticks for file paths, commands, and config keys.
- Use
>blockquotes sparingly — reserved for ASCII workflow diagrams.
ASCII Workflow Diagrams
For critical decision flows, use ASCII art inside blockquotes:
User Request → Check index.md → Docs exist? → YES: Proceed
↓
NO: STOP → Fetch → Verify → Proceed
Adding New Layers
When adding a new behavioral rule:
- Determine placement: Where does this layer fit in the priority/dependency order?
- Assign a number: If inserting between existing layers, use a decimal (for example,
Layer 2.5). If appending, use the next integer. - Write the layer following the Content Structure conventions above.
- Add a summary row: Insert a matching row in the Summary table at the correct position.
- Verify ordering: Ensure the layer order matches the dependency chain (gating layers before gated layers).
What NOT to Include
| Do Not | Why |
|---|---|
| Tool-specific configuration syntax | That belongs in /docs/tools/<tool-name>/ |
| Long reference tables | Keep the Summary table concise; details belong in layer content |
| More than 10 layers | If you need more, the file is too big — consider splitting or consolidating |
| Narrative prose | Make every sentence actionable or declarative |
| Personal opinions or preferences | This is a system contract, not a blog post |
File Metadata
| Property | Value |
|---|---|
| Path | /home/dank/.pi/AGENTS.md |
| Format | Markdown (GitHub Flavored) |
| Max layers | 10 (soft limit) |
| Max file size | ~15 KB (soft limit — if larger, consolidate) |
| Encoding | UTF-8 |
| Line endings | Unix (LF) |
Revision History
| Version | Date | Change |
|---|---|---|
| 1.0 | 2026-07-09 | Initial specification — defines structure, layer conventions, summary format, and add/remove procedures |