agentleFS
NVIDIAKnown publisherNVIDIA/elements/.agents/skills/github-dependabot/SKILL.md

github-dependabot

Skill115 starsChanged 54 days agoApache-2.0View on GitHub

Use the GitHub CLI to retrieve current open `Dependabot` alerts for a repository, inspect affected dependencies and patched versions, update manifests and lock files, and verify the local fixes. Use whenever a user asks to inspect, address, resolve, remediate, or fix `Dependabot` alerts or dependency security vulnerabilities reported by GitHub. Use `gh`, rather than a browser or GitHub connector, for alert discovery.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 8 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use gh api to get live alert data, then make the smallest safe dependency changes that resolve the current open alerts.

    line 8
  2. Distinctive:

    Read AGENTS.md and the instructions for every affected project.

    line 14
  3. Very specific:

    If GitHub access fails, run gh auth status.

    line 16
  4. Distinctive:

    Always query GitHub at the start of the task.

    line 20
  5. Very specific:

    Keep --paginate; repositories can have more than one page of alerts.

    line 46
  6. Distinctive:

    Do not dismiss alerts or change their state through the API.

    line 54
  7. Distinctive:

    If GitHub reports no patched version, investigate whether upgrading or removing the introducing dependency resolves the vulnerable range.

    line 63
  8. Very specific:

    Use the package manager and toolchain pinned by the repository.

    line 67
  9. Distinctive:

    Update the canonical dependency declaration and every required lockfile together.

    line 69
  10. Very specific:

    Use targeted package-manager update commands when possible.

    line 71
  11. Very specific:

    Do not weaken minimumReleaseAge, allowed-build, integrity, or other supply chain controls merely to make installation succeed.

    line 73
  12. Distinctive:

    Do not overwrite unrelated work or broaden the dependency update beyond the alerts in scope.

    line 76
  13. Very specific:

    Read the affected project's DEVELOPMENT.md, then run its relevant build, lint, and test commands through mise exec --.

    line 82
  14. Distinctive:

    Run broader repository checks when a shared catalog, override, lockfile, build tool, or runtime dependency affects two or more projects.

    line 83
  15. Distinctive:

    If verification fails, diagnose whether the dependency update, a compatibility change, or an unrelated existing failure caused it.

    line 86

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Fix Dependabot Alerts

Use gh api to get live alert data, then make the smallest safe dependency changes that resolve the current open alerts.

Workflow

1. Establish the repository context

  1. Read AGENTS.md and the instructions for every affected project.
  2. Inspect git status --short and the relevant diffs. Preserve unrelated user changes.
  3. If GitHub access fails, run gh auth status. Treat 403 and 404 responses as possible permission or feature-availability problems, not proof that the repository has no alerts. Do not change authentication or repository settings without the user's approval.

2. Fetch the current alerts

Always query GitHub at the start of the task. Treat "latest alerts" as the current open alerts unless the user gives a narrower scope.

gh api --paginate -X GET \
  'repos/{owner}/{repo}/dependabot/alerts' \
  -f state=open \
  -f sort=created \
  -f direction=desc \
  -f per_page=100 \
  --jq '.[] | {
    number,
    created_at,
    updated_at,
    package: .dependency.package.name,
    ecosystem: .dependency.package.ecosystem,
    manifest: .dependency.manifest_path,
    scope: .dependency.scope,
    severity: .security_advisory.severity,
    ghsa: .security_advisory.ghsa_id,
    cve: .security_advisory.cve_id,
    vulnerable_range: .security_vulnerability.vulnerable_version_range,
    patched_version: .security_vulnerability.first_patched_version.identifier,
    url: .html_url
  }'

Keep --paginate; repositories can have more than one page of alerts. If the user asks for only the newest alert, select the first result. Otherwise, address every open alert in scope.

Fetch complete data for an individual alert when necessary:

gh api -X GET 'repos/{owner}/{repo}/dependabot/alerts/<number>'

Do not dismiss alerts or change their state through the API. GitHub closes resolved alerts after it processes the updated dependency graph.

3. Plan the dependency changes

  1. Group alerts by ecosystem, manifest, and package. One dependency update can resolve more than one advisory.
  2. Record each alert number, vulnerable range, first patched version, and affected manifest before editing.
  3. Locate the canonical version declaration. In this repository, check pnpm-workspace.yaml catalogs and overrides before changing individual package.json files.
  4. For a transitive dependency, use the ecosystem's dependency-inspection command to find which direct dependency introduces it. Prefer updating that direct dependency. Add or change an override only when a direct update cannot resolve the advisory safely and the repository already supports that mechanism.
  5. Choose the smallest compatible version that satisfies every patched-version floor for the grouped alerts. Avoid unrelated major-version or toolchain upgrades unless the security fix requires them.
  6. If GitHub reports no patched version, investigate whether upgrading or removing the introducing dependency resolves the vulnerable range. Do not invent a safe version or conceal an unresolved alert.

4. Apply the fixes

Use the package manager and toolchain pinned by the repository. Run Elements repository commands through mise exec --.

  • Update the canonical dependency declaration and every required lockfile together.
  • Preserve workspace protocols, catalogs, overrides, peer ranges, and published dependency ranges unless the fix requires a deliberate change.
  • Use targeted package-manager update commands when possible. For pnpm workspaces, scope the update to the affected workspace or edit the central catalog and run mise exec -- pnpm install to refresh pnpm-lock.yaml.
  • Inspect package release notes when the safe version crosses a major version or changes runtime behavior.
  • Do not weaken minimumReleaseAge, allowed-build, integrity, or other supply chain controls merely to make installation succeed. If a security release needs an exception, keep it exact and narrow and explain the need.
  • Make necessary compatibility changes in source, configuration, tests, or examples when the dependency update changes an API.

Do not overwrite unrelated work or broaden the dependency update beyond the alerts in scope.

5. Verify the fixes

  1. Inspect the final diff and confirm that every changed dependency addresses an alert or supports a necessary compatibility fix.
  2. Confirm that the resolved versions no longer match the vulnerable ranges. Use the package manager's dependency tree command when checking transitive versions.
  3. Read the affected project's DEVELOPMENT.md, then run its relevant build, lint, and test commands through mise exec --.
  4. Run broader repository checks when a shared catalog, override, lockfile, build tool, or runtime dependency affects two or more projects.
  5. Re-query open alerts for situational awareness, but do not treat an unchanged GitHub result as a failed local fix; dependency-graph processing is asynchronous.

If verification fails, diagnose whether the dependency update, a compatibility change, or an unrelated existing failure caused it. Continue fixing in-scope failures and separate unrelated failures.

Result

Report:

  • alert numbers, advisories, packages, and severity levels addressed;
  • old vulnerable versions or ranges and the resolved versions;
  • files changed and any compatibility work required;
  • validation commands and outcomes; and
  • alerts that remain open, including the exact blocker for each one.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.