agent-utils
A collection of plugins, MCPs, skills, hooks, and configs that I use with Claude Code. Just point your agent at the URL to copy my setup — either install all together or à la carte.
You can think of this as the scaffolding for a personal AI operating system: a workspace where agents can see everything you're working on, remember what happened across sessions, and operate with real context about your projects, research, and goals.
Since my work revolves around agent design, context engineering, and research, you'll notice the skills and code here lean towards those directions, but I think this will eventually apply to most digital work in the future anyway.
The Workspace
Everything starts with a single folder. I call mine lab/. It has two subdirectories:
lab/
├── CLAUDE.md # root instructions — teaches agents the layout
├── projects/ # every repo lives here
│ └── {project-name}/
│ ├── CLAUDE.md # project-specific agent instructions
│ ├── ledger.md # session handoff — what happened, what's next
│ ├── README.md
│ └── docs/
│ ├── plan.md # implementation plan
│ ├── resources.md # reference links
│ └── tasks.md # current tasks (when needed)
└── notes/
└── vault/ # markdown vault (Obsidian or any markdown dir)
├── tasks.md # master task list
├── goals.md # what you're working toward
├── YYYY-MM-DD.md # daily notes at vault root
├── sessions/ # conversation dumps (auto-generated by hooks)
├── logs/ # archived notes, weekly/monthly summaries
└── projects/ # planning docs, specs, research notes
└── {project-name}/
Why This Layout
Code and knowledge live side by side but separate. Each project in projects/ is its own git repo. The vault in notes/ is a separate git repo that accumulates context over time. The workspace root (lab/) is not a repo — it's just the container.
Agents get top-down visibility. A CLAUDE.md at the root teaches the agent how to navigate: where to find tasks, how to log work, where project docs live. When you run an agent from lab/, it can see all your projects and notes at once. This is what makes orchestration and cross-project work possible.
The vault is the memory layer. Daily notes, session dumps, project planning docs, task lists, research notes — all in one searchable, greppable directory. I use Obsidian as a frontend, but the structure is designed for agents first: flat files, [[links]], #tags. Any markdown directory works.
Each project has a read order. When an agent starts a session on a project, it reads: ledger.md (what happened, what's next) → docs/plan.md (where we're headed) → docs/resources.md (reference material). The project-kickoff skill creates this structure. The evolve-context skill keeps it current.
The Memory Loop
The vault isn't just storage — it's an active memory system:
Session active → context fills up → PreCompact dumps conversation to vault →
Claude compacts → SessionStart fires → QMD searches vault →
relevant context re-injected → session continues with memory
| Layer | Location | Purpose |
|---|
| Auto-memory | ~/.claude/projects/.../memory/ | Stable facts, conventions (auto-loaded) |
| Session dumps | vault/sessions/{id}.md | Full conversation recovery after compaction |
| Project ledgers | projects/{name}/ledger.md | Per-project session handoff — what happened, what's next |
| Vault | vault/ (tasks, notes, daily logs) | Long-term knowledge and planning |
This requires the agent-memory plugin. Without it you still get the workspace structure — you just lose the automatic memory persistence across compactions.
Set It Up
Copy the template and customize:
mkdir -p lab/{projects,notes/vault/{sessions,logs,projects}}
cp templates/CLAUDE.md lab/CLAUDE.md
touch lab/notes/vault/{tasks,goals}.md
Then edit lab/CLAUDE.md to match your setup — your projects, your research interests, your conventions. See templates/CLAUDE.md for the full structure with protocols for daily notes, task tracking, progress ledgers, and session memory.
Install
Plugin Marketplace (recommended)
Register the marketplace, then install plugins by name:
# Add the marketplace
claude plugin marketplace add k3nnethfrancis/agent-utils
# Install plugins
claude plugin install agent-memory@agent-utils
claude plugin install bookmark-sync@agent-utils
| Plugin | What it does |
|---|
agent-memory | Persistent memory across compactions — session dumps, QMD vault search, auto-injection |
bookmark-sync | Turn X bookmarks into ranked research briefs via parallel deep-dive agents |