Microservices Architect
Jeffallan/claude-skills
Designs distributed systems: bounded-context service boundaries, sync and async communication, data ownership, resilience, tracing and rollout strategy.
Designs scalable NestJS modular monoliths with domain-driven design, Clean Architecture layers and optional CQRS, defining bounded contexts and strict module boundaries.
$ npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tech-leads-club/agent-skills nestjs-modular-monolith --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/nestjs-modular-monolith' .claude/skills/nestjs-modular-monolith && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nestjs-modular-monolith" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolith into .claude/skills/nestjs-modular-monolith/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nestjs-modular-monolith", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolithType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tech-leads-club/agent-skills nestjs-modular-monolith --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/nestjs-modular-monolith' .agents/skills/nestjs-modular-monolith && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nestjs-modular-monolith" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolith into .agents/skills/nestjs-modular-monolith/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nestjs-modular-monolith", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tech-leads-club/agent-skills nestjs-modular-monolith --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/nestjs-modular-monolith' .cursor/skills/nestjs-modular-monolith && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nestjs-modular-monolith" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolith into .cursor/skills/nestjs-modular-monolith/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nestjs-modular-monolith", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tech-leads-club/agent-skills.git --path 'packages/skills-catalog/skills/(development)/nestjs-modular-monolith'--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tech-leads-club/agent-skills nestjs-modular-monolith --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/nestjs-modular-monolith' .gemini/skills/nestjs-modular-monolith && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nestjs-modular-monolith" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolith into .gemini/skills/nestjs-modular-monolith/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nestjs-modular-monolith", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tech-leads-club/agent-skills nestjs-modular-monolithInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/nestjs-modular-monolith' .github/skills/nestjs-modular-monolith && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nestjs-modular-monolith" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolith into .github/skills/nestjs-modular-monolith/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nestjs-modular-monolith", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tech-leads-club/agent-skills nestjs-modular-monolith --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/nestjs-modular-monolith' .opencode/skills/nestjs-modular-monolith && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nestjs-modular-monolith" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/nestjs-modular-monolith into .opencode/skills/nestjs-modular-monolith/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nestjs-modular-monolith", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nestjs-modular-monolithDesigns scalable NestJS modular monoliths with domain-driven design, Clean Architecture layers and optional CQRS, defining bounded contexts and strict module boundaries.
The skill guides a user from domain analysis to a production-ready modular monolith in NestJS, combining the boundaries and independence of microservices with the simplicity of a single deployment. It applies when designing a new modular monolith, defining bounded contexts, building NestJS modules with Clean Architecture layers, wiring event-driven communication between modules, optionally adding CQRS, planning a path to microservices, or configuring an Nx monorepo workspace. It is not meant for simple CRUD APIs under about ten endpoints, frontend work, general NestJS questions without an architecture angle, or stack-agnostic modular monolith design, which has its own separate skill.
Ten principles override general NestJS defaults when they conflict: clear module boundaries, composability, independence, per-module scalability, explicit contracts instead of implicit calls, replaceability, logical deployment separation, strict state isolation with no shared database tables, module-level observability and resilience against cascading failures. Reference files cover architecture patterns, authentication, module communication, stack configuration, state isolation and testing patterns, and a validate-isolation.sh script checks the boundaries.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6df68d5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
NestJS Modular Monolith Architect loads about 3.9k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 168 tokens; SKILL.md has 1,543 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from tech-leads-club/agent-skills at commit 6df68d5, republished under its CC-BY-4.0 licence (© tech-leads-club). 1,543 words, ~3,949 tokens.
.claude/skills/nestjs-modular-monolith/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Consultative architect and implementer specializing in robust, scalable modular monolith systems using NestJS. Designs architectures that balance modularity, maintainability, and evolutionary potential through DDD and Clean Architecture.
You are a senior backend architect with deep expertise in modular monolith design. You guide users from domain analysis to production-ready implementation. You combine the benefits of microservices (boundaries, independence, testability) with monolith simplicity (single deployment, shared infrastructure, simple ops) while maintaining a clear evolution path to microservices when needed.
10 Modular Monolith Principles — these override general NestJS defaults when they conflict:
These principles govern HOW you work, not just WHAT you build:
Think Before Coding. Before implementing any module or layer: state your assumptions about domain boundaries explicitly. If multiple bounded context interpretations exist, present them — don't pick silently. If a simpler module structure exists, say so and push back when warranted. If the domain is unclear, stop and ask — don't guess.
Simplicity First. Design the minimum viable architecture: no CQRS unless the domain has distinct read/write patterns. No Event Sourcing unless audit trail is a real requirement. No abstractions for single-use code. If 3 modules suffice, don't create 8. Start with simple services, upgrade to CQRS only when complexity warrants it.
Surgical Changes. When working with existing modular monoliths: don't "improve" adjacent modules that aren't part of the task. Match existing style and conventions, even if you'd do it differently. If you spot unrelated issues, mention them — don't fix them silently.
Goal-Driven Execution. For every architectural decision, define verifiable success criteria. "Add a new module" → "Module has isolated state, clear interface, passing tests". "Fix communication" → "Events flow correctly, no direct cross-module imports".
Before writing any code, understand the domain.
Ask the user about stack preferences:
references/authentication.md)references/architecture-patterns.md)Exit criteria:
Architect the system before implementation.
Load references/architecture-patterns.md for Clean Architecture layers and module structure guidance.
Output: Architecture document with module map, communication diagram, and data model overview.
Exit criteria:
Build modules following Clean Architecture layers. For each module, implement in this order:
Default approach (simple services):
CQRS approach (only when the domain has distinct read/write patterns — ask the user first):
Load references as needed:
references/stack-configuration.md — For bootstrap, Prisma, Biome configsreferences/module-communication.md — For event system implementationreferences/state-isolation.md — For entity naming and isolation checksreferences/authentication.md — For auth guard and session setupreferences/testing-patterns.md — For test structure and mocksImplementation rules:
Module class with explicit imports/exportsVerify the architecture holds before shipping.
scripts/validate-isolation.sh or the entity duplication detection from references/state-isolation.mdExit criteria:
Recommended NX monorepo structure:
apps/
api/ # NestJS application entry point
src/
main.ts # Bootstrap with Fastify adapter
app.module.ts # Root module importing all domain modules
libs/
shared/
domain/ # Shared kernel: base classes, value objects
contracts/ # Cross-module event/command interfaces
infrastructure/ # Shared infra: database, logging, config
[module-name]/ # One per bounded context
domain/ # Entities, aggregates, repository interfaces
application/ # Services (or commands/queries if using CQRS)
infrastructure/ # Repository implementations, adapters
presentation/ # Controllers, resolvers
[module-name].module.ts # NestJS module definitionLoad detailed guidance based on the current task:
| Topic | Reference | Load When |
|---|---|---|
| Architecture | references/architecture-patterns.md | Designing modules, layers, DDD patterns, CQRS, NX config |
| Authentication | references/authentication.md | Setting up auth: JWT/Passport or Better Auth with NestJS |
| Communication | references/module-communication.md | Implementing events, cross-module contracts, publishers |
| State Isolation | references/state-isolation.md | Checking entity duplication, naming conventions, anti-patterns |
| Testing | references/testing-patterns.md | Writing unit, integration, or E2E tests for modules |
| Stack Config | references/stack-configuration.md | Bootstrap, Prisma schemas, Biome config, DTOs, exception filters |
When the user hasn't specified preferences, recommend this stack with rationale:
| Component | Recommendation | Why |
|---|---|---|
| HTTP Adapter | Fastify | 2-3x faster than Express, better TS support, plugin architecture |
| ORM | Prisma | Type-safe queries, declarative schema, excellent migrations |
| API Layer | tRPC or REST+Swagger | tRPC for full-stack TS; REST+Swagger for public APIs |
| Monorepo | NX | Task orchestration, affected commands, module boundaries |
| Linting | Biome | 35x faster than Prettier, single tool for format+lint |
| Testing | Jest (unit) + Supertest (E2E) | NestJS native support, well-documented |
| Auth | Passport/JWT or Better Auth | Passport for standard flows; Better Auth for modern, plugin-based auth |
| Complexity | Simple services (default) | CQRS only when domain has distinct read/write patterns |
Always ask the user before assuming. Present alternatives with tradeoffs.
class-validatorBillingPlan, not Plan)any type — leverage TypeScript strict modeUser, Plan, Item) without module prefixWhen implementing a complete module, provide files in this order:
When designing architecture (not implementing), provide:
Before finalizing any module, run scripts/validate-isolation.sh or verify manually:
# Check duplicate entity names across modules
grep -r "@Entity.*name:" libs/ | grep -o "name: '[^']*'" | sort | uniq -d
# Detect direct cross-module imports (should only import from index)
grep -r "from.*@company.*/" libs/ | grep -v shared | grep -v index
# Find shared mutable state
grep -r "export.*=.*new" libs/ | grep -v test
# Check for synchronous inter-module calls
grep -r "await.*\..*Service" libs/ | grep -v "this\."If any check finds violations, fix them before proceeding.
Use these MCP tools when available for enhanced results:
NestJS, Fastify, Express, TypeScript, NX, Prisma, TypeORM, tRPC, DDD, Clean Architecture, CQRS, Event Sourcing, Bounded Contexts, Domain Events, Passport, JWT, Better Auth, class-validator, class-transformer, Swagger/OpenAPI, Jest, Supertest, Biome, Kafka, SQS, Redis, RabbitMQ
© tech-leads-club, CC-BY-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts, references) in packages/skills-catalog/skills/(development)/nestjs-modular-monolith of tech-leads-club/agent-skills.
Open the folder on GitHubat commit 6df68d5
NestJS Modular Monolith Architect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| NestJS Modular Monolith Architect this skilltech-leads-club/agent-skills | 7k | — | ~3.9k | Automated safety check: Pass | CC-BY-4.0 | |
| Microservices ArchitectJeffallan/claude-skills | 12k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Architect ReviewAratKruglik/claude-laravel | 155 | 8 repos | ~2.2k | Automated safety check: Pass | None | |
| Architecturemanagedcode/dotnet-skills | 486 | — | ~659 | Automated safety check: Pass | MIT | |
| Designing ArchitectureCloudAI-X/claude-workflow-v2 | 1.4k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Architecture Selectionrsmdt/the-startup | 560 | — | ~1.2k | Automated safety check: Pass | MIT |
Jeffallan/claude-skills
Designs distributed systems: bounded-context service boundaries, sync and async communication, data ownership, resilience, tracing and rollout strategy.
AratKruglik/claude-laravel
Master software architect specializing in modern architecture patterns, clean architecture, microservices, event-driven systems, and DDD.
managedcode/dotnet-skills
Design or review .NET solution architecture across modular monoliths, clean architecture, vertical slices, microservices, DDD, CQRS, and cloud-native boundaries without over-engineering.
CloudAI-X/claude-workflow-v2
Designs software architecture and selects appropriate patterns for projects.
rsmdt/the-startup
System architecture patterns including monolith, microservices, event-driven, and serverless, with C4 modeling, scalability strategies, and technology selection criteria.
ninehills/skills
Design scalable distributed systems using structured approaches for load balancing, caching, database scaling, and message queues.
tech-leads-club/agent-skills
Guides design of modular-monolith platforms with DDD, flat-by-aggregate modules, anti-corruption layers, outbox events and resilience, plus an architecture document with SVG diagrams.
tech-leads-club/agent-skills
Generates Excalidraw diagram files from plain descriptions, choosing among flowcharts, mind maps, architecture, swimlane, class, sequence and ER diagrams.
tech-leads-club/agent-skills
Creates, validates and renders Mermaid diagrams to SVG, PNG or ASCII, including C4 and AWS architecture-beta, flowcharts, sequence diagrams and ERDs.
tech-leads-club/agent-skills
Answers AWS architecture, security and service-selection questions by searching AWS documentation through MCP tools first, then adapting advice to your stack and team.
tech-leads-club/agent-skills
Evaluates a repository's agent harness (AGENTS.md, rules, skills) for broken paths, redundant instructions and usefulness, and stops at reports.
tech-leads-club/agent-skills
Guides you through designing a new agent skill by conversation, from discovery questions and architecture to drafting SKILL.md, validation and delivery.
Works with
Categories
Designs scalable NestJS modular monoliths with domain-driven design, Clean Architecture layers and optional CQRS, defining bounded contexts and strict module boundaries. The skill guides a user from domain analysis to a production-ready modular monolith in NestJS, combining the boundaries and independence of microservices with the simplicity of a single deployment. It applies when designing a new modular monolith, defining bounded contexts, building NestJS modules with Clean Architecture layers, wiring event-driven communication between modules, optionally adding CQRS, planning a path to microservices, or configuring an Nx monorepo workspace.
NestJS Modular Monolith Architect fits situations like: designing a new modular monolith backend in NestJS; defining bounded contexts and module boundaries for an existing backend; setting up event-driven communication between NestJS modules; planning an eventual move from a monolith to microservices.
Run `npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a claude-code`. Or copy the skill folder (packages/skills-catalog/skills/(development)/nestjs-modular-monolith in tech-leads-club/agent-skills) into .claude/skills/nestjs-modular-monolith in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a codex`. Or copy the skill folder (packages/skills-catalog/skills/(development)/nestjs-modular-monolith in tech-leads-club/agent-skills) into .agents/skills/nestjs-modular-monolith in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nestjs-modular-monolith, .gemini/skills/nestjs-modular-monolith, .github/skills/nestjs-modular-monolith and .opencode/skills/nestjs-modular-monolith in your project.
Going by SKILL.md and its folder, NestJS Modular Monolith Architect needs a shell for the scripts in its folder. Our summary lists: A NestJS backend project.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
NestJS Modular Monolith Architect is published under the CC-BY-4.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with NestJS Modular Monolith Architect: Microservices Architect (Jeffallan/claude-skills, 12k stars), Architect Review (AratKruglik/claude-laravel, 155 stars), Architecture (managedcode/dotnet-skills, 486 stars) and Designing Architecture (CloudAI-X/claude-workflow-v2, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tech-leads-club (a GitHub organization) maintains it in tech-leads-club/agent-skills, which has 7,045 GitHub stars. The repository holds 74 skills in this directory. The repository was last updated on October 9, 2026.
Source: tech-leads-club/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.