auto-geo prompts

Manage your tracked prompts — the questions you want AI engines to answer by citing your domain. The tracked set is what auto-geo check runs when invoked without --query / --queries-file, and what auto-geo history trends over time.

auto-geo prompts add "best media monitoring tools" "what is GEO"
auto-geo prompts            # numbered list (same as `prompts list`)
auto-geo prompts rm 2       # remove by index — or by exact text
auto-geo prompts discover   # LLM proposes new prompts for your domain

Where prompts live

.auto-geo/prompts.txt — plain text, one prompt per line, # comments allowed. The file is meant to be committed: a diff of prompts.txt is the record of how your GEO target set evolved.

# auto-geo tracked prompts
best media monitoring tools
what is GEO
how do I get cited by ChatGPT

You can edit the file by hand; the CLI and the file are equivalent interfaces.

Actions

Action Behavior
list (default) Numbered list of tracked prompts, with count and file path.
add <text> [...] Append one or more prompts. Duplicates (case-insensitive) are skipped. Creates the .auto-geo/ workspace on first use — no init required.
rm <index\|text> Remove exactly one prompt, by its list index (1-based) or exact text (case-insensitive). Comments and other lines are preserved byte-identical.

prompts discover — LLM-assisted prompt discovery

The hard part of a GEO program is knowing which questions to compete for. discover proposes them: it fetches your homepage for grounding, shows the model what you already track, and asks for N new high-intent queries a target customer would put to an AI engine — queries your domain should be the cited answer for.

auto-geo prompts discover --dry-run    # preview without writing
auto-geo prompts discover --count 15   # propose and track 15

Guarantees (same contract as prompts add):

  • Never overwrites — proposals are appended; existing lines stay byte-identical.
  • Never duplicates — case-insensitive dedupe against the tracked set and within the batch.
  • --dry-run previews the candidates and what would be added/skipped without writing anything.
Flag Effect
--count N How many prompts to propose (default 10).
--domain <url> Publisher domain (defaults to the config domain).
--provider <id> openai or anthropic (auto-detected from which API key is set).
--model <name> Model override (defaults: gpt-5.4 / claude-sonnet-4-6).
--dry-run Preview only.

Requires an OPENAI_API_KEY or ANTHROPIC_API_KEY (auto-loaded from .env.local). A failed homepage fetch degrades gracefully — generation proceeds from domain context alone. Prune anything you don’t want with prompts rm.

Flags

--json (machine-readable outcome), --no-color, --narrow.

The loop

auto-geo prompts add "the query you want to win"
auto-geo check                 # measures every tracked prompt, saves the run
auto-geo history               # which prompts you gained / lost since last run