9.8 KiB
meta.create - Component Creation Orchestrator
The intelligent orchestrator for creating Betty skills, commands, and agents from natural language descriptions.
Purpose
meta.create is the primary entry point for creating Betty components. It automatically:
- Detects what type of component you're describing (skill, command, agent, or combination)
- Checks inventory to avoid duplicates
- Analyzes complexity to determine the optimal creation pattern
- Creates components in dependency order
- Validates compatibility and identifies gaps
- Recommends next steps for completion
Why Use meta.create?
Instead of manually running multiple meta-agents (meta.skill, meta.command, meta.agent, meta.compatibility), meta.create orchestrates everything for you in the right order.
Before meta.create:
# Manual workflow - you had to know the order and check everything
python3 agents/meta.command/meta_command.py description.md
# Check if it recommends creating a skill...
python3 agents/meta.skill/meta_skill.py skill_description.md
python3 agents/meta.agent/meta_agent.py agent_description.md
python3 agents/meta.compatibility/meta_compatibility.py analyze my.agent
# Check for gaps, create missing skills...
With meta.create:
# One command does it all
python3 agents/meta.create/meta_create.py description.md
How It Works
Step 1: Analysis
Parses your description to determine:
- Is this a skill? command? agent?
- What artifacts are involved?
- What's the complexity level?
Step 2: Duplicate Check
Queries registries to find existing components:
- Prevents recreating existing skills
- Shows what you can reuse
- Skips unnecessary work
Step 3: Creation Planning
Uses meta.command complexity analysis to determine pattern:
- COMMAND_ONLY: Simple inline logic (1-3 steps)
- SKILL_ONLY: Reusable utility without command
- SKILL_AND_COMMAND: Complex logic in skill + command wrapper
- AGENT: Multi-skill orchestration
Step 4: Component Creation
Creates components in dependency order:
- Skills first (using
meta.skill) - Commands second (using
meta.command) - Agents last (using
meta.agentwith skill composition)
Step 5: Compatibility Validation
For agents, runs meta.compatibility to:
- Find compatible agent pipelines
- Identify artifact gaps
- Suggest workflows
Step 6: Recommendations
Provides actionable next steps:
- Missing skills to create
- Compatibility issues to fix
- Integration opportunities
Usage
Basic Usage
python3 agents/meta.create/meta_create.py <description.md>
Create Skill and Command
python3 agents/meta.create/meta_create.py examples/api_validate.md
If api_validate.md describes a complex command, meta.create will:
- Analyze complexity → detects SKILL_AND_COMMAND pattern
- Create the skill first
- Create the command that uses the skill
- Report what was created
Create Agent with Dependencies
python3 agents/meta.create/meta_create.py examples/api_agent.md
meta.create will:
- Detect it's an agent description
- Check for required skills (reuse existing)
- Create missing skills if needed
- Create the agent with proper skill composition
- Validate compatibility with other agents
- Report gaps and recommendations
Auto-Fill Gaps
python3 agents/meta.create/meta_create.py description.md --auto-fill-gaps
Automatically creates missing skills to fill compatibility gaps.
Skip Duplicate Check
python3 agents/meta.create/meta_create.py description.md --skip-duplicate-check
Force creation even if components exist (useful for updates).
Output Formats
# Human-readable text (default)
python3 agents/meta.create/meta_create.py description.md
# JSON output for automation
python3 agents/meta.create/meta_create.py description.md --output-format json
# YAML output
python3 agents/meta.create/meta_create.py description.md --output-format yaml
With Traceability
python3 agents/meta.create/meta_create.py description.md \
--requirement-id REQ-2025-042 \
--requirement-description "Create API validation agent" \
--issue-id JIRA-1234 \
--requested-by "Product Team"
Description File Format
Your description file can be Markdown or JSON. meta.create detects the type automatically.
Example: Skill Description
# Name: data.validate
# Type: skill
# Purpose:
Validate data against JSON schemas with detailed error reporting
# Inputs:
- data (JSON object to validate)
- schema (JSON schema for validation)
# Outputs:
- validation_result (validation report with errors)
# Produces Artifacts:
- validation.report
# Consumes Artifacts:
- data.json
- schema.json
Example: Command Description
# Name: /validate-api
# Type: command
# Description:
Validate API responses against OpenAPI schemas
# Execution Type: skill
# Target: api.validate
# Parameters:
- endpoint: string (required) - API endpoint to validate
- schema: string (required) - Path to OpenAPI schema
Example: Agent Description
# Name: api.validator
# Type: agent
# Purpose:
Comprehensive API testing and validation agent
# Inputs:
- api.spec
# Outputs:
- validation.report
- test.results
# Examples:
- Validate all API endpoints against OpenAPI spec
- Generate test cases from schema
What Gets Created
For Skills
skills/{name}/skill.yaml- Skill configurationskills/{name}/{name}.py- Python implementation stubskills/{name}/test_{name}.py- pytest test templateskills/{name}/README.md- Documentation
For Commands
commands/{name}.yaml- Command manifest- Recommendations for skill creation if needed
For Agents
agents/{name}/agent.yaml- Agent configurationagents/{name}/README.md- Documentation with usage examples- Compatibility analysis report
Output Report
meta.create provides a comprehensive report:
🎯 meta.create - Orchestrating component creation from description.md
📋 Step 1: Analyzing description...
Detected types: Skill=True, Command=True, Agent=False
🔍 Step 2: Checking for existing components...
✅ No duplicates found
🛠️ Step 3: Creating components...
📊 Analyzing command complexity...
Recommended pattern: SKILL_AND_COMMAND
Should create skill: True
🔧 Creating skill...
✅ Skill 'api.validate' created
📜 Creating command...
✅ Command '/validate-api' created
================================================================================
✨ CREATION SUMMARY
================================================================================
✅ Created 2 component(s):
• SKILL: api.validate
• COMMAND: /validate-api
================================================================================
Integration with Other Meta-Agents
meta.create uses:
- meta.command - Complexity analysis and command generation
- meta.skill - Skill creation with full package
- meta.agent - Agent creation with skill composition
- meta.compatibility - Compatibility validation and gap detection
- registry.query - Duplicate checking
- agent.compose - Skill recommendation for agents
Decision Tree
Description Input
↓
Parse Type
↓
┌──┴──────────────────┐
↓ ↓
Command? Agent?
↓ ↓
Analyze Find Skills
Complexity ↓
↓ Create Missing
SKILL_ONLY Skills
COMMAND_ONLY ↓
SKILL_AND_COMMAND Create Agent
↓ ↓
Create Skill Validate Compat
↓ ↓
Create Command Report Gaps
↓ ↓
Done Recommend
Examples
Example 1: Simple Command
# description.md specifies a simple 2-step command
python3 agents/meta.create/meta_create.py description.md
# Result: Creates COMMAND_ONLY (inline logic is sufficient)
Example 2: Complex Command
# description.md specifies 10+ step validation logic
python3 agents/meta.create/meta_create.py description.md
# Result: Creates SKILL_AND_COMMAND (skill has logic, command delegates)
Example 3: Multi-Agent System
# description.md describes an orchestration agent
python3 agents/meta.create/meta_create.py description.md
# Result:
# - Creates agent with existing skills
# - Validates compatibility
# - Reports: "Can receive from api.architect, can feed to report.generator"
# - Suggests pipeline workflows
Benefits
✅ Intelligent - Automatically determines optimal creation pattern ✅ Safe - Checks for duplicates, prevents overwrites ✅ Complete - Creates all necessary components in order ✅ Validated - Runs compatibility checks automatically ✅ Traceable - Supports requirement tracking ✅ Informative - Provides detailed reports and recommendations
Next Steps
After using meta.create:
- Review created files
- Implement TODO sections in generated code
- Test with pytest
- Register components (manual or use
skill.register, etc.) - Use in your Betty workflows
Troubleshooting
Q: meta.create says component already exists
A: Use --skip-duplicate-check to override, or rename your component
Q: Compatibility gaps reported
A: Use --auto-fill-gaps or manually create the missing skills
Q: Wrong pattern detected
A: Add explicit # Type: skill or # Type: command to your description
Related Documentation
- META_AGENTS.md - Overview of all meta-agents
- SKILL_COMMAND_DECISION_TREE.md - Pattern decision logic
- ARTIFACTS.md - Artifact metadata system
Created by the Betty Framework Meta-Agent System