fleetshift-create-prs
Open pull requests from completed Fleetshift shift runs.
Skill by spotify
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/spotify-fleetshift-create-prs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building, version-control
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/fleetshift-create-prs
What's inside
- Skill name
fleetshift-create-prs- Description
- Open pull requests from completed Fleetshift shift runs. Use after a shift has run and targets reached a "finished/jobComplete" state — this turns the agent-made changes into reviewable PRs on the target repositories. Requires explicit user confirmation before creating any PRs. Only opens PRs; it never closes, archives, or reverts anything.
- License
- Apache-2.0
- Instructions
- 86 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Create PRs from a Fleetshift shift
Once Fleetshift has finished running a shift on a set of targets (the agent
job completed successfully), you can open one pull request per completed
target. Only targets whose job is complete are eligible for a PR.
> **Mutating action — explicit confirmation required.** Do **not** call
> `fleetshift:create-prs` until the user has explicitly confirmed how many PRs
> will be opened and for which targets. Ask for a clear "yes" first.
## Prerequisites
- The Portal CLI is authenticated: `npx @spotify/portal-cli auth show`.
If it isn't, ask the user to run `npx @spotify/portal-cli auth login`.
If `auth list` shows more than one Portal instance, confirm which one
with the user and pass `--instance <name>` on every call.
- If a Portal MCP server is connected instead, the same actions are
available as `fleetshift_<action>` tools (for example
`fleetshift_list-shifts`). They take the same input, but have no
`--dry-run`, so the confirmation steps below matter even more.
- Never pass `--yes`. It confirms actions marked destructive (`stop-jobs`,
`close-prs`, `delete-shift`). Only the `fleetshift-run-shift` kill switch uses it,
for `stop-jobs`.
- The shift has been run and at least one target reached a completed state
(see the `fleetshift-run-shift` skill).
## 1. Confirm PRs can be opened (read-only)
Check the shift's status breakdown and the individual targets before creating
anything:
```bash
# Aggregate: how many targets are jobComplete vs still running/failed
npx @spotify/portal-cli actions fleetshift:get-shift --input '{"shiftName":"<shift-name>"}' --json
# Only the completed targets (the ones PRs would be opened for)
npx @spotify/portal-cli actions fleetshift:get-shift-targets --input '{"shiftName":"<shift-name>","status":"jobComplete"}' --json
# If you have a job identifier from a prior run, you can confirm its status too
npx @spotify/portal-cli actions fleetshift:get-job-status --input '{"jobIdentifier":"<job-identifier>"}' --json
```
- Skip targets that are `jobRunning` or `jobFailed`. They aren't PR-eligible.
- If a target already has a `prUrl`, it is already covered; don't open a
duplicate.
## 2. Confirm explicitly, then create (mutating)
Pass the eligible targets explicitly in `targetIds`, so only those get PRs.
Validate the call with `--dry-run` first, which opens nothing:
```bash
npx @spotify/portal-cli actions fleetshift:create-prs --input '{"shiftName":"<shift-name>","targetIds":["component:default/my-service"]}' --dry-run --json
```
Present the exact number of PRs and the affected repositories to the user and
get explicit confirmation. Then run the same command without `--dry-run`:
```bash
npx @spotify/portal-cli actions fleetshift:create-prs --input '{"shiftName":"<shift-name>","targetIds":["component:default/my-service"]}' --json
```
- Confirm the count with the user first (e.g. "This opens 12 PRs — proceed?").
- `create-prs` only **opens** PRs. It never closes, merges, or reverts PRs or
branch changes.
## 3. Verify and report
Confirm each successfully created PR and report it:
```bash
npx @spotify/portal-cli actions fleetshift:get-shift-targets --input '{"shiftName":"<shift-name>","status":"jobComplete"}' --json
```
Link each opened PR (`prUrl`/`prNumber`). State clearly that the PRs are
created but not merged, and that the user must review/merge them.
## Boundaries
- **No destructive actions.** This skill never calls `stop-jobs`,
`close-prs`, `delete-shift`, or any action that removes or reverts work.
- If a target is `jobFailed` and the user wants it fixed, point to the
`fleetshift-troubleshoot-shift` skill (diagnosis) and `fleetshift-run-shift` (re-run) — both
keep their own explicit confirmation requirement.From spotify/portal-ai-plugins, Apache-2.0.
More from spotify/portal-ai-plugins
- 0.834score
fleetshift-check-shift
spotify
Read-only status check on Fleetshift shifts: what ran, which targets finished/failed, which PRs were opened and their state.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.834score
fleetshift-troubleshoot-shift
spotify
Diagnose why a Fleetshift shift or job failed: find failed targets, pull their job logs and status, and explain the root cause and the safe next step.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.834score
fleetshift-run-shift
spotify
Run an existing Fleetshift shift against its targets: triggers the agent jobs and monitors them to completion with a bounded wait.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.834score
fleetshift-create-shift
spotify
Create a Fleetshift shift definition that runs an agent to apply transformations across a set of repository targets.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.788score
feedback
spotify
Submit feedback about the Spotify Portal CLI to the Portal team.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.788score
service
spotify
Inspect a Spotify Portal service's owner, team, on-call contact, Slack channel, runbook, build, deployment, runtime, incidents, or documentation.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.788score
setup
spotify
Set up, authenticate, and verify Spotify Portal for the current coding agent.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.788score
search
spotify
Search Spotify Portal's software catalog and technical documentation using natural language.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.788score
actions
spotify
Discover, inspect, and invoke Spotify Portal actions through the Portal CLI.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.788score
doctor
spotify
Diagnose Spotify Portal plugin, CLI, authentication, and action access without changing state.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.782score
bulk-reader
spotify
Delegate bulk file reading to AiKA.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.779score
code-writer
spotify
Delegate boilerplate code generation to AiKA.
SkillBFreshness: B★ 2.5KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 2,516
- Forks
- 202
- Open issues
- 11
- Last commit (this folder)
- Oct 21, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/spotify/portal-ai-plugins
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from spotify
- 0.834score
fleetshift-create-shift
spotify
Create a Fleetshift shift definition that runs an agent to apply transformations across a set of repository targets.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.834score
fleetshift-check-shift
spotify
Read-only status check on Fleetshift shifts: what ran, which targets finished/failed, which PRs were opened and their state.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.834score
fleetshift-troubleshoot-shift
spotify
Diagnose why a Fleetshift shift or job failed: find failed targets, pull their job logs and status, and explain the root cause and the safe next step.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.834score
fleetshift-run-shift
spotify
Run an existing Fleetshift shift against its targets: triggers the agent jobs and monitors them to completion with a bounded wait.
SkillAFreshness: A★ 2.5KClaude Code +9 - 0.788score
service
spotify
Inspect a Spotify Portal service's owner, team, on-call contact, Slack channel, runbook, build, deployment, runtime, incidents, or documentation.
SkillBFreshness: B★ 2.5KClaude Code +9 - 0.788score
actions
spotify
Discover, inspect, and invoke Spotify Portal actions through the Portal CLI.
SkillBFreshness: B★ 2.5KClaude Code +9
Cite this page
fleetshift-create-prs skill. Agent Mart. https://agentmart.dev/skills/spotify-fleetshift-create-prs (last updated 2026-10-24)