skills/reflex-scripting/SKILL.md
Use this skill for Reflex library commands and scripting — direct one-off commands (reflex xlsx, reflex rest, reflex csv, ...), inline Lua/Python scripts, and saved reusable scripts.
npx skillsauth add fruffel/reflex-browser-skill reflex-scriptingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when you need to use Reflex libraries — whether through direct CLI commands, inline scripts, or saved script files. This covers:
reflex xlsx open data.xlsx sheet Sheet1 get-cell 1 1 — one-liner operations without writing any scriptreflex lua exec "..." — complex one-off logic without creating a filereflex lua run <file> — reusable automation the user can run againDefault language: Lua. Use Python only when the user explicitly asks for Python or there is a clear reason not to use Lua.
reflex-browser firstreflex-browserStart with the reflex-browser skill first. Use reflex browser ... to inspect the site, validate selectors, and prove the flow. Come back here when:
Carry forward all discovered selectors, refs, URLs, and page transitions — do not restart discovery.
Start directly here. Choose the simplest approach that solves the task:
reflex lua exec "...") if it needs loops, conditions, or multiple library callsreflex lua run <file>) only if the user wants something reusableRun library methods directly from the command line. The CLI compiles the chain into a script and executes it — no script file needed.
Syntax: reflex <library> <method> [args] [method] [args] ...
# Read a cell from an Excel file
reflex xlsx open data.xlsx sheet Sheet1 get-cell 1 1
# Make a GET request
reflex rest get https://api.example.com/data
# Chain multiple operations
reflex xlsx open report.xlsx sheet Summary get-cell 1 2
Each chained method call operates on the return value of the previous one. For example, xlsx open ... sheet ... get-cell ... chains: Xlsx.open(path) → .sheet(name) → .getCell(col, row).
Use direct commands when the task is a single operation or a short chain. If you need loops or conditions, escalate to inline script.
reflex lua exec)For complex one-off logic that does not need a saved file:
reflex lua exec "
local wb = Xlsx.open('data.xlsx')
local sheet = wb.sheet('Sheet1')
local value = sheet.getCell(1, 1)
wb.close()
Xlsx.close()
return value
"
Use inline scripts when the task needs loops, branching, retries, multiple library calls, or composition — but the user did not ask for a saved file.
reflex lua run)For reusable automation the user wants to run again:
reflex lua run scripts/export-data.lua
Only create a saved script file when the user explicitly asks for a reusable script or the task clearly benefits from reuse.
Find available libraries and their methods:
# List all libraries available for Lua
reflex lua libs
# List all libraries available for Python
reflex python libs
# Get help for a specific library (shows methods, arguments, chaining, examples)
reflex help <library>
reflex lua help <library>
Check library help once when you need exact method signatures. Do not run broad capability audits before you have a concrete task.
reflex help <library> as the syntax source of truth for library methods.css= and xpath=.reflex lua exec ... first.When a script automates a browser flow discovered via the reflex-browser skill:
css=.browser.source() or whole-page regex parsing.reflex browser lua only after the browser flow is already stable; treat its output as a trace to refactor, not the final script.Csv is the simplest path for tabular output; use it when the user does not specifically require .xlsx..xlsx, check whether Xlsx requires a template and decide the template path early.Fl.write(path, content) handles JSON, Markdown, or plain text output.reflex help <library> for the one concrete library you need nextreflex lua libs only when the correct library is genuinely unknownreflex-browser skill).reflex lua exec "..." when you need loops, branching, or multiple calls.reflex python ....reflex lua exec would suffice.reflex lua libs, repeated help calls) before trying the task.reflex browser ....css=, xpath=) when moving discovered selectors into scripts.skills/reflex-browser/examples/page-to-export-one-off.mdskills/reflex-browser/examples/careers-to-xlsx-lua.mdtools
Use this skill for browser automation through Reflex Agent using the reflex CLI, including session handling, command flow, selectors, screenshot-assisted discovery, visual QA, and protocol-safe request patterns.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.