validate-expanso-pipeline
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…
Skill by expanso-io
Chalk Labs
Need help deploying validate-expanso-pipeline?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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-validate-expanso-pipeline
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: documents, devops, 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/validate-expanso-pipeline
What's inside
- Skill name
validate-expanso-pipeline- Description
- 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 prove, and fix the errors they report. Use when the user asks to validate, lint, check or fix an Expanso pipeline YAML, sees a VALIDATION_ERROR or bloblang syntax error from expanso-edge, or asks whether a pipeline is ready to deploy.
- License
- MIT
- Instructions
- 82 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Validate an Expanso pipeline
Expanso has **two validators, and they answer different questions**. Run both.
Many files pass the first and fail the second.
| Command | Question it answers |
|---|---|
| `expanso-cli job validate FILE --offline` | Is this a well-formed **job spec**? Does not check component configuration. |
| `expanso-edge validate FILE` | Is the inner **pipeline config** valid: known components, known fields, value types, Bloblang syntax and arity? |
Passing the first alone proves almost nothing about whether the pipeline will
build. Neither proves it will run: that needs a deploy and an execution check
(the `deploy-expanso-job` skill).
## Step 1: check the tools
```bash
expanso-edge version
expanso-cli version
```
Both use a `version` **subcommand**; there is no `--version` flag. If either is
missing, the install commands are in the `deploy-expanso-job` skill. Without
them you cannot validate: say so plainly and do not describe the file as valid.
In chat without a shell, review the file against the build skill's references
instead and label the result "reviewed, not validated".
## Step 2: run both
```bash
expanso-edge validate pipeline.yaml
expanso-cli job validate pipeline.yaml --offline
```
`expanso-edge validate` takes several files, or `-` to read stdin. Neither
command needs a control plane connection.
## Step 3: fix what `expanso-edge validate` reports
Errors name the line and the config path, for example
`(line 44) bloblang syntax error in pipeline.processors.0.mapping`. Fix them one
at a time and re-run. The common ones:
| Error text contains | Fix |
|---|---|
| ``Statement keyword `let` is not allowed inside an expression-position`` (or `meta`) | Move the `let`/`meta` statement above the `if`/`match` expression. |
| `filter() takes 1 argument(s)`, same for `map_each`, `or`, `merge`, `re_find_all` | Pass exactly one argument; `filter`/`map_each` take a lambda `x -> ...`. |
| `Dynamic array indexing requires .index() method` | `this.items.index(0)` instead of `this.items[0]`. |
| `Unrecognised method 'ts_add'` (or any `Unrecognised method`) | The method does not exist at this version. Find a supported one in the Bloblang docs; don't guess another name. |
| `parsing time "2h" as "2006-01-02T15:04:05..."` | A duration string was used where a timestamp is expected. |
| `Unknown field 'X' in <component>` | Remove the field or use the name the component's docs page gives. Seen in this catalog: `max_retries`, `backoff`, `compression`, `storage_class`, `time_partitioning`, `processors` in `broker`, `catch` in a `switch` case. |
| `Unknown component or field 'X'` | Misspelled or unsupported component. |
| `[output.switch] Expected object, got array` | The output `switch` is an object with `cases:`; only the processor `switch` is a bare list. |
| `Missing required field 'tools'` on `openai_chat_completion` | Add `tools: []`. |
| a numeric field given a string, often `${VAR}` | Numeric fields such as a rate-limit `count` or `batching.count` need a literal number. |
The `build-expanso-pipeline` skill's Bloblang and component reference files
have working forms of each construct.
## Step 4: check what neither validator checks
Read the file for these, which pass validation and still fail or misbehave:
- `stdin` input in a job that will run on a Cloud-scheduled node: nothing can
reach it. Replace the input.
- `codec: json_object` on `stdout`: rejected at runtime in testing. Use
`stdout: {}`.
- A bounded input without `restart_policy: never`: a failing job restarts
forever.
- A hyphen in a `selector.match_labels` key: the pipeline failed to build on
the node.
- A secret written into the file instead of a node environment variable.
- Paths, ports and env vars that exist on the user's laptop but not on the
node.
## Report
State both results separately, with the tool version, for example: "`expanso-edge
validate` v2.1.21: pass. `expanso-cli job validate --offline`: pass. Not yet
executed." Never summarize a job-spec-only pass as "valid".From expanso-io/skills.expanso.io, MIT.
More from expanso-io/skills.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
debug-expanso-job
expanso-io
Diagnose an Expanso job that is degraded, failed, stuck running, never scheduled, or completed without output.
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-db2-to-bigquery
expanso-io
Migrate financial transactions from DB2 to BigQuery
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-encryption-patterns
expanso-io
Multi-field encryption strategies (payment, PII, temporal)
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-cross-border-gdpr
expanso-io
GDPR compliance for cross-border data transfers
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-enrich-export
expanso-io
Enrich logs with metadata and export to storage
SkillBFreshness: BClaude Code +9 - 0.511score
expanso-encrypt-data
expanso-io
Field-level encryption for sensitive data fields
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
debug-expanso-job
expanso-io
Diagnose an Expanso job that is degraded, failed, stuck running, never scheduled, or completed without output.
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
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get validate-expanso-pipeline running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
validate-expanso-pipeline skill. Agent Mart. https://agentmart.dev/skills/expanso-io-validate-expanso-pipeline (last updated 2026-10-24)