Agents
An agent is a stateless unit that receives a task, uses tools, and returns a result.
@dataclass
class AgentConfig:
name: str
role: str # system prompt / persona
provider: str # provider key
tools: list[str] # allowed tool names
max_steps: int = 10 # anti-stall: hard step limit
max_retries_per_approach: int = 3 # anti-stall: retry cap
Agents are provider-parameterized — the same agent definition can run on Claude, GPT, or a local model by swapping the provider.
Agent Categories
Agents are organised by category under .claude/agents/<category>/.
Root-level agents live directly in .claude/agents/.
Root-Level Agents (6)
| Agent | Model | Purpose |
|---|---|---|
| team-lead | sonnet | Orchestrator, coordinates all categories |
| architect | sonnet | Codebase architecture analysis |
| code-reviewer | sonnet | Code quality and security review |
| dependency-checker | sonnet | Dependency updates, vulnerabilities, unused packages |
| migration-helper | sonnet | Database migrations, API versioning, breaking changes |
| test-runner | sonnet | Run tests after code changes |
Software Engineering (8 agents)
Data Science (5 agents)
Finance (5 agents)
Marketing (5 agents)
Cross-Agent Dependencies
Software Engineering
Data Science
Finance
Marketing
Tooling (1 agent)
| Agent | Model | Responsibility |
|---|---|---|
| skillkit-scout | opus | Searches SkillKit marketplace (15,000+ skills), installs and assigns to appropriate agents |
When the team-lead cannot route a task, skillkit-scout searches for existing skills. If found, the skill is installed and assigned. If not found, it reports to the user and suggests a custom agent or skill.