Documentation templates and structure guidelines. README, API docs, code comments, and AI-friendly documentation.
| Type | Audience | Goal |
|---|---|---|
| README | New developer joining the project | "Get me running in 10 minutes" |
| API docs | External integrator or frontend dev | "Tell me exactly what I can call and what I'll get back" |
| Architecture decision (ADR) |
| Future engineer inheriting the codebase |
| "Tell me why it works this way, not just how" |
| Code comment | Reviewer, maintainer | "Explain the non-obvious; skip the obvious" |
| Runbook | On-call engineer at 2am | "Tell me what to do, not what to think about" |
The Tribunal Agent Kit supports 5 standard Agent Design Kit (ADK) base patterns.
To build a skill using a robust, tested agent behavior model, add pattern: [pattern-name] to the YAML frontmatter of your SKILL.md.
| Pattern | Value | When to use |
|---|---|---|
| Inversion | pattern: inversion | Forces the agent to interview the user (Socratic Gate) before acting. |
| Reviewer | pattern: reviewer | Evaluates artifacts against a checklist and severity levels. |
| Tool Wrapper | pattern: tool-wrapper | Strictly executes external CLI tools via provided documentation without guessing. |
| Generator | pattern: generator | Produces structured output (docs, boilerplate) by filling a rigid template. |
| Pipeline | pattern: pipeline | Executes sequential tasks with strict halting gates between steps. |
Templates defining the specific rules for these patterns live in .agent/patterns/.
# Project Name
One sentence: what this is and what problem it solves.
## Quick Start
\`\`\`bash
git clone ...
cd project
npm install
cp .env.example .env
npm run dev
\`\`\`
Open http://localhost:3000
## Requirements
- Node.js 20+
- PostgreSQL 15+
- [Any other hard requirements]
## Project Structure
\`\`\`
src/
api/ API routes
lib/ Shared utilities
services/ Business logic
\`\`\`
## Environment Variables
|Variable|Required|Description|
|---|---|---|
|DATABASE_URL|Yes|PostgreSQL connection string|
|JWT_SECRET|Yes|Secret for signing JWTs|
## Running Tests
\`\`\`bash
npm test # unit tests
npm run test:e2e # end-to-end tests
\`\`\`
## Contributing
[Brief contribution guide or link to CONTRIBUTING.md]
For each endpoint, document:
### POST /api/users
Creates a new user account.
**Request Body**
\`\`\`json
{
"email": "string (required, valid email)",
"name": "string (required, 2–100 chars)",
"role": "admin | user (optional, default: user)"
}
\`\`\`
**Responses**
|Status|Meaning|Body|
|---|---|---|
|201|User created|`{ data: User }`|
|400|Validation failed|`{ error: string, details: string[] }`|
|409|Email already exists|`{ error: string }`|
**Example**
\`\`\`bash
curl -X POST /api/users \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "name": "Jane"}'
\`\`\`
Comment the why, not the what:
// ❌ States what the code does (obvious from reading it)
// Multiply price by tax rate
const total = price * taxRate;
// ✅ Explains why this specific value exists
// Vietnamese tax law requires 10% VAT on all digital goods (Circular 92/2015)
const VN_DIGITAL_TAX_RATE = 1.10;
const total = price * VN_DIGITAL_TAX_RATE;
When to always comment:
When a codebase will be worked on by AI assistants:
CODEBASE.md at root with: tech stack, folder structure, key conventionsARCHITECTURE.md with: system boundaries, data flow, key decisions// @purpose: comments on complex functions so AI can understand intent without reading the full implementation# Runbook: [Service or Incident Type]
## Symptoms
- [What the user or monitor reports]
## Likely Causes
1. [Most common cause]
2. [Second most common]
## Investigation Steps
\`\`\`bash
# Check service health
kubectl get pods -n production
# Check recent errors
kubectl logs deployment/api --since=15m | grep ERROR
\`\`\`
## Resolution Steps
### If Cause 1:
[Exact steps to resolve]
### If Cause 2:
[Exact steps to resolve]
## Escalation
If unresolved after 30 minutes → page @on-call-lead
## Post-Incident
[ ] Write incident report
[ ] Add monitoring for this failure mode
[ ] Update this runbook if steps changed
When this skill completes a task, structure your output as:
━━━ Documentation Templates Output ━━━━━━━━━━━━━━━━━━━━━━━━
Task: [what was performed]
Result: [outcome summary — one line]
─────────────────────────────────────────────────
Checks: ✅ [N passed] · ⚠️ [N warnings] · ❌ [N blocked]
VBC status: PENDING → VERIFIED
Evidence: [link to terminal output, test result, or file diff]