Skip to content
Development
Skill

/scaffold-extension

Create a new extension package inside an existing framework's extensions/ directory. Use when authoring an expansion (extension) for AIWG.

From plugin
aiwg
229200 skills199 agents26 commands

Claude Code

$ npx -y skills add jmagly/aiwg --skill scaffold-extension --agent claude-code

SKILL.md

scaffold-extension.SKILL.md
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

Read more
@jmagly
Ships withaiwg

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.

229200 skills199 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
229
Star history of jmagly/aiwg on GitHub, a chart by star-history.com

Other skills on aiwg.

agent-loop-ext

agent-loop-ext

Crash-resilient external agent loop with state persistence and CI/CD integration

@jmagly@jmaglyInstall Skill
agent-loop

agent-loop

Detect requests for iterative autonomous agent loops and route to the appropriate loop executor

@jmagly@jmaglyInstall Skill
auto-test-execution

auto-test-execution

Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern

@jmagly@jmaglyInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

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.