build-expanso-pipeline
Write or adapt an Expanso pipeline job spec (YAML with type pipeline and a config block of input, Bloblang mapping processors and output).
Skill by expanso-io
Chalk Labs
Need help deploying build-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-build-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: data, writing
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 and code. Checked Nov 1, 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/build-expanso-pipeline/var/tmp/my-pipeline/in/input.jsonl/var/tmp/my-pipeline/out/output.jsonl
What's inside
- Skill name
build-expanso-pipeline- Description
- Write or adapt an Expanso pipeline job spec (YAML with type pipeline and a config block of input, Bloblang mapping processors and output). Use when the user asks to create, write, modify or convert an Expanso pipeline or job, write Bloblang for Expanso, move processing to the edge, filter, parse, dedupe, route or fan out data with Expanso, or turn a stdin skill into one a Cloud-scheduled node can run.
- License
- MIT
- Instructions
- 76 lines in SKILL.md · view on GitHub
Files (5)
- SKILL.md
- pipeline-template.yaml · assets/
- bloblang.md · references/
- components.md · references/
- job-spec.md · references/
SKILL.md (first lines)
# Build an Expanso pipeline
An Expanso pipeline is a **job spec**: a YAML file you submit to the Expanso
Cloud control plane, which schedules it onto one of the user's edge nodes. The
node runs it next to the data. Design for that: filter, reduce and redact on the
node, and send only what the destination needs.
## Before you write anything
1. Check for an existing job or recipe with the `find-expanso-skill` skill. A
proven job adapted beats a new file.
2. Pin down, asking only for what you can't infer:
- **Source**: where the data is, as seen *from the node* (a path on the
node, a port the node listens on, a broker, a URL the node can reach).
- **Shape**: one example record.
- **Destination**: where results go, and in what format.
- **Bounded or streaming**: a file or batch that ends, or a stream that
doesn't.
- **Which node**: the label that picks it (for example
`pipeline_role: logs`).
## Write the spec
Start from `assets/pipeline-template.yaml`. The required shape is in
`references/job-spec.md`. Rules that are easy to miss:
- Top level: `name`, `type: pipeline`, and a `config:` block holding `input`,
`pipeline.processors` and `output`. Add `selector.match_labels` to pin the
job to intended nodes, with **underscores, not hyphens, in label keys**.
- **Bounded input** (a file read once, `generate` with a `count`, a
`sql_select`): set top-level `restart_policy: never`. Otherwise a failing
bounded job is restarted every few seconds and keeps reading `running`.
- **No `stdin` input for a Cloud-scheduled job.** The remote node has no
connection to anyone's terminal. Use `file`, `http_server`, `generate`,
`mqtt`, `kafka`, an object store or a SQL input.
- **`stdout` output: write `stdout: {}`.** Do not add `codec: json_object`; it
passed both validators and was then rejected at runtime in testing.
- **Credentials**: never write a secret into the file. Reference an environment
variable that is set **on the node that runs the job**, not on the machine
that deploys it, and tell the user which variable to set where.
- Prefer components that have been run end to end. `references/components.md`
lists them with working snippets taken from the proven jobs.
## Write the Bloblang
Mappings are Bloblang. Follow `references/bloblang.md`. The errors the strict
validator reports most often in this catalog are:
- A variable read without its `$`: after `let line = ...`, write `$line`, not
`line` (a bare name is a field path).
- `let` or `meta` inside an `if`/`else`/`match` used as an **expression**
(`root = if ... { let x = ... }`). Hoist the `let` above the expression.
- Wrong argument counts: `filter`, `map_each`, `or`, `merge`, `re_find_all`
each take **one** argument; `filter`/`map_each` take a lambda
(`x -> x > 10`).
- `this.items[0]` style dynamic indexing: use `this.items.index(0)`.
- Methods that don't exist at v2.1.21, such as `ts_add`,
`format_timestamp_iso8601`, `parse_timestamp_iso8601`. Only use methods you
have seen validate; check <https://docs.expanso.io/guides/bloblang/methods>.
## Hand it over
1. Save the file (default `pipeline.yaml`) and put a header comment on it:
what it does, which values to edit, which env vars must be set on the node,
and what leaves the host.
2. Validate it with the `validate-expanso-pipeline` skill. Do not report the
pipeline as done until `expanso-edge validate` passes, and if the CLIs are
not installed, say plainly that it is unvalidated.
3. Tell the user, in one short list: what leaves the node and to where,
which env vars to set on the node, and that it has not been executed yet.
Offer the `deploy-expanso-job` skill to run it.
Never claim a pipeline "works" or "is production ready" on validation alone.
Validation is not execution.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.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.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
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
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
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 build-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
build-expanso-pipeline skill. Agent Mart. https://agentmart.dev/skills/expanso-io-build-expanso-pipeline (last updated 2026-10-24)