expo-dependency-check
Validate Expo project dependencies after package.json modifications
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Validate Expo project dependencies after package.json modifications
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when a single-project deep update command (`/experiments:npm-update-deep-{patch,minor,major,engines}`) needs the shared deep pipeline — scan → group → parallel changelog research (fetch via the `fetch-changelog` executable) → teammate-synthesized dossier with two-layer compliance check → user-gated bumps apply → per-project changeset gate for improvements/migration edits. Single parameterized contract; per-level differences live ONLY in this file's delta table, so a behavioral rule cannot drift between levels. Never runs tests/lint/build; never commits/pushes/opens PRs autonomously.
Use when a single-project npm update command (`/experiments:npm-update-patch`, `/experiments:npm-update-minor`, `/experiments:npm-update-major`, and their deep variants) or the `commander-update-orchestrator` (once per project) needs to perform the mechanical apply of a fully-resolved update set — generic `package.json` bumps via `npm-check-updates`, catalog source edits (`pnpm-workspace.yaml` for pnpm, root `package.json` for Bun), override commands, and one install. Level-agnostic (parameterized by `target`). Also documents the caller-invoked override-resolution procedure (registry load → first-win glob match → `{version}` resolution → GENERIC/OVERRIDE_RUN/OVERRIDE_SKIP partition). Performs writes only; redirects ncu/install/override output to an on-disk log (digest to the conversation, bounded tail on failure only); returns a structured result fragment (with `logPath`) and NEVER prints a consumer summary or abort message. Never commits/pushes/opens PRs autonomously.
Use when a Commander update command (`/experiments:commander-update-{patch,minor,major,engines}` and their deep variants) needs to apply npm dependency or toolchain-engine updates across every project registered in the user-scoped Commander registry. Owns the cross-project pipeline — list+filter projects, parallel scan dispatch, deduplicate updates, version-align (max-wins with per-project fallback; engine-version alignment at `level=engines`), dossier gate rendering (path + bounded digest in deep mode), sequential apply with stop-on-fail, per-project changeset gate with an apply teammate (deep mode), aggregated summary. Read-only against the registry; dependency-level writes go to each project's own manifests via `ncu --upgrade` + one `<pm> install` (output to on-disk logs, digest to the conversation), engines-level writes via `apply-engine-bumps` (runtime surfaces, no ncu). Never commits/pushes/opens PRs autonomously.
Use when a command needs to dispatch a two-phase parallel-subagent research workflow (changelog fetch → codebase research → integrity check → dossier synthesis) over a pre-grouped package set — for example `/experiments:npm-update-deep-patch` (and future deep-* siblings) after invoking `group-packages-for-research`. Inputs `{ groups, level, scanResult }`; produces `<plan-dir>/dossier.md` plus per-group `_meta.json`, `changelogs/`, and `research.md`. Never edits workspace files; bump/apply are the caller's responsibility.
Use when a deep-major update command (`/experiments:npm-update-deep-major`, and the cross-project `commander-update-deep-major` via the orchestrator) needs to split an accepted set of major breaking changes into reviewable, PR-sized buckets before isolation. Given the `## Breaking changes & migration` findings + the major bump set + a dependency-graph read, it builds HARD co-upgrade sets (peer/lockstep families), scores risk per set, applies tunable policy knobs, and returns ordered buckets `{ title, packages, riskTier, rationale, suggestedBranch, suggestedMergeOrder }` plus a count-by-policy summary. Pure — no network, no manifest write, no VCS action.
Scan a JavaScript/TypeScript project for available npm dependency updates filtered by level (patch/minor/major). Use when a command or the user needs a structured list of upgrade candidates before applying them — for example `/experiments:npm-update-patch`, or any flow that asks "what patches are available?" or "which deps have a new minor?". Handles pnpm/npm/yarn/bun/deno, single-repo and workspace, pnpm and Bun `catalog:` entries, and `minimumReleaseAge`. Returns JSON; does NOT edit files or run installs — that's the caller's job. (`engines` is NOT a level here — the runtime/toolchain bump is handled by `detect-toolchain-surfaces`.)
| name | expo-dependency-check |
| description | Validate Expo project dependencies after package.json modifications |
Use this skill when package.json has been modified in an Expo/React Native project.
Is this an Expo project? Check for:
expo in dependencies/devDependencies in package.jsonapp.json, app.config.js, or app.config.ts in project rootIf neither indicator exists, skip this workflow.
If ${user_config.package_manager_override} is non-empty, use it directly as the package-manager source — skip lockfile detection. Accepted override values: npm, pnpm, yarn, bun.
Otherwise, check for lock files (first match wins):
| Lock File | Package Manager | Command Prefix |
|---|---|---|
bun.lockb or bun.lock | bun | bunx |
pnpm-lock.yaml | pnpm | pnpx |
yarn.lock | yarn | yarn dlx (yarn 2+) or npx (yarn 1) |
package-lock.json | npm | npx |
| (none) | npm (default) | npx |
When the override is set, map it to the equivalent prefix:
| Override value | Command Prefix |
|---|---|
npm | npx |
pnpm | pnpx |
yarn | yarn dlx |
bun | bunx |
Branch on ${user_config.default_action}:
ask (default): prompt the user to choose between Check only, Auto-fix, or Skip, then execute the chosen command.check: run <prefix> expo install --check directly, without prompting.fix: run <prefix> expo install --fix directly, without prompting.Action commands:
<prefix> expo install --check — report incompatible versions<prefix> expo install --fix — update to compatible versionsReport results after execution.
npm project:
npx expo install --check
npx expo install --fix
pnpm project:
pnpx expo install --check
pnpx expo install --fix
bun project:
bunx expo install --check
bunx expo install --fix
yarn (classic) project:
npx expo install --check
npx expo install --fix
yarn (berry/2+) project:
yarn dlx expo install --check
yarn dlx expo install --fix