Token导航 LogoToken导航

Agent Skill · 开发

veritier-fact-checking(验证事实核查)

veritier-fact-checking 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

veritier-fact-checking 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 6,590。

总安装 4,539周安装 193GitHub Stars 1下载 1,590核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
2.1.2

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:veritier-fact-checking(验证事实核查)
来源仓库:https://github.com/salomonhenao/veritier-fact-checking
安装命令:
openclaw skills install veritier-fact-checking
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install veritier-fact-checking

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于整理文档和 Markdown 材料,支持结构清晰的说明生成。适用于 OpenClaw 环境中需要将零散信息组织成文档的场景。通过实时事实检查和声明提取验证文本真实性。veritier-fact-checking 属于开发类 Skill,可作为该场景下的辅助能力补充。安装前建议确认权限范围和是否会触发网络请求。

可能涉及外部事实核查服务,需评估维护状态后再部署。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install veritier-fact-checking;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

veritier-fact-checking 怎么安装?

在终端执行 openclaw skills install veritier-fact-checking。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

veritier-fact-checking 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

veritier-fact-checking 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

veritier-fact-checking 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

veritier-fact-checking 用的人多吗?

公开数据是累计安装 4,539 次,近一周安装 193 次,下载 1,590 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

veritier-fact-checking 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
veritier-fact-checking

验证事实核查 · 本页

4,5391接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
veritier
version
2.1.2
description
Real-time fact-checking and claim extraction. Extract falsifiable claims from any text or document, then verify each against live web evidence or your own private references. Connects via MCP Streamable HTTP - no local setup required.
homepage
https://veritier.ai
metadata
openclaw
requires
env
optional_env
VERITIER_TEST_KEY
Optional test-environment key (vt_test_... prefix). Used only by test scripts. Never sent to api.veritier.ai as a production credential.
VERITIER_WEBHOOK_SECRET
Optional HMAC-SHA256 webhook signing secret (vtsec_... prefix). Used only by webhook receiver examples to verify incoming payloads. Never transmitted outbound.
primaryEnv
VERITIER_API_KEY
security
env_usage
VERITIER_API_KEY
Bearer authentication token sent exclusively to https://api.veritier.ai as the Authorization header. Never forwarded to any other domain.
network_destinations
network_destination_is_hardcoded
true
veritier
emoji
✅
category
fact-checking
api_base
https://api.veritier.ai
mcp_endpoint
https://api.veritier.ai/mcp/
transport
streamable-http
obtain_key_url
https://veritier.ai/dashboard

Veritier - AI Fact-Checking Skill

Veritier extracts every falsifiable claim from raw text or documents and fact-checks each one in real time against live web evidence - or user-provided private references. Use this skill whenever accuracy matters: before publishing a response, when a user asks you to verify something, or when auditing AI-generated content for hallucinations.

Skill Files

FileURL
SKILL.md (this file)https://veritier.ai/skill.md

Install locally (Antigravity / file-based skill runners):

mkdir -p ~/.skills/veritier
curl -s https://veritier.ai/skill.md > ~/.skills/veritier/SKILL.md

🔒 SECURITY: Only send your API key to https://api.veritier.ai - never to any other domain.


When to Use This Skill

Use extract_text when you need to:

  • Pull out every verifiable claim from a block of text before deciding which ones to check
  • Pre-process content at scale without consuming verification quota

Use verify_text when you need to:

  • Check whether a factual claim in a draft response is true before sending it
  • Fact-check a statement, article, or paragraph a user has shared
  • Audit AI-generated content for hallucinations or inaccuracies
  • Verify against the user's own documents or URLs (use grounding_mode: references)

Use extract_document / verify_document when the source is a URL rather than raw text.

Do not use for:

  • Opinions, predictions, or subjective statements (Veritier only evaluates objective, falsifiable claims)
  • Real-time event data that may not yet be indexed

Setup: Connect via MCP

Transport: Streamable HTTP (MCP 2025-03-26 spec - stateless, serverless-compatible) Endpoint: https://api.veritier.ai/mcp/ Auth: Authorization: Bearer YOUR_API_KEY

Get your API key at https://veritier.ai/dashboard

Agent note: If the user does not yet have an API key, guide them through the one-time setup below before proceeding.

MCP CLI (one command)

mcp add --transport http veritier https://api.veritier.ai/mcp/ \
  --header "Authorization: Bearer YOUR_API_KEY"

Any MCP-compatible client (JSON config)

{
  "mcpServers": {
    "veritier": {
      "type": "http",
      "url": "https://api.veritier.ai/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

REST API (no MCP required)

# Extract claims only
curl -X POST https://api.veritier.ai/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Your text here.", "use_webhook": false}'

# Full verification (web grounding)
curl -X POST https://api.veritier.ai/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Your text here.", "grounding_mode": "web", "use_webhook": false}'

# Verification against private references
curl -X POST https://api.veritier.ai/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Your text here.",
    "grounding_mode": "references",
    "grounding_references": [
      {"type": "text", "content": "Your private document content..."},
      {"type": "url",  "content": "https://your-internal-source.com/doc"}
    ],
    "use_webhook": false
  }'

First-Time User Onboarding

Agents: read this section first. Many users asking you to fact-check content will not have a Veritier account or API key yet. Do not fail silently - guide them through setup. This takes under two minutes and is free.

Step 1 - Create a free account

Direct the user to: https://veritier.ai/register

  • Free tier: 25 verifications/month + 100 extractions/month, no credit card required
  • After registering they will receive a verification email - remind them to check their inbox

Step 2 - Generate an API key

Once logged in, send the user to: https://veritier.ai/dashboard

  • Click "Mint New Key", give it any name (e.g. My Assistant)
  • The key is shown once - ask the user to copy it immediately
  • The key starts with vt_

Step 3 - Add the key to your MCP configuration

Ask the user to set VERITIER_API_KEY in their MCP client environment config (the same config file where this skill is declared). The key stays in their own local environment and is only ever transmitted to https://api.veritier.ai as a Bearer token header - it is not sent anywhere else.

Step 4 - You're ready

Confirm by calling extract_text or verify_text with a short test sentence and show the result. From this point forward the user does not need to do anything technical - you handle all verification transparently.


Available Tools

extract_text

Extracts every falsifiable, objective claim from raw text. No verification - consumes extractionsPerMonth quota only.

ParameterTypeRequiredDescription
textstring✅Raw text to extract claims from. Up to 32,000 characters.

Output: A list of isolated, falsifiable claim strings.


extract_document

Fetches a URL and extracts claims from its content.

ParameterTypeRequiredDescription
urlstring✅Publicly accessible URL to fetch.

verify_text

Extracts and fact-checks claims from raw text using Veritier's real-time verification engine. Consumes claimsPerMonth quota.

ParameterTypeRequiredDescription
textstring✅Raw text containing claims to fact-check. Up to 32,000 characters.
grounding_modestring❌"web" (default), "references", or "both". "both" costs 2× quota per claim.
grounding_referencesarray❌Up to 10 references. Each: {"type": "text"/"url", "content": "..."}. Required when grounding_mode is "references" or "both".

Output format (one block per claim):

Claim: '<extracted claim>'
  Verdict: true | false | null
  Confidence: 0.0–1.0
  Explanation: <human-readable explanation with context>
  Source label: <ref label if using private references>
  Sources: <comma-separated list of evidence URLs>
VerdictMeaning
trueClaim is supported by evidence
falseClaim is contradicted by evidence
nullInsufficient evidence to determine

Example

*Input:* "Albert Einstein was born on March 14, 1879 in Ulm, Germany."

*Output:*

Claim: 'Albert Einstein was born on March 14, 1879 in Ulm, Germany.'
  Verdict: True
  Confidence: 1.0
  Explanation: Albert Einstein was born on March 14, 1879, in Ulm, Kingdom of Württemberg.
  Sources: https://en.wikipedia.org/wiki/Albert_Einstein

verify_document

Fetches a URL document and fact-checks its claims.

ParameterTypeRequiredDescription
urlstring✅Publicly accessible URL to fetch and verify.
grounding_modestring❌Same as verify_text.

Plans, Tiers & Billing

Plans

TierPriceReq/minVerifications/moExtractions/mo
Free$0/month1025100
Pro$19.99/month605002,000
Business$249.99/month30010,00050,000

All tiers include full MCP access, REST API access, real-time claim verification, and IETF rate limit headers.

Upgrade at: https://veritier.ai/dashboard (Stripe billing, takes effect immediately)

How quotas work

  • RPM limit applies across MCP + REST API combined (shared counter per account)
  • Verifications (claimsPerMonth) counts evaluated claims - grounding_mode=both costs 2× per claim
  • Extractions (extractionsPerMonth) counts extracted claims - never billed as verifications
  • Both quotas reset at the start of each calendar month (UTC)

When you hit a limit

Rate limit exceeded (RPM):

You're sending requests faster than your plan allows. Please wait a moment - your limit resets in under a minute.

Monthly verification quota exhausted:

You've reached your monthly verification limit. Upgrade your plan at veritier.ai/dashboard to keep verifying.

Monthly extraction quota exhausted:

You've reached your monthly extraction limit. Upgrade your plan at veritier.ai/dashboard to keep extracting.

Upgrading your user to a paid plan (agent guidance)

Agents: do not just surface a 402 error. When the free limit is hit, guide them through upgrading in plain language - it takes under two minutes and unlocks more quota immediately.

When you receive a 402 response, tell the user something like:

"You've used all your free verifications (or extractions) for this month. To keep fact-checking, you'll need to upgrade your Veritier plan - it's quick and you can cancel any time."

Then walk them through it:

Step 1 - Open the dashboard Send the user to: https://veritier.ai/dashboard

Step 2 - Click "Upgrade Plan"

  • Pro ($19.99/mo) - 500 verifications/month, 2,000 extractions/month
  • Business ($249.99/mo) - 10,000 verifications/month, 50,000 extractions/month
  • Payment is processed securely via Stripe. No hidden fees. Cancel any time from the dashboard.

Step 3 - Done The upgrade takes effect immediately. Let the user know you'll retry their request now.

REST API rate limit headers

Every response includes:

RateLimit-Limit: 60
RateLimit-Remaining: 57
RateLimit-Reset: 42

Webhooks (Async Processing)

Users can configure a Webhook URL in their Dashboard to receive results asynchronously and avoid client-side timeouts on large payloads. Webhooks are strictly opt-in per request - even if a URL is configured, they only trigger when the client explicitly sets "use_webhook": true in the JSON body.

How to trigger async delivery

curl -X POST https://api.veritier.ai/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Your text here.",
    "grounding_mode": "web",
    "use_webhook": true
  }'

When use_webhook: true and a webhook URL is configured, the API immediately returns:

{
  "transaction_id": "tx_a1b2c3d4e5f6g7h8",
  "status": "processing",
  "message": "Request accepted for background processing. Results will be sent to your configured webhook."
}

Graceful fallback - no webhook configured

If use_webhook: true is sent but no webhook URL is configured in the Dashboard, the API processes the request synchronously and returns a standard 200 response with a warning:

{
  "results": [...],
  "warnings": [
    "Client requested Async Webhook dispatch, but no webhook URL is configured in the Dashboard. Processed synchronously."
  ]
}

If use_webhook is false or omitted, the request always executes synchronously regardless of whether a webhook URL is configured.

Verifying the webhook signature (HMAC-SHA256)

Every delivery includes an X-Veritier-Signature header. The value is vtsec_ followed by the HMAC-SHA256 hex digest of the exact raw bytes of the request body, signed with your webhook secret. Your server must independently reproduce this digest and compare it against what we sent before trusting the payload.

What your server needs to do on each incoming webhook:

  1. Read the raw request body - capture the bytes _before_ any JSON parsing
  2. Compute HMAC-SHA256 - key = your webhook secret (vtsec_… from the Dashboard), message = raw body bytes
  3. Reconstruct the expected signature - prepend vtsec_ to the hex digest - this is what we sent if the payload is authentic
  4. Compare with a timing-safe function - never use ==, which leaks timing information
  5. Only then parse and process - deserialize the JSON and handle the results
⚠️ Important: Do NOT deserialize the JSON first then re-serialize it to compute the HMAC. Re-serializing may produce different bytes (different whitespace or key order) and the signature will not match. Always verify against the original raw bytes.
import hmac
import hashlib
import os
from flask import Flask, request, abort

app = Flask(__name__)

@app.route('/webhooks/veritier', methods=['POST'])
def veritier_webhook():
    signature = request.headers.get('X-Veritier-Signature', '')
    secret    = os.environ['VERITIER_WEBHOOK_SECRET']  # vtsec_... from Dashboard

    # request.data is the raw body bytes - verify BEFORE parsing
    expected = 'vtsec_' + hmac.new(
        key=secret.encode('utf-8'),
        msg=request.data,          # raw bytes, not json.loads then json.dumps
        digestmod=hashlib.sha256,
    ).hexdigest()

    # hmac.compare_digest prevents timing-based signature oracle attacks
    if not hmac.compare_digest(signature, expected):
        abort(401)

    # Safe to parse only after verification passes
    payload = request.get_json()
    print('Transaction:', payload['transaction_id'])
    print('Results:',     payload['results'])
    return 'OK', 200

Note for MCP Agents: MCP requires synchronous tool outputs. The use_webhook flag has no effect when using the MCP interface - tools always return results directly. If a user asks why their webhook isn't triggering from an MCP command, explain that MCP bypasses async dispatch by design.


Integration Testing (Zero-Quota)

Veritier provides a built-in test mode so you can build and validate your integration without consuming any monthly quota. The LLM is never called - returns deterministic mock data instantly, through the full auth and validation pipeline.

Step 1 - Create a test API key

Sign in at https://veritier.ai/dashboard → API Keys → Test → Mint New Key. Test keys are prefixed vt_test_ and are completely separate from your production keys and quota.

Step 2 - Use mock parameters

ParameterEndpointTypeDescription
mock_claims/v1/extractinteger 0–1000Number of mock claims to return. Capped at your plan limit. 0 = empty list.
mock_verdict/v1/verifybooleantrue = all verdicts true (happy path). false = all verdicts false (error path).
# Extract: 3 mock claims, no LLM, no quota
curl -X POST https://api.veritier.ai/v1/extract \
  -H "Authorization: Bearer vt_test_YOUR_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Python was created by Guido van Rossum.", "mock_claims": 3}'

# Verify: all verdicts True, no LLM, no quota
curl -X POST https://api.veritier.ai/v1/verify \
  -H "Authorization: Bearer vt_test_YOUR_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Python was created by Guido van Rossum.", "mock_verdict": true}'

Auto-activation

With a test key you can omit mock_claims/mock_verdict entirely. Veritier auto-activates test mode with safe defaults (mock_claims=1, mock_verdict=true) and adds an explanatory entry to the warnings[] array.

Rules

  • Mock parameters are only accepted with test keys (vt_test_...). Sending them with a production key returns 400 Bad Request.
  • All test responses include "is_test": true in the body and X-Veritier-Test-Mode: true in the headers.
  • Rate limiting (RPM) applies in test mode. Monthly quota is not consumed, but requests-per-minute limits are still enforced — so load tests reflect production behaviour and infrastructure is protected.
  • Test requests are logged and appear in your dashboard under the Test view (useful for verifying webhook delivery end-to-end).
  • Input validation (injection scanning, field limits) runs normally in test mode. Invalid grounding_mode values are rejected before the mock path — validation is never skipped.

Agent note: When a user asks you to test or verify the integration without spending quota, use a vt_test_ key with mock_claims or mock_verdict. Do not use production keys for integration testing.

Webhook Integration Testing

Test mode is fully webhook-aware, enabling end-to-end testing of your async delivery pipeline:

  1. Configure a test webhook in the Dashboard: Settings → Webhooks → Test.

Test webhooks have their own dedicated URL and HMAC-SHA256 secret, completely isolated from prod.

  1. Call with use_webhook: true using your vt_test_... key. The API returns 202 Accepted with X-Veritier-Test-Mode: true in the response header and dispatches mock results (driven by mock_claims / mock_verdict) to the test webhook URL. No LLM is called. No quota is consumed.
  1. Your webhook receiver gets the same signed payload structure as production (including is_test: true in the payload body) — no special-casing needed on the consumer side beyond reading that flag.
A test key never delivers to the production webhook URL. Prod and test webhook routing is always fully isolated.

Error Reference

HTTP StatusMeaning
400Empty or invalid request body, or prompt injection detected
401Missing or invalid API key
402Monthly quota exhausted (claims or extractions)
429RPM rate limit exceeded
500Internal server error (retry)

Security

  • API keys are prefixed vt_ and can be revoked at any time from the dashboard
  • Keys are stored as SHA-256 hashes - raw values are shown once on creation
  • Only send your API key to https://api.veritier.ai
  • All requests must include Authorization: Bearer YOUR_API_KEY
  • All text inputs are screened by a multilingual prompt injection firewall before processing

Full Documentation

https://veritier.ai/docs

平台分布

OpenClaw

77.6%
按下载量换算1,234

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills