Devkit Overview

Development toolkit

AIWG Development Kit Overview

The AIWG Development Kit helps contributors create and validate AIWG source packages. Use it when you are building an addon, framework, extension, agent, skill, command, or template that should follow AIWG source conventions.

Prerequisites: Install aiwg-dev

Before using any devkit tools, install the contributor addon:

aiwg use aiwg-dev

This deploys:

  • Rules — `skill-placement`, `no-circular-skill-calls`, `component-completeness`, `addon-boundaries`
  • Skills — `validate-component`, `validate-addon`, `dev-doctor`, and all `devkit-*` commands

`aiwg-dev` is deliberately excluded from `aiwg use all` — it targets AIWG contributors, not end users. The exclusion is enforced by `"devOnly": true` in `aiwg-dev`'s `manifest.json`; `discoverAddons()` skips any addon with that flag. `aiwg use aiwg-dev` still works explicitly. See the aiwg-dev overview for details.

Three-Tier Plugin Taxonomy

AIWG uses a three-tier structure for extensibility:

TypeScopeStandaloneLocationExample
FrameworkComplete lifecycleYes`agentic/code/frameworks/`sdlc-complete, media-marketing-kit
ExtensionDomain capability on a parent frameworkNo (requires parent)`frameworks/{id}/extensions/`gdpr, hipaa, sox
AddonPortable utility bundleYes`agentic/code/addons/`aiwg-utils, voice-framework

When to Use Each

  • Create a Framework when building a complete lifecycle solution with interdependent agents, templates, and

workflows (e.g., full software development lifecycle)

  • Create an Extension when adding domain-specific capabilities to an existing framework (e.g., HIPAA compliance for SDLC, FTC guidelines for marketing)
  • Create an Addon when building standalone utilities that work anywhere, with or without frameworks (e.g., voice profiles, validation tools)

Available Tools

CLI Commands (Outside Sessions)

Scaffolding for quick package creation:

# Create new packages
aiwg scaffold-addon <name> [--description "..."] [--dry-run]
aiwg scaffold-extension <name> --for <framework> [--description "..."] [--dry-run]
aiwg scaffold-framework <name> [--description "..."] [--dry-run]

# Add components to existing packages
aiwg add-agent <name> --to <target> [--template simple|complex|orchestrator] [--dry-run]
aiwg add-command <name> --to <target> [--template utility|transformation|orchestration] [--dry-run]
aiwg add-skill <name> --to <target> [--dry-run]
aiwg add-template <name> --to <target> [--type document|checklist|matrix|form] [--category <subdir>] [--dry-run]

# Validate packages
aiwg validate <path> [--fix] [--verbose]

In-Session Commands (Within Claude Code)

Interactive, AI-guided creation:

# Create packages with guidance
/devkit-create-addon <name> [--interactive]
/devkit-create-extension <name> --for <framework> [--interactive]
/devkit-create-framework <name> [--interactive]

# Add components with templates
/devkit-create-agent <name> --to <target> [--template simple|complex|orchestrator]
/devkit-create-command <name> --to <target> [--template utility|transformation|orchestration]

# Validate and fix packages
/devkit-validate <path> [--fix] [--verbose]

Quick Start

Creating an Addon

# CLI approach (quick scaffolding)
aiwg scaffold-addon my-utils --description "My custom utilities"

# Result:
# agentic/code/addons/my-utils/
# ├── manifest.json
# ├── README.md
# ├── agents/
# ├── commands/
# └── skills/

# Add components
aiwg add-agent code-helper --to my-utils --template simple
aiwg add-command run-analysis --to my-utils --template utility
# In-session approach (interactive guidance)
/devkit-create-addon my-utils --interactive
# Claude guides you through purpose, capabilities, target audience

/devkit-create-agent code-helper --to my-utils --template complex
# Claude helps define expertise, tools, responsibilities

Creating an Extension

# CLI approach
aiwg scaffold-extension hipaa --for sdlc-complete --description "HIPAA compliance templates"

# Result:
# agentic/code/frameworks/sdlc-complete/extensions/hipaa/
# ├── manifest.json (with "requires": ["sdlc-complete"])
# ├── README.md
# ├── templates/
# └── checklists/

# Add compliance templates
aiwg add-template phi-audit --to sdlc-complete/extensions/hipaa --type checklist

Creating a Framework

# Framework creation is complex - use interactive mode
/devkit-create-framework fintech-lifecycle --interactive
# Claude helps design phase structure, agent roster, template organization

Agent Templates

When adding agents with `--template`:

TemplateModelToolsUse Case
`simple`sonnetRead, Write, BashSingle-responsibility agents
`complex`sonnetRead, Write, Bash, Glob, Grep, WebFetchMulti-step analysis agents
`orchestrator`opusAll + Task toolAgents that coordinate other agents

Command Templates

When adding commands with `--template`:

TemplateStructureUse Case
`utility`Single actionQuick operations, lookups
`transformation`Input → Process → OutputFile conversion, formatting
`orchestration`Multi-agent workflowComplex workflows with agent coordination

Template Types

When adding templates with `--type`:

TypeFormatUse Case
`document`Markdown with sectionsArchitecture docs, guides
`checklist`Markdown with checkboxesAudit lists, review checklists
`matrix`Markdown tableDecision matrices, RACI charts
`form`YAML frontmatter + MarkdownIntake forms, questionnaires

Manifest Schema

All packages require a `manifest.json`:

{
  "id": "package-id",
  "type": "addon|framework|extension",
  "name": "Human Readable Name",
  "version": "1.0.0",
  "description": "What this package does",
  "author": "Author Name",
  "license": "MIT",
  "requires": ["parent-framework"],  // Extensions only
  "core": false,                      // Auto-install with any framework?
  "autoInstall": false,
  "entry": {
    "agents": "agents",
    "commands": "commands",
    "skills": "skills",
    "templates": "templates"
  },
  "agents": ["agent-one", "agent-two"],
  "commands": ["command-one", "command-two"],
  "skills": ["skill-one"],
  "templates": ["template-one"]
}

Validation

The `aiwg validate` command checks:

  • Manifest schema compliance
  • Required fields present
  • Component files exist for all manifest entries
  • Directory structure matches type conventions
  • Extension parent framework exists

With `--fix`:

  • Creates missing directories
  • Adds missing components to manifest
  • Removes orphaned manifest entries

Documentation

Detailed guides: