Lobster
Lobster workflow runtime for deterministic pipelines with approval gates. Use when: (1) Running multi-step automations that need human approval before side effects, (2) Monitoring PRs/issues for chang
Lobster workflow runtime for deterministic pipelines with approval gates. Use when: (1) Running multi-step automations that need human approval before side effects, (2) Monitoring PRs/issues for chang
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Contribute: Source code & PRs welcome at github.com/guwidoe/lobster-skill
Workflow runtime for AI agents — typed pipelines with approval gates.
# Set alias (adjust path to your install location) LOBSTER="node /home/molt/clawd/tools/lobster/bin/lobster.js"Or install globally: npm install -g @clawdbot/lobster
Then use: lobster '<pipeline>'
# Run pipeline (human mode - pretty output) $LOBSTER '<pipeline>'Run pipeline (tool mode - JSON envelope for integration)
$LOBSTER run --mode tool '<pipeline>'
Run workflow file
$LOBSTER run path/to/workflow.lobster
Resume after approval
$LOBSTER resume --token "<token>" --approve yes|no
List commands/workflows
$LOBSTER commands.list $LOBSTER workflows.list
| Command | Purpose |
|---|---|
| Run shell, parse stdout as JSON |
| Filter objects |
| Project fields |
| Take first N items |
| Sort items |
| Group by key |
| Remove duplicates |
| Transform items |
| Render templates |
| Halt for approval |
| Compare to last run (stateful) |
/ | Read/write persistent state |
/ | Render output |
# Monitor PR for changes (stateful - remembers last state) $LOBSTER "workflows.run --name github.pr.monitor --args-json '{\"repo\":\"owner/repo\",\"pr\":123}'"Monitor PR and emit message only on change
$LOBSTER "workflows.run --name github.pr.monitor.notify --args-json '{"repo":"owner/repo","pr":123}'"
When a pipeline hits
approve, it returns:
{ "status": "needs_approval", "requiresApproval": { "prompt": "Send 3 emails?", "items": [...], "resumeToken": "eyJ..." } }
To continue:
$LOBSTER resume --token "eyJ..." --approve yes
# List recent PRs, filter merged, show as table $LOBSTER 'exec --json --shell "gh pr list --repo owner/repo --json number,title,state --limit 20" | where "state=MERGED" | table'Get data, require approval, then process
$LOBSTER run --mode tool 'exec --json --shell "echo [{"id":1},{"id":2}]" | approve --prompt "Process these?" | pick id | json'
Diff against last run (only emit on change)
$LOBSTER 'exec --json --shell "gh pr view 123 --repo o/r --json state,title" | diff.last --key "pr:o/r#123" | json'
YAML/JSON files with steps, conditions, and approval gates:
name: pr-review-reminder steps: - id: fetch command: gh pr list --repo ${repo} --json number,title,reviewDecision - id: filter command: jq '[.[] | select(.reviewDecision == "")]' stdin: $fetch.stdout - id: notify command: echo "PRs needing review:" && cat stdin: $filter.stdout approval: required
Run:
$LOBSTER run workflow.lobster --args-json '{"repo":"owner/repo"}'
Lobster can call Clawdbot tools via
clawd.invoke:
$LOBSTER 'clawd.invoke --tool message --action send --args-json "{\"target\":\"123\",\"message\":\"hello\"}"'
Requires
CLAWD_URL and CLAWD_TOKEN environment variables.
Lobster stores state in
~/.lobster/state/ by default. Override with LOBSTER_STATE_DIR.No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.