# lobster-jobs > Transform OpenClaw cron jobs into Lobster workflows. Analyze, inspect, and validate job migrations. Use when converting automations to deterministic, approval-gated workflows with resume capabilities. - Author: Adam Delisi - Repository: massiveadam/skills - Version: 20260131183437 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/massiveadam/skills - Web: https://mule.run/skillshub/@@massiveadam/skills~lobster-jobs:20260131183437 --- --- name: lobster-jobs description: Transform OpenClaw cron jobs into Lobster workflows. Analyze, inspect, and validate job migrations. Use when converting automations to deterministic, approval-gated workflows with resume capabilities. metadata: openclaw: emoji: 🦞 requires: bins: ["openclaw", "python3"] --- # lobster-jobs Transform OpenClaw cron jobs into Lobster workflows with approval gates and resumable execution. ## Purpose OpenClaw cron jobs are either: - **systemEvent**: Simple shell commands (fully deterministic) - **agentTurn**: Natural language instructions spawning AI agents (flexible but token-heavy) Lobster workflows offer: - **Deterministic execution**: No LLM re-planning each step - **Approval gates**: Hard stops requiring explicit user approval - **Stateful execution**: Remembers cursors/checkpoints - **Resumability**: Pauses and resumes exactly where left off This skill helps analyze existing cron jobs and transform them into Lobster workflows. ## Commands ### Tier 1 (Available Now) #### `lobster-jobs list` List all cron jobs with their Lobster readiness score. Output categories: - ✅ **Fully Migratable**: Simple shell commands (systemEvent) - 🟡 **Partial Migration**: Mixed deterministic + LLM steps (agentTurn) - ❌ **Not Migratable**: Heavy LLM reasoning required #### `lobster-jobs inspect ` Inspect a specific cron job with detailed migration assessment. Shows: - Job metadata (schedule, target, payload type) - Lobster migration status and reason - Payload preview - Migration recommendation #### `lobster-jobs validate ` Validate a Lobster workflow YAML file against schema. Checks: - Required fields (name, steps) - Step structure (id, command) - Approval gate syntax - Condition syntax ### Tier 2 (Available Now) #### `lobster-jobs convert ` Transform a cron job into a Lobster workflow. ```bash lobster-jobs convert 17fe68ca lobster-jobs convert 17fe68ca --output-dir ~/workflows lobster-jobs convert 17fe68ca --force # Overwrite existing ``` Generates: - `.lobster` workflow file in `~/.lobster/workflows/` - Extracts commands from systemEvent or agentTurn payloads - Auto-validates generated workflow Options: - `--output-dir, -o`: Custom output directory - `--force, -f`: Overwrite existing workflow - `--keep-on-error`: Keep file even if validation fails #### `lobster-jobs new ` Create a new Lobster workflow from scratch using templates. ```bash lobster-jobs new my-workflow lobster-jobs new my-workflow --template with-approval lobster-jobs new my-workflow --template stateful ``` Templates: - `simple-shell`: Basic command execution - `with-approval`: Approval gate workflow - `stateful`: Workflow with cursor/state tracking ## Installation ```bash # Add to PATH export PATH="$PATH:/home/art/niemand/skills/lobster-jobs/bin" # Or create symlink ln -s /home/art/niemand/skills/lobster-jobs/bin/lobster-jobs ~/.local/bin/ ``` ## Quick Start ```bash # See all your cron jobs and their migration status lobster-jobs list # Inspect a specific job lobster-jobs inspect 17fe68ca # Convert a job to Lobster workflow lobster-jobs convert 17fe68ca # Create a new workflow from template lobster-jobs new my-workflow --template with-approval # Validate a workflow file lobster-jobs validate ~/.lobster/workflows/my-workflow.lobster ``` ## Workflow File Format ```yaml name: my-workflow description: Optional description steps: - id: fetch_data command: some-cli fetch --json - id: process command: some-cli process stdin: $fetch_data.stdout - id: approve_send command: approve --prompt "Send notification?" approval: required - id: send command: message.send --channel telegram --text "Done!" condition: $approve_send.approved ``` ## Migration Strategy ### Wrapper Approach (Recommended) Keep cron as scheduler, change payload to call Lobster: ```json { "payload": { "kind": "systemEvent", "text": "lobster run ~/.lobster/workflows/my-workflow.lobster" } } ``` Benefits: - Rollback is trivial (revert payload) - Incremental migration - Cron scheduling already works ## Handling LLM Judgment For jobs needing both deterministic steps and LLM reasoning: ```yaml steps: - id: gather command: gh issue list --json title,body - id: triage command: clawd.invoke prompt: "Classify these issues by urgency" - id: notify command: telegram-send ``` The workflow is deterministic; the LLM is a black-box step. ## Edge Cases | Issue | Handling | |-------|----------| | **Idempotency** | Workflows track step completion; restart-safe | | **Approval timeouts** | Configurable timeout with default action | | **Secret handling** | Environment variables or 1Password refs | | **Partial failures** | `convert` validates before writing | ## References - Lobster: https://github.com/openclaw/lobster - Lobster VISION: https://github.com/openclaw/lobster/blob/main/VISION.md