turborepo

Configure Turborepo task pipelines, caching, and filtering for JavaScript monorepos.

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/Ramadan-Elgamal/Autobees --skill turborepo-ramadan-elgamal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: turborepo
Source: https://github.com/Ramadan-Elgamal/Autobees/tree/main/.agents/skills/turborepo
Command: npx skills add https://github.com/Ramadan-Elgamal/Autobees --skill turborepo-ramadan-elgamal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up and debugging a Turborepo monorepo involves many subtle decisions: where to put task scripts, how to wire dependsOn, why caches miss, and how to run only changed packages in CI. This Skill provides decision trees, configuration references, and anti-pattern detection so you get correct turbo.json setups without reading the full documentation. ## Core Features & Use Cases - Task Pipeline Configuration: Guides creation of package tasks over root tasks, correct dependsOn syntax (^build vs build), outputs declaration, and transit nodes for parallel tasks with cache invalidation. - Cache Debugging & Remote Cache: Diagnoses cache misses with --summarize and --dry, configures Vercel Remote Cache, and explains hash inputs including env vars and .env files. - Filtering & CI Optimization: Covers --affected for changed packages, --filter syntax, turbo-ignore, and complete GitHub Actions and Vercel deployment setups. - Use Case: Your CI builds every package on every PR. Use this Skill to switch to turbo run build --affected with remote caching so only changed packages and their dependents rebuild. ## Quick Start Ask the assistant to configure a build pipeline in turbo.json for your monorepo with proper caching and affected-package filtering in CI.

Frequently Asked Questions about turborepo

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run only changed packages in Turborepo?

Use the --affected flag: turbo run build --affected. It compares your branch against main (or master) and runs tasks in changed packages plus their dependents. Set TURBO_SCM_BASE to compare against a different base branch.

How do I configure task dependencies in turbo.json?

Use dependsOn with caret syntax: "build": { "dependsOn": ["^build"] } runs build in dependency packages first. Without the caret, "test": { "dependsOn": ["build"] } runs build in the same package first. Use pkg#task for a specific package's task.

Why is my Turborepo cache not working?

Cache misses usually come from a missing outputs key, undeclared environment variables, or .env files not listed in inputs. Debug with --summarize or --dry to inspect hash inputs, and add env vars to the task's env key so changes invalidate the cache.

Should I use turbo or turbo run in package.json scripts?

Always use turbo run in package.json scripts, CI workflows, and any committed code. The turbo <task> shorthand is only intended for one-off commands typed directly in a terminal by humans or agents.

Does Turborepo support remote caching in GitHub Actions?

Yes. Authenticate with Vercel Remote Cache using OIDC via the vercel/setup-turborepo-remote-cache-action, or set TURBO_TOKEN and TURBO_TEAM secrets. Ensure checkout uses fetch-depth of at least 2 so --affected can find the merge base.

When should I use Root Tasks instead of package tasks?

Root Tasks (//#taskname) are only for work that cannot live in a package, such as repo-wide release scripts or Vitest Projects' //#test. Prefer package tasks because they enable parallelization, per-package caching, and filtering.