Each agent is designed for a specific purpose with carefully selected tool permissions. This design improves safety (agents can't exceed their role), efficiency (faster responses with focused capabilities), and predictability (consistent, reliable behavior).

Quick Commands

/agentsList all available agents
/agent coderSwitch to a specific agent
/toolsList tools for current agent
/statusShow current agent & model

All Agents (Detailed)

G

General Agent

The Swiss Army Knife

The default agent with access to all 40+ tools. Use when your task spans multiple domains or when you're not sure which specialized agent to use. It can read files, write code, execute commands, search the web, query databases, and more — all in one conversation.

All 40+ Tools

Best For

  • Complex multi-step tasks spanning different domains
  • When you don't know what tools you'll need
  • Exploratory work that might lead anywhere
  • Tasks requiring both analysis and execution
  • One-off complex operations

When to Use Another Agent

  • If task is purely code exploration → use Explorer
  • If task is writing code only → use Coder
  • If you want read-only safety → use Explorer/Planner
  • For focused tasks, specialized agents are faster

Example Session

Scenario: Full-stack bug investigation and fix
eldric> /agent general

eldric> Users are reporting 500 errors on the checkout page. Find and fix the issue.

[WebFetch] Checking error monitoring dashboard...
Found: 847 errors in last hour, all from /api/checkout

[Grep] Searching for checkout endpoint...
Found: src/routes/checkout.ts

[Read] src/routes/checkout.ts
[Read] src/services/payment.ts

[DBQuery] SELECT * FROM orders WHERE status='failed' LIMIT 5
Found: All failed orders have null payment_intent_id

Issue identified: Stripe API key expired. The payment service 
is failing silently and returning null.

[Read] .env.example (checking expected vars)
[Bash] echo $STRIPE_SECRET_KEY | head -c 10
Output: sk_test_... (truncated, but key exists)

[WebFetch] Checking Stripe dashboard for key status...
Key sk_test_xxx expired on 2025-01-10

Fix: Need to rotate the Stripe API key.

[Edit] Adding better error handling to src/services/payment.ts
[Write] Created src/utils/stripe-health-check.ts

Done! Added error handling so this fails loudly next time.
Action needed: Update STRIPE_SECRET_KEY in production.
E

Explorer Agent

Read-Only Codebase Navigation

A safe, read-only agent for understanding codebases. It can search for files, read their contents, and find patterns — but cannot modify anything. Perfect for onboarding to new projects, understanding unfamiliar code, or when you want to explore without any risk of accidental changes.

Glob Grep Read

Best For

  • Learning a new codebase structure
  • Finding where functionality is implemented
  • Understanding dependencies between files
  • Code review without modification risk
  • Answering "How does X work here?"
  • Safely exploring unfamiliar projects

Cannot Do

  • Modify, create, or delete files
  • Execute shell commands
  • Access databases or network
  • Make any changes to the system

Example Session

Scenario: Understanding authentication in a new project
eldric> /agent explorer
Switched to Explorer agent (Glob, Grep, Read)

eldric> I just joined this project. Explain how authentication works.

[Glob] Searching for auth-related files...
Found 12 files matching *auth*, *login*, *session*:
  - src/middleware/auth.ts
  - src/routes/auth.ts
  - src/services/authService.ts
  - src/utils/jwt.ts
  - src/types/auth.ts
  ...

[Read] src/middleware/auth.ts (main auth middleware)
[Read] src/utils/jwt.ts (token handling)
[Read] src/services/authService.ts (business logic)

[Grep] Finding where auth middleware is used...
Used in 23 route files.

Authentication Overview:
━━━━━━━━━━━━━━━━━━━━━━━
1. **Strategy**: JWT with refresh tokens
2. **Token Storage**: Access token in memory, refresh in httpOnly cookie
3. **Flow**:
   - Login: POST /api/auth/login → returns access + refresh tokens
   - Protected routes: Authorization: Bearer 
   - Refresh: POST /api/auth/refresh (uses cookie)
   - Logout: POST /api/auth/logout (invalidates refresh)

4. **Key Files**:
   - Entry point: src/middleware/auth.ts (line 15, verifyToken function)
   - Token creation: src/utils/jwt.ts (line 23, signToken)
   - User validation: src/services/authService.ts (line 45, validateUser)

5. **Protected Routes**: 23 routes use requireAuth middleware
   Most in: src/routes/api/*.ts

Would you like me to explain any specific part in more detail?
C

Coder Agent

Code Writing Specialist

Focused on reading and writing code. Can create, modify, and delete files, but cannot execute commands. This makes it safe for code changes without risk of running potentially dangerous scripts. Ideal for implementing features, fixing bugs, and refactoring.

Read Write Edit Glob

Best For

  • Implementing new features
  • Bug fixes that require code changes
  • Refactoring code
  • Adding tests
  • Creating new files/modules
  • Code migrations

Cannot Do

  • Run tests (use Runner for that)
  • Execute build commands
  • Access databases or network
  • Install packages

Example Session

Scenario: Adding email validation to registration
eldric> /agent coder
Switched to Coder agent (Read, Write, Edit, Glob)

eldric> Add email validation to the user registration endpoint. 
        Reject disposable email domains.

[Glob] Finding registration-related files...
[Read] src/routes/auth.ts
[Read] src/validators/index.ts

I'll add email validation with disposable domain checking.

[Write] src/validators/email.ts
```typescript
import { z } from 'zod';

const DISPOSABLE_DOMAINS = [
  'tempmail.com', 'throwaway.email', 'guerrillamail.com',
  'mailinator.com', '10minutemail.com', // ... 100+ more
];

export const emailSchema = z.string()
  .email('Invalid email format')
  .refine((email) => {
    const domain = email.split('@')[1]?.toLowerCase();
    return !DISPOSABLE_DOMAINS.includes(domain);
  }, 'Disposable email addresses are not allowed');

export const validateEmail = (email: string) => 
  emailSchema.safeParse(email);
```

[Edit] src/routes/auth.ts
Adding import and validation call...

[Edit] src/validators/index.ts
Exporting new email validator...

Done! Changes made:
✓ Created src/validators/email.ts (new file)
✓ Modified src/routes/auth.ts (added validation)
✓ Modified src/validators/index.ts (added export)

The registration endpoint now rejects:
- Invalid email formats
- Disposable email domains (100+ blocked)

To test: Switch to Runner agent and run the tests.
R

Runner Agent

Command Execution Specialist

Executes shell commands and scripts. Can read files for context but cannot modify them directly. Perfect for running tests, builds, deployments, and system administration tasks. Use when you need things to actually run.

Bash Read

Best For

  • Running test suites
  • Building projects
  • Starting/stopping services
  • Package installation
  • Deployment scripts
  • System diagnostics

Cannot Do

  • Write or edit files directly
  • Create new files (except via shell)
  • Use specialized tools (DB, network analysis)

Example Session

Scenario: Running tests and fixing environment issues
eldric> /agent runner
Switched to Runner agent (Bash, Read)

eldric> Run all tests and tell me what's broken

[Bash] npm test

> app@1.0.0 test
> jest --coverage

FAIL src/services/__tests__/payment.test.ts
  ● PaymentService › should process payment
    
    Stripe API key not configured
    
      at src/services/payment.ts:23:11

FAIL src/routes/__tests__/checkout.test.ts
  ● POST /checkout › should create order
    
    Database connection failed

Tests: 2 failed, 154 passed
Coverage: 87.3%

[Read] package.json (checking test setup)
[Read] jest.config.js

Issues found:
1. Missing STRIPE_SECRET_KEY in test environment
2. Test database not running

[Bash] docker ps | grep postgres
No postgres container running.

[Bash] docker-compose up -d postgres-test
Starting test database...

[Bash] cp .env.test.example .env.test
[Bash] npm test

All 156 tests passing!
Coverage: 87.3%
P

Planner Agent

Architecture & Design (Read-Only)

Analyzes codebases and creates detailed implementation plans without making any changes. Read-only access ensures plans are based on actual code state. Perfect for technical planning, architecture decisions, and creating step-by-step implementation guides.

Glob Grep Read

Best For

  • Creating implementation plans
  • Architecture design documents
  • Estimating effort for features
  • Identifying affected files
  • Breaking down complex tasks
  • Technical specifications

Output Includes

  • Files to create/modify
  • Step-by-step instructions
  • Dependencies to add
  • Potential risks/considerations
  • Testing strategy

Example Session

Scenario: Planning a caching layer implementation
eldric> /agent planner
Switched to Planner agent (read-only analysis)

eldric> Plan how to add Redis caching to our API endpoints

[Glob] Analyzing project structure...
[Read] package.json, src/index.ts
[Grep] Finding database queries that could benefit from caching...
[Read] src/services/*.ts (analyzing data access patterns)

Implementation Plan: Redis Caching Layer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**1. Dependencies**
   npm install redis ioredis

**2. New Files to Create**
   - src/config/redis.ts (connection config)
   - src/services/cache.ts (cache service abstraction)
   - src/middleware/cache.ts (response caching middleware)
   - src/utils/cache-keys.ts (key generation helpers)

**3. Files to Modify**
   - src/index.ts (initialize Redis connection)
   - src/services/userService.ts (add caching to getUser)
   - src/services/productService.ts (add caching to getProducts)
   - src/routes/api.ts (add cache middleware to routes)
   
**4. Caching Strategy**
   - User data: 5 min TTL, invalidate on update
   - Product list: 1 min TTL, invalidate on change
   - Search results: 30 sec TTL

**5. Cache Invalidation Points**
   - userService.updateUser() → invalidate user:${id}
   - productService.* → invalidate products:*
   
**6. Environment Variables**
   REDIS_URL=redis://localhost:6379
   CACHE_DEFAULT_TTL=300

**7. Testing**
   - Add src/__tests__/cache.test.ts
   - Mock Redis in existing tests

**Risk Considerations**
   - Cache stampede on cold start → implement stale-while-revalidate
   - Memory usage → set maxmemory policy

Ready to implement? Switch to Coder agent.
S

Searcher Agent

Web Research & Documentation

Searches the web, fetches documentation, and gathers external information. Cannot access local files or execute commands — purely focused on finding information from the internet. Great for researching libraries, APIs, and current best practices.

WebSearch WebFetch WebCrawl ExtractData

Best For

  • Finding library documentation
  • Researching API integrations
  • Looking up error messages
  • Finding code examples
  • Checking latest versions
  • Comparing technologies

Cannot Do

  • Access local files
  • Modify anything
  • Execute commands
  • Access internal/private networks

Example Session

Scenario: Researching authentication options
eldric> /agent searcher
Switched to Searcher agent (web tools)

eldric> Compare Auth0, Clerk, and NextAuth for a Next.js app

[WebSearch] "Auth0 vs Clerk vs NextAuth comparison 2025"
[WebFetch] https://clerk.com/docs
[WebFetch] https://auth0.com/docs
[WebFetch] https://authjs.dev/

Authentication Solutions Comparison
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**Auth0**
- Pricing: Free up to 7,500 MAU, then $23/mo
- Pros: Enterprise features, extensive customization
- Cons: Complex setup, can be expensive at scale
- Best for: Enterprise apps, complex requirements

**Clerk**
- Pricing: Free up to 10,000 MAU, then $25/mo
- Pros: Beautiful pre-built UI, great DX, fast setup
- Cons: Newer, less enterprise features
- Best for: Startups, MVPs, developer experience focus

**NextAuth (Auth.js)**
- Pricing: Free (self-hosted)
- Pros: Free, flexible, no vendor lock-in
- Cons: More setup work, you manage security
- Best for: Cost-conscious, full control needed

**Recommendation for Next.js:**
- Quick start/MVP → Clerk (best DX)
- Enterprise/compliance → Auth0
- Budget-conscious/control → NextAuth

Want me to find setup guides for any of these?
D

Database Agent

SQL & Database Operations

Connects to databases, explores schemas, and runs queries. Supports PostgreSQL, MySQL, SQLite, and more. Perfect for data analysis, debugging data issues, and understanding database structure. Use with caution on production databases.

DBConnect DBQuery DBExecute DBSchema

Best For

  • Exploring database schemas
  • Running analytical queries
  • Debugging data issues
  • Generating reports
  • Data migrations
  • Understanding data relationships

Safety Note

  • DBQuery: SELECT only (safe)
  • DBExecute: INSERT/UPDATE/DELETE (requires confirmation)
  • Always test on staging first
  • Use read-only connections when possible

Example Session

Scenario: Analyzing user churn data
eldric> /agent database
Switched to Database agent (DB tools)

eldric> Connect to the analytics DB and analyze user churn

[DBConnect] postgresql://analytics:5432/metrics
Connected successfully.

[DBSchema] Listing relevant tables...
- users (id, email, created_at, last_active, plan)
- events (id, user_id, event_type, timestamp)
- subscriptions (id, user_id, status, cancelled_at)

[DBQuery] User churn analysis...

SELECT 
  DATE_TRUNC('month', cancelled_at) as month,
  COUNT(*) as churned,
  AVG(EXTRACT(days FROM cancelled_at - created_at)) as avg_lifetime_days
FROM subscriptions s
JOIN users u ON s.user_id = u.id
WHERE s.status = 'cancelled'
GROUP BY 1 ORDER BY 1 DESC LIMIT 6;

| Month    | Churned | Avg Lifetime (days) |
|----------|---------|---------------------|
| Jan 2025 | 234     | 45                  |
| Dec 2024 | 198     | 52                  |
| Nov 2024 | 167     | 61                  |

[DBQuery] Finding common patterns before churn...

Top events before cancellation:
1. "billing_failed" (67% of churned users)
2. "support_ticket_opened" (45%)
3. "downgrade_viewed" (38%)

Insight: 67% of churned users had billing failures.
Recommendation: Implement dunning emails and retry logic.
L

Learner Agent

RAG & Knowledge Management

Builds and queries knowledge bases using RAG (Retrieval-Augmented Generation). Index documents, store facts, and retrieve relevant context. Your AI gets smarter about your specific domain without retraining the model.

Learn Remember Forget Read

Best For

  • Indexing documentation
  • Building company knowledge bases
  • Storing project-specific facts
  • Creating searchable wikis
  • Onboarding context

Supported Formats

  • Markdown, Text, HTML
  • PDF documents
  • Code files (all languages)
  • Word documents, DOCX
  • CSV, JSON data

Example Session

Scenario: Building a project knowledge base
eldric> /agent learner
Switched to Learner agent (RAG tools)

eldric> Index our entire documentation folder

[Learn] ./docs
Scanning directory...
Found 127 files (23 MB total)

Processing:
- 89 Markdown files
- 23 PDF documents  
- 15 code examples

Creating embeddings with nomic-embed-text...
Progress: ████████████████████ 100%

Indexed 4,521 chunks into vector database.
Knowledge base ready!

eldric> /remember "Deploy to production requires approval from @devops team"
Stored in knowledge base.

eldric> How do I deploy a hotfix to production?

[RAG Search] Querying knowledge base...
Found 5 relevant documents.

Based on your documentation (deployment-guide.md):

**Hotfix Deployment Process:**
1. Create branch from `main`: `hotfix/description`
2. Make fix and test locally
3. Create PR with `[HOTFIX]` prefix
4. Get approval from @devops team (as you noted)
5. Merge to main
6. CI/CD auto-deploys to staging
7. After staging verification, run:
   `./scripts/promote-to-prod.sh`

**Important:** Hotfixes skip the normal release cycle but 
still require @devops approval.

[Sources: docs/deployment-guide.md, docs/hotfix-process.md]
N

Network Agent

Networking & Remote Operations

Network diagnostics, remote server management, and connectivity analysis. SSH into servers, check network paths, scan ports, and debug connectivity issues. Essential for DevOps and infrastructure work.

SSH Scp Ping Traceroute Dig Nmap Curl Netstat

Best For

  • Server health checks
  • Network troubleshooting
  • DNS investigations
  • Port scanning
  • Remote file transfers
  • API endpoint testing

Security Note

  • SSH requires configured keys
  • Nmap may trigger security alerts
  • Only use on authorized systems
  • Audit logs are kept

Example Session

Scenario: Diagnosing API latency issues
eldric> /agent network
Switched to Network agent (network tools)

eldric> Our US users are reporting slow API responses. Diagnose the issue.

[Ping] api.example.com from US-East
64 bytes: time=23ms ✓ Normal

[Traceroute] api.example.com
1. router.local (1ms)
2. isp-gateway (5ms)
3. cloudflare-edge (12ms)
4. api.example.com (23ms)
Route looks normal.

[Curl] GET https://api.example.com/health
Status: 200 OK
Response time: 2,847ms ← SLOW!
Time to first byte: 2,801ms

[SSH] admin@api.example.com
Connected.

[SSH] top -bn1 | head -15
CPU: 94.2% ← HIGH!
MEM: 67.3%
Load: 12.8, 11.4, 10.2

[SSH] ps aux --sort=-%cpu | head -5
node /app/server.js  89.1% CPU

[SSH] netstat -an | grep :3000 | wc -l
Active connections: 847

Issue Found:
━━━━━━━━━━━━
- Server CPU at 94% (single node.js process maxed out)
- 847 active connections (normal is ~200)
- Load average trending up

Root Cause: Traffic spike overwhelming single instance.

Immediate Fix:
[SSH] pm2 scale app +2
Scaling from 1 to 3 instances...

[Curl] GET https://api.example.com/health
Response time: 145ms ✓ Fixed!
T

Trainer Agent

Model Fine-Tuning

Create and manage model training jobs. Prepare datasets from your code/docs, configure LoRA/QLoRA parameters, monitor training progress, and manage checkpoints. Train models on your specific domain without sending data to the cloud.

TrainCreate TrainStatus TrainStop TrainList DatasetPrepare Read

Example Session

Scenario: Training a code-completion model
eldric> /agent trainer

eldric> Train a model on our codebase for better completions

[DatasetPrepare] Analyzing ./src for training examples...
Found 2,847 suitable code completions
Generated training data: ./training-data.jsonl

[TrainCreate] Starting training job...
- Base model: codellama:7b
- Method: QLoRA (4-bit quantized)
- Rank: 32
- Learning rate: 2e-4
- Epochs: 3

Job created: job_xyz789

[TrainStatus] job_xyz789
Progress: ████████░░░░░░░░░░░░ 42%
Epoch: 2/3
Loss: 1.23 → 0.45 (improving!)
GPU: 22.1/24 GB
ETA: 1h 15m remaining

eldric> /train list
Active jobs:
- job_xyz789: 42% (training codellama:7b on your codebase)
M

Merger Agent

Model Combination

Combine multiple models into one using various merging strategies (SLERP, TIES, DARE, Linear). Create specialized models by blending the strengths of different base models and your fine-tuned adapters.

MergeCreate MergeStatus MergeList MergeDelete

Example Session

Scenario: Creating a specialized coding model
eldric> /agent merger

eldric> Merge my fine-tuned model with CodeLlama for better coding

[MergeCreate] Select models to merge:
1. codellama:13b (base coding ability)
2. my-domain-lora (your fine-tuned adapter)

Strategy options:
- SLERP: Smooth spherical interpolation (recommended)
- TIES: Preserves unique capabilities of each
- DARE: Randomized for diversity
- Linear: Simple weighted average

Using SLERP with weights 0.6 / 0.4

[MergeStatus] Processing...
Merging tensor layers: ████████████████████ 100%

Merge complete!
- Output: my-code-expert
- Size: 13.8 GB  
- Location: ~/.eldric/models/my-code-expert

To use: /model my-code-expert
O

Orchestrator Agent

Cluster Management (Multi-API)

Manage Eldric Multi-API clusters. Deploy and configure workers, set up routers, monitor cluster health, and scale infrastructure. This agent connects to your Multi-API controller to manage distributed AI infrastructure.

ClusterStatus WorkerDeploy WorkerRemove RouterConfig NodeHealth ConfigSync

Example Session

Scenario: Managing a production cluster
eldric> /agent orchestrator

eldric> Show cluster status and scale up workers

[ClusterStatus] Connecting to controller at 10.3.7.1:8880...

Cluster: production-us-west
━━━━━━━━━━━━━━━━━━━━━━━━━━
Controller: healthy (uptime: 47d)
Routers: 2/2 healthy
Workers: 5/5 healthy (1 high load)

Workers:
| ID          | Host       | Load | Models              |
|-------------|------------|------|---------------------|
| wrk-gpu-01  | 10.3.7.10  | 23%  | llama3.1:70b        |
| wrk-gpu-02  | 10.3.7.11  | 89%  | llama3.1:70b ← HIGH |
| wrk-gpu-03  | 10.3.7.12  | 45%  | codellama:34b       |
| wrk-gpu-04  | 10.3.7.13  | 34%  | mixtral:8x7b        |
| wrk-gpu-05  | 10.3.7.14  | 12%  | llama3.2:3b         |

[WorkerDeploy] Adding new worker to handle load...
Target: 10.3.7.15
Backend: vllm
Models: llama3.1:70b

Deploying eldric-workerd...
Registering with controller...
Health check passed!

Worker wrk-gpu-06 added successfully.
Cluster now has 6 workers.

Ready to Try Eldric?

See how specialized agents can accelerate your workflow.

Request Demo