Agent System
The shop repo runs a multi-tenant agent system on top of Claude Code. Each agent is a distinct identity — with its own persona, constraints, and learned preferences — that loads on demand when you invoke a skill.
How It Works
Every skill (like /dev or /tutor) follows the same bootstrap sequence:
- The skill loader reads the agent's persona (
agent/<name>/system.md) — who it is, how it behaves, what it can and cannot do. - It loads shared preferences (
agent/shared/preferences.md) — conventions that apply across all agents. - It loads agent-specific preferences (
agent/<name>/preferences.md) — learned behaviors unique to that agent. - The agent executes the task with its full identity in context.
Agents
Three agents cover different modes of work:
| Agent | Purpose | Skills | Can edit files? |
|---|---|---|---|
| Dev | Implement features, review code, debug, maintain logs | 9 skills | Yes (most) |
| Tutor | Explain concepts, teach patterns, answer questions | 3 skills | No (sessions only) |
| Student | Solve assignments, produce student-level work | 2 skills | Yes |
All Skills
| Skill | Agent | Description |
|---|---|---|
/dev | Dev | General development tasks |
/dev-review | Dev | Read-only code review |
/dev-debug | Dev | Investigate and fix issues |
/dev-standup | Dev | Daily log from git activity |
/dev-test | Dev | Write and run tests |
/dev-retro | Dev | Weekly/sprint retrospective |
/dev-refactor | Dev | Restructure without changing behavior |
/dev-blog | Dev | Write a dev blog post |
/tutor | Tutor | Explain concepts with Socratic method |
/tutor-explain | Tutor | Walk through code section by section |
/tutor-save | Tutor | Save/checkpoint tutor session |
/student | Student | Solve assignments as a CS undergrad |
/student-review | Student | Grade papers against a rubric |
/remember | Utility | Save a lasting preference |
Preferences
Preferences are append-only markdown bullets stored in preferences.md files. They accumulate over time as agents learn how you work.
- Shared (
agent/shared/preferences.md) — conventions all agents follow (code style, log format, branch rules). - Agent-specific (
agent/<name>/preferences.md) — behaviors unique to one agent (tone, process, formatting).
Preferences are added two ways:
- Explicitly — run
/remember [scope] <preference>to append a specific convention. - Automatically — when you correct an agent's behavior, it detects lasting preferences and appends them to the right file.
See Utilities for details on the /remember skill and preference system.
Adding a New Agent
- Create
agent/<name>/system.mdwith persona, constraints, and workflow. - Create
agent/<name>/preferences.mdas an empty template. - Create skill files in
.claude/skills/<name>*/SKILL.md. - Add the agent to the table in
CLAUDE.md.