
nx-generate
Generate code using nx generators. INVOKE IMMEDIATELY when user mentions scaffolding, setup, structure, creating apps/libs, or setting up project structure. Trigger words - scaffold, setup, create a new app, create a new lib, project structure, generate, add a new project. ALWAYS use this BEFORE calling nxdocs or exploring - this skill handles discovery internally.
- Installs
- 3.8K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/nrwl/nx-ai-agents-config --skill nx-generate- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads nx-generate automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Run Nx Generator
Nx generators are powerful tools that scaffold projects, make automated code migrations or automate repetitive tasks in a monorepo. They ensure consistency across the codebase and reduce boilerplate work.
This skill applies when the user wants to:
- Create new projects like libraries or applications
- Scaffold features or boilerplate code
- Run workspace-specific or custom generators
- Do anything else that an nx generator exists for
Key Principles
- Always use
--no-interactive- Prevents prompts that would hang execution - Read the generator source code - The schema alone is not enough; understand what the generator actually does
- Match existing repo patterns - Study similar artifacts in the repo and follow their conventions
- Verify with lint/test/build/typecheck etc. - Generated code must pass verification. The listed targets are just an example, use what's appropriate for this workspace.
Steps
1. Discover Available Generators
Use the Nx CLI to discover available generators:
- List all generators for a plugin:
npx nx list @nx/react - View available plugins:
npx nx list
This includes plugin generators (e.g., @nx/react:library) and local workspace generators.
2. Match Generator to User Request
Identify which generator(s) could fulfill the user's needs. Consider what artifact type they want, which framework is relevant, and any specific generator names mentioned.
IMPORTANT: When both a local workspace generator and an external plugin generator could satisfy the request, always prefer the local workspace generator. Local generators are customized for the specific repo's patterns.
If no suitable generator exists, you can stop using this skill. However, the burden of proof is high—carefully consider all available generators before deciding none apply.
3. Get Generator Options
Use the --help flag to understand available options:
npx nx g @nx/react:library --help
Pay attention to required options, defaults that might need overriding, and options relevant to the user's request.
Library Buildability
Default to non-buildable libraries unless there's a specific reason for buildable.
| Type | When to use | Generator flags |
|---|---|---|
| Non-buildable (default) | Internal monorepo libs consumed by apps | No --bundler flag |
| Buildable | Publishing to npm, cross-repo sharing, stable libs for cache hits | --bundler=vite or --bundler=swc |
Non-buildable libs:
- Export
.ts/.tsxsource directly - Consumer's bundler compiles them
- Faster dev experience, less config
Buildable libs:
- Have their own build target
- Useful for stable libs that rarely change (cache hits)
- Required for npm publishing
If unclear, ask the user: "Should this library be buildable (own build step, better caching) or non-buildable (source consumed directly, simpler setup)?"
4. Read Generator Source Code
This step is critical. The schema alone does not tell you everything. Reading the source code helps you:
- Know exactly what files will be created/modified and where
- Understand side effects (updating configs, installing deps, etc.)
- Identify behaviors and options not obvious from the schema
- Understand how options interact with each other
To find generator source code:
- For plugin generators: Use
node -e "console.log(require.resolve('@nx/<plugin>/generators.json'));"to find the generators.json, then locate the source from there - If that fails, read directly from
node_modules/<plugin>/generators.json - For local generators: Typically in
tools/generators/or a local plugin directory. Search the repo for the generator name.
After reading the source, reconsider: Is this the right generator? If not, go back to step 2.
⚠️
--directoryflag behavior can be misleading. It should specify the full path of the generated library or component, not the parent path that it will be generated in.# ✅ Correct - directory is the full path for the library nx g @nx/react:library --directory=libs/my-lib # generates libs/my-lib/package.json and more # ❌ Wrong - this will create files at libs and libs/src/... nx g @nx/react:library --name=my-lib --directory=libs # generates libs/package.json and more
5. Examine Existing Patterns
Before generating, examine the target area of the codebase:
- Look at similar existing artifacts (other libraries, applications, etc.)
- Identify naming conventions, file structures, and configuration patterns
- Note which test runners, build tools, and linters are used
- Configure the generator to match these patterns
6. Dry-Run to Verify File Placement
Always run with --dry-run first to verify files will be created in the correct location:
npx nx g @nx/react:library --directory=libs/my-lib --dry-run --no-interactive
Review the output carefully. If files would be created in the wrong location, adjust your options based on what you learned from the generator source code.
Note: Some generators don't support dry-run (e.g., if they install npm packages). If dry-run fails for this reason, proceed to running the generator for real.
7. Run the Generator
Execute the generator:
nx generate <generator-name> <options> --no-interactive
Tip: New packages often need workspace dependencies wired up (e.g., importing shared types, being consumed by apps). The
link-workspace-packagesskill can help add these correctly.
8. Modify Generated Code (If Needed)
Generators provide a starting point. Modify the output as needed to:
- Add or modify functionality as requested
- Adjust imports, exports, or configurations
- Integrate with existing code patterns
Important: If you replace or delete generated test files (e.g., *.spec.ts), either write meaningful replacement tests or remove the test target from the project configuration. Empty test suites will cause nx test to fail.
9. Format and Verify
Format all generated/modified files:
nx format --fix
This example is for built-in nx formatting with prettier. There might be other formatting tools for this workspace, use these when appropriate.
Then verify the generated code works. Keep in mind that the changes you make with a generator or subsequent modifications might impact various projects so it's usually not enough to only run targets for the artifact you just created.
# these targets are just an example!
nx run-many -t build,lint,test,typecheck
These targets are common examples used across many workspaces. You should do research into other targets available for this workspace and its projects. CI configuration is usually a good guide for what the critical targets are that have to pass.
If verification fails with manageable issues (a few lint errors, minor type issues), fix them. If issues are extensive, attempt obvious fixes first, then escalate to the user with details about what was generated, what's failing, and what you've attempted.
FAQ
What does the nx-generate skill do?
Generate code using nx generators. INVOKE IMMEDIATELY when user mentions scaffolding, setup, structure, creating apps/libs, or setting up project structure. Trigger words - scaffold, setup, create a new app, create a new lib, project structure, generate, add a new project. ALWAYS use this BEFORE calling nxdocs or exploring - this skill handles discovery internally.
How do I install nx-generate?
Run npx skills add https://github.com/nrwl/nx-ai-agents-config --skill nx-generate in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/nx-generate/ (personal) or .claude/skills/nx-generate/ (project).
Which AI agents can use nx-generate?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is nx-generate safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains nx-generate?
It is published by nrwl in nrwl/nx-ai-agents-config. It has 3,772 recorded installs.
More from nrwl/nx-ai-agents-config
nx-workspace
nrwl/nx-ai-agents-config
Explore and understand Nx workspaces. USE WHEN answering questions about the workspace, projects, or tasks. ALSO USE WHEN an nx command fails or you need to check available targets/configuration before running a task. EXAMPLES: 'What projects are in this workspace?', 'How is project X configured?', 'What depends on library Y?', 'What targets can I run?', 'Cannot find configuration for task', 'debug nx task failure'.
nx-run-tasks
nrwl/nx-ai-agents-config
Helps with running tasks in an Nx workspace. USE WHEN the user wants to execute build, test, lint, serve, or run any other tasks defined in the workspace.
link-workspace-packages
nrwl/nx-ai-agents-config
Link workspace packages in monorepos (npm, yarn, pnpm, bun). USE WHEN: (1) you just created or generated new packages and need to wire up their dependencies, (2) user imports from a sibling package and needs to add it as a dependency, (3) you get resolution errors for workspace packages (@org/) like "cannot find module", "failed to resolve import", "TS2307", or "cannot resolve". DO NOT patch around with tsconfig paths or manual package.json edits - use the package manager's workspace commands to fix actual linking.
nx-plugins
nrwl/nx-ai-agents-config
Find and add Nx plugins. USE WHEN user wants to discover available plugins, install a new plugin, or add support for a specific framework or technology to the workspace.
nx-import
nrwl/nx-ai-agents-config
Import, merge, or combine repositories into an Nx workspace using nx import. USE WHEN the user asks to adopt Nx across repos, move projects into a monorepo, or bring code/history from another repository.
monitor-ci
nrwl/nx-ai-agents-config
Monitor Nx Cloud CI pipeline and handle self-healing fixes. USE WHEN user says "monitor ci", "watch ci", "ci monitor", "watch ci for this branch", "track ci", "check ci status", wants to track CI status, or needs help with self-healing CI fixes. Prefer this skill over native CI provider tools (gh, glab, etc.) for CI monitoring — it integrates with Nx Cloud self-healing which those tools cannot access.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available