Agent Skills: Deployment Helper Skill

Deploy elizaOS agents to production with best practices, monitoring, and scaling. Triggers on "deploy agent", "production setup", or "deploy elizaOS"

UncategorizedID: dexploarer/hyper-forge/deployment-helper

Install this agent skill to your local

pnpm dlx add-skill https://github.com/Prompt-or-Die-Labs/hyper-forge/tree/HEAD/.claude/skills/deployment-helper

Skill Files

Browse the full folder contents for deployment-helper.

Download Skill

Loading file tree…

.claude/skills/deployment-helper/SKILL.md

Skill Metadata

Name
deployment-helper
Description
Deploy elizaOS agents to production with best practices, monitoring, and scaling. Triggers on "deploy agent", "production setup", or "deploy elizaOS"

Deployment Helper Skill

Production deployment configurations for elizaOS agents with Docker, monitoring, and scaling.

Deployment Patterns

1. Single Agent Deployment

// src/index.ts
import { AgentRuntime } from '@elizaos/core';
import { PGAdapter } from '@elizaos/adapter-postgresql';
import character from './character';

const runtime = new AgentRuntime({
  databaseAdapter: new PGAdapter(process.env.DATABASE_URL),
  character,
  env: process.env
});

await runtime.initialize();

// Health check endpoint
app.get('/health', (req, res) => {
  res.json({
    status: 'healthy',
    agent: character.name,
    uptime: process.uptime()
  });
});

// Graceful shutdown
process.on('SIGTERM', async () => {
  await runtime.stop();
  process.exit(0);
});

2. Docker Deployment

# Dockerfile
FROM node:20-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .
RUN npm run build

EXPOSE 3000

CMD ["npm", "start"]
# docker-compose.yml
version: '3.8'

services:
  agent:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/eliza
      - OPENAI_API_KEY=${OPENAI_API_KEY}
    depends_on:
      - db
      - redis
    restart: unless-stopped

  db:
    image: postgres:15
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=eliza
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass

  redis:
    image: redis:7-alpine
    volumes:
      - redisdata:/data

volumes:
  pgdata:
  redisdata:

3. Multi-Agent Deployment

// agents/coordinator.ts
const agents = [
  { character: agent1, id: 'agent-1' },
  { character: agent2, id: 'agent-2' },
  { character: agent3, id: 'agent-3' }
];

const runtimes = await Promise.all(
  agents.map(async ({ character, id }) => {
    const runtime = new AgentRuntime({
      databaseAdapter: new PGAdapter(DATABASE_URL),
      character,
      env: process.env
    });
    await runtime.initialize();
    return { id, runtime };
  })
);

// Load balancing
function selectAgent(message: string): AgentRuntime {
  const hash = hashCode(message);
  const index = hash % runtimes.length;
  return runtimes[index].runtime;
}

Monitoring

// Metrics collection
import { collectDefaultMetrics, register, Counter, Histogram } from 'prom-client';

collectDefaultMetrics();

const messageCounter = new Counter({
  name: 'agent_messages_total',
  help: 'Total messages processed',
  labelNames: ['agent', 'status']
});

const responseTime = new Histogram({
  name: 'agent_response_duration_seconds',
  help: 'Response time',
  buckets: [0.1, 0.5, 1, 2, 5]
});

// Metrics endpoint
app.get('/metrics', async (req, res) => {
  res.set('Content-Type', register.contentType);
  res.end(await register.metrics());
});

Production Checklist

  • [ ] Environment variables configured
  • [ ] Database migrations run
  • [ ] Health check endpoint working
  • [ ] Monitoring configured
  • [ ] Logging setup
  • [ ] Error tracking (Sentry)
  • [ ] Rate limiting enabled
  • [ ] HTTPS configured
  • [ ] Secrets secured
  • [ ] Backup strategy
  • [ ] Scaling plan
  • [ ] Rollback procedure