debug-expanso-job
Diagnose an Expanso job that is degraded, failed, stuck running, never scheduled, or completed without output.
Skill by expanso-io
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.
About
Use cases: data
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/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
- 0.570score
find-expanso-skill
expanso-io
Find an existing Expanso job or pipeline recipe before writing one from scratch, and report honestly how far it has been proven.
SkillAFreshness: AClaude Code +9 - 0.570score
build-expanso-pipeline
expanso-io
Write or adapt an Expanso pipeline job spec (YAML with type pipeline and a config block of input, Bloblang mapping processors and output).
SkillAFreshness: AClaude Code +9 - 0.565score
validate-expanso-pipeline
expanso-io
Validate an Expanso pipeline job spec with both expanso-edge validate and expanso-cli job validate --offline, explain what each result does and does not…
SkillAFreshness: AClaude Code +9 - 0.565score
deploy-expanso-job
expanso-io
Install the Expanso CLIs, connect to Expanso Cloud, register an edge node, deploy a pipeline job with expanso-cli and confirm it actually executed.
SkillAFreshness: AClaude Code +9 - 0.514score
expanso-enforce-schema
expanso-io
Schema validation with dead-letter queue for invalid records
SkillBFreshness: BClaude Code +9 - 0.514score
expanso-dead-letter-queue
expanso-io
Handle failed messages with dead-letter queue pattern and retry logic
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-encrypt-data
expanso-io
Field-level encryption for sensitive data fields
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-circuit-breakers
expanso-io
Circuit breaker pattern for downstream resilience
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-content-routing
expanso-io
Route messages based on content fields
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-deduplicate-events
expanso-io
Event deduplication using content hashing
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-aggregate-time-windows
expanso-io
Time-window aggregations for metrics and analytics
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-content-splitting
expanso-io
Split messages to multiple targets based on content
SkillBFreshness: BClaude Code +9
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
- Repository
- github.com/expanso-io/skills.expanso.io
- Website
- expanso.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from expanso-io
- 0.570score
build-expanso-pipeline
expanso-io
Write or adapt an Expanso pipeline job spec (YAML with type pipeline and a config block of input, Bloblang mapping processors and output).
SkillAFreshness: AClaude Code +9 - 0.570score
find-expanso-skill
expanso-io
Find an existing Expanso job or pipeline recipe before writing one from scratch, and report honestly how far it has been proven.
SkillAFreshness: AClaude Code +9 - 0.565score
deploy-expanso-job
expanso-io
Install the Expanso CLIs, connect to Expanso Cloud, register an edge node, deploy a pipeline job with expanso-cli and confirm it actually executed.
SkillAFreshness: AClaude Code +9 - 0.565score
validate-expanso-pipeline
expanso-io
Validate an Expanso pipeline job spec with both expanso-edge validate and expanso-cli job validate --offline, explain what each result does and does not…
SkillAFreshness: AClaude Code +9 - 0.514score
expanso-dead-letter-queue
expanso-io
Handle failed messages with dead-letter queue pattern and retry logic
SkillBFreshness: BClaude Code +9 - 0.514score
expanso-enforce-schema
expanso-io
Schema validation with dead-letter queue for invalid records
SkillBFreshness: BClaude Code +9
Cite this page
debug-expanso-job skill. Agent Mart. https://agentmart.dev/skills/expanso-io-debug-expanso-job (last updated 2026-10-24)