Target outcome
A prompt portfolio classified into attack, defend, monitor, and ignore
Score the portfolio
Classify each prompt
Run in Claude and Run in ChatGPT open a new browser tab with the prompt already typed. Nothing is sent until you submit it.
Connect Qwairy to Claude, pull the exact signals in the workflow, and leave with an execution-ready output.
Balance the bets
Set the cadence
get_prompt_signals returns four counts and two ranked shortlists, and most teams stop at the counts. Read to the end and you will know what those fields are built from, where they disagree with each other, and what to do on the day nothing ranks at all.
The labels look like a verdict on business value. They are not. They come from where you rank against direct competitors inside answers, how much those answers move between runs, and how crowded the question is. No revenue or intent input goes near them: the tool ranks winnability, you supply the rest.
The counts also describe a filtered population: only prompts with at least one answer in the window are counted. A prompt added last week that has not run yet sits in none of the four buckets, so the numbers will not add up to your monitored set.
1. Read the summary, then reconcile it. The tool returns the four counts plus visibility rate, average openness and average share of voice. Run get_prompts and compare its total against the summary total: the gap is prompts with no answer in the window, unmeasured rather than a fifth bucket.
2. Take the shortlists as ordered. Both come back ranked by priority score. Attack rows carry openness, share of voice, priority score, a visibility percentage and a quadrant; defend rows carry the same minus openness. No row-level monitor or ignore list exists.
3. Notice when the presence fields disagree. The visibility percentage is your rank among direct competitors as a percentile; the quadrant splits on mention rate at 50 percent. A prompt where you rank well but appear in few answers reads strong on one and weak on the other. get_prompt_answers settles it.
4. Verify openness before spending on it. Openness measures how much the named brands change between runs, so it needs at least two answers to mean anything. Below that it is a placeholder high enough to keep a prompt in the attack list. Count the answers with get_prompt_answers.
5. Widen the set when there is nothing to rank. get_query_fan_out returns the web-search queries observed inside monitored answers with their parent prompt IDs, and get_keyword_triggers shows which terms coincide with brand mentions. Both are observations, not a map.
A real portfolio of 155 monitored prompts came back as 0 attack, 0 defend, 0 monitor and 153 ignore, with average openness at 99.6 percent, visibility 24 percent and share of voice 1.7 percent.
Nothing ranked, and that is a reading, not a failure. Openness at 99.6 means almost no incumbent owns these answers; share of voice at 1.7 against it means the brand is barely present in a market with room. Ignore is not the tool calling these questions worthless, it is saying the brand sits too far from all of them for the winnability sort to separate any. Widen coverage; do not pick from an empty shortlist.
Work the attack list top to bottom in the order returned, with one filter: a prompt qualifies only if step 4 shows two or more answers behind it. Take the first three that qualify; if fewer qualify, ship fewer. Never promote a defend prompt into an empty attack slot, and never re-sort on openness, which is already a condition of the attack label.
Zero attack, zero defend, zero monitor and everything in ignore is a legitimate response that production brands do return. It describes your prompt set, not your brand. Re-running changes nothing: go to step 5, add prompts, and read again next cycle.
Save the dated counts and both shortlists. Ignore is a review queue, not a delete list: a prompt leaves it the moment a competitor appears in its answers.
I want to read my prompt signals properly, not just the four counts. List the brands I monitor, and if there is more than one, ask which to use before pulling data.
1. Run get_prompt_signals with limit 10. Report the four counts, the visibility rate, the average openness and the average share of voice. Then run get_prompts and compare its total with the signals total, calling the difference prompts with no answer yet.
2. Show both shortlists in the order returned, without re-sorting. Defend rows carry no openness value, so do not report one. Do not invent row-level monitor or ignore lists: this tool returns none.
3. For every row, compare the visibility percentage against the quadrant and flag any row where a strong rank sits beside a weak quadrant or the reverse. The two measure different things: rank among direct competitors versus mention rate.
4. For the top three attack prompts, run get_prompt_answers and count the answers in the window. Mark any prompt with fewer than two answers as unverified openness and drop it. The answer text is truncated, so quote excerpts only.
5. If step 1 returned zero attack and zero defend prompts, stop ranking and switch to expansion: run get_query_fan_out for the last 30 days and get_keyword_triggers, map the observed queries back to my prompt IDs, and propose at most 10 prompts to add. Say plainly that the current set gives this tool nothing to work with.
6. Otherwise finish with the surviving attack prompts, at most three, in the order returned, each with its priority score, its openness and the number of answers behind it. If fewer than three survived, spend the rest of the effort on step 5.
Do not invent commercial intent, revenue estimates, competitor names absent from the data, or a time to first citation. These labels rank winnability and carry no revenue input, so the business call stays mine.
Compare equivalent prompts, dates, providers, models, answers, competitors, and citations to diagnose why AI visibility differs without mistaking correlation for cause.