Prompt: research competitors, partners and link prospects in the .ro web directory
Have an agent mine the classified .ro web directory on ird — sites
described, categorised, tagged, with language, sentiment and bias
labels — for competitors, partners or link prospects around a topic,
cross-check the interesting domains with registry and whois facts,
test the name ideas the research throws up, and hand you a CSV you can
work from. Directory labels stay labelled as the directory's; nobody's
personal data is collected.
Needs: the ird CLI, logged in (ird directory and ird domains info are CLI-only); ird MCP or CLI for the availability checks; a folder for the CSV
Costs: directory queries and results (credits_prices → domains.directory: per_query_unit weighted by field_weights, plus per_result), each info field requested (domains.info.per_field → whois, dns, registry, subdomains), bulk checks (jobs.domain-availability-bulk.per_check), name suggestions (domains.search.per_llm_call); a single availability check has no price-book line
Group: developer workflow
Paste everything below the line into a fresh conversation. Fill in the
FILL IN block first.
Task
Search the directory for TOPIC in MODE, enrich the shortlist within
BUDGET, check NAME_IDEAS, and write OUT_FILE. Nothing is registered and
no site is visited beyond what the directory already holds.
FILL IN
TOPIC: artisan bakery, sourdough, bread delivery # search terms, any language
MODE: competitors # competitors | partners | link-prospects
FILTERS: --language ro --category food-restaurants # any of --category --tag --language --sentiment --bias, or blank; values as the directory prints them (step B)
LIMIT: 50 # results per query, max 100
INFO_FIELDS: whois,registry # ird domains info fields for the shortlist: whois,dns,subdomains,registry — or "none"
NAME_IDEAS: painecluj.ro, kitpaine.ro # .ro names to check availability for, or blank
BUDGET: 1 # credits this research may spend in total
OUT_FILE: ./directory-research.csv
Non-negotiable rules
- Price every query first.
credits_prices → domains.directory
gives per_query_unit, field_weights (tracker and ad_network
weigh more than plain terms — q, default; the CLI has no flag
for either, and which weight --tag/--category map to is not
documented, so price at default and label it an estimate) and
per_result; domains.info.per_field prices each INFO_FIELDS
entry. Keep a running total; stop and ask before BUDGET is crossed.
- Sentiment and bias are the directory's labels, not yours. Report
sentiment and political_bias as "directory: …", never as a
finding about the site or its owners; null stays "unlabelled".
- No people. Entries carry a
contacts block (addresses, emails,
phones, social). Never copy it into the CSV or the chat — record only
whether a contact channel exists (yes/no). No whois on individuals:
if whois names a person rather than a company, keep "individual"
and drop the details.
- Read-only. No
register_domain, even for an available
NAME_IDEAS entry — report and stop.
Steps
A. Price and plan. credits_prices (CLI: ird credits prices
--json); estimate the cost of the queries in B and the shortlist
enrichment in D; show it against BUDGET.
B. Query. ird directory <TOPIC terms> FILTERS --limit LIMIT --json
— once per term group if TOPIC mixes concepts. Each entry has domain,
title, description, language, categories, tags, sentiment,
political_bias, ad_networks, trackers, tag_managers,
cookie_consent, first_seen_at, classified_at. Widen with
--tag <tag> for tags that recur in the first results, and --category
for the categories they sit in (values come from the entries — the
help lists no fixed vocabulary). Dedupe by domain.
C. Score for MODE. competitors: same categories and tags as TOPIC,
same language, e-commerce or ordering signals in the description.
partners: adjacent categories (suppliers, venues, media) and
complementary tags. link-prospects: sites whose description says they
list, review or recommend — directories, blogs, local guides. Rank,
keep the top 20 as the shortlist, say why each is in.
D. Enrich the shortlist. ird directory show <domain> --json for
the full entry (the help doesn't say how a show is priced — assume
per_result, and check the balance after the first one). If
INFO_FIELDS is not "none": ird domains info <domain> --fields
INFO_FIELDS --json (--whois is the shortcut for --fields whois) —
take registrar, expiry, nameservers and registry state from whatever
the fields return. Compare the four per_field prices; request the
priciest only if MODE needs it. Deduct each call from BUDGET as you go.
E. Name ideas. For each NAME_IDEAS entry, check_domain(domain=…)
(CLI: ird domains check <domain>); for more than a few,
bulk_check_domains(domains=[…]) (CLI: ird jobs check-bulk …, up to
100, blocks until done; jobs.domain-availability-bulk.per_check). Add
names that TOPIC suggests only if I asked for suggestions
(search_domains(query=TOPIC, count=10) — domains.search.per_llm_call
each, counts against BUDGET).
F. Write OUT_FILE. Columns: domain, mode_score, why, title,
language, categories, tags, directory_sentiment, directory_bias,
trackers, ad_networks, cookie_consent, contact_channel (yes/no),
registrar, expiry, nameservers, first_seen_at, classified_at. One row
per shortlist domain; a second block for NAME_IDEAS with domain and
available/taken. Spot-check three rows against ird directory show.
Deliverable
The shortlist table (domain, score, why, directory labels marked as
such), the NAME_IDEAS availability list, credits spent per step against
BUDGET, the OUT_FILE path, and the next prompt for an available name
(register-domain at https://ird.cod-sursa.ro/prompts/).