Claude Cursor GitHub Copilot opencode Skill

fastapi-deps

Use when the user wants to upgrade the project's dependencies safely — bump versions, read changelogs for breaking changes, and verify the suite still passes. Upgrades incrementally and stops on the first break; it does not add new dependencies (that's a design decision to raise

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download steph-dove-klaussy-agents-examples_fastapi_.claude_skills_fastapi-deps-0f171fe.zip · 2 KB
Part of steph-dove/klaussy-agents — 42 skills

Install

skills CLI npx skills add https://github.com/steph-dove/klaussy-agents/tree/main/examples/fastapi/.claude/skills/fastapi-deps
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install steph-dove-klaussy-agents@llmmart
Git git clone https://github.com/steph-dove/klaussy-agents.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole steph-dove/klaussy-agents collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Upgrade dependencies without breaking the build. Move in small, verifiable steps — one batch at a time, tests green after each — rather than bumping everything at once and debugging the pile.

Phase 1: Survey

  1. Read CLAUDE.md for the package manager, the install command, and the test command.
  2. Read the manifest (pyproject.toml, package.json, go.mod, Cargo.toml, …) and the lockfile. Note which versions are pinned exactly vs. ranged, and which deps are runtime vs. dev.
  3. List what's outdated. Use the ecosystem's own tool (pip list --outdated, npm outdated, go list -m -u all, cargo outdated). Separate the upgrades into:
    • patch/minor — low risk, batchable.
    • major — has breaking changes; handle one at a time.
  4. Confirm a green baseline first. Run the test suite before changing anything. If it's already red, stop — you can't attribute a later failure to an upgrade.

Phase 2: Upgrade in order of risk

  1. Patch/minor first, as one batch. Bump them, reinstall, run the full suite. If green, keep going. If red, narrow to the culprit (bisect the batch) before proceeding.
  2. Then majors, one at a time. For each major bump:
    • Read its changelog / migration notes for the version range you're crossing — grep the codebase for the APIs it says changed, and check whether you use them.
    • Apply the bump and any required code changes together.
    • Run the suite. Only move to the next major once green.
  3. Respect the pinning style. If the repo pins exact versions, pin the new exact version; if it uses ranges, keep the range form. Update the lockfile with the manager's own command — never hand-edit a lockfile.

Phase 3: Verify and summarize

  1. Run the full suite, lint, and build one final time on the fully-upgraded tree.
  2. Summarize what moved: package, old → new version, and for any major bump, the one-line reason it was safe (or the code change it required). Flag anything you couldn't fully verify.

Humanize anything a human will read. Before prose ships — a PR body, a review comment or reply, a commit message, a changelog entry, docs — run it through the fastapi-humanize skill and use what comes back. That skill holds the rules; don't keep a second copy of them here.

The scrubber is not that pass. klaussy humanize deletes a fixed list of mechanical tells (dashes, filler openers, a few hedges) and changes nothing else. It can't cut a paragraph that shouldn't exist, turn a noun phrase back into a verb, drop the closing principle, or make three sentences one, and that's most of what makes prose read as generated. Anything a human will read gets the fastapi-humanize skill: cut, voice, check, then scrub. Running the CLI, or klaussy humanize --check, is not that pass and doesn't stand in for it.

Rules

  • Do NOT add new dependencies or remove existing ones — this skill upgrades what's already declared. A new dependency is a decision to raise with the user, not to slip into an upgrade.
  • Do NOT bump past a major boundary without reading that library's breaking-change notes and checking your usage against them.
  • Never hand-edit the lockfile; regenerate it through the package manager so the resolution stays consistent.
  • If an upgrade needs code changes beyond a trivial rename, make the minimal change to adapt — don't refactor surrounding code while you're in there.
  • If a security advisory is the reason for the upgrade, prioritize that package and call it out explicitly.

When NOT to use

  • The user wants to add a brand-new dependency — that's a design choice; discuss the trade-off first, don't route it through here.
  • A single dependency needs a deep, involved migration (a framework major with wide surface) — treat that as its own planned task with the plan/implement skills.
  • The "upgrade" is really a lockfile refresh with no version changes — just regenerate the lockfile; you don't need this flow.
Files (klaussy-agents)
  • SKILL.md 4.3 KB
    ---
    name: fastapi-deps
    description: Use when the user wants to upgrade the project's dependencies safely — bump versions, read changelogs for breaking changes, and verify the suite still passes. Upgrades incrementally and stops on the first break; it does not add new dependencies (that's a design decision to raise separately). Also known as `klaussy-deps`.
    allowed-tools: Read Grep Glob Bash Edit
    ---
    
    Upgrade dependencies without breaking the build. Move in small, verifiable steps — one batch at a time, tests green after each — rather than bumping everything at once and debugging the pile.
    
    ## Phase 1: Survey
    
    1. **Read CLAUDE.md** for the package manager, the install command, and the test command.
    2. **Read the manifest** (`pyproject.toml`, `package.json`, `go.mod`, `Cargo.toml`, …) and the lockfile. Note which versions are pinned exactly vs. ranged, and which deps are runtime vs. dev.
    3. **List what's outdated.** Use the ecosystem's own tool (`pip list --outdated`, `npm outdated`, `go list -m -u all`, `cargo outdated`). Separate the upgrades into:
       - **patch/minor** — low risk, batchable.
       - **major** — has breaking changes; handle one at a time.
    4. **Confirm a green baseline first.** Run the test suite *before* changing anything. If it's already red, stop — you can't attribute a later failure to an upgrade.
    
    ## Phase 2: Upgrade in order of risk
    
    1. **Patch/minor first, as one batch.** Bump them, reinstall, run the full suite. If green, keep going. If red, narrow to the culprit (bisect the batch) before proceeding.
    2. **Then majors, one at a time.** For each major bump:
       - **Read its changelog / migration notes** for the version range you're crossing — grep the codebase for the APIs it says changed, and check whether you use them.
       - Apply the bump and any required code changes together.
       - Run the suite. Only move to the next major once green.
    3. **Respect the pinning style.** If the repo pins exact versions, pin the new exact version; if it uses ranges, keep the range form. Update the lockfile with the manager's own command — never hand-edit a lockfile.
    
    ## Phase 3: Verify and summarize
    
    1. **Run the full suite, lint, and build** one final time on the fully-upgraded tree.
    2. **Summarize** what moved: package, old → new version, and for any major bump, the one-line reason it was safe (or the code change it required). Flag anything you couldn't fully verify.
    
    **Humanize anything a human will read.** Before prose ships — a PR body, a review comment or reply, a commit message, a changelog entry, docs — run it through the `fastapi-humanize` skill and use what comes back. That skill holds the rules; don't keep a second copy of them here.
    
    **The scrubber is not that pass.** `klaussy humanize` deletes a fixed list of mechanical tells (dashes, filler openers, a few hedges) and changes nothing else. It can't cut a paragraph that shouldn't exist, turn a noun phrase back into a verb, drop the closing principle, or make three sentences one, and that's most of what makes prose read as generated. Anything a human will read gets the `fastapi-humanize` skill: cut, voice, check, then scrub. Running the CLI, or `klaussy humanize --check`, is not that pass and doesn't stand in for it.
    
    ## Rules
    
    - Do NOT add new dependencies or remove existing ones — this skill upgrades what's already declared. A new dependency is a decision to raise with the user, not to slip into an upgrade.
    - Do NOT bump past a major boundary without reading that library's breaking-change notes and checking your usage against them.
    - Never hand-edit the lockfile; regenerate it through the package manager so the resolution stays consistent.
    - If an upgrade needs code changes beyond a trivial rename, make the minimal change to adapt — don't refactor surrounding code while you're in there.
    - If a security advisory is the reason for the upgrade, prioritize that package and call it out explicitly.
    
    ## When NOT to use
    
    - The user wants to add a brand-new dependency — that's a design choice; discuss the trade-off first, don't route it through here.
    - A single dependency needs a deep, involved migration (a framework major with wide surface) — treat that as its own planned task with the plan/implement skills.
    - The "upgrade" is really a lockfile refresh with no version changes — just regenerate the lockfile; you don't need this flow.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related