Skip to content
Agentmart
Submit a tool

debug-expanso-job

Diagnose an Expanso job that is degraded, failed, stuck running, never scheduled, or completed without output.

Skill by expanso-io

IndexedMIT
Write a review

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/expanso-io-debug-expanso-job

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.

We use your email only for this newsletter. Privacy

About

Diagnose an Expanso job that is degraded, failed, stuck running, never scheduled, or completed without output. Use when the user reports an Expanso pipeline or job not working, a degraded job state, repeated executions, missing output, a codec error, or asks why their Expanso job did not run.

Use cases: data

No 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/debug-expanso-job

What's inside

Skill name
debug-expanso-job
Description
Diagnose an Expanso job that is degraded, failed, stuck running, never scheduled, or completed without output. Use when the user reports an Expanso pipeline or job not working, a degraded job state, repeated executions, missing output, a codec error, or asks why their Expanso job did not run.
License
MIT
Instructions
45 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Debug an Expanso job

Work from evidence. Collect the state first, form one hypothesis, change one
thing, redeploy, and check again. Show the user your reasoning as you go.

## Step 1: collect

```bash
expanso-cli job describe <job-name>
expanso-cli execution list --job-id <job-id>
expanso-cli job logs <job-name>
expanso-cli node list
```

`--job-id` is the only accepted flag on `execution list`. Also get the job spec
that was deployed, and run it through `expanso-edge validate`: a file accepted
by `expanso-cli job validate --offline` can still have an invalid pipeline
config.

## Step 2: match the symptom

| Symptom | Likely cause | Check or fix |
|---|---|---|
| No executions | No connected node matches the selector | `node list`; node labels vs `selector.match_labels`. |
| Pipeline fails to build on the node | Hyphen in a label key | Use underscores (`pipeline_role`). |
| `degraded`, log says `codec was not recognised: json_object` | `stdout` output with `codec: json_object` | Change to `stdout: {}`. |
| `degraded` or `failed` with a config error | Pipeline config invalid | Run `expanso-edge validate`; fix with the `validate-expanso-pipeline` skill. |
| `running`, many executions in seconds | Bounded job failing and restarting | Add top-level `restart_policy: never`, redeploy, then read the real error. |
| `completed`, no output | Input path, port or host not present **on the node**; input was `stdin` | Check the paths on the node itself; replace a `stdin` input. |
| Output written to an unexpected place | Paths resolve on the node, not the deploying machine | Look on the node. |
| Auth errors against a third-party API | Credential not set in the **node's** environment | Set it for the node agent, not in the deploying shell. |
| Fetch step fails with a confusing parse error downstream | HTTP error body parsed as data | Add an `errored()` guard right after the `http` processor (see `rss-feed-engine`). |
| Dedupe forgets on restart | `memory` cache | Use a `file` cache resource. |
| Native `qdrant` output reports success with 0 points | Known at v2.1.21: its id mapping could not read message fields | Write through Qdrant's REST API with `http_client`. |
| Deploy fails with `failed to read job specification file` | A URL was passed to `job deploy` | Download the file first, or pipe it with `-`. |

## Step 3: fix and prove

Make the smallest change that addresses the evidence, validate it with both
validators, redeploy, and repeat the checks in `deploy-expanso-job` Step 4 and
Step 5. Report what the evidence showed, what you changed, and whether the new
execution produced output at the destination. If it still fails, say what you
ruled out and what the next hypothesis is.

From expanso-io/skills.expanso.io, MIT.

More from expanso-io/skills.expanso.io

Signals

Stars
0
Forks
1
Open issues
0
Last commit (this folder)
Sep 26, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
Website
expanso.io
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from expanso-io

Cite this page

debug-expanso-job skill. Agent Mart. https://agentmart.dev/skills/expanso-io-debug-expanso-job (last updated 2026-10-24)