prompts / directory-research.md
edit FILL IN & copy this prompt →833 words

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

  1. 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.
  2. 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".
  3. 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.
  4. 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/).

static mirror of HEAD · about · clone: git clone https://ird.cod-sursa.ro/prompts.git