--- name: "cli-anything-openrefine" description: "Use OpenRefine through an agent-native CLI for importing messy data, applying JSON operation histories, inspecting rows, exporting cleaned data, and managing session undo/redo." contributor: "CLI-Anything-Team" --- # CLI-Anything OpenRefine Use this skill when a task needs OpenRefine data cleaning, transformation, reusable operation histories, or CSV/TSV export from an automated agent workflow. ## Prerequisites Install the harness: ```bash cd openrefine/agent-harness python -m pip install -e . ``` Start OpenRefine before backend commands: ```bash openrefine -i 127.0.0.1 -p 3333 ``` Set a custom server with `OPENREFINE_URL=http://127.0.0.1:3333` or pass `--base-url`. ## Command Rules For Agents - Prefer `--json` on every one-shot command. - Use `--session ` for isolated task state. - Import or open a project before row, apply, export, undo, or redo commands. - Existing OpenRefine operation-history JSON can be passed directly to `data apply`. - Generated files are normal OpenRefine operation JSON and exported CSV/TSV data. ## Common Commands ```bash cli-anything-openrefine --json server ping cli-anything-openrefine --json project list cli-anything-openrefine --json --session run/session.json project import messy.csv --name cleanup cli-anything-openrefine --json --session run/session.json data rows --limit 10 cli-anything-openrefine --json ops text-transform run/trim.json --column Name --expression 'value.trim()' cli-anything-openrefine --json --session run/session.json data apply run/trim.json cli-anything-openrefine --json --session run/session.json data export run/clean.csv --format csv cli-anything-openrefine --json --session run/session.json session undo cli-anything-openrefine --json --session run/session.json session redo ``` ## REPL Run `cli-anything-openrefine` with no subcommand to enter the REPL. For automated user journeys, pipe newline-separated REPL commands through stdin. Redirected streams automatically use an ASCII-only input/output path while interactive terminals retain the Unicode banner, prompt history, and styling: ```bash printf 'help\nexit\n' | cli-anything-openrefine ``` Unicode payloads are rendered as reversible ASCII backslash escapes when the REPL is redirected, preventing legacy Windows output encodings from turning a successful command into a failed journey. Piped workflows return a nonzero exit status at `exit` or EOF if any command failed, allowing CI to detect an unsuccessful user journey. ## Error Handling When `--json` is set, command failures write a JSON object to stderr with `ok: false`.