scaffoldlisted
Install: claude install-skill BULDEE/ai-craftsman-superpowers
# /craftsman:scaffold - Unified Scaffolder
## Outcome Contract
- **Outcome**: generated code that already satisfies the active rules, not a template to fix afterwards.
- **Done when**: the generated files pass the quality gate on write, the template variant was chosen deliberately, and the code compiles or lints clean.
- **Evidence**: the hook output on the generated files and the variant selected.
## Project Context
Use the **Read** tool to read `.craft-config.yml`. If the file does not exist, say "No config found. Run /craftsman:setup first."
## Available Types
Detect available scaffold types from loaded packs:
Use the **Glob** tool: `Glob("packs/*/pack.yml")`. For each found file, use the **Read** tool to read it and extract the `scaffold_types:` list. Display each pack's types as `**<pack-name>:** <type1>, <type2>, ...`. If no scaffold types found, say "No scaffold types available. Check pack configuration."
## Usage
```
/craftsman:scaffold <type> [name]
```
Examples:
```
/craftsman:scaffold entity Order
/craftsman:scaffold usecase CreateOrder
/craftsman:scaffold component UserProfile
/craftsman:scaffold hook useOrders
/craftsman:scaffold pack my-go-pack
```
## Iron Law
Before generating ANY code, you MUST load and read the canonical example for the requested type.
| Type | Canonical Example |
|------|------------------|
| entity | `packs/symfony/knowledge/canonical/php-entity.php` |
| usecase | `packs/symfony/knowledge/canonical/php-usecase.php` |
| componen