Epistemic reasoning engine for AI Agents — assess claim credibility with calibrated confidence. Includes a ready-to-use .skill package for agent frameworks. 87%+ accuracy with evidence, 85%+ abstain without.
SaferSkills independently audited belief-state-runtime (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Evaluates the trustworthiness of a claim based on evidence.
IMPORTANT: When this skill is triggered, you MUST follow this workflow automatically:
from assess import get_assessment_prompt, assess_claim_with_response
# Step 1: SEARCH FOR EVIDENCE (MANDATORY)
# Use your search tool (online-search, multi-search-engine, etc.) to find
# real, verifiable evidence about the claim. Search for:
# - Official data and statistics
# - Academic research and studies
# - Credible news reports
# - Expert opinions
#
# Example search queries:
# - "[claim topic] facts evidence research"
# - "[claim topic] statistics studies 2024"
# - "专家观点 [claim topic]"
# Step 2: Get the assessment prompt
prompt = get_assessment_prompt(claim="The claim", evidence="Search results + user's evidence")
# Step 3: YOU (the AI) answer the prompt with 6 boolean judgments
# Based on your search results and analysis:
# - direct_support: Does the evidence support the claim?
# - new_info: Does it provide new information?
# - logical_consistent: Is it logically consistent?
# - direct_refute: Does it explicitly refute the claim?
# - limitation: Are there limitations or exceptions?
# - error_outdated: Is the claim outdated or wrong?
#
# Your answer format:
# {"direct_support": true/false, "new_info": true/false, "logical_consistent": true/false, "direct_refute": true/false, "limitation": true/false, "error_outdated": true/false}
# Step 4: Get final result
result = assess_claim_with_response(
claim="The claim",
evidence="Search results + user's evidence",
llm_response='{"direct_support": true, ...}' # YOUR judgment
)
# Step 5: Present the result to the user
# Include: state, confidence, summary, and your interpretation| Step | Action | Tool/Function |
|---|---|---|
| 1 | Search for evidence | online-search / multi-search-engine |
| 2 | Get assessment prompt | get_assessment_prompt(claim, evidence) |
| 3 | Make 6 judgments | YOU (the AI) |
| 4 | Get result | assess_claim_with_response(claim, evidence, llm_response) |
| 5 | Present to user | Your response |
{
"state": "VERIFIED",
"confidence": 0.83,
"confidence_range": [0.68, 0.98],
"features": {"direct_support": true, "new_info": true, ...},
"summary": "Evidence strongly supports the claim"
}States:
When evidence arrives in stages, the engine updates beliefs incrementally:
prompt = get_assessment_prompt(claim, evidence="stage 1")
# AI answers...
result1 = assess_claim_with_response(claim, evidence="stage 1", llm_response=ai_answer)
prompt = get_assessment_prompt(claim, evidence="stage 1 + stage 2")
# AI answers...
result2 = assess_claim_with_response(claim, evidence="stage 1 + stage 2",
llm_response=ai_answer,
previous_confidence=result1["confidence"])| Parameter | Type | Required | Description |
|---|---|---|---|
| claim | string | Yes | The claim to evaluate |
| evidence | string | No | Evidence text |
| previous_confidence | float | No | Previous confidence for incremental update |
| llm_response | string | Yes | AI agent's JSON response to the assessment prompt |
For backward compatibility, assess_claim() with llm_func callback still works.
from assess import assess_claim
result = assess_claim(claim="...", evidence="...", llm_func=my_llm)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.