This prompt is for verification engineers building automated fact-checking pipelines who need to score a source's credibility before using it as evidence. It produces a structured credibility score with domain-specific authority, recency, and bias dimensions. Use it when your pipeline must dynamically weight evidence sources and explain why one source was preferred over another. The prompt assumes you have already retrieved or identified a candidate source and have its metadata available—it does not perform retrieval, claim extraction, or evidence matching. For those tasks, see the sibling playbooks on claim extraction and evidence matching.
Prompt
Source Credibility Scoring Prompt Template

When to Use This Prompt
Understand when to apply source credibility scoring in automated fact-checking pipelines and when to reach for a different tool.
The ideal user is an engineer or pipeline operator who needs a repeatable, auditable credibility signal that can feed downstream decisions: evidence ranking, human review routing, or automated verification thresholds. The prompt expects structured inputs including source title, URL, publication date, author, publisher, and the claim domain being verified. Without this context, the model will produce unreliable scores based on internal knowledge cutoffs rather than the specific source and claim at hand. Always provide the claim domain (e.g., 'clinical medicine,' 'macroeconomic policy,' 'semiconductor fabrication') because authority is domain-relative—a Nobel laureate in physics is not an authoritative source for immigration law.
Do not use this prompt when you lack source metadata, when the source is a first-person account requiring witness credibility assessment rather than institutional authority scoring, or when the claim domain is so niche that no recognizable authority hierarchy exists. In those cases, fall back to the Evidence Directness Assessment Prompt or route directly to human review with a structured handoff. Also avoid this prompt for real-time breaking news verification where source credibility is still forming—the recency dimension will over-penalize emerging sources that may later prove authoritative. For time-sensitive claims, pair this prompt with the Recency Evaluation Prompt and set explicit staleness thresholds per domain.
Use Case Fit
Where the Source Credibility Scoring Prompt Template works well and where it introduces risk. Use these cards to decide if this prompt fits your verification pipeline before integrating it.
Good Fit: Structured Source Metadata Available
Use when: your pipeline has access to structured source metadata (author, publication date, domain, publisher type) before scoring. The prompt produces calibrated scores when fed explicit fields rather than raw text alone. Avoid when: source metadata is sparse or unreliable; the model will hallucinate missing fields instead of flagging uncertainty.
Good Fit: Domain-Specific Authority Weighting Required
Use when: you need different authority criteria per claim domain (e.g., medical claims require peer-reviewed sources, legal claims require primary court documents). The prompt template supports domain-tuned scoring dimensions. Avoid when: a single universal credibility score is sufficient; domain adaptation adds complexity without benefit.
Bad Fit: Real-Time or Latency-Sensitive Scoring
Risk: LLM-based credibility scoring adds latency (typically 1-5 seconds per source) and cost per invocation. Guardrail: pre-filter sources with rule-based heuristics (domain allowlists, recency thresholds) before invoking the prompt. Reserve LLM scoring for sources that pass initial filters.
Bad Fit: Unattributed or Anonymous Source Evaluation
Risk: the prompt cannot reliably assess credibility when author, publisher, and provenance are unknown. The model may invent plausible-sounding authority signals. Guardrail: route sources with missing attribution metadata to a separate 'unverifiable source' path and require human review before using them as evidence.
Required Input: Source Metadata Object
What to watch: the prompt requires a structured input with fields like source_url, author_name, publisher, publication_date, source_type, and domain. Missing fields degrade score accuracy. Guardrail: validate input completeness before invocation; return an error or abstain if critical fields (publisher, date) are absent.
Operational Risk: Score Calibration Drift
Risk: credibility scores can drift across model versions or prompt changes, breaking downstream thresholds for auto-verification vs. human review. Guardrail: maintain a golden dataset of 50-100 sources with expected score ranges. Run regression tests on every prompt or model change and alert on score distribution shifts.
Copy-Ready Prompt Template
A reusable prompt template for scoring source credibility with domain-specific authority, recency, and bias dimensions.
This section provides a copy-ready prompt template that you can drop into your verification pipeline. The template uses square-bracket placeholders for all dynamic inputs, making it straightforward to wire into an application layer that populates source metadata, claim context, and output format requirements before each model call. The prompt is designed to produce a structured credibility score with explicit reasoning across multiple dimensions, not a single opaque number.
textYou are a source credibility assessor for an automated fact-checking pipeline. Your task is to evaluate the credibility of a given source for a specific claim domain and produce a structured assessment. ## INPUT Source Metadata: [SOURCE_METADATA] Claim Domain: [CLAIM_DOMAIN] Claim Context (optional): [CLAIM_CONTEXT] ## OUTPUT SCHEMA Return a valid JSON object with the following structure: { "source_identifier": "string", "overall_credibility_score": number (0.0 to 1.0), "dimension_scores": { "domain_authority": { "score": number (0.0 to 1.0), "rationale": "string explaining why this source is or is not authoritative for the claim domain", "evidence": ["specific signals from source metadata that support this score"] }, "recency": { "score": number (0.0 to 1.0), "rationale": "string explaining temporal relevance for the claim domain", "publication_date": "ISO 8601 date or null if unknown", "staleness_threshold_exceeded": boolean }, "methodology_transparency": { "score": number (0.0 to 1.0), "rationale": "string explaining whether methods, sample sizes, and limitations are disclosed", "gaps_flagged": ["specific missing disclosures"] }, "independence": { "score": number (0.0 to 1.0), "rationale": "string explaining source independence from the claim subject", "conflict_of_interest_detected": boolean, "funding_disclosures": ["any funding sources identified"] }, "corroboration_potential": { "score": number (0.0 to 1.0), "rationale": "string explaining whether this source type can be independently verified", "source_type": "primary | secondary | tertiary | unknown" } }, "limitations": ["known limitations or caveats about this assessment"], "recommended_usage": "string describing how this source should be weighted in verification", "confidence_in_assessment": number (0.0 to 1.0) } ## CONSTRAINTS - If source metadata is sparse, set confidence_in_assessment low and flag missing fields in limitations. - Do not invent metadata. If a field is unknown, use null or an empty array. - For recency, apply domain-appropriate staleness thresholds: [RECENCY_THRESHOLDS] - For domain authority, prioritize these source types: [AUTHORITY_PRIORITIES] - If the source is a press release, corporate blog, or sponsored content, flag it in independence and reduce the score accordingly. - If the source is anonymous or unattributed, set corroboration_potential low and note the constraint. - Do not produce scores without explicit rationale tied to provided metadata. ## EXAMPLES [FEW_SHOT_EXAMPLES] ## RISK LEVEL [RISK_LEVEL] Return only the JSON object. Do not include markdown fences, explanations, or commentary outside the JSON.
To adapt this template, replace each bracketed placeholder with live data from your pipeline. [SOURCE_METADATA] should include all available fields: publication name, author credentials, date, URL, funding disclosures, methodology notes, and source type. [CLAIM_DOMAIN] is a short label like "clinical trial results" or "economic indicators" that drives domain-specific authority and recency logic. [RECENCY_THRESHOLDS] and [AUTHORITY_PRIORITIES] let you inject domain rules without rewriting the prompt. [FEW_SHOT_EXAMPLES] should include 2-3 scored examples that calibrate the model to your expected score distribution. [RISK_LEVEL] controls the strictness of the assessment: use "high" for regulated domains requiring conservative scoring, "medium" for general verification, and "low" for exploratory research where false positives are acceptable.
Before deploying this prompt, validate that your application layer can parse the JSON output and handle missing or null fields gracefully. Run the prompt against your eval suite using the companion Source Credibility Eval Check prompt to detect score drift, overconfidence on sparse metadata, and domain mismatch failures. If the prompt will be used in high-stakes verification, route outputs with confidence_in_assessment below 0.7 to human review. Do not treat the overall_credibility_score as a precise measurement; it is a structured signal for downstream weighting, not a ground-truth label.
Prompt Variables
Inputs required for the Source Credibility Scoring Prompt Template. Validate each variable before sending to the model to prevent garbage-in, garbage-out scoring and to ensure downstream evidence weighting is reliable.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[SOURCE_CONTENT] | Full text or transcript of the source to be scored for credibility. | A 2,500-word article text from a financial news website. | Required. Must be a non-null string with a minimum of 50 characters. Reject empty strings or binary blobs. If the source is a PDF, extract text before injection. |
[SOURCE_METADATA] | Structured metadata about the source including publication date, author, domain, and type. | {"publication_date": "2024-03-15", "author": "Jane Doe", "domain": "reuters.com", "type": "news_report"} | Required JSON object. Validate that publication_date is ISO 8601. If author is unknown, set to null explicitly. Domain must be a valid hostname string. |
[CLAIM_DOMAIN] | The subject area of the claim being verified, used to weight domain-specific authority. | medical_treatment_guidelines | Required string. Must match one of the predefined domain enums: medical, legal, financial, scientific, technical, news_politics, or general. Reject unmapped or ambiguous domains. |
[EVIDENCE_CONTEXT] | A brief summary of the specific claim the source is being evaluated against, to assess relevance. | The claim states that a new drug reduces symptoms by 40% compared to placebo. | Required. Must be a non-null string between 10 and 500 characters. This is not the full claim text, but a concise summary for relevance matching. |
[RECENCY_THRESHOLD_DAYS] | The maximum age in days a source can be before its recency score is penalized for the given claim domain. | 365 | Required integer. Must be a positive number. Use 365 for general claims, 90 for medical/financial, and 30 for breaking news. If null, default to 365. |
[AUTHORITY_WEIGHT_PROFILE] | A configuration object defining how to weight institutional authority vs. author expertise vs. publication venue. | {"institutional_weight": 0.5, "author_weight": 0.2, "venue_weight": 0.3} | Required JSON object. Values must be floats that sum to 1.0. If not provided, use the default profile from the system prompt. Reject profiles that don't sum to 1.0. |
[OUTPUT_SCHEMA] | The strict JSON schema the model must use to return the credibility score and its components. | {"type": "object", "properties": {"credibility_score": {"type": "number"}, "authority_score": {"type": "number"}, ...}} | Required. Must be a valid JSON Schema object. Validate that it includes required fields: credibility_score, authority_score, recency_score, bias_risk_score, and justification. Reject schemas missing these fields. |
Implementation Harness Notes
How to wire the Source Credibility Scoring prompt into a production verification pipeline with validation, retries, and human review gates.
The Source Credibility Scoring prompt is designed to be called as a single step within a larger fact-checking or evidence-weighting pipeline. It expects structured source metadata as input and returns a structured credibility score. In production, you should not call this prompt in isolation; wrap it in a harness that validates the output schema, enforces score thresholds, and routes low-confidence or edge-case results for human review. The prompt itself is stateless, so all necessary context—source URL, publication date, author credentials, domain of the claim being verified—must be assembled by the application layer before the model call.
Validation and retry logic: The output must conform to a strict JSON schema with required fields for credibility_score (0.0–1.0), dimension_scores (authority, recency, bias, transparency), and evidence_chain. Implement a post-generation validator that checks field presence, type correctness, and range constraints. If validation fails, retry once with the same prompt plus the validation error message appended as a [REPAIR_INSTRUCTION]. If the second attempt also fails, log the failure, fall back to a default low-confidence score, and flag the source for manual review. Do not retry more than twice—diminishing returns and latency costs escalate quickly.
Model choice and latency budgeting: For high-throughput pipelines processing hundreds of sources per claim, use a fast, cost-efficient model (e.g., GPT-4o-mini, Claude Haiku) with a strict token budget. Reserve larger models (GPT-4o, Claude Sonnet) for sources flagged as high-stakes or where the initial score falls in an ambiguity band (e.g., 0.4–0.6). Implement a model router that checks the claim's risk level and the source's metadata completeness before selecting the model tier. Log every model call with the prompt version, model ID, latency, and token usage for cost attribution and debugging.
Human review gating: Any source that receives a credibility score below a configurable threshold (start with 0.5) or has missing critical metadata (no publication date, no author, no domain information) should be routed to a review queue. The harness should package the raw source metadata, the model's full JSON output, and the claim context into a review packet. Human reviewers can override the score, and those overrides should be logged as training data for future fine-tuning or prompt calibration. Never auto-accept a low-credibility source without human confirmation in high-stakes domains like healthcare, legal, or financial verification.
Observability and drift detection: Instrument the harness to emit structured logs for every prompt call, including the input metadata hash, output scores, validation pass/fail status, retry count, and review routing decision. Monitor score distributions over time—sudden shifts in average credibility scores or dimension score patterns often indicate prompt drift, model behavior changes, or upstream metadata quality degradation. Set up alerts for validation failure rate spikes and review queue backlog growth. Store prompt versions alongside outputs so you can correlate score changes with prompt updates during incident analysis.
Expected Output Contract
Structured JSON schema for the Source Credibility Scoring Prompt Template. Use this contract to validate model responses before they enter downstream verification pipelines.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
source_id | string | Must match the [SOURCE_ID] input exactly; reject on mismatch | |
overall_credibility_score | number (0.0-1.0) | Must be a float between 0.0 and 1.0 inclusive; reject if out of range or non-numeric | |
domain_authority | object | Must contain | |
recency_assessment | object | Must contain | |
bias_indicators | array | Each element must be an object with | |
source_type | string | Must be one of: primary, secondary, tertiary, unknown; reject on unrecognized value | |
confidence_interval | object | If present, must contain | |
limitations | array of strings | Must contain at least one entry if overall_credibility_score < 0.7; warn if empty on high-confidence outputs |
Common Failure Modes
Source credibility scoring fails in predictable ways. These are the most common production failure modes and the guardrails that catch them before they corrupt downstream verification.
Sparse Metadata Causes Default Scores
What to watch: When source metadata is missing (no author, no date, no publisher), the model assigns middling credibility scores instead of flagging the gap. This produces false confidence in unverifiable sources. Guardrail: Require a metadata_completeness field in the output schema. If completeness is below threshold, route to human review and suppress the credibility score.
Domain Mismatch Produces Wrong Authority Weights
What to watch: A peer-reviewed medical journal scores high on authority, but the prompt applies that score to a claim about economic policy. The source is authoritative in the wrong domain. Guardrail: Always pair credibility scoring with a domain-match step. Require the prompt to output a domain_relevance score separately from authority_score, and multiply them before use.
Recency Bias Overrides Authority
What to watch: A recent blog post outranks a slightly older government report because the model overweights publication date. This is especially dangerous for regulatory or scientific claims where authority matters more than freshness. Guardrail: Implement domain-specific recency windows. For legal and scientific claims, cap the recency contribution so that authority remains the dominant factor.
Self-Referential Authority Loops
What to watch: Source A cites Source B, which cites Source A, creating a circular authority chain that looks well-supported but has no independent grounding. The model treats the citation count as a credibility signal. Guardrail: Add a provenance chain check that detects cycles. If a citation graph contains loops, flag the source as independence_unverified and downgrade the credibility score.
Press Releases Scored as Independent Reporting
What to watch: Corporate press releases, government statements, and advocacy group announcements are classified as news or research sources. The model fails to detect the self-interested nature of the source. Guardrail: Include a source_independence classification step before credibility scoring. Require explicit detection of PR wires, corporate blogs, and official statements, and apply a mandatory downgrade.
Score Calibration Drift Across Batches
What to watch: The same source type receives different credibility scores across different batches or claim contexts because the model's calibration shifts. This makes downstream thresholds unreliable. Guardrail: Maintain a golden set of 20-30 sources with known credibility labels. Run them through the prompt weekly and alert if score distributions shift beyond a tolerance window.
Evaluation Rubric
How to test output quality before shipping. Run these checks on a golden dataset of 20-50 sources with known credibility ratings.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Score Calibration | Predicted credibility score is within ±0.5 of the golden label on a 1-5 scale for 90% of the test set. | Mean absolute error exceeds 0.5 or systematic bias (e.g., consistently overrating .gov sources). | Calculate MAE and bias distribution across the golden dataset. Flag any domain with error > 0.5. |
Domain Authority Match | The [DOMAIN_AUTHORITY] field correctly identifies the source's expertise for the given [CLAIM_DOMAIN] in 95% of cases. | A known medical journal is rated low for a medical claim, or a general news site is rated high for a technical claim. | Use 10 hand-crafted pairs of [SOURCE_METADATA] and [CLAIM_DOMAIN] with known mismatches. Check for false positives and negatives. |
Recency Relevance | The [RECENCY_SCORE] is 'high' for sources published within the [RECENCY_WINDOW] and 'low' for sources outside it. | A 10-year-old article on a fast-moving topic is scored as 'high' recency. | Provide sources with explicit publication dates. Assert that the score matches the window defined in [DOMAIN_RECENCY_RULES]. |
Bias Flagging | The [BIAS_FLAGS] array correctly identifies at least one known conflict from the golden label (e.g., funding source, political affiliation). | A source with a known funding conflict is returned with an empty [BIAS_FLAGS] array. | Use a subset of 10 sources with documented conflicts. Check for recall (flag present) and precision (no hallucinated flags). |
Structured Output Validity | The output is valid JSON that strictly conforms to the [OUTPUT_SCHEMA] without extra keys or missing required fields. | The model returns a markdown-wrapped JSON block, a missing [CREDIBILITY_SCORE] field, or a string where a number is expected. | Validate the raw output against the JSON Schema using a programmatic validator. Reject any non-conforming output. |
Uncertainty Communication | When [SOURCE_METADATA] is sparse (e.g., missing author and date), the [CONFIDENCE_SCORE] is 'low' and the [JUSTIFICATION] explicitly notes the missing data. | A source with only a URL and title receives a 'high' confidence score. | Provide 5 sources with progressively sparser metadata. Assert that the [CONFIDENCE_SCORE] decreases and the [JUSTIFICATION] mentions specific missing fields. |
Abstention Trigger | The model returns a valid [ABSTENTION] object with a reason when the source is completely unverifiable (e.g., a deleted social media post). | The model hallucinates a credibility score for a non-existent or inaccessible source. | Provide a 404 URL or a reference to a deleted post. Assert that the output contains the [ABSTENTION] object and no [CREDIBILITY_SCORE]. |
Hallucination Resistance | The [JUSTIFICATION] field contains only claims directly traceable to the provided [SOURCE_METADATA] or [SOURCE_CONTENT]. | The justification mentions an 'award-winning' reputation when no awards were in the input. | Use an LLM-as-a-judge to check if every factual statement in the [JUSTIFICATION] has a grounding span in the input. Flag any unsupported claims. |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a frontier model (GPT-4o, Claude 3.5 Sonnet). Remove strict JSON output constraints initially—accept markdown or structured text and parse it loosely. Focus on getting the credibility dimensions right before locking down the schema.
Simplify the input: pass only the source URL, title, and a short excerpt. Skip full metadata extraction.
Prompt modification
Replace [OUTPUT_SCHEMA] with: Return a JSON object with keys: authority_score, recency_score, bias_risk, overall_credibility, and a short justification. Scores are 0-100.
Watch for
- Hallucinated publication dates when metadata is missing
- Overly generous authority scores for unknown sources
- Model conflating popularity with credibility

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us