/scaffold-extension
Create a new extension package inside an existing framework's extensions/ directory. Use when authoring an expansion (extension) for AIWG.
Claude Code
$ npx -y skills add jmagly/aiwg --skill scaffold-extension --agent claude-code
Codex
$ npx skills add jmagly/aiwg --skill scaffold-extension -a codex -y
Cursor
$ npx skills add jmagly/aiwg --skill scaffold-extension -a cursor -y
Gemini CLI
$ npx skills add jmagly/aiwg --skill scaffold-extension -a gemini-cli -y
GitHub Copilot
$ npx skills add jmagly/aiwg --skill scaffold-extension -a github-copilot -y
OpenCode
$ npx skills add jmagly/aiwg --skill scaffold-extension -a opencode -y
Windsurf
$ npx skills add jmagly/aiwg --skill scaffold-extension -a windsurf -y
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
Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.
Other skills on aiwg.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about scaffold-extension.
- Which coding agents can use scaffold-extension?
- scaffold-extension installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

