{
  "schemaVersion": "1.0",
  "item": {
    "slug": "facticity-ai",
    "name": "Facticity.AI Complete Integration",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/shahruj/facticity-ai",
    "canonicalUrl": "https://clawhub.ai/shahruj/facticity-ai",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/facticity-ai",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=facticity-ai",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/facticity-ai"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/facticity-ai",
    "agentPageUrl": "https://openagent3.xyz/skills/facticity-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/facticity-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/facticity-ai/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Facticity.AI Complete Integration",
        "body": "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."
      },
      {
        "title": "API Base URL",
        "body": "Base URL: https://api.facticity.ai\n\nAll API endpoints use this base URL. References to {BASE_URL}."
      },
      {
        "title": "Behavior",
        "body": "First, check if FACTICITY_API_KEY is set and not empty. If it is missing or empty, return this onboarding message:\n\n⚠️ API Key Not Configured\n\nTo use this skill, you need to set up your Facticity.AI API key:\n\n1. Visit https://app.facticity.ai/api to get your API key\n2. Set the key as an environment variable:\n   export FACTICITY_API_KEY=your_api_key_here\n   \n   Or add it to your OpenClaw config (~/.openclaw/openclaw.json):\n   {\n     \"skills\": {\n       \"entries\": {\n         \"facticity-ai\": {\n           \"enabled\": true,\n           \"apiKey\": \"your_api_key_here\"\n         }\n       }\n     }\n   }\n\n3. Restart OpenClaw after configuration\n\nGet your API key at: https://app.facticity.ai/api\n\nIf the API key is present, determine the operation based on the command and proceed:"
      },
      {
        "title": "1. Fact-Check (/fact-check)",
        "body": "When the command starts with /fact-check or the input is a claim to fact-check:\n\nEndpoint: POST {BASE_URL}/fact-check\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"query\": \"<raw command input (remove /fact-check prefix if present)>\",\n  \"timeout\": 60,\n  \"mode\": \"sync\"\n}\n\nReturn the JSON response verbatim. The response includes:\n\nClassification: \"True\" or \"False\"\noverall_assessment: Detailed assessment text\nevidence: Array of evidence sources\nsources: Detailed source assessments\nbias: Bias metrics (if available)\ntask_id: Task ID for async tracking\n\nUsage:\n\n/fact-check \"Vaccines contain microchips\"\n/fact-check \"The unemployment rate dropped in 2023\"\n\nAsync 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."
      },
      {
        "title": "2. Extract Claims (/extract-claim)",
        "body": "When the command starts with /extract-claim or the input is a URL or text to extract claims from:\n\nEndpoint: POST {BASE_URL}/extract-claim\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"input\": \"<raw command input (remove /extract-claim prefix if present)>\",\n  \"content_type\": \"text\",\n  \"timestamp\": false,\n  \"audio_transcript_enabled\": false,\n  \"language_code\": \"en\"\n}\n\nNote: 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.\n\nReturn the JSON response verbatim.\n\nUsage:\n\n/extract-claim \"The Earth is flat and NASA is lying about it\"\n/extract-claim https://youtube.com/watch?v=abc123\n/extract-claim https://tiktok.com/@user/video/123\n/extract-claim https://instagram.com/p/abc123\n\nSupported Content Types:\n\nText: Direct text input\nVideo URLs: YouTube, TikTok, Instagram (auto-transcribes)\nLanguage: Set language_code for non-English content (default: \"en\")\n\nResponse Format:\n\nstatus: \"ok\" on success\ntranscript: Transcribed content (for video URLs)\ntitle: Video/article title (if available)\ndescription: Content description (if available)\nclaims: Array of extracted claim strings\noverall_assessment: Summary of extraction"
      },
      {
        "title": "3. Get Credits (/get-credits)",
        "body": "When the command is /get-credits or user wants to check API credits:\n\nEndpoint: GET {BASE_URL}/get-credits\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\n\nNo request body required.\n\nReturn the JSON response verbatim. The response includes:\n\nemail: User email associated with the API key\napi_key: The API key (masked)\ncredits_left: Number of credits remaining\nduration_seconds: Duration period (typically 3600 seconds)\n\nUsage:\n\n/get-credits\n\nResponse Format:\n\n{\n  \"email\": \"user@example.com\",\n  \"api_key\": \"your_api_key_here\",\n  \"credits_left\": 1482,\n  \"duration_seconds\": 3600\n}"
      },
      {
        "title": "4. Check Task Status (/check-task-status)",
        "body": "When the command starts with /check-task-status or the input is a task ID:\n\nEndpoint: GET {BASE_URL}/check-task-status?task_id=<task_id>\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\n\nThe raw command input should be the task_id from a previous async fact-check request (remove /check-task-status prefix if present).\n\nQuery Parameter:\n\ntask_id: The unique ID of the task to check (from the raw command input)\n\nReturn the JSON response verbatim.\n\nUsage:\n\n/check-task-status 1234567890abcdef\n\nOr with the task_id from a previous async fact-check:\n\n/fact-check \"Long claim...\" --mode async\n# Returns task_id: abc123\n/check-task-status abc123\n\nResponse Format:\n\nFor completed tasks:\n\n{\n  \"status\": \"Completed\",\n  \"input_query\": \"Original Input query\",\n  \"classification\": \"False\",\n  \"overall_assessment\": \"This claim is inaccurate.\",\n  \"evidence_sources\": [\"Source 1\", \"Source 2\"],\n  \"disambiguation\": \"Clarifies the context...\",\n  \"detailed_source_reports\": [\"Detailed source report 1\", \"Detailed source report 2\"],\n  \"task_id\": \"1234567...\",\n  \"bias_quality_metrics\": [\n    {\n      \"source\": \"https://www.politico.com\",\n      \"bias\": -5.238666666666666,\n      \"quality\": 46.45\n    }\n  ]\n}\n\nFor in-progress tasks, returns current status and progress information."
      },
      {
        "title": "5. Transcribe Link (/transcribe-link)",
        "body": "When the command starts with /transcribe-link or the input is a URL to transcribe:\n\nEndpoint: POST {BASE_URL}/transcribe-link\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"url\": \"<raw command input (remove /transcribe-link prefix if present)>\"\n}\n\nThe raw command input should be the URL to transcribe (remove /transcribe-link prefix if present).\n\nReturn the JSON response verbatim.\n\nUsage:\n\n/transcribe-link https://youtube.com/watch?v=abc123\n/transcribe-link https://tiktok.com/@user/video/123\n/transcribe-link https://instagram.com/p/abc123\n\nResponse Format:\n\nstatus: \"ok\" on success\ntranscript: Transcribed content from the link\ntitle: Video/article title (if available)\ndescription: Content description (if available)\nduration: Duration of the content (if available)"
      },
      {
        "title": "6. Check Link Reliability (/link-reliability/check)",
        "body": "When the command starts with /link-reliability/check or /check-link-reliability or the input is a URL to check for source reliability:\n\nEndpoint: POST {BASE_URL}/link-reliability/check\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"url\": \"<raw command input (remove /link-reliability/check or /check-link-reliability prefix if present)>\"\n}\n\nThe raw command input should be the URL to check (remove /link-reliability/check or /check-link-reliability prefix if present).\n\nReturn the JSON response verbatim. The response includes:\n\nurl: The processed URL\nbias: Bias score (-42 to +42)\nquality: Quality score (0 to 64)\nbias_label: Human-readable bias category\nquality_label: Human-readable quality category\nfound: Whether the URL was found in MediaBias database\n\nUsage:\n\n/link-reliability/check https://www.example.com/article\n/check-link-reliability https://www.bbc.com/news\n/link-reliability/check https://www.politico.com/story\n\nResponse Format:\n\n{\n  \"url\": \"https://www.example.com/article\",\n  \"bias\": -5.24,\n  \"quality\": 46.45,\n  \"bias_label\": \"Left-Center Bias\",\n  \"quality_label\": \"High Quality\",\n  \"found\": true\n}\n\nNote: If the URL is not found in the MediaBias database, found will be false and bias/quality scores may be null or default values."
      },
      {
        "title": "Command Routing",
        "body": "Determine which operation to perform based on the command prefix:\n\n/fact-check or input looks like a claim → Fact-Check endpoint\n/extract-claim or input is a URL → Extract Claims endpoint\n/get-credits → Get Credits endpoint\n/check-task-status or input is a task ID → Check Task Status endpoint\n/transcribe-link or input is a URL → Transcribe Link endpoint\n/link-reliability/check or /check-link-reliability or input is a URL → Check Link Reliability endpoint"
      },
      {
        "title": "API Token Usage",
        "body": "Fact-Check: Each request consumes 1 API token\nExtract Claims: Consumes 1 API token per 1 million characters processed\nGet Credits: Free, does not consume tokens\nCheck Task Status: Free, does not consume tokens\nTranscribe Link: Consumes 1 API token per transcription request\nCheck Link Reliability: Consumes 1 API token per request\n\nMonitor usage with /get-credits."
      },
      {
        "title": "Configuration",
        "body": "Set FACTICITY_API_KEY in your OpenClaw config under skills.entries.facticity-ai.apiKey or as an environment variable.\n\nExample config:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"facticity-ai\": {\n        \"enabled\": true,\n        \"apiKey\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n\nOr set as environment variable:\n\nexport FACTICITY_API_KEY=your_api_key_here"
      }
    ],
    "body": "Facticity.AI Complete Integration\n\nA 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.\n\nAPI Base URL\n\nBase URL: https://api.facticity.ai\n\nAll API endpoints use this base URL. References to {BASE_URL}.\n\nBehavior\n\nFirst, check if FACTICITY_API_KEY is set and not empty. If it is missing or empty, return this onboarding message:\n\n⚠️ API Key Not Configured\n\nTo use this skill, you need to set up your Facticity.AI API key:\n\n1. Visit https://app.facticity.ai/api to get your API key\n2. Set the key as an environment variable:\n   export FACTICITY_API_KEY=your_api_key_here\n   \n   Or add it to your OpenClaw config (~/.openclaw/openclaw.json):\n   {\n     \"skills\": {\n       \"entries\": {\n         \"facticity-ai\": {\n           \"enabled\": true,\n           \"apiKey\": \"your_api_key_here\"\n         }\n       }\n     }\n   }\n\n3. Restart OpenClaw after configuration\n\nGet your API key at: https://app.facticity.ai/api\n\n\nIf the API key is present, determine the operation based on the command and proceed:\n\n1. Fact-Check (/fact-check)\n\nWhen the command starts with /fact-check or the input is a claim to fact-check:\n\nEndpoint: POST {BASE_URL}/fact-check\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"query\": \"<raw command input (remove /fact-check prefix if present)>\",\n  \"timeout\": 60,\n  \"mode\": \"sync\"\n}\n\n\nReturn the JSON response verbatim. The response includes:\n\nClassification: \"True\" or \"False\"\noverall_assessment: Detailed assessment text\nevidence: Array of evidence sources\nsources: Detailed source assessments\nbias: Bias metrics (if available)\ntask_id: Task ID for async tracking\n\nUsage:\n\n/fact-check \"Vaccines contain microchips\"\n/fact-check \"The unemployment rate dropped in 2023\"\n\n\nAsync 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.\n\n2. Extract Claims (/extract-claim)\n\nWhen the command starts with /extract-claim or the input is a URL or text to extract claims from:\n\nEndpoint: POST {BASE_URL}/extract-claim\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"input\": \"<raw command input (remove /extract-claim prefix if present)>\",\n  \"content_type\": \"text\",\n  \"timestamp\": false,\n  \"audio_transcript_enabled\": false,\n  \"language_code\": \"en\"\n}\n\n\nNote: 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.\n\nReturn the JSON response verbatim.\n\nUsage:\n\n/extract-claim \"The Earth is flat and NASA is lying about it\"\n/extract-claim https://youtube.com/watch?v=abc123\n/extract-claim https://tiktok.com/@user/video/123\n/extract-claim https://instagram.com/p/abc123\n\n\nSupported Content Types:\n\nText: Direct text input\nVideo URLs: YouTube, TikTok, Instagram (auto-transcribes)\nLanguage: Set language_code for non-English content (default: \"en\")\n\nResponse Format:\n\nstatus: \"ok\" on success\ntranscript: Transcribed content (for video URLs)\ntitle: Video/article title (if available)\ndescription: Content description (if available)\nclaims: Array of extracted claim strings\noverall_assessment: Summary of extraction\n3. Get Credits (/get-credits)\n\nWhen the command is /get-credits or user wants to check API credits:\n\nEndpoint: GET {BASE_URL}/get-credits\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\n\nNo request body required.\n\nReturn the JSON response verbatim. The response includes:\n\nemail: User email associated with the API key\napi_key: The API key (masked)\ncredits_left: Number of credits remaining\nduration_seconds: Duration period (typically 3600 seconds)\n\nUsage:\n\n/get-credits\n\n\nResponse Format:\n\n{\n  \"email\": \"user@example.com\",\n  \"api_key\": \"your_api_key_here\",\n  \"credits_left\": 1482,\n  \"duration_seconds\": 3600\n}\n\n4. Check Task Status (/check-task-status)\n\nWhen the command starts with /check-task-status or the input is a task ID:\n\nEndpoint: GET {BASE_URL}/check-task-status?task_id=<task_id>\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\n\nThe raw command input should be the task_id from a previous async fact-check request (remove /check-task-status prefix if present).\n\nQuery Parameter:\n\ntask_id: The unique ID of the task to check (from the raw command input)\n\nReturn the JSON response verbatim.\n\nUsage:\n\n/check-task-status 1234567890abcdef\n\n\nOr with the task_id from a previous async fact-check:\n\n/fact-check \"Long claim...\" --mode async\n# Returns task_id: abc123\n/check-task-status abc123\n\n\nResponse Format:\n\nFor completed tasks:\n\n{\n  \"status\": \"Completed\",\n  \"input_query\": \"Original Input query\",\n  \"classification\": \"False\",\n  \"overall_assessment\": \"This claim is inaccurate.\",\n  \"evidence_sources\": [\"Source 1\", \"Source 2\"],\n  \"disambiguation\": \"Clarifies the context...\",\n  \"detailed_source_reports\": [\"Detailed source report 1\", \"Detailed source report 2\"],\n  \"task_id\": \"1234567...\",\n  \"bias_quality_metrics\": [\n    {\n      \"source\": \"https://www.politico.com\",\n      \"bias\": -5.238666666666666,\n      \"quality\": 46.45\n    }\n  ]\n}\n\n\nFor in-progress tasks, returns current status and progress information.\n\n5. Transcribe Link (/transcribe-link)\n\nWhen the command starts with /transcribe-link or the input is a URL to transcribe:\n\nEndpoint: POST {BASE_URL}/transcribe-link\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"url\": \"<raw command input (remove /transcribe-link prefix if present)>\"\n}\n\n\nThe raw command input should be the URL to transcribe (remove /transcribe-link prefix if present).\n\nReturn the JSON response verbatim.\n\nUsage:\n\n/transcribe-link https://youtube.com/watch?v=abc123\n/transcribe-link https://tiktok.com/@user/video/123\n/transcribe-link https://instagram.com/p/abc123\n\n\nResponse Format:\n\nstatus: \"ok\" on success\ntranscript: Transcribed content from the link\ntitle: Video/article title (if available)\ndescription: Content description (if available)\nduration: Duration of the content (if available)\n6. Check Link Reliability (/link-reliability/check)\n\nWhen the command starts with /link-reliability/check or /check-link-reliability or the input is a URL to check for source reliability:\n\nEndpoint: POST {BASE_URL}/link-reliability/check\n\nHeaders:\n\nX-API-KEY: ${FACTICITY_API_KEY}\nContent-Type: application/json\n\nBody:\n\n{\n  \"url\": \"<raw command input (remove /link-reliability/check or /check-link-reliability prefix if present)>\"\n}\n\n\nThe raw command input should be the URL to check (remove /link-reliability/check or /check-link-reliability prefix if present).\n\nReturn the JSON response verbatim. The response includes:\n\nurl: The processed URL\nbias: Bias score (-42 to +42)\nquality: Quality score (0 to 64)\nbias_label: Human-readable bias category\nquality_label: Human-readable quality category\nfound: Whether the URL was found in MediaBias database\n\nUsage:\n\n/link-reliability/check https://www.example.com/article\n/check-link-reliability https://www.bbc.com/news\n/link-reliability/check https://www.politico.com/story\n\n\nResponse Format:\n\n{\n  \"url\": \"https://www.example.com/article\",\n  \"bias\": -5.24,\n  \"quality\": 46.45,\n  \"bias_label\": \"Left-Center Bias\",\n  \"quality_label\": \"High Quality\",\n  \"found\": true\n}\n\n\nNote: If the URL is not found in the MediaBias database, found will be false and bias/quality scores may be null or default values.\n\nCommand Routing\n\nDetermine which operation to perform based on the command prefix:\n\n/fact-check or input looks like a claim → Fact-Check endpoint\n/extract-claim or input is a URL → Extract Claims endpoint\n/get-credits → Get Credits endpoint\n/check-task-status or input is a task ID → Check Task Status endpoint\n/transcribe-link or input is a URL → Transcribe Link endpoint\n/link-reliability/check or /check-link-reliability or input is a URL → Check Link Reliability endpoint\nAPI Token Usage\nFact-Check: Each request consumes 1 API token\nExtract Claims: Consumes 1 API token per 1 million characters processed\nGet Credits: Free, does not consume tokens\nCheck Task Status: Free, does not consume tokens\nTranscribe Link: Consumes 1 API token per transcription request\nCheck Link Reliability: Consumes 1 API token per request\n\nMonitor usage with /get-credits.\n\nConfiguration\n\nSet FACTICITY_API_KEY in your OpenClaw config under skills.entries.facticity-ai.apiKey or as an environment variable.\n\nExample config:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"facticity-ai\": {\n        \"enabled\": true,\n        \"apiKey\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n\n\nOr set as environment variable:\n\nexport FACTICITY_API_KEY=your_api_key_here"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/shahruj/facticity-ai",
    "publisherUrl": "https://clawhub.ai/shahruj/facticity-ai",
    "owner": "shahruj",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/facticity-ai",
    "downloadUrl": "https://openagent3.xyz/downloads/facticity-ai",
    "agentUrl": "https://openagent3.xyz/skills/facticity-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/facticity-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/facticity-ai/agent.md"
  }
}