smithery/aiskillstore

new-agent-creation

Provides step-by-step templates and guidance for creating new AI agents in Unite-Hub with proper registration, testing, and governance

Installation

$ npx skills add smithery/aiskillstore --skill new-agent-creation

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/aiskillstore · top by installs.

npx skills add smithery/aiskillstore

Browse all from smithery/aiskillstore

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,633 B
  • docs SUMMARY.md 160 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

New Agent Creation Skill

Step-by-Step Agent Implementation

When to Use: Creating new AI agents for Unite-Hub


Quick Start Template

1. Create Agent File

Location: src/lib/agents/my-new-agent.ts

import { BaseAgent, AgentTask, AgentConfig } from './base-agent';
import { getAnthropicClient } from '@/lib/anthropic/lazy-client';

export class MyNewAgent extends BaseAgent {
  constructor() {
    super({
      name: 'MyNewAgent',
      queueName: 'my-new-agent-queue',
      concurrency: 1,
      retryDelay: 5000
    });
  }

  protected async processTask(task: AgentTask): Promise<any> {
    // Your agent logic here
    const client = getAnthropicClient();

    const response = await client.messages.create({
      model: 'claude-sonnet-4-5-20250929',
      max_tokens: 4096,
      messages: [{
        role: 'user',
        content: `Task: ${task.task_type}\nPayload: ${JSON.stringify(task.payload)}`
      }]
    });

    return {
      result: response.content[0].text,
      workspace_id: task.workspace_id,
      model_used: 'claude-sonnet-4-5-20250929',
      input_tokens: response.usage.input_tokens,
      output_tokens: response.usage.output_tokens
    };
  }
}

2. Register in Orchestrator

File: src/lib/agents/orchestrator-router.ts

// Add to AgentIntent enum
export type AgentIntent =
  | 'my_new_agent'  // ← Add this
  | 'email' | 'content' | ...;

// Add to classifyIntent function
if (objective.includes('my task keyword')) {
  return 'my_new_agent';
}

3. Add to Registry

File: .claude/agents/registry.json

{
  "id": "my-new-agent",
  "name": "My New Agent",
  "version": "1.0.0",
  "file": "src/lib/agents/my-new-agent.ts",
  "capabilities": ["capability_1", "capability_2"],
  "queueName": "my-new-agent-queue",
  "models": ["claude-sonnet-4-5-20250929"],
  "governance": "HUMAN_GOVERNED",
  "verification_required": true,
  "budget_daily_usd": 10.00,
  "category": "marketing"
}

4. Create Tests

File: tests/agents/my-new-agent.test.ts

import { describe, it, expect, vi } from 'vitest';
import { MyNewAgent } from '@/lib/agents/my-new-agent';

describe('MyNewAgent', () => {
  it('processes task successfully', async () => {
    const agent = new MyNewAgent();
    const task = {
      id: 'test-1',
      workspace_id: 'ws-123',
      task_type: 'my_task',
      payload: { data: 'test' },
      priority: 5,
      retry_count: 0,
      max_retries: 3
    };

    const result = await agent.processTask(task);

    expect(result).toBeDefined();
    expect(result.workspace_id).toBe('ws-123');
  });
});

5. Create CLI Runner (Optional)

File: scripts/run-my-agent.mjs

import { MyNewAgent } from '../src/lib/agents/my-new-agent.js';

const agent = new MyNewAgent();
await agent.start();
console.log('MyNewAgent running...');

Checklist

  • Create agent file extending BaseAgent
  • Implement processTask() method
  • Add to orchestrator-router.ts intent enum
  • Add to orchestrator routing logic
  • Register in .claude/agents/registry.json
  • Create tests (100% pass required)
  • Add CLI runner script (optional)
  • Document in .claude/agent.md
  • Set appropriate budget limits
  • Choose governance mode (HUMAN_GOVERNED vs AUTONOMOUS)

Standard: All agents must filter by workspace_id, respect budgets, pass verification