← ClaudeAtlas

module-scaffoldlisted

Generate a complete module following the project's declared architecture — entity, repo, service/use-case, DTOs, controller, tests, DI wiring, migration. Use when creating a new feature module from scratch or replacing a prototype with a properly-layered version. Emits structure, not verified behaviour — run `endpoint-test` on each scaffolded route once wired.
adnanmokhtar/refract · ★ 1 · AI & Automation · score 77
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