Agent Configuration Validation

SkillAI & models

Validate AgentConfig definitions for the Agent Framework. Use when creating or modifying agent configurations to ensure correct structure, valid tool references, and proper sub-agent composition. Validates TypeScript interfaces and Python Pydantic models.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Agent Configuration Validation skill

What this skill tells your AI

The instructions your AI receives, as published by diegosouzapw/awesome-omni-skill in skills/ai-agents/agent-config-validator/SKILL.md and read by ahel’s review.

Validates AgentConfig definitions against the Agent Framework schema.

AgentConfig Schema

interface ModelConfig {
  provider: 'gemini' | 'openai' | 'anthropic' | 'ollama' | 'custom';
  model: string;           // e.g., "gpt-4o", "claude-3-haiku", "llama3.2"
  baseUrl?: string;        // For custom/Ollama endpoints
  apiKeyEnvVar?: string;   // Environment variable name for API key
}

interface AgentConfig {
  id: string;                              // Required: unique identifier
  name: string;                            // Required: display name
  type: 'llm' | 'sequential' | 'parallel' | 'loop' | 'custom';  // Required
  modelConfig: ModelConfig;                // Required for type='llm'
  description: string;                     // Required: for orchestrator routing
  instruction: string;                     // Required: system prompt
  tools: string[];                         // MCP tool IDs
  subAgents: string[];                     // Sub-agent IDs
  outputKey?: string;                      // For state passing
  maxIterations?: number;                  // For LoopAgent (default: 3)
  stateSchema?: Record<string, any>;       // Optional state definition
  createdAt: Date;
  isActive: boolean;
}

Validation Rules

Required Fields

FieldTypeCondition
idstringAlways required, must be unique
namestringAlways required
typeenumMust be one of: 'llm', 'sequential', 'parallel', 'loop', 'custom'
descriptionstringAlways required (used for routing)
instructionstringRequired for 'llm' type
modelConfigobjectRequired for 'llm' type

Type-Specific Rules

LLM Agent
  • Must have modelConfig with valid provider and model
  • Must have instruction (system prompt)
  • outputKey recommended for state passing
Sequential Agent
  • Must have at least 2 agents in subAgents
  • Order matters (first to last execution)
Parallel Agent
  • Must have at least 2 agents in subAgents
  • Each sub-agent should have unique outputKey
Loop Agent
  • Must have subAgents
  • Should specify maxIterations (default: 3)

Reference Validation

  • Tool references: Each tool ID in tools[] must exist in MCP registry
  • Sub-agent references: Each ID in subAgents[] must be a valid agent ID
  • Model provider: Must be a supported provider with valid credentials

Example Validations

Valid LLM Agent

{
  "id": "research-agent",
  "name": "Research Agent",
  "type": "llm",
  "modelConfig": {
    "provider": "gemini",
    "model": "gemini-2.5-flash"
  },
  "description": "Gathers and summarizes information from various sources",
  "instruction": "You are a research assistant...",
  "tools": ["web_search", "document_reader"],
  "subAgents": [],
  "outputKey": "research_results",
  "isActive": true
}

Invalid Configuration (Missing Fields)

{
  "id": "broken-agent",
  "name": "Broken",
  "type": "llm"
  // MISSING: modelConfig, description, instruction
}

Validation Commands

# Validate Python Pydantic model
uv run python -c "from agent.state.models import AgentConfig; AgentConfig.model_validate(config)"

# Check TypeScript interface
bun run typecheck

Common Issues

  1. Missing description: Orchestrator can't route to agent
  2. Invalid tool references: Tools won't load at runtime
  3. Circular sub-agent references: Causes infinite loops
  4. Missing outputKey in parallel: Results overwrite each other

Signals

GitHub stars
57
Forks
19
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
agent-config-validator
Source
github.com/diegosouzapw/awesome-omni-skill