---
namespace: aiwg
name: smith-agenticdef
platforms: [all]
description: Generate or update the agentic environment definition for AgentSmith, SkillSmith, and CommandSmith
commandHint:
  argumentHint: '[--verify-only] [--update] [--interactive] [--guidance "text"]'
  allowedTools: 'Read, Write, Glob, Bash'
  model: haiku
  category: smithing
---

# Agentic Definition Generator

Generate the agentic environment definition file that describes the platform's capabilities for creating agents, skills, and commands.

## Purpose

This command probes the current agentic platform and generates `.aiwg/smiths/agentic-definition.yaml` which is used by:
- **AgentSmith** - To know available models, tools, and agent deployment paths
- **SkillSmith** - To know skill structure and deployment paths
- **CommandSmith** - To know command categories and deployment paths

## Arguments

| Argument | Description |
|----------|-------------|
| `--verify-only` | Check existing definition without updating |
| `--update` | Update existing definition with any changes |

## Workflow

### 1. Detect Platform

Determine the agentic platform by checking for platform-specific directories:

```
Platform Detection Priority:
1. .claude/         → Claude Code
2. .factory/        → Factory AI
3. .github/agents/  → GitHub Copilot
4. .cursor/         → Cursor
5. .codex/          → OpenAI Codex
```

### 2. Probe Platform Capabilities

**For Claude Code:**
- Check `.claude/agents/` exists
- Check `.claude/commands/` exists
- Check `.claude/skills/` exists
- Verify CLAUDE.md or project context

### 3. Identify Available Models

Check platform configuration for supported models:
- `haiku` - Fast, simple tasks
- `sonnet` - Balanced (default)
- `opus` - Complex reasoning

### 4. Catalog Available Tools

Standard tool set:
- File: Read, Write, MultiEdit
- Search: Glob, Grep
- Execution: Bash
- Web: WebFetch, WebSearch
- Orchestration: Task, TodoWrite

### 5. Generate Definition

Create `.aiwg/smiths/agentic-definition.yaml`:

```yaml
# Agentic Environment Definition
# Generated by /smith-agenticdef
# Last updated: {timestamp}

platform:
  provider: claude
  version: "{detected_version}"
  detected_at: "{timestamp}"

agent_config:
  models:
    - haiku
    - sonnet
    - opus
  default_model: sonnet
  tools:
    available:
      - Read
      - Write
      - MultiEdit
      - Bash
      - Glob
      - Grep
      - WebFetch
      - WebSearch
      - Task
      - TodoWrite
    orchestration_default:
      - Task
      - Read
      - Write
      - Glob
      - TodoWrite

skill_config:
  supported: true
  structure: directory
  filename: SKILL.md

command_config:
  supported: true
  categories:
    - sdlc-management
    - sdlc-orchestration
    - development
    - utilities
    - smithing

deployment_paths:
  agents: .claude/agents/
  skills: .claude/skills/
  commands: .claude/commands/

capabilities:
  can_create_agents: true
  can_create_skills: true
  can_create_commands: true
```

### 6. Create Directory Structure

Ensure Smith directories exist:

```bash
mkdir -p .aiwg/smiths/agentsmith/specs
mkdir -p .aiwg/smiths/skillsmith/specs
mkdir -p .aiwg/smiths/commandsmith/specs
```

### 7. Initialize Empty Catalogs

Create catalog files if they don't exist:
- `.aiwg/smiths/agentsmith/catalog.yaml`
- `.aiwg/smiths/skillsmith/catalog.yaml`
- `.aiwg/smiths/commandsmith/catalog.yaml`

## Output

```
Agentic Definition Generated
============================

Platform: Claude Code
Version: 2025.12

Agent Configuration:
  Models: haiku, sonnet, opus
  Tools: 10 available
  Deployment: .claude/agents/

Skill Configuration:
  Supported: Yes
  Structure: directory/SKILL.md
  Deployment: .claude/skills/

Command Configuration:
  Supported: Yes
  Categories: 5
  Deployment: .claude/commands/

Files Created:
  ✓ .aiwg/smiths/agentic-definition.yaml
  ✓ .aiwg/smiths/agentsmith/catalog.yaml
  ✓ .aiwg/smiths/skillsmith/catalog.yaml
  ✓ .aiwg/smiths/commandsmith/catalog.yaml
```

## Verify Mode

With `--verify-only`, check existing definition:

```
Verifying Agentic Definition
============================

Definition: .aiwg/smiths/agentic-definition.yaml
Status: Valid

Platform Match: ✓ claude
Agent Paths: ✓ .claude/agents/ exists
Skill Paths: ✓ .claude/skills/ exists
Command Paths: ✓ .claude/commands/ exists

Catalogs:
  AgentSmith: ✓ 0 artifacts
  SkillSmith: ✓ 0 artifacts
  CommandSmith: ✓ 0 artifacts
```

## Error Handling

| Error | Resolution |
|-------|------------|
| No platform detected | Create `.claude/` directory or specify platform |
| Missing deployment directory | Create directory or check permissions |
| Invalid existing definition | Use `--update` to regenerate |

## References

- @$AIWG_ROOT/docs/smithing/agentic-smiths.md - Agentic Smiths documentation
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/agents/agentsmith.md - AgentSmith agent
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/agents/skillsmith.md - SkillSmith agent
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/agents/commandsmith.md - CommandSmith agent
