From pulumi-authoring
Automates Pulumi provider repo upgrades to new upstream versions using upgrade-provider tool. Fixes common failures like patch conflicts, missing module mappings, and manages PR updates.
npx claudepluginhub pulumi/agent-skillsThis skill uses the workspace's default tool permissions.
Run `upgrade-provider`, fix known failures, and rerun until success. Keep git operations read-only in the repo; the tool owns branch/commit/PR state.
Upgrades any Pulumi provider (AWS, Azure, GCP, Kubernetes, etc.) to newer versions by bumping dependencies, running previews, categorizing diffs, and fixing code translations for zero-diff results.
Guides framework and language migrations: version upgrades, breaking changes, dependency audits, codemods, rollbacks for React 19, Vue 3, Next.js, Laravel 11, Python 3.12, Node 22.
Migrates Terraform/OpenTofu projects to Pulumi by translating HCL source code and importing tfstate into Pulumi stacks. Use for HCL-to-Pulumi conversion or state migration.
Share bugs, ideas, or general feedback.
Run upgrade-provider, fix known failures, and rerun until success. Keep git operations read-only in the repo; the tool owns branch/commit/PR state.
mkdir -p .pulumi
upgrade-provider $ORG/$REPO --repo-path . > .pulumi/upgrade-provider-stdout.txt 2> /dev/null
.pulumi/upgrade-provider-stdout.txt lines starting with error: .references/upgrade-provider-errors.md (from the skill folder, not the repo), then rerun.upstream-patches skill for the patch workflow../scripts/upstream.sh checkout and review applied upstream commits:
upstream.Stop iterating and report failure if any of these conditions are met:
upgrade-provider tool is not in PATH.references/upgrade-provider-errors.md and you cannot determine a safe fix.When stopping, report:
The tool creates a PR on successful upgrade.
gh pr view --json url --jq .url || gh pr list --head "$(git branch --show-current)" --json url --jq '.[0].url'
repo=$(gh repo view --json nameWithOwner --jq .nameWithOwner)
pr_number=$(gh pr view --json number --jq .number)
gh pr view --json body --jq .body > /tmp/pr_body.txt
cat <<'EOF' >> /tmp/pr_body.txt
---
### Fixes applied to unblock upgrade
- <list concrete unblocker edits here, with file paths and intent>
EOF
gh api -X PATCH "repos/$repo/pulls/$pr_number" --raw-field body="$(cat /tmp/pr_body.txt)"
Use REST (gh api) instead of gh pr edit to avoid GraphQL project-card errors. Keep existing body content; only append.
git rebase --continue --no-edit is not supported in older git versions. Use git rebase --continue and accept the existing commit message.git rebase --continue, run it with GIT_EDITOR=true (or GIT_EDITOR=:)../scripts/upstream.sh checkout|rebase|check_in are allowed because the tool manages git state.references/upgrade-provider-errors.md (from the skill folder, not the repo) for patch conflict and new module mapping fixes.