用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill upgrade-dependencies命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | upgrade-dependencies |
| description | >- Use when this capability is needed. |
Default to latest stable versions, including majors (e.g. 2.3.4 → 3.1.0, not 2.5.0), unless something in the stack forbids it.
bob + types) as long as yarn build, eslint, and tsc pass and peer rules are satisfied.Two workspaces (run commands from repo root unless noted):
| Workspace | Path | Role |
|---|---|---|
| Library | . | devDependencies pin what bob build and ESLint typecheck against |
| Example | expo-example/ | Expo app; native deps must match Expo SDK until SDK is upgraded |
Package manager: Yarn 1 (packageManager in root package.json).
Inventory
package.json (devDependencies, peerDependencies, dependencies, scripts).expo-example/package.json (dependencies, devDependencies).react-native-worklets (scheduleOnRN in src/drawing-canvas.tsx); consumers need a compatible worklets version with Reanimated.Choose upgrade target (aggressive)
yarn outdated (root and expo-example/) and npm view <pkg> version / release notes when a major jump is risky.expo to the latest SDK you want, then run npx expo install --fix so native modules align to that SDK in one shot, or (b) stay on the current SDK but still take latest patch/minor Expo allows for pinned modules. Do not leave the app on an old SDK only to avoid editing package.json—upgrade SDK when the goal is “latest everywhere” and conflicts are resolved.@typescript-eslint/*, Skia, Reanimated, Gesture Handler, RN, React, react-native-builder-bob, etc., subject only to peer/native rules below.react-native-builder-bob majors, re-check package.json exports / types paths against actual lib/typescript/** layout from yarn build.Conflict rules (no broken native stack)
These override “always latest”: if peers clash, fix the set (upgrade/downgrade together) until installs are clean.
node_modules tree for Skia/Reanimated (see run-expo-example skill if using tarball workflow).scheduleOnRN / worklets: ensure react-native-worklets is a dependency (not only devDependency) of any app that imports it directly from JS (e.g. expo-example if it uses scheduleOnRN).bob / TypeScript emit layout changed on builder major: update root package.json types and exports.types to match lib/typescript/**; add exclude entries in tsconfig.json if stray roots (e.g. eslint.config.js, scripts/) get pulled into declaration emit.resolutions in root or example as a last resort; prefer aligning direct dependencies..pack/ tarballs if policy forbids it.lib/ manually.Source: doublelam/react-native-free-canvas — distributed by TomeVault.
peerDependenciesexpo install for SDK-validated pins unless you also change SDK/native setup.expo-example without yarn install there and npx expo start --clear when natives change.Apply upgrades (prefer latest, including majors)
# Root — see everything; then bump aggressively
yarn outdated
# Interactive: select latest (including red/major) where rules allow
yarn upgrade-interactive --latest
# Or direct latest for specific packages:
# yarn add -D some-package@latest other-package@latest
yarn install
# Example — same idea; use expo install after expo version changes
cd expo-example && yarn outdated
yarn upgrade-interactive --latest # for non-Expo-pinned deps
# When changing Expo SDK or core RN/Reanimated/Skia/worklets:
npx expo install expo@latest # or expo@~<sdk>.0 then:
npx expo install --fix
yarn install
cd ..
Resolve peer dependency errors (not mere warnings): adjust peerDependencies on the library root and/or example pins until yarn install exits successfully.
Verify (must pass before committing)
yarn install
yarn build
yarn eslint src --max-warnings 0
npx tsc --noEmit -p tsconfig.json
cd expo-example && yarn install && npx eslint app --max-warnings 0
cd ..
Run npx expo-doctor from expo-example/ after Expo or native bumps.
Update documents (whenever versions or install story change)
| File | What to sync |
|---|---|
README.md | Install code block: list every root peerDependency with correct lower bounds (include react-native-worklets if the library imports it). |
docs/PROJECT_OVERVIEW.md | Tech stack table and Version notes: reflect pinned majors (RN, Expo SDK, Skia, Reanimated, worklets). Scripts and workflows: must match root package.json scripts (do not document scripts that do not exist). |
.cursor/skills/run-expo-example/SKILL.md | If root scripts for packing/syncing the example change, update that skill’s command list. |
Regenerate lib/ after src/ or build config changes
yarn build
Do not hand-edit lib/.