一键导入
renovate-setup
Use this skill when setting up or debugging Renovate auto-merge, configuring Renovate in a repo, or diagnosing why Renovate PRs are not auto-merging.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use this skill when setting up or debugging Renovate auto-merge, configuring Renovate in a repo, or diagnosing why Renovate PRs are not auto-merging.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use this skill to understand the claude marketplaces in the nsheaps github org: the plugin marketplace build, release, and propagation pipeline. Recall this skill when working on CI/CD workflows, mise tasks, plugin versioning, marketplace updates, or when asked how plugins get from source code to a user's Claude Code installation. Also recall when debugging version bumps, marketplace.json drift, or plugin cache issues.
Use this skill when the user asks about GitHub operations, pull requests, issues, releases, actions, gists, repos, or any task involving the GitHub CLI (gh). Also use when needing to interact with GitHub APIs, check CI status, review PRs, manage labels, create releases, or automate GitHub workflows from the command line.
Manually configure the GitHub App bot git identity the way the github-app plugin's SessionStart hook does — resolve the app slug and bot user ID, build the <slug>[bot] name and noreply email, set GIT_AUTHOR_*/GIT_COMMITTER_* env vars, and write an isolated GIT_CONFIG_GLOBAL with the gh auth git-credential helper. Use when commits are attributed to the wrong account, "Author identity unknown" appears, or git identity must be set up by hand. <example>my commits are showing up as the handler, not the bot</example> <example>git says Author identity unknown after the github-app hook ran</example> <example>configure the github app bot git identity manually</example> <example>set up the gh credential helper for git push</example>
Manually reproduce what the github-app plugin's SessionStart hook does to make a GitHub App installation token usable in the current session — materialize the PEM, generate the token, isolate GH_CONFIG_DIR, write the runtime env file, and wire CLAUDE_ENV_FILE so every Bash call sees GH_TOKEN/GITHUB_TOKEN. Use when the hook did not run, the token is missing from the environment, or a shell/teammate needs the token wired up by hand. <example>GH_TOKEN isn't set even though github-app is configured</example> <example>the github-app SessionStart hook didn't run, set up the token manually</example> <example>wire the github app token into CLAUDE_ENV_FILE</example> <example>gh keeps falling back to the wrong account, isolate GH_CONFIG_DIR</example>
Manage GitHub App installation tokens in Claude Code sessions. Use when tokens expire, auth errors occur in long-running sessions, or when setting up GitHub App credentials for agent teams. <example>my github token expired</example> <example>refresh the github app token</example> <example>check token status</example> <example>set up github app authentication for this session</example>
Manages spec files for requirements capture and validation
| name | renovate-setup |
| description | Use this skill when setting up or debugging Renovate auto-merge, configuring Renovate in a repo, or diagnosing why Renovate PRs are not auto-merging. |
Renovate is a dependency update bot. This skill covers enabling auto-merge on repos and debugging when Renovate PRs get stuck.
Two steps are required: the repo setting AND the declarative settings file.
gh repo edit nsheaps/<repo> --enable-auto-merge --delete-branch-on-merge
Run separately for each repo. This sets the GitHub repo-level flag.
.github/settings.yamlIf the repo uses a declarative settings workflow (most nsheaps repos do), add
allow_auto_merge: true to the repository: block:
repository:
allow_auto_merge: true
delete_branch_on_merge: true
# ... other settings
Commit this to main. Without this, the settings workflow may reset the flag.
extends PatternRenovate configs in nsheaps repos should extend from nsheaps/renovate-config.
The correct file name changed from default.json to default.json5:
// renovate.json5
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: [
"github>nsheaps/renovate-config", // uses default.json5 automatically
],
}
Check nsheaps/renovate-config for what the shared config contains (automerge
settings, schedule, package rules, etc.).
When a Renovate PR is stuck and not auto-merging:
Repo setting enabled?
gh api repos/nsheaps/<repo> --jq '.allow_auto_merge'
# should return: true
PR has auto-merge queued?
gh pr view <N> --repo nsheaps/<repo> --json autoMergeRequest
# autoMergeRequest should be non-null
If null, enable it:
gh pr merge <N> --repo nsheaps/<repo> --auto --squash
Branch protection / rulesets blocking?
gh api repos/nsheaps/<repo>/rules/branches/main
Common blockers:
pull_request rule requiring required_approving_review_count: 1 → approve the PRRequired status checks failing?
gh pr view <N> --repo nsheaps/<repo> --json statusCheckRollup
Empty statusCheckRollup + BLOCKED usually means a required check is
configured but no CI run has happened (missing workflow trigger or CI never ran).
Approve if review required:
gh pr review <N> --repo nsheaps/<repo> --approve --body "Approving Renovate dependency update."
bin/ DirectoriesIf a repo has both shell scripts and TypeScript/JavaScript files in bin/,
the bash lint CI job will fail on the non-shell files. Fix: add extension
checks to skip non-shell files:
- name: Lint shell scripts
run: |
for script in bin/*; do
[ -d "$script" ] && continue
[ -f "$script" ] || continue
# Skip non-shell files
case "$script" in
*.ts|*.js|*.py|*.rb|*.go) continue ;;
esac
echo "Checking $script..."
bash -n "$script"
done
This is relevant to renovate because Renovate PRs updating dependencies may trigger CI runs that hit this lint bug and prevent auto-merge.