| name | geo-pipeline |
| description | Entry point + orchestrator for the recomby-geo GEO (Generative Engine Optimization) workflow on OpenAI Codex CLI. Use when the user wants to run any stage of the GEO pipeline on a client folder โ intake, visibility audit, content-gap analysis, content brief, draft production, distribution, or monthly re-audit โ or asks to "run GEO", "audit AI search visibility", or "GEO this client". Codex has no bare slash commands, so this skill is how the 7 stages (that Claude Code runs as /01-intake โฆ /07-reaudit) are driven on Codex. It routes to the per-stage specs in this plugin's commands/ and enforces the orchestration rules. Does not auto-fill expert content โ the human-in-loop brief checkpoint is the moat. |
| license | Recomby.ai โ same terms as the recomby-geo plugin root LICENSE |
geo-pipeline โ Codex orchestrator for recomby-geo
On Claude Code each stage is a bare slash command (/01-intake โฆ
/07-reaudit). Codex CLI has no bare custom commands, so this skill is the
Codex entry point: it carries the orchestration rules and routes to the
per-stage specification files, which are the single source of truth
shared with the Claude Code side. Do not duplicate stage logic here โ read
the stage file and follow it.
Per-stage specs (read the one you're running):
commands/01-intake.md, commands/02-audit.md, commands/03-gap.md,
commands/04-content-brief.md, commands/05-production.md,
commands/06-distribution.md, commands/07-reaudit.md (relative to this
plugin's root). Full directory convention + dependency graph:
orchestrator/run.md.
How to run a stage on Codex
-
Identify the client folder clients/<slug>/ and the stage the user wants.
-
Read the matching commands/0X-*.md and execute its Procedure verbatim.
-
Validate every JSON artifact the stage writes against its schema before
moving on (Codex has no built-in schema validation โ run it explicitly):
python3 - <<'PY'
import json, jsonschema
pairs = {
"brand_context.json": "brand_context.schema.json",
"visibility_baseline.json": "visibility_baseline.schema.json",
"content_priorities.json": "content_priorities.schema.json",
}
print("validate each artifact against plugins/recomby-geo/schemas/*.schema.json")
PY
-
Stop at the human-in-loop points (see rules below).
Stage order (never run out of order)
inputs/ โ 01-intake โ brand_context.json
โ 02-audit โ visibility_baseline.json
โ 03-gap โ content_priorities.json
โ 04-content-brief โ briefs/<id>.md (+ .html, REQUIRED-FILL slots)
[EXPERT FILLS THE SLOTS โ not the AI]
04 Step 9 verifies fills โ status: ready-for-production
โ 05-production โ drafts/<id>.md (+ review .html)
โ 06-distribution โ distribution/<id>.json + publish-bundle.md
[PUBLISH + WAIT 7+ days]
โ 07-reaudit (monthly) โ reaudit/round-N.json โ feeds next 03-gap
02 needs 01; 03 needs 01+02; 04 needs 01+03; 05 needs 04 (filled); 06 needs
05; 07 needs a prior 02.
Hard rules (orchestration level)
- The expert fills briefs โ not the AI.
05-production refuses to run
unless briefs/<id>.meta.json status is ready-for-production. Never
auto-fill REQUIRED-FILL slots; pause the pipeline if the expert is
unavailable. This human-in-loop checkpoint is the entire moat.
- Schema validation is enforced. If an artifact fails its schema, fix
before moving on. Schemas:
schemas/*.schema.json.
- One client per folder. Don't share JSON across
clients/<slug>/
folders or factor out "common" context.
- Never run a stage out of order (see graph above).
Client review HTML
Stages 04 and 05 produce interactive HTML for the client via the
geo-review-html skill (also in this plugin). On Codex this works the same
as on Claude Code โ the stage spec already calls render_html.py.
Requirements
The capability skills' scripts (e.g. seo-geo-optimizer, geo-review-html)
need python3 on PATH; the schema validation step needs jsonschema
(pip install jsonschema). These are the same dependencies as the Claude
Code side.