Configure, explore, and optimize Nx monorepo workspaces. Use when setting up Nx, exploring workspace structure, configuring project boundaries, analyzing affected projects, optimizing build caching, or implementing CI/CD with affected commands. Keywords — nx, monorepo, workspace, projects, targets, affected. Do NOT use for running tasks (use nx-run-tasks) or code generation with generators (use nx-generate).
Install with the open skills CLI (global, non-interactive — available in every Claude Code session):
npx skills add tech-leads-club/agent-skills --skill "nx-workspace" -g -a claude-code -yOr manually — clone and copy the skill directory (SKILL.md + companion files):
git clone --depth 1 https://github.com/tech-leads-club/agent-skills /tmp/agent-skills && cp -r /tmp/agent-skills/packages/skills-catalog/skills/(tooling)/nx-workspace ~/.claude/skills/nx-workspaceThis skill is a directory: SKILL.md is the entry point; the files below ship with it.
---
name: nx-workspace
description: Configure, explore, and optimize Nx monorepo workspaces. Use when setting up Nx, exploring workspace structure, configuring project boundaries, analyzing affected projects, optimizing build caching, or implementing CI/CD with affected commands. Keywords — nx, monorepo, workspace, projects, targets, affected. Do NOT use for running tasks (use nx-run-tasks) or code generation with generators (use nx-generate).
---
# Nx Workspace Management
## Quick Start
**Exploring workspace**: `nx show projects` and `nx show project <name> --json`
**Running tasks**: `nx <target> <project>` (e.g., `nx build my-app`)
**Affected analysis**: `nx show projects --affected` or `nx affected -t <target>`
> **Note**: Prefix commands with `npx`/`pnpx`/`yarn` if nx isn't installed globally.
## Core Commands
### List and Explore Projects
```bash
# List all projects
nx show projects
# Filter by type, pattern, or target
nx show projects --type app
nx show projects --projects "apps/*"
nx show projects --withTarget build
# Find affected projects
nx show projects --affected --base=main
```
### Get Project Information
**Critical**: Always use `nx show project <name> --json` for full resolved configuration. Do NOT read `project.json` directly - it contains only partial configuration.
```bash
# Get full configuration
nx show project my-app --json
# Extract targets
nx show project my-app --json | jq '.targets | keys'
```
Configuration schemas:
- Workspace: `node_modules/nx/schemas/nx-schema.json`
- Project: `node_modules/nx/schemas/project-schema.json`
### Run Tasks
```bash
# Run specific project
nx build web --configuration=production
# Run affected
nx affected -t test --base=main
# View dependency graph
nx graph
```
## Workspace Architecture
```
workspace/
├── apps/ # Deployable applications
├── libs/ # Shared libraries
│ ├── shared/ # Shared across scopes
│ └── feature/ # Feature-specific
├── nx.json # Workspace configuration
└── tools/ # Custom executors/generators
```
### Library Types
| Type | Purpose | Example |
| --------------- | -------------------------------- | ------------------- |
| **feature** | Business logic, smart components | `feature-auth` |
| **ui** | Presentational components | `ui-buttons` |
| **data-access** | API calls, state management | `data-access-users` |
| **util** | Pure functions, helpers | `util-formatting` |
## Detailed Resources
**Configuration**: See [reference/configuration.md](reference/configuration.md) for:
- nx.json templates and options
- project.json structure
- Module boundary rules
- Remote caching setup
**Commands**: See [reference/commands.md](reference/commands.md) for:
- Complete command reference
- Advanced filtering options
- Common workflows
**CI/CD**: See [reference/ci-cd.md](reference/ci-cd.md) for:
- GitHub Actions configuration
- GitLab CI setup
- Jenkins, Azure Pipelines, CircleCI examples
- Affected commands in pipelines
**Best Practices**: See [reference/best-practices.md](reference/best-practices.md) for:
- Do's and don'ts
- Complete troubleshooting guide
- Performance optimization
- Migration guides
## Common Workflows
**"What's in this workspace?"**
```bash
nx show projects --type app # List applications
nx show projects --type lib # List libraries
```
**"How do I run project X?"**
```bash
nx show project X --json | jq '.targets | keys'
```
**"What changed?"**
```bash
nx show projects --affected --base=main
```
## Quick Troubleshooting
- **Targets not showing**: Use `nx show project <name> --json`, not project.json
- **Affected not working**: Ensure git history available (`fetch-depth: 0` in CI)
- **Cache issues**: Run `nx reset`
For detailed troubleshooting, see [reference/best-practices.md](reference/best-practices.md).
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when executing implementation plans with independent tasks in the current session