Last reviewed
Correct answer: B. A skill in a nested project directory is automatically scoped to the files inside that directory.
Explanation
The principle — Where a skill lives is itself a scoping decision. Skills in nested project directories are automatically scoped to files inside that directory, which is what makes colocating a skill with the package it serves work in a monorepo.
Why the key is correct — A skill under apps/web/.cursor/skills/ is surfaced when the Agent is working with files under apps/web/, and stays out of the way everywhere else. Work under apps/api is outside that directory, so the absence is correct behaviour rather than a fault. The empty paths field is a red herring: location has already done the job that paths would otherwise do, which the documentation says explicitly. Skills that should apply everywhere belong in the repo-wide .cursor/skills/ at the root, and those remain available across the whole repository.
Why the others are wrong — Discovery is not confined to the root: a .cursor/skills/ or .agents/skills/ folder anywhere inside the repository is picked up, and category subfolders are walked recursively too, so a nested skill is found. Treating every skill as global and blaming the unset paths gets the causation backwards, since an unset paths means no glob restriction while the nested location supplies a directory restriction of its own. And nothing requires the package to be opened as a separate workspace folder; the scope follows the files in play.
Remember this — Put a skill next to the code it serves and it scopes itself. Put it at the root when it should apply repo-wide, and reach for paths globs when the scope follows a file type rather than a directory.
Sources — Cursor's Agent Skills documentation.
Sources
“Skills in nested project directories are automatically scoped to files inside that directory.”
Practise 10 questions on this topic
Take Cursor Basics — Timed Test 1 (10 questions) — scored instantly, explanation for every question, no login.