apply-turbo-handoffs
Audit the turbo skill lessons that /self-improve writes into this repo's .turbo/handoff/ from other projects, apply the ones the…
Upgrade project dependencies with breaking change research for major version updates. Use when the user asks to \"update dependencies\", \"upgrade packages\", \"upgrade dependencies\", \"update deps\", \"upgrade deps\", \"update npm deps\", \"update Swift packages\", \"cargo
Claude Code
$ npx -y skills add tobihagemann/turbo --skill update-dependencies --agent claude-code
Codex
$ npx skills add tobihagemann/turbo --skill update-dependencies -a codex -y
Cursor
$ npx skills add tobihagemann/turbo --skill update-dependencies -a cursor -y
Gemini CLI
$ npx skills add tobihagemann/turbo --skill update-dependencies -a gemini-cli -y
GitHub Copilot
$ npx skills add tobihagemann/turbo --skill update-dependencies -a github-copilot -y
OpenCode
$ npx skills add tobihagemann/turbo --skill update-dependencies -a opencode -y
Windsurf
$ npx skills add tobihagemann/turbo --skill update-dependencies -a windsurf -y
name: update-dependencies description: "Upgrade project dependencies, researching breaking changes in major updates. Use when the user asks to \"update dependencies\", \"upgrade packages\", \"update deps\", or \"update GitHub Actions\"."
Upgrade project dependencies, researching breaking changes for major version updates.
Optional filter: `$ARGUMENTS` (e.g., `react`, `Alamofire`, `serde tokio`)
At the start, use `TaskCreate` to create a task for each phase:
1. Run `/review-dependencies` skill 2. User strategy selection 3. Research breaking changes 4. User confirmation 5. Execute upgrades 6. Apply migrations and sync out-of-manifest records 7. Run `/run-checks` skill 8. Exercise upgraded schema against the real store 9. Report results 10. Recommend next steps
Run the `/review-dependencies` skill to detect package managers and discover available updates. If no updates are available, stop.
Before summarizing, set aside packages whose version tracks a pinned runtime or platform rather than the newest release, such as runtime type definitions and platform SDKs. Find the pin the project declares (version manager file, `engines` field, container base image, CI setup step) and hold any version beyond it until the pin moves.
A package whose newer releases raise their own declared runtime or platform minimum above the project's is not set aside on that basis.
Present a summary showing:
Before the strategy question, use AskUserQuestion to ask for each package that needs a higher minimum whether to raise the project's minimum, naming the versions or devices that lose support and the dependents that must raise theirs in lockstep, or to cap the package at the last release the current minimum admits. A project that declares no minimum counts as below every package's declared minimum: there, the raise option declares the package's minimum as the project's pin, in a version manager file, the `engines` field, or a CI setup step, and the cap option holds the package at the last release before it raised its minimum. Add a **Get a second opinion** option, which runs the `/consult-codex` skill for what each option commits to and what reversing it costs. Then resolve the choice with that answer in hand, re-asking when it stays the user's. Apply a raise only when the package is upgraded.
Use AskUserQuestion for upgrade strategy:
**Header**: "Strategy" **Options**:
When a major upgrade would force a migration that is costly to reverse, present a **Get a second opinion** option in place of **Interactive**, keeping the question at four options. It runs the `/consult-codex` skill for which strategy the breaking changes warrant. Then resolve the strategy with that answer in hand, re-asking when the choice stays the user's. A freeform answer asking to decide each major update individually selects the Interactive strategy.
For **each package or CI action with a major version update**:
Identify all major versions between current and target. For example:
Search for migration documentation:
WebSearch: "[package-name] v[X] migration guide" WebSearch: "[package-name] v[X] breaking changes"
Common sources: GitHub releases page, official docs, changelog files.
Identify: API changes (renamed/removed functions), configuration changes, peer/transitive dependency requirements, behavioral changes, deprecated features now removed.
Use Grep to find usage of deprecated or changed APIs. Document which files are affected and what changes are needed.
Then check the package's installed consumers: read their declared peer or compatibility ranges and flag any range that excludes the target version. Toolchain consumers such as linters, type checkers, and build tooling can block a major even when the project's own code and configuration are clean. Carry each one into Phase 4 as a blocker.
A CI action that installs or runs the package counts as such a consumer. When a newer release of it supports the target, pair that bump with the package instead of carrying a blocker: Phase 4 presents the two together, and they are upgraded or skipped together.
For each major update, present:
Use AskUserQuestion to confirm:
**Header**: "Confirm" **Options**:
If "Show details" selected, display full migration research, then ask again.
Bump each outdated CI action ref in the file that declares it, under the chosen strategy. For a ref pinned to a commit SHA, resolve the target release tag to the commit it points to (for an a
Reusable workflows for planning, building, reviewing, and shipping with Claude Code and Codex.
Audit the turbo skill lessons that /self-improve writes into this repo's .turbo/handoff/ from other projects, apply the ones the…
Apply findings by making the suggested code changes. Applies accepted verdicts, escalates ambiguous findings to the user, and…
Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, architecture rot,…
Shared changelog conventions and formatting rules referenced by /create-changelog and /update-changelog. Not typically invoked…
Enforce existence, reuse, mirror, and symmetry principles to keep new code minimal and consistent with surrounding code. Use when…
Run autonomous task execution using the codex CLI. Use when the user asks to \"codex exec\", \"run codex exec\", \"execute a task…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.