Web Research and Verification
Answer questions grounded in external information without guessing or fabricating.
Model knowledge drifts out of date, so treat every material claim as unverified
until a current, authoritative source confirms it.
Establish the Target
- Determine what precisely is being asked and what a correct answer would let the
user do.
- Identify the exact version or release that applies before trusting any source.
Behavior, flags, and APIs differ across versions.
- Read the version from the repository's lockfile, manifest, or
--version
output rather than assuming the latest.
- When the version is unknown and cannot be inferred, state that the answer is
version-dependent and give the version you assumed.
- Note the date sensitivity of the question so stale material can be recognized.
Choose Sources
Prefer sources in this order. See the
source hierarchy for the full ranking and how to
judge authority.
- Primary and authoritative: official documentation, specifications, standards,
release notes, changelogs, and the source code or its inline docs.
- Reputable secondary: maintainer blog posts, well-regarded references that cite
primaries, and accepted answers that link to official material.
- Low-trust: forums, unattributed blogs, and content-farm pages. Use only for
leads, and confirm every claim against a primary source before relying on it.
Match the source to the exact version identified. Documentation for a different
major version is a common source of wrong answers.
Verify
- Corroborate each material claim with a second independent source, ideally the
primary plus one other. A single blog post is not sufficient for a factual claim.
- Quote the exact wording that supports a claim and cite the source URL, so the
user can check it.
- Prefer the current documented method. When you encounter something that looks
deprecated, re-check it against current release notes and the changelog before
presenting it, and flag the deprecation.
- Never fabricate APIs, flags, parameters, version numbers, or citations. If a
detail cannot be confirmed, say so rather than inventing a plausible value.
- Test claims against reality when the environment allows it, for example by
reading the installed source or running a documented command, and prefer that
direct evidence over any web description.
Separate Fact From Inference
- Label each part of the answer as one of:
- Verified — directly supported by a cited authoritative source.
- Inferred — a reasonable conclusion drawn from verified facts, marked as
reasoning rather than citation.
- Unknown — not established by available sources; state it plainly.
- Do not present inference or memory as if it were sourced fact.
- When sources conflict, report the conflict, prefer the more authoritative and
more current one, and explain the basis for the choice.
Report
Return: the answer with each material claim cited to a URL and, where useful, a
short quotation; the exact version or release the answer applies to; a clear split
between verified, inferred, and unknown; and any deprecation or conflict found.
1---2name: web-research-and-verification3description: Answers questions that depend on current external information by detecting the exact version in use, preferring primary and authoritative sources, corroborating with a second source, quoting and citing URLs, and separating verified fact from inference. Use when researching APIs, libraries, standards, release notes, CVEs, or any claim where accuracy and up-to-date sourcing matter, or when a source may be deprecated.4license: MIT5---67# Web Research and Verification89Answer questions grounded in external information without guessing or fabricating.10Model knowledge drifts out of date, so treat every material claim as unverified11until a current, authoritative source confirms it.1213## Establish the Target14151. Determine what precisely is being asked and what a correct answer would let the16 user do.172. Identify the exact version or release that applies before trusting any source.18 Behavior, flags, and APIs differ across versions.19 * Read the version from the repository's lockfile, manifest, or `--version`20 output rather than assuming the latest.21 * When the version is unknown and cannot be inferred, state that the answer is22 version-dependent and give the version you assumed.233. Note the date sensitivity of the question so stale material can be recognized.2425## Choose Sources2627Prefer sources in this order. See the28[source hierarchy](references/source-hierarchy.md) for the full ranking and how to29judge authority.30311. Primary and authoritative: official documentation, specifications, standards,32 release notes, changelogs, and the source code or its inline docs.332. Reputable secondary: maintainer blog posts, well-regarded references that cite34 primaries, and accepted answers that link to official material.353. Low-trust: forums, unattributed blogs, and content-farm pages. Use only for36 leads, and confirm every claim against a primary source before relying on it.3738Match the source to the exact version identified. Documentation for a different39major version is a common source of wrong answers.4041## Verify42431. Corroborate each material claim with a second independent source, ideally the44 primary plus one other. A single blog post is not sufficient for a factual claim.452. Quote the exact wording that supports a claim and cite the source URL, so the46 user can check it.473. Prefer the current documented method. When you encounter something that looks48 deprecated, re-check it against current release notes and the changelog before49 presenting it, and flag the deprecation.504. Never fabricate APIs, flags, parameters, version numbers, or citations. If a51 detail cannot be confirmed, say so rather than inventing a plausible value.525. Test claims against reality when the environment allows it, for example by53 reading the installed source or running a documented command, and prefer that54 direct evidence over any web description.5556## Separate Fact From Inference57581. Label each part of the answer as one of:59 * **Verified** — directly supported by a cited authoritative source.60 * **Inferred** — a reasonable conclusion drawn from verified facts, marked as61 reasoning rather than citation.62 * **Unknown** — not established by available sources; state it plainly.632. Do not present inference or memory as if it were sourced fact.643. When sources conflict, report the conflict, prefer the more authoritative and65 more current one, and explain the basis for the choice.6667## Report6869Return: the answer with each material claim cited to a URL and, where useful, a70short quotation; the exact version or release the answer applies to; a clear split71between verified, inferred, and unknown; and any deprecation or conflict found.