Skip to content
Git & PRs
Skill

/maintenance

Investigate, adopt, and verify dependency updates. Captures what changed, understands why, cross-references against the codebase, and runs final checks. Supports two entry modes: run the full flow end-to-end, or review updates you already applied.

BOOST
From plugin
git-mcp-server
2425 skills
Install
$ npx -y skills add cyanheads/git-mcp-server --skill maintenance --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/maintenance

Context preview

The summary Claude sees to decide when to auto-load this skill.

Investigate, adopt, and verify dependency updates. Captures what changed, understands why, cross-references against the codebase, and runs final checks. Supports two entry modes: run the full flow end-to-end, or review updates you already applied.

SKILL.md

maintenance.SKILL.md
name: maintenance
description: >
  Investigate, adopt, and verify dependency updates. Captures what changed, understands why, cross-references against the codebase, and runs final checks. Supports two entry modes: run the full flow end-to-end, or review updates you already applied.
metadata:
  author: cyanheads
  version: '1.0'
  type: workflow

When to Use

  • After running `bun update --latest` yourself and wanting to review the impact (**Mode B** — typical)
  • To run the whole flow end-to-end — outdated check → update → investigate → adopt → verify (**Mode A**)

Entry Modes

| Mode | Starting Point | First Step | | :------------------------- | :---------------------------------------------------------------------- | :----------------------------------------------------------- | | **A — Full flow** | Lockfile is current; want to update | Step 1 | | **B — Post-update review** | User already ran `bun update --latest` + `bun run rebuild` + `bun test` | Skip to Step 3 with the update output or `git diff bun.lock` |

Both modes converge at Step 3 and end at Step 6.

Steps

1. Survey what's outdated (Mode A only)

bun outdated

Note: `bun update --latest` crosses semver majors; `bun update` alone respects ranges. Use `--latest` unless a package is intentionally pinned.

2. Apply the update (Mode A only)

bun update --latest

Capture the `↑ package old → new` lines from stdout — these feed Step 3. Alternatively, `git diff bun.lock` surfaces version deltas after the fact.

3. Investigate changelogs

For each updated package, fetch the release notes or CHANGELOG entries between old and new versions, then cross-reference changes against actual imports in `src/`. Output per package: what changed, impact on this project, action items.

Focus on packages this server directly depends on:

| Package | Impact Check | | :----------------------------------------- | :-------------------------------------------------------------------- | | `@modelcontextprotocol/sdk` | Protocol version bumps, breaking handler signatures, new capabilities | | `hono` / `@hono/node-server` / `@hono/mcp` | HTTP transport API changes, middleware signatures | | `@opentelemetry/*` | Instrumentation contract changes, exporter config | | `tsyringe` / `reflect-metadata` | DI container behavior, decorator semantics | | `jose` | JWT/JWKS verification API | | `pino` / `pino-pretty` | Logger API, transport config | | `zod` | Schema API (e.g., v3 → v4 refinement changes, `.describe()` behavior) | | `typescript` | New strict checks, lib changes affecting existing types | | `vitest` / `@vitest/coverage-v8` | Test runner behavior, coverage provider changes | | `eslint` / `typescript-eslint` | New rules flagging existing code | | Cross-spawn / execa | Child-process spawning semantics used by `CliGitProvider` |

Use `WebFetch` or `Bash + curl` (for full content) against the package's GitHub releases or CHANGELOG. Skim tag-to-tag diffs rather than scrolling the full file.

4. Adopt changes in the codebase

Apply findings from Step 3:

  • **Breaking changes** — fix call sites (look first under `src/mcp-server/`, `src/services/`, `src/utils/`, `src/storage/`, `src/container/`)
  • **Deprecations** — migrate now, while context is fresh
  • **New APIs worth adopting** — refactor targeted spots only; don't cargo-cult everywhere
  • **New configuration** — update `.env.example`, `src/config/index.ts` Zod schema, and `README.md` if user-facing

Keep diffs focused. Don't sweep refactors beyond the update's scope.

Common spots to re-check:

  • `src/services/git/providers/cli/` if child-process libraries changed
  • `src/mcp-server/transports/http/` if Hono / MCP SDK changed
  • `src/utils/telemetry/` if OpenTelemetry SDK changed
  • `src/mcp-server/transports/auth/` if `jose` changed

5. Rebuild and verify

bun run rebuild
bun run devcheck
bun test

`rebuild` (clean + build) catches API surface and type-alignment issues that `devcheck` alone may miss — module resolution, path aliases, post-build processing. `devcheck` runs lint, format, typecheck, and security audit.

In **Mode B**, the user already ran rebuild + test before invoking this skill, but run them again here — Step 4 made code changes that need verification.

Fix anything that fails. Re-run until clean.

6. Summary

Present a concise numbered summary to the user:

1. **Updated packages** — short list with version deltas (N total) 2. **Breaking changes handled** — call sites fixed 3. **Features adopted** — new APIs now in use 4. **Needs attention** — anything deferred, flagged for decision, or risky 5. **Status** — rebuild / devcheck / test results

Checklist

  • [ ] Update applied (`bun update --latest`) — Mode A, or already done by user — Mode B
  • [ ] Changelogs reviewed for each updated package
  • [ ] Adoption opportunities identified and applied
  • [ ] `bun run rebuild` succeeds
  • [ ] `bun run devcheck` passes (lint + format + typecheck + audit)
  • [ ] `bun test` passes
  • [ ] Numbered summary presented to user
Read more
Ships withgit-mcp-server

Clone, commit, diff, branch, merge, rebase, cherry-pick, stash, tag, and manage worktrees in local git repos via MCP. STDIO or Streamable HTTP.

Get the whole plugin
Stats
242
Stars
60
Forks
Active
Maintenance
TypeScript
Language
Apache-2.0
License
23d ago
Last commit
1y ago
Created
5h ago
Added

Repo: cyanheads/git-mcp-server

Other skills on git-mcp-server.