Install
openclaw skills install @h-mascot/superada-skill-geordiUse when turning a coding goal or PRD into bounded build missions, running those missions through Codex, Droid, Cursor, or Claude Code, verifying outcomes separately, and preserving receipts. Geordi merges the former build-pipeline discipline with the installable mission runner.
openclaw skills install @h-mascot/superada-skill-geordiGeordi is the builder workflow for goal-driven coding work. It combines build-pipeline discipline - context first, implementation second, independent verification, retries, and receipts - with an installable CLI that can run bounded missions through Codex, Droid, Cursor Agent, or Claude Code.
The machinery is intentionally plain: define a goal, add missions, run one runtime at a time, verify with real commands, and leave logs behind. Less mysticism. More receipts.
AGENTS.md context before every mission prompt..geordi/state/ so runs can be resumed or audited.From the source repo:
git clone https://github.com/OWNER/REPO.git /tmp/geordi-source
bash /tmp/geordi-source/geordi/install.sh
Or one line, pinned to the public release. Set GEORDI_TARBALL_URL to the matching source archive so streamed installs can locate the bundle:
GEORDI_TARBALL_URL=https://codeload.github.com/OWNER/REPO/tar.gz/refs/tags/v1.2.0 \
bash <(curl -fsSL https://raw.githubusercontent.com/OWNER/REPO/v1.2.0/geordi/install.sh)
The installer copies the bundle into ~/.geordi, creates ~/.local/bin/geordi, and prints a verification command.
cd /path/to/repo
geordi init --goal "Ship dark mode settings" --mode codex
geordi mission add "Add settings toggle" --accept "npm test"
geordi run --mode codex
geordi status
Pick any of the four supported runtimes. Use --model MODEL_ID where the runtime supports it (Codex, Droid, Cursor, Claude).
Geordi requires a global AGENTS.md file by default. This keeps mission runs aligned with the operator's shared agent rules before project-specific context is applied.
Default path:
~/.agents/AGENTS.md
Override when needed:
GEORDI_AGENTS_FILE=/path/to/AGENTS.md geordi run --mode codex
To intentionally run without a global file:
GEORDI_REQUIRE_AGENTS=0 geordi run --mode codex
geordi doctor checks the global file unless GEORDI_REQUIRE_AGENTS=0 is set.
Project-local defaults can live in .geordi.env:
GEORDI_CODEX_ARGS="exec --full-auto"
GEORDI_DROID_AUTO="medium"
GEORDI_CURSOR_ARGS="-p --trust --output-format text"
GEORDI_CLAUDE_ARGS="-p --dangerously-skip-permissions --output-format text"
Each mission should include:
Example:
geordi mission add \
"Add CSV export to reports page" \
--accept "npm run test:unit -- reports" \
--scope "Only reports UI and export helper files. Do not modify auth."
Good missions are small enough to verify in one command. If a mission needs five unrelated acceptance commands, split it.
Geordi dispatches missions to one of four supported runtimes. Pick the one that fits the task and the model you want to use.
Uses codex exec from the current git repository, with optional --model.
Good for:
Default command shape:
codex exec --full-auto "<mission prompt>"
With --model:
codex exec --full-auto --model "$MODEL" "<mission prompt>"
Override with:
GEORDI_CODEX_ARGS="exec --full-auto" geordi run --mode codex --model "gpt-5"
cd /path/to/repo
geordi init --goal "Ship dark mode settings" --mode codex
geordi mission add "Add settings toggle" --accept "npm test"
geordi run --mode codex --model "gpt-5"
Uses droid exec with optional --model and --auto settings.
Good for:
Default command shape:
droid exec --auto medium --cwd "$PWD" -m "$MODEL" "<mission prompt>"
Override with:
GEORDI_DROID_AUTO=low geordi run --mode droid --model "custom:Your-Model-0"
cd /path/to/repo
geordi init --goal "Fix checkout form validation" --mode droid
geordi mission add "Repair validation and errors" --accept "npm test"
geordi run --mode droid --model "custom:Your-Model-0"
Uses the cursor-agent CLI in headless print mode.
Good for:
Default command shape:
cursor-agent -p --trust --output-format text --model "$MODEL" "<mission prompt>"
-p runs Cursor in headless print mode. --trust auto-accepts the workspace trust dialog so the run is non-interactive. --output-format text produces a clean text receipt for the log file.
Override with:
GEORDI_CURSOR_ARGS="-p --trust --output-format stream-json" geordi run --mode cursor --model "gpt-5"
cd /path/to/repo
geordi init --goal "Refactor settings panel into shared component" --mode cursor
geordi mission add "Extract SettingsPanel and add unit tests" --accept "npm test -- settings"
geordi run --mode cursor --model "gpt-5"
Uses the claude CLI in non-interactive print mode.
Good for:
CLAUDE.md or .claude/ configDefault command shape:
claude -p --dangerously-skip-permissions --output-format text --model "$MODEL" "<mission prompt>"
-p runs Claude in non-interactive print mode. --dangerously-skip-permissions is intended for sandboxed/headless runs where the agent should not be blocked on permission prompts. --output-format text produces a clean text receipt for the log file.
Override with:
GEORDI_CLAUDE_ARGS="-p --permission-mode bypassPermissions --output-format text" geordi run --mode claude --model "sonnet"
cd /path/to/repo
geordi init --goal "Add OAuth refresh-token rotation" --mode claude
geordi mission add "Implement refresh-token rotation and tests" --accept "npm test -- auth"
geordi run --mode claude --model "sonnet"
| Mode | Best for | Authentication | Model flag |
|---|---|---|---|
codex | Codex-default flows | Codex login | --model |
droid | BYOK / custom endpoints | Droid login | --model |
cursor | Cursor editor workflows | Cursor login | --model |
claude | Claude Code workflows | Claude login | --model |
If a runtime is missing, install it and re-run geordi doctor. The CLI does not bundle any of these agents. Cursor can also fail in unattended shells when its OS credential store is locked or no login exists; run a one-time interactive Cursor Agent login, then retry.
The core build-pipeline rule remains: load context before implementation.
Before running a non-trivial mission, collect:
AGENTS.md, CLAUDE.md, or other repo agent instructions.The bundled helper scripts can support this pattern:
~/.geordi/scripts/load-context.sh /path/to/repo
~/.geordi/scripts/update-context.sh /path/to/repo "Added CSV export with unit tests; npm test passes."
If those scripts do not match a repo, do the same manually and put the important context directly into the mission title/scope.
Inside the target repo:
.geordi/
goal.md
missions.jsonl
state/
run-YYYYmmdd-HHMMSS/
mission-001.prompt.md
mission-001.log
mission-001.verify.log
git-before.txt
git-after.txt
summary.md
Use Geordi when the work is larger than a single prompt but smaller than a full project-management system:
geordi name.Do not use Geordi for:
geordi doctor
Checks:
codex, droid, cursor-agent, or claude; --mode cursor checks cursor-agent)To check a specific runtime:
geordi doctor --mode codex
geordi doctor --mode cursor
geordi doctor --mode claude
git status --short before committing.cursor-agent is a separate package from the Cursor editor; install it from the Cursor docs before using --mode cursor.cursor-agent exists but fails before the prompt runs, unlock the OS credential store or refresh Cursor Agent login interactively.geordi --version prints the expected version.geordi doctor passes inside a git repo.geordi init creates .geordi/goal.md and .geordi/missions.jsonl.geordi mission add appends valid JSONL.geordi run writes prompt/log/verification receipts..geordi/state/*/*.verify.log.codex, droid, cursor-agent, or claude) is on PATH before geordi run.