Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计提醒

dependabot-pr-handlerdependentabot 公关处理程序

Agent Skill

dependabot-pr-handler 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

832

周安装

35

GitHub Stars

9

下载量

291
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dependabot-pr-handler(dependentabot 公关处理程序)
来源仓库:https://github.com/equinor/fusion-framework
仓库路径:skills/dependabot-pr-handler
安装命令:
npx skills add https://github.com/equinor/fusion-framework --skill dependabot-pr-handler
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/equinor/fusion-framework --skill dependabot-pr-handler

简介

dependabot-pr-handler 专为 Fusion Framework 多仓库设计,自动验证与合并安全依赖更新。

  • 结合 pnpm 依赖分析与 npm-research 插件,评估变更影响与潜在 breaking change。
  • 支持审计模式(仅本地测试)与验证模式(完整 CI 流程),适应不同安全等级要求。
  • 操作前请确认本地 Node.js 与 pnpm 版本匹配,避免构建失败阻塞流水线。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Dependabot PR Handler Skill

Automated skill for reviewing, validating, and safely merging Dependabot pull requests in the Fusion Framework monorepo.

Dependencies: This skill uses:

  • pnpm-dependency-analysis skill for impact assessment and blast radius calculation
  • npm-research skill for changelog, security, and breaking changes analysis

Operating Modes

Default to Full mode unless the user explicitly chooses Audit-only or Validate.

  • Audit-only: Research + build/test/lint locally. Comments optional. No post/push/merge.
  • Validate: Install + build + test + lint. Prepare comments. All actions gated by consent.
  • Full: End-to-end with required comments, consent-gated push/merge.

Templates

TemplatePathWhenModeFile
Available PRs Listtemplates/available-prs-list.template.mdStep 1All: If interactive PR selectionDisplay to user
Researchtemplates/research-comment.template.mdStep 5Full: Required; Other: Optional.tmp/gh-comment-research.md
Resultstemplates/results-comment.template.mdStep 13Full: Required; Other: Optional.tmp/gh-comment-results.md

Guardrails

  • Never post comments, push, close, merge, or modify code without explicit user approval
  • Pause on user unavailability; stop on build/test/lint/security failures
  • Maintain linear history (force-with-lease with consent only)
  • Propose code changes when needed; never auto-modify source

Workflow

Step 1: Select PR

  1. If PR provided by user (number or URL) → parse and store details (owner, repo, number, branch) → Skip to Step 2
  2. If no PR provided

- Execute: gh pr list --author "app/dependabot" --state open --json number,title,createdAt - Parse PR titles to determine semver type: - MAJOR: Breaking changes, major version bumps (e.g., 5.0.0 from 3.x.x) - MINOR: New features, minor version bumps (e.g., 1.2.0 from 1.1.x) - PATCH: Bug fixes, patch version bumps (e.g., 1.1.5 from 1.1.4) - Categorize and display using available-prs-list.template.md with age and semver columns - Request user selection by PR number - User MUST explicitly choose PR — never auto-select

Whenever a user asks to handle a Dependabot PR without providing a specific PR number or URL, run the PR listing flow above immediately before requesting further input.

Step 2: Create Worktree

  1. Ensure worktree directory exists: mkdir -p../fusion-framework.worktree
  2. Get PR branch name: gh pr view <PR_NUMBER> --json headRefName --repo equinor/fusion-framework --jq '.headRefName'
  3. Fetch the branch: git fetch origin <BRANCH>:<BRANCH>
  4. Create worktree: git worktree add../fusion-framework.worktree/pr-<PR_NUMBER> <BRANCH>
  5. cd../fusion-framework.worktree/pr-<PR_NUMBER>

Step 3: Rebase Branch

  1. git fetch origin main && git rebase origin/main
  2. If rebase succeeds → Continue to Step 4
  3. If lock file conflict (pnpm-lock.yaml):

- pnpm install (regenerate lock file) - git add pnpm-lock.yaml - git rebase --continue - Continue to Step 4

  1. If version conflict (package.json dependencies incompatible):

- Ask to post comment + close PR - If yes: post + close → Skip to Step 15

  1. If structural/complex conflicts:

- Display details → Ask user → Stop if declined

Step 4: Research Dependencies

  1. Parse PR for dependency updates
  2. Check latest available version: npm view <PACKAGE> versions --json
  3. If Dependabot version is NOT the latest stable:

- Display: Dependabot suggests X.Y.Z, but latest stable is A.B.C - Ask user: "Use Dependabot version or update to latest stable?" - If user chooses latest: Update package.json and run pnpm install - If user chooses Dependabot version: Continue with existing PR changes

  1. Use pnpm-dependency-analysis skill (.github/skills/pnpm-dependency-analysis/SKILL.md) to:

- Identify which workspaces are affected (pnpm why PACKAGE --recursive --depth=0) - Check resolved versions and detect inconsistencies - Determine blast radius (low/medium/high risk based on workspace count) - Verify dependency type (dev vs production) - Apply the Quick Decision Tree below to assess merge readiness

  1. Use npm-research skill (.github/skills/npm-research/SKILL.md) to:

- Research changelog (GitHub releases, CHANGELOG files, npm registry) - Check security advisories (npm audit, GitHub advisories, Snyk) - Identify breaking changes (semver analysis, PR research when needed) - Review related PRs if release notes reference specific changes - Analyze peer dependency changes and new dependencies

  1. Analyze codebase compatibility
  2. Identify if code changes needed (document only; don't modify)

Quick Decision Tree (Dependabot Triage)

Step 4.1: Identify the package

# From PR title like "build(deps): bump lodash from 4.x to 5.x"
PACKAGE="lodash"
pnpm why "$PACKAGE" --recursive --depth=0

Step 4.2: Assess spread

  • 1–2 workspaces: Low risk, check one changelog
  • 3–5 workspaces: Medium risk, test carefully
  • 6+ workspaces: High risk, core shared dep — review thoroughly

Step 4.3: Determine dependency type

pnpm why "$PACKAGE" --recursive --json | jq -r '.[] | "\(.workspace): \(.dependencyType)"'
  • devDependencies only → usually safer (unless it's eslint, typescript, vite, vitest, jest, rollup, playwright, storybook)
  • dependencies → production impact — more caution needed
  • Both → requires full testing

Step 4.4: Check version consistency

pnpm why "$PACKAGE" --recursive --json | jq -r '.[] | "\(.workspace)\t→ \(.version)"'
  • All same version → good, consistent
  • Multiple versions → check if workspace:* controls it or if overrides are needed
  • Very different (e.g., v4 vs v5) → potential bugs, test before merge

Merge Decision Checklist

Before approving Dependabot PRs:

  • Run pnpm why <PACKAGE> --recursive --depth=0 to see spread
  • Check if marked workspace:* (almost always safe) or has mixed versions (riskier)
  • For high-spread packages (6+), skim the package's CHANGELOG for breaking changes
  • For tooling (eslint, vite, etc.), verify lint/build still works
  • For major version bumps in production deps, request test results or run locally

Safe to merge immediately (low friction)

✅ One or two workspaces affected ✅ Uses workspace:* or workspace protocol ✅ Only appears in devDependencies ✅ Patch or minor version bump

Requires careful review (plan ahead)

⚠️ 5+ workspaces affected ⚠️ Appears in production (dependencies) ⚠️ Major version bump ⚠️ Touches core tools (eslint, typescript, vite, vitest)

Escalate to team (discuss before merge)

🚫 Package used as shared library (everyone depends on it) 🚫 Multiple conflicting versions after upgrade 🚫 Breaking changes with no migration path 🚫 Touches build or CI infrastructure

Risk / Blast Radius Reference

IndicatorRisk LevelAction
1–2 workspaces onlyLowUsually safe to merge
≥ 6–8 workspacesHighReview changelog + test carefully
Only in devDependenciesLowerSafe unless eslint, typescript, vite, vitest, jest, rollup, playwright, storybook
Uses workspace:* or workspace:^x.y.zVery LowAlmost always safe (controlled at workspace root)
Many different resolved versionsMediumConsider pnpm.overrides or .npmrc resolutions before merging
Hub node (many packages → it)HighCore shared dep — high breakage risk
Deep/long chains in pnpm whyMedium–HighTransitive breakage possible
Appears in multiple config files (eslint, vite, etc.)MediumTooling change — lint/format/build risk

Step 5: Post Research Comment

(Full: Required; Other: Optional)

  1. Format using template → Create .tmp/gh-comment-research.md
  2. Show to user → Ask: "Post research comment?"
  3. If yes: gh pr comment <PR> -F.tmp/gh-comment-research.md → Clean up

Step 6: Install Dependencies

pnpm install --frozen-lockfile (clean node_modules if lock changed)

Step 7: Build Project

pnpm build → Stop on failure

Step 8: Run Tests

pnpm test → Stop on failure

Step 9: Run Linting

  1. npx biome format --fix
  2. git add.
  3. npx biome check --diagnostic-level=error → Stop on failure

Step 10: Generate Changeset

(if .changeset exists)

  1. Parse PR for package changes
  2. Determine if changeset is needed:

- Create changeset if: - Dependency affects a compiled/built package (CLI, Dev-Portal, vite-plugins, etc.) - Consumers can manually update the package (not just a transitive dependency) - DevDependency updates that affect build output or tooling behavior - Skip changeset if: - Changes only affect workspace tooling (root package.json, turbo.json, CI configs) - Test-only changes with no impact on package functionality

  1. Generate using changeset rules

- Use patch bump for devDependency updates - Prefix with "Internal:" for non-API changes - List affected packages in frontmatter - Include brief summary of dependency changes

  1. Show to user → Ask: "Create changeset?"
  2. If yes: Stage files

Step 11: Propose Code Changes

(if needed from Step 4)

  1. Document required changes + rationale
  2. Propose exact modifications → Ask: "Approve modifications?"
  3. If yes: Commit with clear message

Step 12: Rebase & Push Changes

(Always execute)

  1. cd../fusion-framework.worktree/pr-<PR_NUMBER>
  2. git fetch origin main (ensure latest main)
  3. git rebase origin/main (resolve any conflicts if needed)
  4. Show status: git status --porcelain
  5. Ask: "Push rebased branch?"
  6. If yes: git push origin HEAD --force-with-lease (to PR branch)

Step 13: Post Validation Results

(Full: Required; Other: Optional)

  1. Format using template → Create .tmp/gh-comment-results.md
  2. Show to user → Ask: "Post validation results?"
  3. If yes: gh pr comment <PR> -F.tmp/gh-comment-results.md → Clean up

Step 14: Merge PR

(Full mode only)

  1. Show merge details + branch protection status
  2. Ask: "Merge PR now?"
  3. If yes: gh pr merge <PR_NUMBER> --squash --admin

Step 15: Cleanup

  1. cd <MAIN_REPO_PATH> (return to main repo)
  2. git worktree remove../fusion-framework.worktree/pr-<PR_NUMBER> (or --force if dirty)
  3. Summarize results

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenCode

31.46%
按下载量换算92

Antigravity

21.3%
按下载量换算62

Claude Code

17.79%
按下载量换算52

Codex

11.95%
按下载量换算35

Gemini CLI

8.69%
按下载量换算25

windsurf

3.04%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills