← Back to Skills Marketplace
shahruj

Facticity.AI Complete Integration

by shahruj · GitHub ↗ · v0.1.0
cross-platform ✓ Security Clean
493
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install facticity-ai
Description
Complete Facticity.AI integration - fact-check claims, extract claims from content, transcribe links, check link reliability, check credits, and monitor task...
README (SKILL.md)

\r \r

Facticity.AI Complete Integration\r

\r A comprehensive skill for interacting with the Facticity.AI API. Supports fact-checking claims, extracting claims from text/video, transcribing links, checking link reliability using MediaBias data, checking API credits, and monitoring async task status.\r \r

API Base URL\r

\r Base URL: https://api.facticity.ai\r \r All API endpoints use this base URL. References to {BASE_URL}.\r \r

Behavior\r

\r First, check if FACTICITY_API_KEY is set and not empty. If it is missing or empty, return this onboarding message:\r \r

⚠️ API Key Not Configured\r
\r
To use this skill, you need to set up your Facticity.AI API key:\r
\r
1. Visit https://app.facticity.ai/api to get your API key\r
2. Set the key as an environment variable:\r
   export FACTICITY_API_KEY=your_api_key_here\r
   \r
   Or add it to your OpenClaw config (~/.openclaw/openclaw.json):\r
   {\r
     "skills": {\r
       "entries": {\r
         "facticity-ai": {\r
           "enabled": true,\r
           "apiKey": "your_api_key_here"\r
         }\r
       }\r
     }\r
   }\r
\r
3. Restart OpenClaw after configuration\r
\r
Get your API key at: https://app.facticity.ai/api\r
```\r
\r
**If the API key is present, determine the operation based on the command and proceed:**\r
\r
### 1. Fact-Check (`/fact-check`)\r
\r
When the command starts with `/fact-check` or the input is a claim to fact-check:\r
\r
**Endpoint:** `POST {BASE_URL}/fact-check`\r
\r
**Headers:**\r
- `X-API-KEY: ${FACTICITY_API_KEY}`\r
- `Content-Type: application/json`\r
\r
**Body:**\r
```json\r
{\r
  "query": "\x3Craw command input (remove /fact-check prefix if present)>",\r
  "timeout": 60,\r
  "mode": "sync"\r
}\r
```\r
\r
Return the JSON response verbatim. The response includes:\r
- `Classification`: "True" or "False"\r
- `overall_assessment`: Detailed assessment text\r
- `evidence`: Array of evidence sources\r
- `sources`: Detailed source assessments\r
- `bias`: Bias metrics (if available)\r
- `task_id`: Task ID for async tracking\r
\r
**Usage:**\r
```\r
/fact-check "Vaccines contain microchips"\r
/fact-check "The unemployment rate dropped in 2023"\r
```\r
\r
**Async Mode:** For long-running fact-checks, set `mode: "async"` in the request body. The API will return a `task_id` that can be checked with `/check-task-status`.\r
\r
### 2. Extract Claims (`/extract-claim`)\r
\r
When the command starts with `/extract-claim` or the input is a URL or text to extract claims from:\r
\r
**Endpoint:** `POST {BASE_URL}/extract-claim`\r
\r
**Headers:**\r
- `X-API-KEY: ${FACTICITY_API_KEY}`\r
- `Content-Type: application/json`\r
\r
**Body:**\r
```json\r
{\r
  "input": "\x3Craw command input (remove /extract-claim prefix if present)>",\r
  "content_type": "text",\r
  "timestamp": false,\r
  "audio_transcript_enabled": false,\r
  "language_code": "en"\r
}\r
```\r
\r
**Note:** For video URLs (YouTube, TikTok, Instagram), the API will auto-detect and transcribe. If you need transcription explicitly enabled, set `audio_transcript_enabled: true` in the request body.\r
\r
Return the JSON response verbatim.\r
\r
**Usage:**\r
```\r
/extract-claim "The Earth is flat and NASA is lying about it"\r
/extract-claim https://youtube.com/watch?v=abc123\r
/extract-claim https://tiktok.com/@user/video/123\r
/extract-claim https://instagram.com/p/abc123\r
```\r
\r
**Supported Content Types:**\r
- **Text**: Direct text input\r
- **Video URLs**: YouTube, TikTok, Instagram (auto-transcribes)\r
- **Language**: Set `language_code` for non-English content (default: "en")\r
\r
**Response Format:**\r
- `status`: "ok" on success\r
- `transcript`: Transcribed content (for video URLs)\r
- `title`: Video/article title (if available)\r
- `description`: Content description (if available)\r
- `claims`: Array of extracted claim strings\r
- `overall_assessment`: Summary of extraction\r
\r
### 3. Get Credits (`/get-credits`)\r
\r
When the command is `/get-credits` or user wants to check API credits:\r
\r
**Endpoint:** `GET {BASE_URL}/get-credits`\r
\r
**Headers:**\r
- `X-API-KEY: ${FACTICITY_API_KEY}`\r
\r
No request body required.\r
\r
Return the JSON response verbatim. The response includes:\r
- `email`: User email associated with the API key\r
- `api_key`: The API key (masked)\r
- `credits_left`: Number of credits remaining\r
- `duration_seconds`: Duration period (typically 3600 seconds)\r
\r
**Usage:**\r
```\r
/get-credits\r
```\r
\r
**Response Format:**\r
```json\r
{\r
  "email": "[email protected]",\r
  "api_key": "your_api_key_here",\r
  "credits_left": 1482,\r
  "duration_seconds": 3600\r
}\r
```\r
\r
### 4. Check Task Status (`/check-task-status`)\r
\r
When the command starts with `/check-task-status` or the input is a task ID:\r
\r
**Endpoint:** `GET {BASE_URL}/check-task-status?task_id=\x3Ctask_id>`\r
\r
**Headers:**\r
- `X-API-KEY: ${FACTICITY_API_KEY}`\r
\r
The raw command input should be the task_id from a previous async fact-check request (remove `/check-task-status` prefix if present).\r
\r
**Query Parameter:**\r
- `task_id`: The unique ID of the task to check (from the raw command input)\r
\r
Return the JSON response verbatim.\r
\r
**Usage:**\r
```\r
/check-task-status 1234567890abcdef\r
```\r
\r
Or with the task_id from a previous async fact-check:\r
```\r
/fact-check "Long claim..." --mode async\r
# Returns task_id: abc123\r
/check-task-status abc123\r
```\r
\r
**Response Format:**\r
\r
For completed tasks:\r
```json\r
{\r
  "status": "Completed",\r
  "input_query": "Original Input query",\r
  "classification": "False",\r
  "overall_assessment": "This claim is inaccurate.",\r
  "evidence_sources": ["Source 1", "Source 2"],\r
  "disambiguation": "Clarifies the context...",\r
  "detailed_source_reports": ["Detailed source report 1", "Detailed source report 2"],\r
  "task_id": "1234567...",\r
  "bias_quality_metrics": [\r
    {\r
      "source": "https://www.politico.com",\r
      "bias": -5.238666666666666,\r
      "quality": 46.45\r
    }\r
  ]\r
}\r
```\r
\r
For in-progress tasks, returns current status and progress information.\r
\r
### 5. Transcribe Link (`/transcribe-link`)\r
\r
When the command starts with `/transcribe-link` or the input is a URL to transcribe:\r
\r
**Endpoint:** `POST {BASE_URL}/transcribe-link`\r
\r
**Headers:**\r
- `X-API-KEY: ${FACTICITY_API_KEY}`\r
- `Content-Type: application/json`\r
\r
**Body:**\r
```json\r
{\r
  "url": "\x3Craw command input (remove /transcribe-link prefix if present)>"\r
}\r
```\r
\r
The raw command input should be the URL to transcribe (remove `/transcribe-link` prefix if present).\r
\r
Return the JSON response verbatim.\r
\r
**Usage:**\r
```\r
/transcribe-link https://youtube.com/watch?v=abc123\r
/transcribe-link https://tiktok.com/@user/video/123\r
/transcribe-link https://instagram.com/p/abc123\r
```\r
\r
**Response Format:**\r
- `status`: "ok" on success\r
- `transcript`: Transcribed content from the link\r
- `title`: Video/article title (if available)\r
- `description`: Content description (if available)\r
- `duration`: Duration of the content (if available)\r
\r
### 6. Check Link Reliability (`/link-reliability/check`)\r
\r
When the command starts with `/link-reliability/check` or `/check-link-reliability` or the input is a URL to check for source reliability:\r
\r
**Endpoint:** `POST {BASE_URL}/link-reliability/check`\r
\r
**Headers:**\r
- `X-API-KEY: ${FACTICITY_API_KEY}`\r
- `Content-Type: application/json`\r
\r
**Body:**\r
```json\r
{\r
  "url": "\x3Craw command input (remove /link-reliability/check or /check-link-reliability prefix if present)>"\r
}\r
```\r
\r
The raw command input should be the URL to check (remove `/link-reliability/check` or `/check-link-reliability` prefix if present).\r
\r
Return the JSON response verbatim. The response includes:\r
- `url`: The processed URL\r
- `bias`: Bias score (-42 to +42)\r
- `quality`: Quality score (0 to 64)\r
- `bias_label`: Human-readable bias category\r
- `quality_label`: Human-readable quality category\r
- `found`: Whether the URL was found in MediaBias database\r
\r
**Usage:**\r
```\r
/link-reliability/check https://www.example.com/article\r
/check-link-reliability https://www.bbc.com/news\r
/link-reliability/check https://www.politico.com/story\r
```\r
\r
**Response Format:**\r
```json\r
{\r
  "url": "https://www.example.com/article",\r
  "bias": -5.24,\r
  "quality": 46.45,\r
  "bias_label": "Left-Center Bias",\r
  "quality_label": "High Quality",\r
  "found": true\r
}\r
```\r
\r
**Note:** If the URL is not found in the MediaBias database, `found` will be `false` and bias/quality scores may be null or default values.\r
\r
## Command Routing\r
\r
Determine which operation to perform based on the command prefix:\r
- `/fact-check` or input looks like a claim → Fact-Check endpoint\r
- `/extract-claim` or input is a URL → Extract Claims endpoint\r
- `/get-credits` → Get Credits endpoint\r
- `/check-task-status` or input is a task ID → Check Task Status endpoint\r
- `/transcribe-link` or input is a URL → Transcribe Link endpoint\r
- `/link-reliability/check` or `/check-link-reliability` or input is a URL → Check Link Reliability endpoint\r
\r
## API Token Usage\r
\r
- **Fact-Check**: Each request consumes 1 API token\r
- **Extract Claims**: Consumes 1 API token per 1 million characters processed\r
- **Get Credits**: Free, does not consume tokens\r
- **Check Task Status**: Free, does not consume tokens\r
- **Transcribe Link**: Consumes 1 API token per transcription request\r
- **Check Link Reliability**: Consumes 1 API token per request\r
\r
Monitor usage with `/get-credits`.\r
\r
## Configuration\r
\r
Set `FACTICITY_API_KEY` in your OpenClaw config under `skills.entries.facticity-ai.apiKey` or as an environment variable.\r
\r
**Example config:**\r
```json\r
{\r
  "skills": {\r
    "entries": {\r
      "facticity-ai": {\r
        "enabled": true,\r
        "apiKey": "YOUR_API_KEY_HERE"\r
      }\r
    }\r
  }\r
}\r
```\r
\r
Or set as environment variable:\r
```bash\r
export FACTICITY_API_KEY=your_api_key_here\r
```\r
Usage Guidance
This skill appears to be a straightforward HTTP integration with Facticity.AI and only needs your FACTICITY_API_KEY. Before installing: (1) confirm the API domain (app.facticity.ai / api.facticity.ai) and documentation are legitimate; (2) be cautious where you store the API key — adding it to ~/.openclaw/openclaw.json is convenient but means the key is on disk; protect that file and your account credentials; (3) test the /get-credits endpoint and avoid commands that would cause the agent to echo any sensitive fields — the SKILL.md asks to return API responses verbatim and example output shows an `api_key` field, which could leak the key if the service returns it unmasked; (4) if you need higher assurance, ask the publisher for a homepage or source repo or request the skill include minimal redaction logic so responses don't reveal secrets. Overall the skill is internally coherent, but follow standard key-handling hygiene.
Capability Analysis
Type: OpenClaw Skill Name: facticity-ai Version: 0.1.0 This skill is designed for legitimate integration with the Facticity.AI API, enabling fact-checking, claim extraction, transcription, and link reliability checks. All network requests are directed to the specified `https://api.facticity.ai` endpoint, and the `FACTICITY_API_KEY` is used as expected for authentication. The SKILL.md instructions are clear, focused on API interaction, and do not contain any prompt injection attempts to mislead the agent into performing unauthorized actions, exfiltrating data, or establishing persistence. While the use of `raw` command input could theoretically expose a vulnerability if the Facticity.AI API itself is susceptible to injection, the skill itself merely passes the intended user input and does not exhibit malicious intent or exploit such a vulnerability.
Capability Assessment
Purpose & Capability
The skill name/description map directly to the declared behavior: it calls Facticity.AI endpoints to fact-check, extract claims, transcribe links, check credits, and monitor tasks. The only credential requested is FACTICITY_API_KEY, which is appropriate for an API integration; no unrelated binaries, config paths, or extra credentials are required.
Instruction Scope
SKILL.md limits runtime actions to HTTP calls to https://api.facticity.ai and to verifying the presence of FACTICITY_API_KEY. Two items to be aware of: (1) the docs instruct the agent to "return the JSON response verbatim" — if the API response includes sensitive fields (the README/example shows an `api_key` field), this could cause the key to be echoed into chat/output; (2) the README recommends storing the API key in ~/.openclaw/openclaw.json, which is normal but means the key will reside on disk and should be protected. Aside from these notes, instructions don't scope creep into unrelated system files or other credentials.
Install Mechanism
There is no install spec and no code files — the skill is instruction-only and relies on existing HTTP call tooling. This minimizes risk from arbitrary code being written to disk.
Credentials
Only FACTICITY_API_KEY is required and it is declared as the primary credential. That is proportionate for an HTTP API integration. The skill suggests optionally adding the key to an OpenClaw config file (~/.openclaw/openclaw.json); this is a convenience but has the usual local-storage tradeoffs.
Persistence & Privilege
The skill does not request always: true, does not include installers that change system-wide configuration, and does not modify other skills. It runs on-demand and only uses the declared API key.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install facticity-ai
  3. After installation, invoke the skill by name or use /facticity-ai
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release: Full Facticity.AI integration enabling claim fact-checking, claim extraction, URL transcription, and source reliability scoring. Built from award-winning research (TIME Best Invention 2024), designed for high-stakes verification across text, audio, and video. Supports YouTube, TikTok, Instagram Reels, X Spaces, and other multimedia URLs.
Metadata
Slug facticity-ai
Version 0.1.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Facticity.AI Complete Integration?

Complete Facticity.AI integration - fact-check claims, extract claims from content, transcribe links, check link reliability, check credits, and monitor task... It is an AI Agent Skill for Claude Code / OpenClaw, with 493 downloads so far.

How do I install Facticity.AI Complete Integration?

Run "/install facticity-ai" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Facticity.AI Complete Integration free?

Yes, Facticity.AI Complete Integration is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Facticity.AI Complete Integration support?

Facticity.AI Complete Integration is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Facticity.AI Complete Integration?

It is built and maintained by shahruj (@shahruj); the current version is v0.1.0.

💬 Comments