/scaffold-extension
Create a new extension package inside an existing framework's extensions/ directory. Use when authoring an expansion (extension) for AIWG.
$ npx -y skills add jmagly/aiwg --skill scaffold-extension --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/scaffold-extension
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create a new extension package inside an existing framework's extensions/ directory. Use when authoring an expansion (extension) for AIWG.
SKILL.md
scaffold-extension.SKILL.mdnamespace: aiwg
name: scaffold-extension
platforms: [all]
description: Create a new extension package inside an existing framework's extensions/ directory. Use when authoring an expansion (extension) for AIWG.
triggers:
- author an expansion
- build an extension
- create an extension package
- expansion authoring
- scaffold extension
- new expansion
Scaffold Extension
Create a new extension package inside an existing framework's `extensions/` directory.
Triggers
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
- "I need a new extension" → scaffold extension in specified framework
- "create an extension package" → prompt for name and parent framework
- "add Python support to sdlc-complete" → derive name=`python`, scaffold in sdlc-complete
- "new language extension" → clarify name and framework, scaffold
Trigger Patterns Reference
| Pattern | Example | Action | |---------|---------|--------| | Named scaffold | "scaffold extension python --to sdlc-complete" | Scaffold directly | | Language extension | "add Go support to sdlc-complete" | Derive name=`go`, confirm | | Interactive | "scaffold extension --interactive --to sdlc-complete" | Guided design mode | | Target omitted | "scaffold extension typescript" | Ask which framework |
Understanding Extensions
Extensions are language- or ecosystem-specific capability packages nested inside a framework. They augment framework agents and rules with toolchain-specific knowledge. Examples:
| Extension | Framework | Provides | |-----------|-----------|---------| | `python/` | `sdlc-complete` | Python testing patterns, type hint rules, pip/poetry guidance | | `javascript/` | `sdlc-complete` | npm/pnpm workflows, ESLint integration, Jest patterns | | `github/` | `sdlc-complete` | GitHub Actions, PR review workflows, release automation | | `terraform/` | `sdlc-complete` | IaC patterns, state management, plan review agents |
Extensions differ from addons:
- **Extensions**: Nested within a specific framework, language/ecosystem-scoped
- **Addons**: Standalone, cross-cutting, installed alongside any framework
Extensions cannot contain skills (skills require standalone functionality). They contain agents, rules, and templates scoped to their ecosystem.
Process
1. Parse Arguments
Extract from `$ARGUMENTS`:
- `<name>` — kebab-case extension name (required; often a language or ecosystem name)
- `--to <framework>` — parent framework directory name (required)
- `--description "<text>"` — short description (optional)
- `--interactive` — enable guided design questions
If either `<name>` or `--to` is missing, ask before proceeding.
2. Validate Parent Framework
Confirm the parent framework exists:
ls agentic/code/frameworks/<framework>/
Check if an `extensions/` directory exists; if not, it will be created.
Check for name conflicts:
ls agentic/code/frameworks/<framework>/extensions/ 2>/dev/null
3. Interactive Design (if --interactive)
Ask before generating:
1. **Ecosystem**: What language, platform, or ecosystem does this extension target? 2. **Capabilities**: What ecosystem-specific capabilities does it add? (linting rules, test patterns, deployment agents) 3. **Agents**: What specialist agents should be scaffolded? (e.g., `python-test-engineer`, `go-module-auditor`) 4. **Rules**: What ecosystem-specific rules should be defined? (e.g., type safety, package management) 5. **Templates**: What ecosystem-specific document templates are needed?
4. Run Scaffolding
aiwg scaffold-extension <name> --to <framework> [--description "..."]
5. Customize Generated Files
**manifest.json** — The extension's registry entry:
{
"name": "<name>",
"version": "1.0.0",
"description": "<ecosystem-specific capabilities>",
"parentFramework": "<framework>",
"agents": [],
"rules": [],
"templates": []
}**README.md** — Document the ecosystem targeted, capabilities provided, and activation conditions.
6. Add Ecosystem-Specific Components
After scaffold:
# Add ecosystem-specific agent
aiwg add-agent <name>-specialist --to <framework>/extensions/<name>
# Note: --to path traversal not yet supported; create agent file directly
# Create agent file
# <framework>/extensions/<name>/agents/<role>.md
# Create rules
# <framework>/extensions/<name>/rules/<rule-id>.md
# Create templates
# <framework>/extensions/<name>/templates/<template>-template.md
7. Register with Parent Framework
Ensure the parent framework's manifest references the extension:
{
"extensions": ["existing-extension", "<name>"]
}The CLI tool handles this automatically.
Generated Structure
agentic/code/frameworks/<framework>/extensions/<name>/
├── README.md # Extension documentation
├── manifest.json # Extension configuration
├── agents/ # Ecosystem-specific agent definitions
├── rules/ # Ecosystem-specific rule files
└── templates/ # Ecosystem-specific document templates
Parent framework manifest updated: `agentic/code/frameworks/<framework>/manifest.json`
Output Format
Extension Created: <name>
─────────────────────────
Location: agentic/code/frameworks/<framework>/extensions/<name>/
Parent: <framework>
Created:
✓ README.md
✓ manifest.json
✓ agents/
✓ rules/
✓ templates/
Parent manifest updated: <framework>/manifest.json
Next Steps:
1. Edit README.md with ecosystem description
2. Add ecosystem agents: create agents/<role>.md
3. Add ecosystem rules: create rules/<rule-id>.md
4. Add templates: create templates/<name>-template.md
5. Deploy parent: aiwg use <framework>
Examples
Example 1: Language extension
**User**: "scaffold extension python --to sdlc-complete"
**Action**:
aiwg scaffold-extension python --to sdlc-complete
**Result**: `agentic/code/f
Read more
namespace: aiwg name: scaffold-extension platforms: [all] description: Create a new extension package inside an existing framework's extensions/ directory. Use when authoring an expansion (extension) for AIWG. triggers: - author an expansion - build an extension - create an extension package - expansion authoring - scaffold extension - new expansion
Scaffold Extension
Create a new extension package inside an existing framework's `extensions/` directory.
Triggers
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
- "I need a new extension" → scaffold extension in specified framework
- "create an extension package" → prompt for name and parent framework
- "add Python support to sdlc-complete" → derive name=`python`, scaffold in sdlc-complete
- "new language extension" → clarify name and framework, scaffold
Trigger Patterns Reference
| Pattern | Example | Action | |---------|---------|--------| | Named scaffold | "scaffold extension python --to sdlc-complete" | Scaffold directly | | Language extension | "add Go support to sdlc-complete" | Derive name=`go`, confirm | | Interactive | "scaffold extension --interactive --to sdlc-complete" | Guided design mode | | Target omitted | "scaffold extension typescript" | Ask which framework |
Understanding Extensions
Extensions are language- or ecosystem-specific capability packages nested inside a framework. They augment framework agents and rules with toolchain-specific knowledge. Examples:
| Extension | Framework | Provides | |-----------|-----------|---------| | `python/` | `sdlc-complete` | Python testing patterns, type hint rules, pip/poetry guidance | | `javascript/` | `sdlc-complete` | npm/pnpm workflows, ESLint integration, Jest patterns | | `github/` | `sdlc-complete` | GitHub Actions, PR review workflows, release automation | | `terraform/` | `sdlc-complete` | IaC patterns, state management, plan review agents |
Extensions differ from addons:
- **Extensions**: Nested within a specific framework, language/ecosystem-scoped
- **Addons**: Standalone, cross-cutting, installed alongside any framework
Extensions cannot contain skills (skills require standalone functionality). They contain agents, rules, and templates scoped to their ecosystem.
Process
1. Parse Arguments
Extract from `$ARGUMENTS`:
- `<name>` — kebab-case extension name (required; often a language or ecosystem name)
- `--to <framework>` — parent framework directory name (required)
- `--description "<text>"` — short description (optional)
- `--interactive` — enable guided design questions
If either `<name>` or `--to` is missing, ask before proceeding.
2. Validate Parent Framework
Confirm the parent framework exists:
ls agentic/code/frameworks/<framework>/
Check if an `extensions/` directory exists; if not, it will be created.
Check for name conflicts:
ls agentic/code/frameworks/<framework>/extensions/ 2>/dev/null
3. Interactive Design (if --interactive)
Ask before generating:
1. **Ecosystem**: What language, platform, or ecosystem does this extension target? 2. **Capabilities**: What ecosystem-specific capabilities does it add? (linting rules, test patterns, deployment agents) 3. **Agents**: What specialist agents should be scaffolded? (e.g., `python-test-engineer`, `go-module-auditor`) 4. **Rules**: What ecosystem-specific rules should be defined? (e.g., type safety, package management) 5. **Templates**: What ecosystem-specific document templates are needed?
4. Run Scaffolding
aiwg scaffold-extension <name> --to <framework> [--description "..."]
5. Customize Generated Files
**manifest.json** — The extension's registry entry:
{
"name": "<name>",
"version": "1.0.0",
"description": "<ecosystem-specific capabilities>",
"parentFramework": "<framework>",
"agents": [],
"rules": [],
"templates": []
}**README.md** — Document the ecosystem targeted, capabilities provided, and activation conditions.
6. Add Ecosystem-Specific Components
After scaffold:
# Add ecosystem-specific agent aiwg add-agent <name>-specialist --to <framework>/extensions/<name> # Note: --to path traversal not yet supported; create agent file directly # Create agent file # <framework>/extensions/<name>/agents/<role>.md # Create rules # <framework>/extensions/<name>/rules/<rule-id>.md # Create templates # <framework>/extensions/<name>/templates/<template>-template.md
7. Register with Parent Framework
Ensure the parent framework's manifest references the extension:
{
"extensions": ["existing-extension", "<name>"]
}The CLI tool handles this automatically.
Generated Structure
agentic/code/frameworks/<framework>/extensions/<name>/ ├── README.md # Extension documentation ├── manifest.json # Extension configuration ├── agents/ # Ecosystem-specific agent definitions ├── rules/ # Ecosystem-specific rule files └── templates/ # Ecosystem-specific document templates
Parent framework manifest updated: `agentic/code/frameworks/<framework>/manifest.json`
Output Format
Extension Created: <name> ───────────────────────── Location: agentic/code/frameworks/<framework>/extensions/<name>/ Parent: <framework> Created: ✓ README.md ✓ manifest.json ✓ agents/ ✓ rules/ ✓ templates/ Parent manifest updated: <framework>/manifest.json Next Steps: 1. Edit README.md with ecosystem description 2. Add ecosystem agents: create agents/<role>.md 3. Add ecosystem rules: create rules/<rule-id>.md 4. Add templates: create templates/<name>-template.md 5. Deploy parent: aiwg use <framework>
Examples
Example 1: Language extension
**User**: "scaffold extension python --to sdlc-complete"
**Action**:
aiwg scaffold-extension python --to sdlc-complete
**Result**: `agentic/code/f
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

