module-scaffoldlisted
Install: claude install-skill adnanmokhtar/refract
# module-scaffold
## Premise
Existing siblings are the truth. Mirror their shape — file names, folder layout, import order, DI token style, barrel exports, test naming — exactly. Do not invent a new layout, do not "improve" the conventions, do not skip steps because the sibling looks "old-fashioned". Refuse to scaffold without naming a specific sibling module (path) you mirrored. A scaffolded module that doesn't match its siblings IS the bug.
Refuse to generate `// TODO` stubs in place of real working code; the smoke spec must compile and pass.
End-to-end module generator. Mirrors a sibling module exactly so layout, imports, DI tokens, and test conventions stay consistent.
## When to use
- Creating a new feature module from scratch.
- Onboarding — generate a known-good module structure to study.
- Replacing an old prototype with a properly-layered version.
## Prerequisites
- The project's architecture doc: `ai/patterns/project-structure.md` or equivalent.
- At least one existing sibling module to mirror — never invent layout from scratch.
- Migration tooling installed (Prisma / TypeORM / Alembic / etc.).
- Test runner configured (Jest / Vitest / pytest / Go test).
## Procedure
1. Gather inputs. **Read what the codebase answers; ask only what it cannot.**
- From the caller or the user: module name (kebab-case), one-line purpose, and the route set `/add-module`'s aggregate-shape ledger admitted (never a default five).
- From the sibling and extraction, not from