Scaffold
Project-aware file generation.
Install
npx skills add SethGammon/Citadel --skill scaffold -g -a claude-code -y- Repository
- SethGammon/Citadel927
- Category
- Testing
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 1,977 tokens
- Runs scripts
- No, instructions only
What it does
Project-aware file generation. Reads existing codebase conventions (naming, structure, imports, exports, test patterns) then generates new files that match exactly. Wires generated files into the project's registration points.
/scaffold, Project-Aware File Generator
Orientation
Use when: Creating a new component, module, service, route, hook, domain, or utility with existing examples in the project.
Do NOT use when: The file has no precedent (use /marshal for unconstrained generation), you're modifying existing files (use /refactor), or the project has no conventions yet.
Needs: target type, name, and optional description.
Protocol
Step 1: IDENTIFY THE TARGET
Parse the user's request into:
- type: component | module | service | route | hook | domain | utility | custom
- name: the name the user gave (e.g., "UserProfile", "auth-service", "settings route")
- description: what it does, if provided (otherwise leave blank for now)
If the type is ambiguous, ask ONE clarifying question. Do not ask more than one.
Step 2: FIND EXEMPLARS
Search the codebase for 2-3 existing files of the same type.
Search strategy by type:
| Type | Search Pattern | What to Look For |
|---|---|---|
| component | **/*.tsx in the same directory or sibling directories | Functional components with similar complexity |
| module | Same directory as where new module will live | Registration pattern, exports, config shape |
| service | **/services/**, **/lib/** | Class vs function, singleton vs factory, error handling |
| route | Router config files, **/routes.*, **/pages/** | Route definition format, lazy loading, guards |
| hook | **/hooks/**, **/use*.ts | Naming, parameter patterns, return types, cleanup |
| domain | Top-level domain/feature directories | Manifest structure, entry point, internal layout |
| utility | **/utils/**, **/helpers/** | Pure function style, type signatures, JSDoc |


