Agent skills
faucet ships Agent Skills that teach coding agents (Claude Code, Codex and any tool that reads the format) to work with faucet:
| Skill | Use it to |
|---|---|
faucet-pipelines |
Write or change a pipeline config and get it through faucet validate. |
faucet-debug |
Find out why a run failed, is slow or lagging, or wrote the wrong rows. |
faucet-templates |
Run a Template Hub template, or write, test and publish one. |
faucet-connector |
Build a faucet-source-* or faucet-sink-* crate on faucet-core. |
faucet-migrate |
Move a Singer-protocol or other ELT setup to faucet and cut over safely. |
faucet-deploy |
Run faucet in production with run, schedule or serve. |
faucet-api |
Drive faucet serve from another service: templates, runs, polling and errors over HTTP. |
faucet-secrets |
Keep credentials out of run responses, run history and logs, and pick the right mechanism for each. |
faucet-verify |
Prove a copy matches its source, table by table, before sign-off or cutover. |
faucet-tune |
Find the bottleneck and make a pipeline fast enough, one measured change at a time. |
faucet-operate |
Keep a running faucet serve or cluster healthy: health, stuck runs, members, upgrades, history. |
The skills live in the faucet-stream repository under
skills/ and
are released with the engine: the plugin’s version is the faucet-cli version.
Install
Section titled “Install”Claude Code
/plugin marketplace add faucet-hq/faucet-stream/plugin install faucet@faucetFrom a shell, --sparse keeps the checkout to the two directories the plugin
needs:
claude plugin marketplace add faucet-hq/faucet-stream --sparse .claude-plugin skillsclaude plugin install faucet@faucetCodex
codex plugin marketplace add faucet-hq/faucet-streamcodex plugin add faucet@faucetAny agent, through the skills registry
npx -y skills add faucet-hq/faucet-streamInstalled plugins update when the plugin version changes, which is once per
faucet release. To follow one release exactly, add the marketplace at its tag:
faucet-hq/faucet-stream@faucet-cli-v<version>.
The skills used to live in faucet-hq/faucet-skills, under the same
marketplace name. Remove that marketplace first
(/plugin marketplace remove faucet), then add this one.
The agent also needs a faucet binary; see Installation,
and Pinning the faucet version for how a project
declares which one.
Why the skills stay correct
Section titled “Why the skills stay correct”Skills that copy facts out of the docs go stale with the next release. These don’t carry version-specific facts at all:
- The project’s faucet is the authority. Each skill’s first step finds the
project’s pin (
mise.toml,requires_faucet) and uses that binary, the pinned container image, or installs that version. - Facts come from that binary. Which connectors and blocks exist, config
keys, types, defaults and flags come from
faucet list,faucet schemaand--help; a starting config fromfaucet init; the verdict fromfaucet validateandfaucet doctor. A slim build only offers what it compiled in, and the skills never assume a connector exists. - Behaviour is documented here. Skills link to this site for how the dead letter queue, state, delivery guarantees and the rest work.
- Examples are tested. Skills point at the configs in
cli/examples/, which CI validates on every change. A CI check also fails when a connector, write mode, mirror mode or top-level config block has no example there. - Configs record what they were written for. When a config passes
validation, the skill sets
requires_faucetto that faucet’s minor version, so an older binary refuses it instead of misreading it.
Contributing
Section titled “Contributing”Edit the skills in skills/ of the faucet-stream repository; the rules for
their content are in
skills/README.md.
Before opening a pull request:
python3 scripts/check_skills.py --faucet faucetpython3 scripts/example-coverage.py