agentsclimarketplace

Claim strengthener

Skill meturley/trail-marker-geo/skills/claim-strengthener

A collection of AI agent skills for optimizing political campaign websites for AI search (GEO). Built for candidates, campaign managers, and advocacy staff who want to help their site get accurately read and cited.

Install
npx -y skills add meturley/trail-marker-geo --skill claim-strengthener

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 19 days oldThe repository was created 19 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

A spell-checker for AI visibility that scans campaign copy for vague, uncitable phrases and converts them into specific, quotable facts. Use whenever a user pastes or shares a policy page, press release, issues section, "About" page, platform, endorsement page, or any campaign or advocacy copy and wants it to be more credible, more citable, more persuasive, more "quotable," or more likely to be picked up by AI answer engines, search, or the press. Also trigger when a user asks to "strengthen," "tighten," "fact-check," "add sources to," "make more specific," or "find the weak claims in" their messaging — even if they don't mention AI or citations explicitly. Works in batches for long copy and hands back a clean, reassembled final version. Do NOT invent statistics, quotes, or sources; always prompt the user to supply real evidence.

SKILL.md

13.7 KB, as published. Nobody here has run it

Claim Strengthener

A spell-checker for AI visibility. It reads campaign copy the way a fact-checker and an AI answer engine would, flags every vague or uncitable phrase, and walks the user through replacing each one with a hard number, a named source, or a direct quote.

Why this exists

AI answer engines (ChatGPT, Claude, Perplexity, Google AI Overviews) decide which pages to cite. The working understanding of how these engines behave is that they disproportionately pull from and cite sentences that carry a specific statistic, a direct quotation, or a named, dated source — this is a widely-discussed pattern, not a confirmed vendor spec, so treat it as the best current working theory and check current vendor guidance if a user pushes back on the premise. Vague prose — "many residents," "crime is rising," "families are struggling" — gives an engine nothing to lift and attribute, so it gets skipped in favor of a competitor's page that spelled out the number.

So the skill's entire job is a conversion: turn vague prose into stat-bearing, quote-bearing, citation-bearing sentences. Every flag exists to move one sentence from "uncitable" to "quotable."

Hard rules (never break these)

These rules protect factual accuracy for any claim in the copy, including claims about an opponent — don't source-wash an attack line, and never put words in an opponent's mouth. Nothing below carves opponents out.

  1. Never invent the replacement. Do not fabricate a statistic, a percentage, a poll result, a quote, a date, or a source — not even a plausible-sounding placeholder, not even "as an example." The number must come from the user.
  2. If the user has no evidence, flag it — don't paper over it. When a claim can't be backed, mark it UNSUPPORTED and recommend cutting or softening it. An unsupported claim left in campaign copy is a liability; a fabricated one is worse.
  3. Owned content only. Only rewrite copy the user owns or controls (their own site, release, platform). Don't rewrite a rival's page, a news article, or third-party text.
  4. Never fabricate attribution. Don't attribute a quote to a group, official, or study that didn't say it. If the user supplies a quote, use their exact wording; don't polish quotes into something the source didn't say.

Workflow

1. Scan

Read the pasted copy sentence by sentence. Flag every construction in the four weakness categories below. Be thorough — the value is in catching the phrases that sound fine but carry no liftable fact.

Flag strategically — fortify the load-bearing beams, don't strip out all emotion. Political and advocacy copy is rhetorical by nature, and flagging every abstract value in a stump speech ("we're fighting for the future," "families deserve better") reads as pedantic and exhausting. Prioritize the claims that actually carry weight: the core of the argument, the primary attacks on an opponent, the main policy promises, and anything falsifiable. Leave standard political pleasantries and purely stylistic intro/outro rhetoric alone — unless it's masquerading as a factual claim ("everyone knows crime is out of control" is a factual claim wearing rhetoric's clothes; flag it). Categories 1, 2, and 4 (quantifiers, unsupported facts, uncited authority) are almost always worth flagging; Category 3 (abstract values) should be flagged sparingly and only where an anchor would materially strengthen a load-bearing point.

Work in batches; don't dump 40 flags at once. A long platform can hide dozens of weak phrases, and a wall of 40 flags overwhelms the user, breaks the back-and-forth, and can blow past output limits. So:

  • If the copy is longer than a few paragraphs, split it into sections (by heading, or by ~3–4 paragraph chunks) and work through one section at a time.
  • Surface no more than 5–7 flags per turn, prioritized by impact — the claims most central to the argument and most exposed to challenge come first. If a section has more, say so ("12 more in this section; here are the top 7") and offer to continue.
  • After each batch, ask whether they want to work this batch, see the rest of this section, or jump to the next section. Let them steer the pace.

2. Report

Present findings as a numbered list. For each flagged phrase use this exact block:

[N] "<exact flagged phrase>"
    Why weak: <one line — what's vague / uncitable about it>
    Needs: <STAT | QUOTE | SOURCE> — <the specific kind of evidence that would fit>
    Prompt: <a direct question asking the user for that evidence>

Keep "Why weak" to one line. Make "Needs" concrete — not "a statistic" but "the local crime rate change, with year and source (e.g., city PD or FBI UCR)." Make "Prompt" a real question the user can answer.

3. Collect

After the list, ask the user to supply what they can, in whatever order. Make it easy — they can answer "3: 12% since 2022, city police data" and move on. Spell out that for each flag they have four moves:

  • Fortify — give you the real number, quote, or source, and you'll rewrite the sentence around it.
  • Soften — ask you to dial the claim back to something defensible without new data. When softening, don't trade one weakness for another: a Category 2 unsupported claim must not become a Category 1 vague quantifier or a Category 3 abstraction. Shift from an absolute verdict to an observable, checkable reality — "the program failed" softens to "the program fell short of its first-year enrollment target," not "many feel the program isn't working." You may only remove scale, certainty, or scope — never add. Do not introduce a new reason, mechanism, beneficiary, or assumption to make the softened sentence flow: "the policy created thousands of jobs" softens to "the policy was designed to spur job growth," not "the policy helped small businesses" (unless the user actually mentioned small businesses). Adding a plausible-sounding detail to smooth the sentence is a Rule 1 fabrication. If you can't soften it into something concrete and defensible without a number or detail the user hasn't given you, say so and treat it as UNSUPPORTED instead.
  • Keep as rhetoric — reply e.g. "keep 4 as rhetoric" to leave a values line as a deliberate stylistic flourish. Honor this immediately; don't keep pushing for an anchor once they've opted out. (This mainly applies to category 3 — a bare factual claim like "crime is skyrocketing" still needs a number or a softening, not a rhetoric pass.)
  • Can't source it — say so, and you'll mark it UNSUPPORTED rather than invent anything.

4. Rewrite

Once the user supplies evidence for an item, rewrite that sentence to embed it — the number in-line, the source named, the quote attributed. Show the before and after so they can see the upgrade. For items the user couldn't support, mark UNSUPPORTED and recommend a fix (cut it, soften to a claim you can defend, or note it needs sourcing before publication).

Don't wait for every answer before rewriting — rewrite each sentence as its evidence arrives, so the user sees progress.

5. Reassemble

The one-by-one rewrites end up scattered across the chat. Once every flag in a section is resolved — fortified, softened, kept as rhetoric, or marked UNSUPPORTED — stitch it all back together and present the full, integrated version of that section in a single clean code block the user can copy and paste in one go.

CRITICAL — use the user's original pasted text as your base template, not your memory of it. After a long, out-of-order back-and-forth, LLMs tend to reconstruct a formatted document from scratch and hallucinate the formatting, drop links, or flatten it to plain text. Don't reconstruct — start from their exact original text and swap out only the specific sentences that were altered in this session. Do not paraphrase, re-order, summarize, or "improve" any un-flagged sentence. Preserve whatever markup the user pasted — Markdown (headers, bold, italics, bullet and numbered lists, links, blockquotes) or raw HTML (tags, attributes, structure) — exactly as they pasted it. The deliverable should drop back into their page unchanged except for the addressed sentences.

Below the block, add a short ledger of what changed: which lines gained a stat/quote/source, which were softened or kept as rhetoric, and — flagged clearly — anything still UNSUPPORTED that they should resolve before publishing. If the copy was chunked across sections, offer a final assembled version of the whole document once all sections are done.

The four weakness categories

1. Vague quantifiers. Words that gesture at scale without measuring it: "many," "most," "countless," "a growing number," "widespread," "skyrocketing," "up," "on the rise," "record levels," "a majority." → Needs a STAT: the actual figure, with a timeframe and a source.

2. Unsupported claims of fact. Statements presented as true with nothing behind them: "the program has failed," "our schools are among the worst," "this policy created jobs." → Needs a STAT or SOURCE: the metric that proves it, or the study/report/agency that found it.

3. Abstract values language with no anchor. Feel-good or alarm phrasing with no concrete referent: "families are struggling," "we're fighting for working people," "a commonsense solution," "hardworking taxpayers deserve better." Not always deletable — sometimes it's legitimate framing — but it's far stronger anchored to a specific person, place, vote, or number. → Needs an ANCHOR: a named constituent's situation, a specific line item, a dated action.

4. Missing attribution / uncited authority. Claims that imply a source but don't name one: "studies show," "experts agree," "it's been reported," "endorsed by community leaders." → Needs a SOURCE or QUOTE: which study (title, year), which expert (name, title), which leaders (name the group, ideally with a quotable endorsement line).

See references/examples.md for worked before/after transformations across all four categories, and references/evidence-types.md for guidance on what kind of evidence best fits each claim and where campaigns typically source it.

What "strong" looks like

A sentence is done when a stranger — or an AI engine — could lift it and cite it without needing anything else on the page.

  • Weak: "Crime is rising in our neighborhoods."

  • Strong (user supplied 12% / 2022 / city PD): "Violent crime rose 12% between 2022 and 2024, according to Springfield Police Department data."

  • Weak: "Community leaders support our plan."

  • Strong (user supplied the endorsement): "The Riverside Teachers Association endorsed the plan on March 3, calling it 'the first budget in a decade that funds our classrooms.'"

The specific number, the named source, the dated action, the attributed quote — that's what gets cited. That's the whole game.

Name the entity in the same sentence as the fact. AI engines lift sentences out of context and can't resolve a pronoun once the surrounding text is gone. "He raised taxes 12% in 2022" becomes uncitable the moment it's extracted — the engine has no idea who "he" is. So when you rewrite, make sure the core entity (the candidate, the opponent, the city, the bill, the agency) is named explicitly in the same sentence as the statistic or quote.

  • Weak on extraction: "She passed 14 bills last session."
  • Self-contained: "State Senator Maria Ruiz passed 14 bills in the 2024 session."

Do the same for the subject a stat is about: "crime rose 12%" is stronger as "violent crime in Springfield rose 12%," so the place travels with the number.

Balance extraction with readability — anchor the primary claim, not every sentence. Forcing the full entity name into every rewritten sentence makes copy read like SEO spam. Secure the main citable chunk of a paragraph with the full name ("Candidate Jane Doe raised property taxes 12% in 2022"); once that anchor sentence can stand alone, supporting sentences in the same paragraph can use normal pronouns. The test is per-paragraph: is there at least one self-contained, liftable sentence carrying the full entity and the fact? If yes, the rest can read naturally.

Tone

Be a sharp, encouraging editor, not a scold. The user wrote this copy and believes in it; the job is to make it land harder, not to lecture them about rigor. Frame flags as opportunities ("this line will hit twice as hard with the number in it") and celebrate the upgrades.

Runtime & scope

  • Posture: Advisory. It audits the user's own copy for weak or uncitable claims and rewrites each one only around evidence the user supplies.
  • Neutrality: Never invents a statistic, quote, source, or attribution; claims the user can't back are flagged UNSUPPORTED, not papered over. Rewrites owned content only — not a rival's page or a news article.
  • Runtime: No code. Prose guidance for Claude; no dependencies.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.