Agent skill · software engineering · vercel
turborepo
Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines, dependsOn, caching, remote cache, the "turbo" CLI, --filter, --affected, CI optimization, environment variables, internal packages, monorepo structure/best practices, and boundaries. Use when user: configures tasks/workflows/pipelines, creates packages, sets up monorepo, shares code between apps, runs changed/affected packages, debugs cache, or has apps/packages directories.
Why this skill is useful
Provides specific configuration patterns and task management strategies for Turborepo that the AI wouldn't reliably generate on its own.
What it needs
Requires turborepo installed locally. About 11k tokens when loaded. Last updated 2026-08-05. 30,867 stars on the source repository.
What this skill does
Turborepo Skill Build system for JavaScript/TypeScript monorepos. Turborepo caches task outputs and runs tasks in parallel based on dependency graph. IMPORTANT: Package Tasks, Not Root Tasks Prefer package tasks over Root Tasks. When creating tasks/scripts/pipelines, you MUST default to package tasks: 1. Add the script to each relevant package's package.json 2. Register the task in root turbo.json 3. Root package.json only delegates via turbo run <task> DO NOT put task logic in root package.json when it can live in packages. This defeats Turborepo's parallelization. Root Tasks (//#taskname) are ONLY for tasks that truly cannot exist in packages, such as Vitest Projects' //#test, repo-wide release scripts, or tooling that does not invoke turbo itself. Secondary Rule: turbo run vs turbo Always use turbo run when the command is written into code: The shorthand turbo <tasks> is ONLY for one-off terminal commands typed directly by humans or agents. Never write turbo build into package.json, CI, or scripts. Quick Decision Trees "I need to configure a task" "My cache isn't working" "I want to run only changed packages" --affected is the primary way to run only changed packages. It compares against main (falling back to master) — not the repo's configured default branch — and includes dependents. Set TURBOSCMBASE for any other base branch. "I want to filter packages" "Environment variables aren't working" "I need to set up CI" "I want to watch for changes during development" "I need to create/structure a package" "How should I structure my monorepo?" "I want to enforce architectural boundaries" Critical Anti-Patterns Using turbo Shorthand in Code turbo run is recommended in package.json scripts and CI pipelines. The shorthand turbo <task> is intended for interactive terminal use. Root Scripts Bypassing Turbo Root package.json scripts MUST delegate to turbo run, not run tasks directly. Using && to Chain Turbo Tasks Don't chain turbo tasks with &&. Let turbo orchestrate. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills vercel/turborepo--9bbbbc