Nestjs Best Practices
rolling-scopes/rsschool-app
NestJS best practices and architecture patterns for building production-ready applications.
4-step system design framework with back-of-envelope estimation, scaling ladder, and common pitfalls
$ npx skills add nWave-ai/nWave --skill nw-sd-framework -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nWave-ai/nWave nw-sd-framework --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/nWave-ai/nWave.git skills-src && mkdir -p .claude/skills && cp -r skills-src/nWave/skills/nw-sd-framework .claude/skills/nw-sd-framework && 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 "nw-sd-framework" agent skill from https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-framework into .claude/skills/nw-sd-framework/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nw-sd-framework", 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/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-frameworkType 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 nWave-ai/nWave --skill nw-sd-framework -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nWave-ai/nWave nw-sd-framework --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nWave-ai/nWave.git skills-src && mkdir -p .agents/skills && cp -r skills-src/nWave/skills/nw-sd-framework .agents/skills/nw-sd-framework && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nw-sd-framework" agent skill from https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-framework into .agents/skills/nw-sd-framework/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nw-sd-framework", 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 nWave-ai/nWave --skill nw-sd-framework -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nWave-ai/nWave nw-sd-framework --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nWave-ai/nWave.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/nWave/skills/nw-sd-framework .cursor/skills/nw-sd-framework && 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 "nw-sd-framework" agent skill from https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-framework into .cursor/skills/nw-sd-framework/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nw-sd-framework", 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/nWave-ai/nWave.git --path nWave/skills/nw-sd-framework--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 nWave-ai/nWave --skill nw-sd-framework -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nWave-ai/nWave nw-sd-framework --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nWave-ai/nWave.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/nWave/skills/nw-sd-framework .gemini/skills/nw-sd-framework && 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 "nw-sd-framework" agent skill from https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-framework into .gemini/skills/nw-sd-framework/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nw-sd-framework", 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 nWave-ai/nWave nw-sd-frameworkInstalls 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 nWave-ai/nWave --skill nw-sd-framework -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nWave-ai/nWave.git skills-src && mkdir -p .github/skills && cp -r skills-src/nWave/skills/nw-sd-framework .github/skills/nw-sd-framework && 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 "nw-sd-framework" agent skill from https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-framework into .github/skills/nw-sd-framework/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nw-sd-framework", 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 nWave-ai/nWave --skill nw-sd-framework -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nWave-ai/nWave nw-sd-framework --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nWave-ai/nWave.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/nWave/skills/nw-sd-framework .opencode/skills/nw-sd-framework && 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 "nw-sd-framework" agent skill from https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-sd-framework into .opencode/skills/nw-sd-framework/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nw-sd-framework", 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.
nw-sd-framework4-step system design framework with back-of-envelope estimation, scaling ladder, and common pitfalls
Nw Sd Framework is an agent skill from nWave-ai/nWave. 4-step system design framework with back-of-envelope estimation, scaling ladder, and common pitfalls
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Software architecture. The repository describes itself as: AI agents that guide you from idea to working code, with you in control at every step. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit da401a8. 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.
No scripts in the folder and no shell commands in SKILL.md.
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.
Nw Sd Framework loads about 1.3k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 611 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); files beside SKILL.md are not scanned.
The full file from nWave-ai/nWave at commit da401a8, republished under its MIT licence (© nWave-ai). 611 words, ~1,300 tokens.
.claude/skills/nw-sd-framework/SKILL.md (or your agent's skills folder).Every system design follows this structure. Skipping steps is the top mistake.
Narrow an impossibly broad question into a tractable problem.
Ask about: users and scale | most important features | read/write ratio | non-functional requirements (latency, availability, consistency) | existing infrastructure | special constraints (mobile-first, offline, regulatory)
Produce: functional requirements (3-5 bullets) | non-functional requirements (scale, latency, availability, consistency model) | capacity estimation (QPS, storage, bandwidth)
Red flags if skipped: designing a system nobody asked for | over-engineering for imaginary scale | missing critical constraints (GDPR, real-time)
Sketch the big picture. Validate before diving deep.
Do: draw architecture diagram (clients, servers, databases, caches, queues) | define API contract (REST/GraphQL/gRPC -- key endpoints) | design data model (entities, relationships, access patterns) | walk through 1-2 core use cases end-to-end | get buy-in: "Does this make sense before I go deeper?"
API patterns: RESTful for CRUD-heavy | GraphQL for flexible client queries | gRPC for internal service-to-service | WebSocket/SSE for real-time
Data model: SQL vs NoSQL based on access patterns, not hype | denormalization trade-offs | partitioning key selection (directly impacts scalability)
Go deep on 2-3 components.
Choose: most technically challenging | most interesting trade-offs | bottleneck components (highest load, most failure-prone)
Depth means: specific algorithms (consistent hashing, Bloom filters) | failure modes and handling | scaling strategy per component | data flow with edge cases | monitoring and operational concerns
Cover: summarize design in 2-3 sentences | identify known bottlenecks | what you'd improve with more time | operational concerns (monitoring, alerting, deployment) | future enhancements
Avoid: introducing entirely new components at this stage | second-guessing your design
| Power | Value | Meaning |
|---|---|---|
| 10 | 1 Thousand | 1 KB |
| 20 | 1 Million | 1 MB |
| 30 | 1 Billion | 1 GB |
| 40 | 1 Trillion | 1 TB |
| 50 | 1 Quadrillion | 1 PB |
| Operation | Latency |
|---|---|
| L1 cache reference | 0.5 ns |
| L2 cache reference | 7 ns |
| Main memory reference | 100 ns |
| Compress 1KB (Zippy) | 10 us |
| Send 2KB over 1 Gbps | 20 us |
| Read 1 MB from memory | 250 us |
| Datacenter round trip | 500 us |
| Disk seek | 10 ms |
| Read 1 MB from network | 10 ms |
| Read 1 MB from disk | 30 ms |
| CA to Netherlands round trip | 150 ms |
Key takeaways: memory fast, disk slow -- cache aggressively | compress before network send | inter-datacenter trips expensive -- minimize cross-region calls
DAU to QPS: QPS = DAU * actions_per_user / 86400 | Peak QPS = QPS * 2 (or *3 for spiky)
Storage: daily = DAU * actions * avg_size | yearly = daily * 365 | 5-year = yearly * 5
Bandwidth: QPS * average_response_size
Servers: Peak QPS / QPS_per_server where CPU-bound ~hundreds | IO-bound with cache ~thousands | static content ~tens of thousands
150M DAU, 2 tweets/day, 10 reads/day
Write QPS = 150M * 2 / 86400 ~ 3,500
Read QPS = 150M * 10 / 86400 ~ 17,000; Peak ~ 50,000
Storage: 300M tweets * 1KB + 30M media * 500KB ~ 15.3 TB/dayEach step solves a specific bottleneck. Never introduce a component without articulating which bottleneck it addresses.
© nWave-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in nWave/skills/nw-sd-framework of nWave-ai/nWave.
Open the folder on GitHubat commit da401a8
Nw Sd Framework 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 |
|---|---|---|---|---|---|---|
| Nw Sd Framework this skillnWave-ai/nWave | 617 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Nestjs Best Practicesrolling-scopes/rsschool-app | 10k | 6 repos | ~1.2k | Automated safety check: Pass | MIT | |
| NestJS Modular Monolith Architecttech-leads-club/agent-skills | 7k | — | ~3.9k | Automated safety check: Pass | CC-BY-4.0 | |
| Project Workflow Analysis Blueprint Generatorgithub/awesome-copilot | 40k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Architecture Reviewfossasia/eventyay-interpretation | 1.6k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Persona Reference Architecturejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.3k | Automated safety check: Pass | MIT |
rolling-scopes/rsschool-app
NestJS best practices and architecture patterns for building production-ready applications.
tech-leads-club/agent-skills
Designs scalable NestJS modular monoliths with domain-driven design, Clean Architecture layers and optional CQRS, defining bounded contexts and strict module boundaries.
github/awesome-copilot
Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows.
fossasia/eventyay-interpretation
A skill your agent uses to evaluate proposed architecture changes against VoxBento's design principles.
jeremylongshore/tons-of-skills-marketplace
Design an account-linked KYC control plane around Persona with explicit trust, data, event, and decision boundaries.
jeremylongshore/tons-of-skills-marketplace
Choose between Shopify app architectures: embedded Remix app, headless storefront with Hydrogen, standalone integration, or theme app extension.
nWave-ai/nWave
DELIVER wave orchestration workflow -- 9 phases from baseline to finalization.
nWave-ai/nWave
Generates C4 architecture diagrams (context, container, component) in Mermaid or PlantUML.
nWave-ai/nWave
Generates 3-5 divergent design directions through JTBD analysis, competitive research, structured brainstorming, and taste evaluation before convergence.
nWave-ai/nWave
Creates evidence-based documentation following DIVIO/Diataxis principles.
nWave-ai/nWave
A skill your agent uses when a DELIVER roadmap already exists and you need to dispatch exactly one identified step through its TDD cycle.
nWave-ai/nWave
Applies the Refactoring Priority Premise (RPP) levels L1-L6 for systematic code refactoring.
Categories
4-step system design framework with back-of-envelope estimation, scaling ladder, and common pitfalls. Nw Sd Framework is an agent skill from nWave-ai/nWave.
Nw Sd Framework fits situations like: tasks that involve Software architecture.
Run `npx skills add nWave-ai/nWave --skill nw-sd-framework -a claude-code`. Or copy the skill folder (nWave/skills/nw-sd-framework in nWave-ai/nWave) into .claude/skills/nw-sd-framework in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nWave-ai/nWave --skill nw-sd-framework -a codex`. Or copy the skill folder (nWave/skills/nw-sd-framework in nWave-ai/nWave) into .agents/skills/nw-sd-framework 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 nWave-ai/nWave --skill nw-sd-framework -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nw-sd-framework, .gemini/skills/nw-sd-framework, .github/skills/nw-sd-framework and .opencode/skills/nw-sd-framework in your project.
SKILL.md names no scripts, command-line tools or credentials: Nw Sd Framework is instructions for the agent only.
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. Review the folder before installing.
Nw Sd Framework is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Nw Sd Framework: Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), NestJS Modular Monolith Architect (tech-leads-club/agent-skills, 7k stars), Project Workflow Analysis Blueprint Generator (github/awesome-copilot, 40k stars) and Architecture Review (fossasia/eventyay-interpretation, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nWave-ai (a GitHub organization) maintains it in nWave-ai/nWave, which has 617 GitHub stars. The repository holds 106 skills in this directory. The repository was last updated on September 16, 2026.
Source: nWave-ai/nWave on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.