From aura-frog
Detect and navigate monorepos correctly. Use when working with repos containing multiple packages (pnpm/yarn/npm workspaces, Turborepo, Nx, Lerna). Ensures commands run in correct package scope, dependencies are routed properly, and cross-package changes are coordinated.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aura-frog:monorepoWhen to use
monorepo, workspace, turborepo, nx, lerna, pnpm workspace, multiple packages, cross-package, packages/ directory, workspace:*
**/pnpm-workspace.yaml**/turbo.json**/nx.json**/lerna.json**/go.workThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **AI-consumed reference.** Optimized for Claude to read during execution.
AI-consumed reference. Optimized for Claude to read during execution. Human-readable explanation: see docs/architecture/HIERARCHICAL_PLANNING.md or docs/getting-started/ depending on topic.
Monorepos break many assumptions: which package.json is "the" one, where node_modules live, which test command runs, what install actually does. This skill ensures operations target the correct scope.
On session start or first file edit, check for these markers:
| File | Tool |
|---|---|
pnpm-workspace.yaml | pnpm workspaces |
turbo.json | Turborepo |
nx.json | Nx |
lerna.json | Lerna |
package.json with "workspaces": [...] | npm / yarn workspaces |
Cargo.toml with [workspace] | Rust workspaces |
go.work | Go workspaces |
pyproject.toml with Poetry/uv workspace config | Python workspaces |
If detected → monorepo mode ON. Record in workflow state. All subsequent commands must respect package scope.
Before any install, test, or build:
packages/<name>/pnpm --filter <name> testIf a change touches package A's API used by package B:
grep -r "@your-org/package-a" packages/| Dependency type | Where to install |
|---|---|
| Used by 1 package | That package's package.json |
| Used by 2+ packages | Shared config package or root devDependencies |
| Dev tooling (eslint, prettier, jest) | Root |
| Workspace packages | Listed as "workspace:*" in consumer's dependencies |
Don't assume alphabetical build order. Check the graph:
turbo.json pipeline fieldnx graph visualises itpnpm list --recursive --depth=0# ❌ Wrong — runs all tests, slow, often broken
npm test
# ✓ Right — tests only affected packages
turbo test --filter=[HEAD^1]
nx affected:test
pnpm --filter='...[HEAD^1]' test
[HEAD^1] computes packages affected since the last commit. CI should use the same.
tsc --build runs across references. Check tsconfig.json → references.skills/framework-expert/SKILL.md — your framework may have monorepo-specific integrationskills/test-writer/SKILL.md — test placement in monorepo (per-package vs shared test dir)rules/core/verification.md — verify commands ran in the right scope (which tests actually executed?)commands/run.md — run-orchestrator loads this skill when monorepo markers detectednpx claudepluginhub nguyenthienthanh/aura-frog --plugin aura-frogManages monorepos and multi-package repositories using pnpm/npm workspaces, Turborepo for selective builds and change detection, and Python patterns. For setup and workspace management.
Manages monorepo architectures using Lerna, Turborepo, and Nx. Covers workspace configuration, dependency versioning, and cross-package testing.
Manages monorepo projects with Turborepo, Nx, and pnpm workspaces. Use when setting up monorepos, optimizing builds, or managing shared dependencies.