Complete AGENTS.md Inventory and Claude Skills Migration Strategy
Complete AGENTS.md Inventory and Claude Skills Migration Strategy
Purpose
Comprehensive analysis of all 25 AGENTS.md files and strategic plan for Claude Skills migration.
All AGENTS.md Files (Organized by Type)
π ROUTING FILES (Not Specialized Knowledge)
| File | Purpose | Type | Convert to Skill? |
|---|---|---|---|
~/AGENTS.md | Master router - Routes to all contexts | Router | β NO - Keep as documentation |
~/.config/AGENTS.md | Config router - Routes to shell/editor/terminal | Router | β NO - Keep as router |
midimaze/AGENTS.md | Vault router - File placement rules, routing | Router | β NO - Keep as documentation |
_Nakul/5. Coding Actions/AGENTS.md | Development router - Lists projects, workflows | Router | β NO - Keep as documentation |
Total routers: 4 files
π SPECIALIZED KNOWLEDGE DOMAINS (Need Skills)
1. System Configuration
| File | Purpose | Specialized Knowledge | Skill Name |
|---|---|---|---|
~/.config/shell/AGENTS.md | Zsh config, aliases, PATH, fzf | Shell scripting, zsh patterns | shell-config |
~/.config/terminal/AGENTS.md | Ghostty, Zellij, Starship config | Terminal multiplexing, keybinds | terminal-config |
~/.config/editor/AGENTS.md | Neovim/LazyVim configuration | Vim config, plugin management | editor-config |
~/.config/dev-tools/AGENTS.md | Git, GitHub CLI, OpenCode | Developer workflow tools | dev-tools-config |
Skills needed: 4
2. NNT Ecosystem (PhD Research)
| File | Purpose | Specialized Knowledge | Skill Name |
|---|---|---|---|
nnt/AGENTS.md | NNT compiler (core) | Compiler architecture, parsing | nnt-compiler |
nnt-docs/AGENTS.md | React components, docs site | React, component library | nnt-docs |
PhD/AGENTS.md | LaTeX dissertation | Academic writing, NNT research | phd-dissertation |
Skills needed: 3
3. Educational Games
| File | Purpose | Specialized Knowledge | Skill Name |
|---|---|---|---|
acdm-school-game/AGENTS.md | Web-based music education game | Web Audio API, game mechanics | acdm-game |
jagquest/AGENTS.md | Godot 4 action RPG (SWC campus) | Godot/GDScript, game dev | jagquest-game |
plant-id-game/AGENTS.md | Plant identification game | Botany data, quiz mechanics | plant-game |
Skills needed: 3
4. Vault Specialized Domains
| File | Purpose | Specialized Knowledge | Skill Name |
|---|---|---|---|
midimaze/Audio Discovery/AGENTS.md | Classic recording analysis | Audio production, recording techniques | audio-discovery |
_Nakul/1. Daily Journal/Daily Note Summaries/AGENTS.md | Daily note summarization | Note processing, summarization | daily-notes |
_Nakul/3. SWC Actions/AGENTS.md | SWC teaching admin | Canvas LMS API, gradebook | swc-teaching |
_Nakul/5. Coding Actions/NNT Ecosystem/AGENTS.md | NNT development | Project coordination | Duplicate of nnt/ |
_Nakul/5. Coding Actions/Obsidian/AGENTS.md | Obsidian workflows | Vault management, plugins | obsidian-workflows |
_Nakul/5. Coding Actions/Websites/AGENTS.md | Web projects | Deployment, hosting | web-projects |
Skills needed: 5 (excluding duplicate)
5. Technical Infrastructure
| File | Purpose | Specialized Knowledge | Skill Name |
|---|---|---|---|
registry/AGENTS.md | Convex database platform | Convex schema, MCP server | registry-database |
nix-config/AGENTS.md | Nix/NixOS configs | Nix flakes, declarative config | nix-system |
zellij-pane-tracker/AGENTS.md | Zellij plugin + MCP | Rust plugin, MCP protocol | zellij-mcp |
outlook-sqlite-mcp/AGENTS.md | Email MCP server | SQLite, AppleScript, email | outlook-mcp |
tiru-family-finance/AGENTS.md | Family finance tracking | SQLite, financial data | family-finance |
Skills needed: 5
Summary: AGENTS.md Breakdown
| Category | Count | Action |
|---|---|---|
| Routers (keep as docs) | 4 | β No conversion needed |
| Specialized domains (need skills) | 20 | π Convert to Claude Skills |
| Duplicates (merge) | 1 | β οΈ Consolidate |
Total AGENTS.md files: 25
Unique Claude Skills needed: 20
The Problem with "One Skill to Rule Them All"
I was wrong earlier. You CAN'T have one vault-navigator skill because:
- NNT compiler knowledge is COMPLETELY different from SWC Canvas LMS knowledge
- Nix configuration patterns are unrelated to Godot game development
- Each domain has specialized:
- Technical stack
- Commands/workflows
- File structures
- Problem-solving patterns
Example: If user asks "How do I configure zsh aliases?"
- Bad (one skill): Skill searches Convex for "zsh", loads article, doesn't know HOW to help with actual config edits
- Good (shell-config skill): Skill KNOWS:
- Files live in
~/.config/zsh/conf.d/ - Use
chezmoi editto modify - Apply with
chezmoi apply && zshreload - Common patterns (PATH, aliases, functions)
- Files live in
Recommended Architecture: Hybrid (Routing + Specialized Skills)
Layer 1: One Routing Skill (Replaces ARF Routing Table)
markdown<!-- ~/.claude/skills/context-router/SKILL.md --> --- name: context-router description: Route user questions to the correct specialized skill when_to_use: Initial user question, before specialized skills are loaded --- # Context Router Skill ## How It Works 1. Analyze user's question keywords 2. Query Convex metadata (if needed) OR check keywords directly 3. Recommend which specialized skill to load 4. Load that skill ## Routing Logic User mentions "zsh", "shell", "aliases" β Load `shell-config` skill User mentions "nnt", "compiler", "parsing" β Load `nnt-compiler` skill User mentions "canvas", "gradebook", "swc" β Load `swc-teaching` skill User mentions "godot", "jagquest", "game" β Load `jagquest-game` skill ## Fallback If question is about vault articles (not specialized workflows): - Query Convex articles table by keywords - Read article via Obsidian MCP - Answer from article content
Purpose: Lightweight router (replaces ~/AGENTS.md routing table)
Layer 2: 20 Specialized Skills (One Per Domain)
Each skill contains:
- Workflows - How to accomplish tasks in that domain
- File locations - Where files live
- Commands - Specific CLI commands/shortcuts
- Patterns - Domain-specific best practices
- References - Can still query Convex/vault for additional knowledge
Example: shell-config skill:
markdown<!-- ~/.claude/skills/shell-config/SKILL.md --> --- name: shell-config description: Zsh configuration, aliases, PATH, environment variables via chezmoi when_to_use: User asks about shell configuration, zsh, aliases, PATH, environment --- # Shell Configuration Skill ## File Locations **Config directory:** `~/.config/zsh/conf.d/` | File | Purpose | |------|---------| | `00-environment.zsh` | PATH, EDITOR, fzf, asdf init | | `10-aliases.zsh` | Command shortcuts, functions | | `20-display.zsh` | Monitor config (displayplacer) | | `99-local.zsh` | Machine-specific (optional) | ## Workflows ### Adding a New Alias 1. Edit via chezmoi: ```bash chezmoi edit ~/.config/zsh/conf.d/10-aliases.zsh
-
Add alias:
zshalias gs='git status' -
Apply and reload:
bashchezmoi apply && zshreload
Modifying PATH
-
Edit environment file:
bashchezmoi edit ~/.config/zsh/conf.d/00-environment.zsh -
Add to PATH:
zshexport PATH="/new/path:$PATH" -
Apply:
bashchezmoi apply && exec zsh
Common Patterns
Function with arguments:
zshfunction mkcd() { mkdir -p "$1" && cd "$1" }
Conditional PATH addition:
zsh<span class="wikilink-broken" title="Page not found: -d /opt/homebrew/bin "> -d /opt/homebrew/bin </span> && export PATH="/opt/homebrew/bin:$PATH"
Troubleshooting
Alias not working
- Check for typos in alias definition
- Run
zshreloadorexec zsh - Verify file is sourced:
grep "conf.d" ~/.zshrc
PATH not updated
- Check load order (00-environment.zsh loads first)
- Verify chezmoi applied:
chezmoi diff - Check for conflicts with
.zshenvor.zprofile
Related Knowledge
For additional context, query Convex articles:
- keywords: ["zsh", "shell", "configuration"]
- domain: "Computer Tech/Unix"
**This skill knows HOW to configure zsh, not just WHERE to find docs.**
---
## Migration Strategy: Phased Approach
### Phase 1: High-Value Skills (Top 5)
Convert the most frequently used AGENTS.md to skills:
1. **shell-config** - Daily use, highly specific workflows
2. **nnt-compiler** - Active PhD research, complex
3. **registry-database** - Your current work focus
4. **swc-teaching** - Semester tasks, Canvas API
5. **obsidian-workflows** - Vault management
**Timeline:** This weekend (5 skills)
### Phase 2: Medium Priority (Next 10)
6. terminal-config
7. editor-config
8. dev-tools-config
9. nnt-docs
10. audio-discovery
11. web-projects
12. nix-system
13. zellij-mcp
14. outlook-mcp
15. phd-dissertation
**Timeline:** Next 2 weeks
### Phase 3: Low Priority (Remaining 5)
16. acdm-game
17. jagquest-game
18. plant-game
19. family-finance
20. daily-notes
**Timeline:** As needed
### Phase 4: Deprecate AGENTS.md Files
**After all skills created:**
- Keep router files as documentation (~/AGENTS.md, ~/.config/AGENTS.md)
- Delete specialized AGENTS.md files (clutter vault)
- Metadata moves to Convex + article frontmatter
---
## Convex Integration (Revised)
**Articles table needs:**
- `keywords` - For discovery
- `domain` - For categorization
- `frontmatter` - Raw YAML storage
**BUT:** Specialized skills DON'T query Convex for workflow knowledge.
**Convex is for:**
- β
Finding relevant ARTICLES (educational content)
- β
Listing available articles in a domain
- β Storing workflow instructions (that's in skills)
**Example split:**
| Knowledge Type | Storage | Example |
|----------------|---------|---------|
| **Educational article** | Vault + Convex | "How Zsh Aliases Work" (conceptual) |
| **Workflow** | Claude Skill | "How to add alias via chezmoi" (procedural) |
| **File locations** | Claude Skill | "Aliases in ~/.config/zsh/conf.d/10-aliases.zsh" |
| **Commands** | Claude Skill | "chezmoi edit + apply + zshreload" |
---
## Token Efficiency Comparison
### Old (ARF Only)
User asks: "How do I add a zsh alias?"
1. Agent reads ~/AGENTS.md (2000 tokens)
2. Finds route to ~/.config/AGENTS.md (500 tokens)
3. Finds route to ~/.config/shell/AGENTS.md (800 tokens)
4. Reads shell AGENTS.md (1500 tokens)
5. Still doesn't have specific workflow, might query vault
**Total:** ~5000 tokens to get basic routing
### New (Skills + Convex)
User asks: "How do I add a zsh alias?"
1. Context-router skill loaded at startup (50 tokens frontmatter)
2. Recognizes "zsh", "alias" keywords
3. Loads shell-config skill (100 tokens frontmatter)
4. Shell-config skill auto-invoked (2000 tokens full skill)
5. Has complete workflow, answers immediately
**Total:** ~2150 tokens + immediate answer
**Savings:** 60% token reduction + faster response
---
## Next Steps (Concrete)
### 1. Create Context-Router Skill (15 min)
```bash
mkdir -p ~/.claude/skills/context-router
cat > ~/.claude/skills/context-router/SKILL.md << 'EOF'
[routing logic based on keywords β skill mapping]
EOF
2. Create Shell-Config Skill (30 min)
bashmkdir -p ~/.claude/skills/shell-config cat > ~/.claude/skills/shell-config/SKILL.md << 'EOF' [complete shell config workflows] EOF
3. Test Skills
bash# In Claude Code # Ask: "How do I add a zsh alias?" # Observe: Does context-router load shell-config? # Verify: Does it provide complete workflow?
4. Add Keywords to Articles Table
typescript// convex/schema.ts - Update articles table keywords: v.array(v.string()), domain: v.string(), frontmatter: v.any(),
5. Create Vault Sync Script
bash# scripts/sync-vault-to-convex.ts # Scan .md files β Extract frontmatter β Upsert to Convex
Final Architecture
User Question
β
Claude Code (loads all skill frontmatter - ~1000 tokens total)
β
context-router skill (decides which specialized skill)
β
Specialized skill (20 options)
βββ Has workflows/commands (answers directly)
βββ Can query Convex (if needs article reference)
β
Convex articles table (keyword search)
β
Obsidian vault (read article content)
Benefits:
- β Token efficient (progressive disclosure)
- β Fast (auto-invocation)
- β Specialized (20 domain experts)
- β Scalable (Convex for article discovery)
- β Clean vault (no AGENTS.md clutter)
Answer to Your Questions
"Do all AGENTS.md need to become skills?"
YES - but only 20 specialized ones (not 4 routers).
"Is this better?"
YES - but for different reasons than I said earlier:
- Not "one skill" - 20 specialized skills
- Not just database - skills have procedural knowledge
- Not replacing ARF - evolving it into modern architecture
"Will vault be cleaner?"
YES:
- Delete 20 specialized AGENTS.md files (clutter)
- Keep 4 router files as documentation
- Skills live in
~/.claude/skills/(out of vault)
Should I start creating the first 2 skills (context-router + shell-config)?