fleetshift-troubleshoot-shift
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.
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-troubleshoot-shift
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: debugging, incident-response
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-troubleshoot-shift
What's inside
- Skill name
fleetshift-troubleshoot-shift- Description
- 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. Read-only and safe to run anytime. Use when a shift run fails, a target ends in jobFailed/stopped, or a soundcheck check is still failing after a run.
- License
- Apache-2.0
- Instructions
- 100 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Troubleshoot a Fleetshift shift
This skill is **read-only**. It only inspects shift, target, job, and log
state to explain _why_ something failed — it never mutates, triggers, or
re-opens anything, and needs no confirmation. If a fix is needed, it hands off
to the mutating skills (`fleetshift-run-shift`, `fleetshift-create-prs`), which enforce their own
explicit confirmation.
Use this for:
- A target whose status is `jobFailed`, `stopped`, or `skipped`.
- A shift where the status breakdown shows failures.
- A soundcheck check that is still failing after a shift ran.
## 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`.
## Workflow (all read-only)
### 1. Identify the shift and failing targets
```bash
# Find the shift
npx @spotify/portal-cli actions fleetshift:list-shifts --input '{}' --json
# Its definition + aggregate status breakdown
npx @spotify/portal-cli actions fleetshift:get-shift --input '{"shiftName":"<shift-name>"}' --json
# The failing targets specifically
npx @spotify/portal-cli actions fleetshift:get-shift-targets --input '{"shiftName":"<shift-name>","status":"jobFailed"}' --json
```
### 2. Pull job status and logs for the failed targets
Fleetshift keeps job logs for 30 days. Check each failed target's
`updatedAt` (from `get-shift-targets`) first. If it's older than 30 days,
expect `get-job-logs` to return "No archived logs available": say the logs
have expired rather than guessing a cause, and offer a re-run of those
targets through `fleetshift-run-shift` to capture fresh logs.
`get-job-status` doesn't carry a failure reason, so the logs are the only
source of a cause.
For each failed (or stopped/skipped) target:
```bash
# Job detail: terminal state, timestamps, references
npx @spotify/portal-cli actions fleetshift:get-job-status --input '{"jobIdentifier":"<job-identifier>"}' --json
# Raw logs + human-readable summary for the target — the main diagnostic
npx @spotify/portal-cli actions fleetshift:get-job-logs --input '{"shiftName":"<shift-name>","targetId":"component:default/my-service"}' --json
```
Look for the concrete reason: agent error, repo access/permissions, build
failure, timeout, or a missing resource. Quote the relevant log lines in your
report.
### 3. Explain the root cause
Summarize per failed target:
- status and any error/summary from the job.
- the specific log excerpt that shows the cause.
- what that implies (e.g. "repo cannot be cloned — likely a permissions
problem in target X", "the agent exceeded the timeout", "the change was a
no-op").
If the failure is a soundcheck scenario, cross-check with
`fleetshift:find-shift-for-soundcheck` to confirm the shift actually matches
the failing checks before suggesting a re-run.
### 4. Recommend the safe next step
Do **not** perform it yourself — recommend one of:
- **Re-run the failed targets** → `fleetshift-run-shift` skill (requires explicit user
confirmation; consider re-running only the failed targets).
- **Open PRs** once a target is `jobComplete` → `fleetshift-create-prs` skill (requires
explicit user confirmation).
- **Check on the overall state** later → `fleetshift-check-shift` skill (read-only).
## Boundaries
- This skill never calls `create-shift`, `trigger-shift`, `create-prs`,
`stop-jobs`, `close-prs`, or `delete-shift`, and never mutates any state.
If a job needs stopping, hand off to the `fleetshift-run-shift` kill switch.
- If the diagnosis is inconclusive, say so plainly and suggest the user
review the linked `portalJobUrl` for the failed job.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-create-prs
spotify
Open pull requests from completed Fleetshift shift runs.
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.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
setup
spotify
Set up, authenticate, and verify Spotify Portal for the current coding agent.
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
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.788score
feedback
spotify
Submit feedback about the Spotify Portal CLI to the Portal team.
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.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-create-prs
spotify
Open pull requests from completed Fleetshift shift runs.
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
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
Cite this page
fleetshift-troubleshoot-shift skill. Agent Mart. https://agentmart.dev/skills/spotify-fleetshift-troubleshoot-shift (last updated 2026-10-24)