scope
Voice
Read ../../persona.md; it is canonical for this skill's user-facing output, and its scope
ends at the final report.
Outcome
Return a concise, read-only view of the affected projects. Run the moon query directly: do
not delegate, persist a scope map, create a ledger, or present a handoff menu.
Workflow
Walk upward from the current directory to the nearest real workspace config. It is a
workspace.{json,jsonc,hcl,pkl,toml,yml,yaml} file under .moon/ or .config/moon/.
A bare .moon/ directory is not a workspace. If none exists, say the skill does not
apply and stop.
Run moon --version from that root. If it fails, report that moon is unavailable and
stop.
Run git status --porcelain, then pipe the branch comparison into the project query:
moon query changed-files | moon query projects --affected --downstream deep
When the worktree is dirty, additionally run the same pipeline with
moon query changed-files --local and union the two project sets. For explicit revisions,
use --base <base> --head <head> on the first query. Parse the JSON rather than scraping
formatted output or guessing metadata.
Report the affected project ids, available verification tasks, and downstream dependents.
If the combined set is empty, say so and stop; an empty diff is not a reason to invent
planned scope.
Stay read-only. Never scan unrelated projects once moon provides an affected set, and never
run commit, push, or rebase commands.
1---2name: scope3description: Inspect branch and working-tree changes in a configured moon monorepo and report the affected projects. Use for cross-project work or before broad checks; do not invoke merely because a task starts.4---56# scope78## Voice910Read `../../persona.md`; it is canonical for this skill's user-facing output, and its scope11ends at the final report.1213## Outcome1415Return a concise, read-only view of the affected projects. Run the moon query directly: do16not delegate, persist a scope map, create a ledger, or present a handoff menu.1718## Workflow19201. Walk upward from the current directory to the nearest real workspace config. It is a21 `workspace.{json,jsonc,hcl,pkl,toml,yml,yaml}` file under `.moon/` or `.config/moon/`.22 A bare `.moon/` directory is not a workspace. If none exists, say the skill does not23 apply and stop.242. Run `moon --version` from that root. If it fails, report that moon is unavailable and25 stop.263. Run `git status --porcelain`, then pipe the branch comparison into the project query:2728 ```sh29 moon query changed-files | moon query projects --affected --downstream deep30 ```3132 When the worktree is dirty, additionally run the same pipeline with33 `moon query changed-files --local` and union the two project sets. For explicit revisions,34 use `--base <base> --head <head>` on the first query. Parse the JSON rather than scraping35 formatted output or guessing metadata.36374. Report the affected project ids, available verification tasks, and downstream dependents.38 If the combined set is empty, say so and stop; an empty diff is not a reason to invent39 planned scope.4041Stay read-only. Never scan unrelated projects once moon provides an affected set, and never42run commit, push, or rebase commands.