Agentic-KB
AGENTS.md2 starsChanged 3 months agoMITView on GitHub
We split this AGENTS.md into the rules it gives an agent
50 rules. About 0 are common, 28 are distinctive, and 22 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈28
Distinctive · estimate
This author's own choices. Worth a look.
22
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 44
All lowercase, hyphenated: multi-agent-orchestration.md
- Distinctive: line 45
No dates in filenames (dates go in frontmatter)
- Very specific: line 216
Use Obsidian wiki links: [[concepts/tool-use]] or [[concepts/tool-use|Tool Use]]
- Distinctive: line 217
Always link the first mention of any concept on a page
- Distinctive: line 218
No orphan pages — every new page needs ≥1 inbound link from an existing page
- Distinctive: line 222
When creating a new page, immediately add a link from index.md and from ≥1 relevant existing page
- Distinctive: line 266
Before any scheduled or autonomous write:
- Very specific: line 268
Use playbooks/night-shift-map.md to map the generic second-brain pattern onto this vault's native schema.
- Very specific: line 269
Follow the specific playbook in playbooks/.
- Very specific: line 271
Use .night-shift/state/ for processing state and idempotency instead of moving or editing raw files.
- Very specific: line 273
If a job fails, blocks, or exits early before completing its normal briefing, write an error briefing to …
- Distinctive: line 288
When told to ingest a file from raw/:
- Distinctive: line 289
Read the full source file
- Very specific: line 291
Create wiki/summaries/{source-slug}.md with full frontmatter and key points
- Very specific: line 292
Update or create relevant concept/pattern/framework pages — integrate new info into existing knowledge
- Very specific: line 295
Update wiki/index.md with new/updated entries
- Distinctive: line 299
When asked a question against the KB:
- Very specific: line 300
Read wiki/hot.md first (frequently-used patterns, ≤500 words)
- Very specific: line 301
Read wiki/index.md to find relevant pages
- Very specific: line 302
Read the relevant concept/pattern/framework pages
- Distinctive: line 304
If the question touches gaps: do a web search, then backfill the wiki before answering
- Distinctive: line 306
Offer to update hot.md: if the query is likely to recur frequently
- Distinctive: line 309
When asked to lint the wiki:
- Very specific: line 310
Read wiki/index.md to get all page paths
- Distinctive: line 311
Check for orphan pages (no inbound links) — list them
- Distinctive: line 312
Check for missing cross-links (concept mentioned in body but not linked)
- Very specific: line 313
Check for stale framework pages (last_checked > 60 days ago)
- Distinctive: line 314
Check for low-confidence claims that could be verified with a web search
- Very specific: line 315
Check for recipe pages with tested: false older than 30 days — flag for testing
- Distinctive: line 326
Never let hot.md exceed 600 words — prune least-accessed entries.
- Distinctive: line 329
When a query reveals a gap not in the wiki:
- Distinctive: line 330
Do a web search for the missing information
- Very specific: line 331
Create a raw source stub in raw/framework-docs/{topic}.md with the found content
- Distinctive: line 332
Run the INGEST workflow on that stub
- Distinctive: line 340
Always update index.md and log.md: after any wiki write
- Distinctive: line 357
Don't copy content from main vault — link instead
- Very specific: line 365
Run queries via: cd /Users/jaywest/My\ LLM\ Wiki && npm run query "your question"
- Very specific: line 370
Use gsd-executor for complex wiki builds
- Distinctive: line 371
Use parallel Agent tool calls for fan-out ingestion
- Very specific: line 374
After major ingestion runs, invoke /graphify on the wiki index
- Distinctive: line 376
Use graph view to identify orphan clusters and under-linked concepts
- Distinctive: line 395
Run lint monthly or when the wiki grows by >20 pages.
- Distinctive: line 396
Always run lint before a major query session on a topic you haven't touched in 30+ days.
- Distinctive: line 399
When asked to explore the knowledge base for connections:
- Very specific: line 400
Read wiki/index.md in full
- Distinctive: line 407
When asked for an executive briefing:
- Very specific: line 408
Read wiki/index.md to identify all relevant pages
- Distinctive: line 409
Read the top 5-8 relevant pages in full
- Distinctive: line 410
Write a 400-600 word structured briefing: Current State → Key Tensions → Open Questions → Recommended Next Steps
- Very specific: line 411
Every claim cites its wiki page: [Source: wiki/concepts/page-name]
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agentic Engineering Knowledge Base — Schema v1.0
Owner: Jay West | Domain: Agentic AI Systems & Harness Engineering | Built: 2026-04-04
Purpose
A persistent, compounding knowledge base for agentic AI engineering. Covers multi-agent architecture, orchestration patterns, frameworks, prompt engineering, safety, evaluation, production deployment, and Jay's personal validated patterns. The KB itself uses agentic patterns — parallel agents for seeding, fan-out for ingestion, reflection for linting.
Vault Structure
Agentic-KB/
├── raw/ # IMMUTABLE — LLM reads, never writes
│ ├── papers/ # Academic papers (PDF → md)
│ ├── transcripts/ # Video/podcast transcripts
│ ├── framework-docs/ # Framework documentation snippets
│ ├── my-agents/ # Jay's ~/.Codex/agents/*.md definitions
│ ├── my-skills/ # Jay's ~/.Codex/skills/*/SKILL.md files
│ ├── my-hooks/ # Jay's Codex hook configs
│ ├── code-examples/ # Annotated code patterns
│ ├── conversations/ # Notable Codex sessions (exported)
│ └── changelogs/ # Framework version notes
├── wiki/ # LLM-OWNED — never edit manually
│ ├── concepts/ # Universal agentic concepts
│ ├── patterns/ # Reusable design patterns
│ ├── frameworks/ # Tool and framework reference pages
│ ├── entities/ # People, companies, models, projects
│ ├── summaries/ # 1:1 per raw source (slug matches raw file)
│ ├── syntheses/ # Cross-source analysis and comparisons
│ ├── recipes/ # Step-by-step implementation guides
│ ├── evaluations/ # Scored benchmark and framework comparisons
│ ├── personal/ # Jay's validated patterns, lessons, war stories
│ ├── hot.md # Hot cache — ≤500 words of most-used context
│ ├── index.md # Master catalog (LLM-maintained, always current)
│ └── log.md # Append-only operation log
└── AGENTS.md # This file — schema and workflowsFile Naming Conventions
- All lowercase, hyphenated:
multi-agent-orchestration.md - No dates in filenames (dates go in frontmatter)
- Framework pages: prefix with
framework-→framework-langgraph.md - Pattern pages: prefix with
pattern-→pattern-fan-out-worker.md - Recipe pages: prefix with
recipe-→recipe-build-tool-agent.md - Evaluation pages: prefix with
eval-→eval-orchestration-frameworks.md - Synthesis pages: prefix with
synthesis-→synthesis-memory-approaches.md
Frontmatter Schema
Concept Pages
---
title: string
type: concept
tags: [agentic, <domain-tags>]
confidence: high | medium | low
sources: [] # wiki links to summaries
created: YYYY-MM-DD
updated: YYYY-MM-DD
related: [] # wiki links to related concepts/patterns
status: stable | evolving | deprecated
---Pattern Pages
---
title: string
type: pattern
category: orchestration | memory | tool-use | safety | evaluation | deployment | prompt-engineering
problem: one-line problem statement
solution: one-line solution
tradeoffs: []
tags: []
confidence: high | medium | low
sources: []
created: YYYY-MM-DD
updated: YYYY-MM-DD
---Framework Pages
---
title: string
type: framework
vendor: string
version: string # latest known version
language: python | typescript | any
license: open-source | proprietary | mixed
github: string # URL if open source
tags: []
last_checked: YYYY-MM-DD
jay_experience: none | limited | moderate | extensive
---Recipe Pages
---
title: string
type: recipe
difficulty: beginner | intermediate | advanced
time_estimate: string
prerequisites: []
tested: true | false
tested_date: YYYY-MM-DD # only if tested: true
tags: []
---Summary Pages
---
title: string
type: summary
source_file: raw/path/to/file.md
source_url: string # if from web
author: string
date_published: YYYY-MM-DD
date_ingested: YYYY-MM-DD
tags: []
key_concepts: [] # list of concepts this source touches
confidence: high | medium | low
---Synthesis Pages
---
title: string
type: synthesis
sources: [] # wiki links to summaries or pages compared
question: string # the question this synthesis answers
tags: []
created: YYYY-MM-DD
updated: YYYY-MM-DD
---Personal Pages
---
title: string
type: personal
category: pattern | lesson | anti-pattern | decision | war-story
confidence: high | medium | low # how validated is this
date: YYYY-MM-DD
tags: []
---Required Sections by Page Type
Concept Pages (required)
- TL;DR — one sentence definition, no jargon
- Definition — one paragraph explanation
- How It Works — mechanism, step by step
- Key Variants — flavors and configurations
- When To Use — conditions and signals
- Risks & Pitfalls — failure modes, what goes wrong
- Related Concepts —
[[wiki links]] - Sources —
[[wiki/summaries/...]]links
Pattern Pages (required)
- Problem — the recurring design problem
- Solution — the pattern structure
- Implementation Sketch — pseudocode or code outline
- Tradeoffs — pros/cons table
- When To Use — context conditions
- When NOT To Use — counter-indicators
- Real Examples — from Jay's projects or raw sources
- Related Patterns —
[[wiki links]]
Framework Pages (required)
- Overview — what it is, who built it, why it exists
- Core Concepts — framework-specific vocabulary
- Architecture — how it's structured internally
- Strengths — what it genuinely excels at
- Weaknesses — honest limitations, failure cases
- Minimal Working Example — 10-20 lines, runnable
- Integration Points — how it connects to other tools in the stack
- Jay's Experience — (fill in when applicable; mark
N/Aif none) - Version Notes — notable changes across versions
- Sources —
[[wiki links]]
Recipe Pages (required)
- Goal — what you're building and why
- Prerequisites — tools, knowledge, setup needed
- Steps — numbered, copy-pasteable, no hand-waving
- Verification — how to confirm success
- Common Failures & Fixes — top 3 failure modes
- Next Steps — what to extend or build after
- Related Recipes —
[[wiki links]]
Evaluation Pages (required)
- What's Being Compared — the candidates
- Evaluation Criteria — dimensions with rationale
- Methodology — how scores were derived
- Scorecard — table with scores per dimension
- Summary Verdict — one paragraph recommendation
- When to Re-evaluate — what would change this verdict
- Sources —
[[wiki links]]
Linking Conventions
- Use Obsidian wiki links:
[[concepts/tool-use]]or[[concepts/tool-use|Tool Use]] - Always link the first mention of any concept on a page
- No orphan pages — every new page needs ≥1 inbound link from an existing page
- Summary pages always link to their corresponding raw source
- Pattern pages link to the concept pages they rely on
- Recipe pages link to the patterns and concepts they implement
- When creating a new page, immediately add a link from index.md and from ≥1 relevant existing page
Tagging Taxonomy
Domain Tags
agentic orchestration memory tool-use safety evaluation
deployment prompt-engineering context-management multi-agent
single-agent human-in-the-loop cost-optimization observability
state-management parallelization error-handling reflection
Framework Tags
Codex Codex-api langgraph autogen crewai openai
mcp anthropic openclaw rowboat gsd superpowers bmad
langchain llamaindex dspy
Pattern Category Tags
pattern-orchestration pattern-memory pattern-safety
pattern-evaluation pattern-deployment pattern-tool-design
pattern-prompt-engineering pattern-context
Confidence Levels
high— Multiple independent sources confirm; Jay has personally testedmedium— Single source; or untested by Jay; or inferred from first principleslow— Speculative; based on limited evidence; or from a single low-authority source
Workflows
NIGHT SHIFT Automation
The Agentic-KB vault is wired for a Hermes-native version of the autonomous second-brain night shift.
Selected vault: /Users/jaywest/Agentic-KB
During scheduled Night Shift runs, follow this instruction order:
house-rules.mdplaybooks/night-shift-map.md- the specific Night Shift playbook
- legacy INGEST guidance only when it does not conflict with the three files above
These Night Shift instructions override legacy INGEST guidance during scheduled Night Shift runs.
Before any scheduled or autonomous write:
- Read
house-rules.md. - Use
playbooks/night-shift-map.mdto map the generic second-brain pattern onto this vault's native schema. - Follow the specific playbook in
playbooks/. - Preserve
raw/as source-of-truth. Scheduled jobs must not edit, delete, move, archive, truncate, overwrite, or mark raw files as ingested by changing the raw file itself. - Use
.night-shift/state/for processing state and idempotency instead of moving or editing raw files. - End with a briefing in
briefings/, even for no-op runs. - If a job fails, blocks, or exits early before completing its normal briefing, write an error briefing to
briefings/errors/{job-name}-YYYY-MM-DD-HHMM.md.
Error briefings must include: job name, job ID if available, timestamp, phase/stage where it failed, error or blocked reason, files read, files written or attempted, files that may need review, rollback guidance, and safest next action for Jay.
Mutable scheduled jobs must run git status --porcelain before making changes. Dirty-worktree safety checks may ignore exactly these known noisy log files: logs/web-server-error.log and logs/web-server.log. Do not ignore logs/ broadly. If the worktree has any other dirty files outside the job's expected write paths, stop and write a blocked/error briefing.
Capture locations:
- Messy human captures:
raw/inbox/ - URL queue:
raw/reading-list.md - Scratch space:
.night-shift/desk/ - Processing state:
.night-shift/state/ - Human-facing reports:
briefings/ - Error reports:
briefings/errors/
INGEST Workflow
When told to ingest a file from raw/:
- Read the full source file
- Extract: concepts, patterns, frameworks mentioned, key claims, code examples, Jay-specific insights
- Create
wiki/summaries/{source-slug}.mdwith full frontmatter and key points - Update or create relevant concept/pattern/framework pages — integrate new info into existing knowledge
- Flag contradictions with existing wiki content — add contradiction note inline AND to log.md
- Cross-link everything bidirectionally — new page links out, existing pages get backlinks
- Update
wiki/index.mdwith new/updated entries - Append to
wiki/log.mdwith timestamp, source name, pages created/updated, contradictions found
QUERY Workflow
When asked a question against the KB:
- Read
wiki/hot.mdfirst (frequently-used patterns, ≤500 words) - Read
wiki/index.mdto find relevant pages - Read the relevant concept/pattern/framework pages
- Synthesize answer with specific citations (
[[page-name]]) - If the question touches gaps: do a web search, then backfill the wiki before answering
- If the answer is substantial (>200 words of synthesis): offer to file as
wiki/syntheses/synthesis-{slug}.md - Offer to update hot.md if the query is likely to recur frequently
LINT Workflow
When asked to lint the wiki:
- Read
wiki/index.mdto get all page paths - Check for orphan pages (no inbound links) — list them
- Check for missing cross-links (concept mentioned in body but not linked)
- Check for stale framework pages (
last_checked> 60 days ago) - Check for low-confidence claims that could be verified with a web search
- Check for recipe pages with
tested: falseolder than 30 days — flag for testing - Identify gap candidates — concepts referenced but no concept page exists
- Suggest new article candidates based on gap analysis
- Output lint report to
wiki/syntheses/lint-{YYYY-MM-DD}.md
HOT CACHE Rules
wiki/hot.md holds ≤500 words. Update when:
- A pattern/concept is referenced in 3+ query responses
- Jay explicitly requests something be cached
- A lint pass reveals a page with 10+ inbound links
Structure: brief summaries with
[[wiki links]], not full explanations. Never let hot.md exceed 600 words — prune least-accessed entries.
BACKFILL Workflow
When a query reveals a gap not in the wiki:
- Do a web search for the missing information
- Create a raw source stub in
raw/framework-docs/{topic}.mdwith the found content - Run the INGEST workflow on that stub
- Answer the query using the newly ingested information
- Log the backfill in
wiki/log.md
Rules (Non-Negotiable)
- Never modify raw/ — read-only, source of truth
- Always update index.md and log.md after any wiki write
- No orphan pages — every new page gets ≥1 inbound link before being filed
- Flag contradictions in log.md — never silently overwrite existing claims
- Recipe pages must be marked
tested: falseunless Jay explicitly confirms testing - Framework pages must have
last_checkeddates — frameworks evolve fast - Personal/ pages are Jay's perspective — don't dilute with external sources; mark clearly
- Confidence levels must be honest — default to
mediumwhen uncertain - Never hallucinate sources — if a claim has no source, mark it
[UNVERIFIED] - Append to log.md, never overwrite — it is an audit trail
Integration with Jay's Infrastructure
Obsidian Vault Cross-Links
Main vault: /Users/jaywest/Documents/Obsidian Vault/
- Can reference Jay's main vault with full paths for context
- Don't copy content from main vault — link instead
- Jay's main vault entity map:
scripts/entity-map.json
My LLM Wiki Harness
Harness: /Users/jaywest/My LLM Wiki/
packages/cli— CLI for querying this KB from terminalpackages/mcp— MCP server exposing KB as agent toolpackages/core— Core ingestion/query logic- Run queries via:
cd /Users/jaywest/My\ LLM\ Wiki && npm run query "your question"
Codex Infrastructure
- Agent definitions in:
/Users/jaywest/.Codex/agents/ - Skill definitions in:
/Users/jaywest/.Codex/skills/ - Use
gsd-executorfor complex wiki builds - Use parallel Agent tool calls for fan-out ingestion
Graphify
- After major ingestion runs, invoke
/graphifyon the wiki index - Output goes to
wiki/syntheses/knowledge-graph-{date}.html - Use graph view to identify orphan clusters and under-linked concepts
Query Examples
"What's the best pattern for a supervisor-worker multi-agent system in Codex?"
"How do I manage context across a long agentic session without losing state?"
"Compare LangGraph and GSD for orchestrating a 5-step research pipeline"
"What are Jay's validated patterns for tool design?"
"Find gaps in the KB — what topics need articles?"
"Which frameworks support parallel agent execution natively?"
"What does the hot cache pattern look like in code?"Lint Schedule
Run lint monthly or when the wiki grows by >20 pages. Always run lint before a major query session on a topic you haven't touched in 30+ days.
EXPLORE Workflow
When asked to explore the knowledge base for connections:
- Read
wiki/index.mdin full - Identify the 5 most interesting unexplored connections between existing topics — pairs or clusters that haven't been synthesised yet
- For each: explain what insight it might reveal, what question it answers, and what source would help confirm it
- Offer to create a new
wiki/syntheses/page for any connection the user wants to develop - Suggest 3 raw sources or web articles that would enrich the weakest areas
BRIEF Workflow
When asked for an executive briefing:
- Read
wiki/index.mdto identify all relevant pages - Read the top 5-8 relevant pages in full
- Write a 400-600 word structured briefing: Current State → Key Tensions → Open Questions → Recommended Next Steps
- Every claim cites its wiki page:
[Source: wiki/concepts/page-name] - Save automatically to
outputs/brief-{topic}-{YYYY-MM-DD}.md - Offer to promote to
wiki/syntheses/if it surfaces new connections
OUTPUTS Directory
outputs/ holds generated artefacts that aren't wiki pages yet:
- Executive briefings (
brief-*.md) - One-off comparisons (
compare-*.md) - Query answers worth keeping (
answer-*.md) - Exploration reports (
explore-*.md)
Promote to wiki/syntheses/ when content is stable, cross-referenced, and worth linking to from other pages. Never link TO outputs/ from wiki pages — it's a staging area, not permanent storage.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository9 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- research-skill-graph/CLAUDE.mdCLAUDE.md
- autoresearchSkill
- defuddleSkill
- json-canvasSkill
- obsidian-basesSkill
- obsidian-cliSkill
- obsidian-markdownSkill
- morning-review-dailySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

