Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Execute build, test, lint, serve, and other tasks in an Nx workspace using single runs, run-many, and affected commands. Use when user says "run tests", "build my app", "lint affected", "serve the project", "run all tasks", or "nx affected". Do NOT use for code generation (use nx-generate) or workspace configuration (use nx-workspace).
.claude/skills/tech-leads-club-nx-run-tasks/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -45% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -45% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -25% | 0% |
You can run tasks with Nx in the following way.
Keep in mind that you might have to prefix things with npx/pnpx/yarn if the user doesn't have nx installed globally. Look at the package.json or lockfile to determine which package manager is in use.
For more details on any command, run it with --help (e.g. nx run-many --help, nx affected --help).
You can check those via nx show project <projectname> --json, for example nx show project myapp --json. It contains a targets section which has information about targets that can be run. You can also just look at the package.json scripts or project.json targets, but you might miss out on inferred tasks by Nx plugins.
nx run <project>:<task>where project is the project name defined in package.json or project.json (if present).
nx run-many -t build test lint typecheckYou can pass a -p flag to filter to specific projects, otherwise it runs on all projects. You can also use --exclude to exclude projects, and --parallel to control the number of parallel processes (default is 3).
Examples:
nx run-many -t test -p proj1 proj2 — test specific projectsnx run-many -t test --projects=*-app --exclude=excluded-app — test projects matching a patternnx run-many -t test --projects=tag:api-* — test projects by tagUse nx affected to only run tasks on projects that have been changed and projects that depend on changed projects. This is especially useful in CI and for large workspaces.
nx affected -t build test lintBy default it compares against the base branch. You can customize this:
nx affected -t test --base=main --head=HEAD — compare against a specific base and headnx affected -t test --files=libs/mylib/src/index.ts — specify changed files directlyThese flags work with run, run-many, and affected:
--skipNxCache — rerun tasks even when results are cached--verbose — print additional information such as stack traces--nxBail — stop execution after the first failed task--configuration=<name> — use a specific configuration (e.g. production)| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 4,144 | 2,875 | -31% | 1 | 1 | 0% | 753 | 1,071 | +42% | 0 | 0 | — |
case-02 | fail→pass | 11,772 | 3,323 | -72% | 1 | 1 | 0% | 2,089 | 1,154 | -45% | 0 | 0 | — |
case-03 | pass→pass | 3,109 | 55,992 | +1701% | 1 | 1 | 0% | 498 | 989 | +99% | 0 | 0 | — |
case-04 | pass→pass | 10,971 | 3,239 | -70% | 1 | 1 | 0% | 1,841 | 1,092 | -41% | 0 | 0 | — |
case-05 | pass→pass | 8,068 | 2,408 | -70% | 1 | 1 | 0% | 1,540 | 953 | -38% | 0 | 0 | — |
case-06 | pass→fail | 6,062 | 2,354 | -61% | 1 | 1 | 0% | 1,065 | 996 | -6% | 0 | 0 | — |
case-07 | fail→pass | 10,275 | 3,123 | -70% | 1 | 1 | 0% | 1,854 | 1,105 | -40% | 0 | 0 | — |
case-08 | pass→pass | 11,847 | 2,833 | -76% | 1 | 1 | 0% | 2,139 | 1,098 | -49% | 0 | 0 | — |
case-09 | pass→pass | 6,927 | 2,797 | -60% | 1 | 1 | 0% | 1,174 | 1,055 | -10% | 0 | 0 | — |
case-10 | pass→pass | 4,229 | 2,649 | -37% | 1 | 1 | 0% | 675 | 1,076 | +59% | 0 | 0 | — |
case-11 | pass→pass | 10,423 | 2,171 | -79% | 1 | 1 | 0% | 1,967 | 897 | -54% | 0 | 0 | — |
case-12 | pass→pass | 4,409 | 2,489 | -44% | 1 | 1 | 0% | 805 | 950 | +18% | 0 | 0 | — |
case-13 | fail→pass | 9,659 | 2,376 | -75% | 1 | 1 | 0% | 1,742 | 950 | -45% | 0 | 0 | — |
case-14 | fail→pass | 7,262 | 2,540 | -65% | 1 | 1 | 0% | 1,348 | 1,006 | -25% | 0 | 0 | — |
case-15 | pass→pass | 5,048 | 1,932 | -62% | 1 | 1 | 0% | 942 | 929 | -1% | 0 | 0 | — |
case-16 | fail→pass | 5,705 | 3,221 | -44% | 1 | 1 | 0% | 1,102 | 1,142 | +4% | 0 | 0 | — |
case-17 | fail→pass | 7,083 | 2,009 | -72% | 1 | 1 | 0% | 1,310 | 926 | -29% | 0 | 0 | — |
case-18 | pass→pass | 5,244 | 63,170 | +1105% | 1 | 1 | 0% | 954 | 842 | -12% | 0 | 0 | — |
case-19 | fail→pass | 4,676 | 2,828 | -40% | 1 | 1 | 0% | 880 | 1,060 | +20% | 0 | 0 | — |
case-20 | pass→pass | 8,987 | 3,963 | -56% | 1 | 1 | 0% | 1,611 | 1,327 | -18% | 0 | 0 | — |
case-21 | pass→pass | 10,108 | 7,118 | -30% | 1 | 1 | 0% | 1,844 | 1,864 | +1% | 0 | 0 | — |
case-22 | pass→pass | 9,572 | 7,302 | -24% | 1 | 1 | 0% | 1,850 | 1,900 | +3% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.