{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ragie-rag",
    "name": "Ragie.ai-RAG",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Hatim-BE/ragie-rag",
    "canonicalUrl": "https://clawhub.ai/Hatim-BE/ragie-rag",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ragie-rag",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ragie-rag",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/ingest.py",
      "scripts/manage.py",
      "scripts/retrieve.py"
    ],
    "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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/ragie-rag"
    },
    "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/ragie-rag",
    "agentPageUrl": "https://openagent3.xyz/skills/ragie-rag/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ragie-rag/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ragie-rag/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Ragie.ai RAG Skill (OpenClaw Optimized)",
        "body": "This skill enables grounded question answering using Ragie.ai as a RAG backend.\n\nRagie handles:\n\nDocument chunking\nEmbedding\nVector indexing\nRetrieval\nOptional reranking\n\nThe agent handles:\n\nDeciding when to ingest\nTriggering retrieval\nConstructing grounded prompts\nProducing final answers"
      },
      {
        "title": "Core Principles",
        "body": "Never answer without retrieval.\nNever hallucinate information not present in retrieved chunks.\nAlways cite the document_name when referencing specific facts.\nIf retrieval returns zero relevant chunks, explicitly say:\n\n\"I don't have that information in the current knowledge base.\"\n\n\nDo not expose API keys or raw API payloads in final answers."
      },
      {
        "title": "Case A — User Provides a File or URL",
        "body": "IF the user provides:\n\nA file\nA document path\nA PDF/URL to ingest\n\nTHEN:\n\nExecute ingestion:\npython `skills/scripts/ingest.py` --file <path> --name \"<document_name>\"\n\nOR\npython `skills/scripts/ingest.py` --url \"<url>\" --name \"<document_name>\"\n\n\n\nCapture returned document_id.\n\n\nPoll document status:\npython `skills/scripts/manage.py` status --id <document_id>\n\nRepeat until status == ready.\n\n\nProceed to Retrieval (Case C)."
      },
      {
        "title": "List documents",
        "body": "python `skills/scripts/manage.py` list"
      },
      {
        "title": "Check document status",
        "body": "python `skills/scripts/manage.py` status --id <document_id>"
      },
      {
        "title": "Delete a document",
        "body": "python `skills/scripts/manage.py` delete --id <document_id>\n\nReturn structured results to the user."
      },
      {
        "title": "Case C — Retrieval (Grounded Question Answering)",
        "body": "Execute:\n\npython `skills/scripts/retrieve.py` \\\n  --query \"<user_question>\" \\\n  --top-k 6 \\\n  --rerank\n\nOptional flags:\n\n--partition <name>\n--filter '{\"key\":\"value\"}'"
      },
      {
        "title": "Retrieval Output Format",
        "body": "Expected output:\n\n[\n  {\n    \"text\": \"...\",\n    \"score\": 0.87,\n    \"document_name\": \"Policy Handbook\",\n    \"document_id\": \"doc_abc123\"\n  }\n]"
      },
      {
        "title": "Grounded Prompt Construction",
        "body": "After retrieval:\n\nExtract all chunk text.\nConcatenate with separators.\nConstruct this prompt:\n\nSYSTEM:\nYou are a helpful assistant.\nAnswer using ONLY the context provided below.\nIf the context does not contain the answer, say:\n\"I don't have that information in the current knowledge base.\"\n\nCONTEXT:\n[chunk 1 text]\n---\n[chunk 2 text]\n---\n...\n\nUSER QUESTION:\n{original user question}\n\nGenerate final answer.\nCite document_name when referencing information."
      },
      {
        "title": "Output Contract",
        "body": "The final response MUST:\n\nBe grounded only in retrieved chunks\nCite document_name for factual claims\nAvoid hallucinations\nAvoid mentioning internal execution steps\nAvoid exposing API keys or raw responses\nClearly state when information is missing\n\nIf no chunks are returned:\n\nI don't have that information in the current knowledge base."
      },
      {
        "title": "API Reference",
        "body": "Base URL:\n\nhttps://api.ragie.ai\n\nOperationMethodEndpointIngest filePOST/documentsIngest URLPOST/documents/urlRetrieve chunksPOST/retrievalsList documentsGET/documentsGet documentGET/documents/{id}Delete documentDELETE/documents/{id}"
      },
      {
        "title": "Error Handling",
        "body": "HTTP CodeMeaningAction404Document not foundVerify document_id422Invalid payloadValidate request schema429Rate limitedRetry with backoff5xxServer errorRetry or check Ragie status\n\nIf ingestion fails:\n\nReport failure clearly.\nDo not proceed to retrieval.\n\nIf retrieval fails:\n\nRetry once.\nIf still failing, inform user."
      },
      {
        "title": "Decision Rules Summary",
        "body": "If user uploads content → ingest → wait until ready → retrieve.\nIf user asks question → retrieve immediately.\nIf zero chunks → state knowledge gap.\nAlways use reranking unless explicitly disabled.\nNever answer without retrieval."
      },
      {
        "title": "Advanced Usage",
        "body": "Use metadata filter to narrow retrieval scope.\nUse partitions to separate tenant data.\nUse recency_bias only when time relevance matters.\nAdjust top_k depending on query complexity."
      },
      {
        "title": "Security",
        "body": "API keys must be loaded from environment variables.\n.env must not be committed.\nDo not log sensitive headers."
      },
      {
        "title": "Summary",
        "body": "This skill provides:\n\nDeterministic ingestion\nDeterministic retrieval\nStrict grounded answering\nComplete Ragie lifecycle management\nSafe and hallucination-resistant RAG execution\n\nEnd of Skill."
      }
    ],
    "body": "Ragie.ai RAG Skill (OpenClaw Optimized)\n\nThis skill enables grounded question answering using Ragie.ai as a RAG backend.\n\nRagie handles:\n\nDocument chunking\nEmbedding\nVector indexing\nRetrieval\nOptional reranking\n\nThe agent handles:\n\nDeciding when to ingest\nTriggering retrieval\nConstructing grounded prompts\nProducing final answers\nCore Principles\nNever answer without retrieval.\nNever hallucinate information not present in retrieved chunks.\nAlways cite the document_name when referencing specific facts.\nIf retrieval returns zero relevant chunks, explicitly say:\n\n\"I don't have that information in the current knowledge base.\"\n\nDo not expose API keys or raw API payloads in final answers.\nDeterministic Workflow\nCase A — User Provides a File or URL\n\nIF the user provides:\n\nA file\nA document path\nA PDF/URL to ingest\n\nTHEN:\n\nExecute ingestion:\n\npython `skills/scripts/ingest.py` --file <path> --name \"<document_name>\"\n\n\nOR\n\npython `skills/scripts/ingest.py` --url \"<url>\" --name \"<document_name>\"\n\n\nCapture returned document_id.\n\nPoll document status:\n\npython `skills/scripts/manage.py` status --id <document_id>\n\n\nRepeat until status == ready.\n\nProceed to Retrieval (Case C).\n\nCase B — User Requests Document Management\nList documents\npython `skills/scripts/manage.py` list\n\nCheck document status\npython `skills/scripts/manage.py` status --id <document_id>\n\nDelete a document\npython `skills/scripts/manage.py` delete --id <document_id>\n\n\nReturn structured results to the user.\n\nCase C — Retrieval (Grounded Question Answering)\n\nExecute:\n\npython `skills/scripts/retrieve.py` \\\n  --query \"<user_question>\" \\\n  --top-k 6 \\\n  --rerank\n\n\nOptional flags:\n\n--partition <name>\n--filter '{\"key\":\"value\"}'\nRetrieval Output Format\n\nExpected output:\n\n[\n  {\n    \"text\": \"...\",\n    \"score\": 0.87,\n    \"document_name\": \"Policy Handbook\",\n    \"document_id\": \"doc_abc123\"\n  }\n]\n\nGrounded Prompt Construction\n\nAfter retrieval:\n\nExtract all chunk text.\nConcatenate with separators.\nConstruct this prompt:\nSYSTEM:\nYou are a helpful assistant.\nAnswer using ONLY the context provided below.\nIf the context does not contain the answer, say:\n\"I don't have that information in the current knowledge base.\"\n\nCONTEXT:\n[chunk 1 text]\n---\n[chunk 2 text]\n---\n...\n\nUSER QUESTION:\n{original user question}\n\nGenerate final answer.\nCite document_name when referencing information.\nOutput Contract\n\nThe final response MUST:\n\nBe grounded only in retrieved chunks\nCite document_name for factual claims\nAvoid hallucinations\nAvoid mentioning internal execution steps\nAvoid exposing API keys or raw responses\nClearly state when information is missing\n\nIf no chunks are returned:\n\nI don't have that information in the current knowledge base.\n\nAPI Reference\n\nBase URL:\n\nhttps://api.ragie.ai\n\nOperation\tMethod\tEndpoint\nIngest file\tPOST\t/documents\nIngest URL\tPOST\t/documents/url\nRetrieve chunks\tPOST\t/retrievals\nList documents\tGET\t/documents\nGet document\tGET\t/documents/{id}\nDelete document\tDELETE\t/documents/{id}\nError Handling\nHTTP Code\tMeaning\tAction\n404\tDocument not found\tVerify document_id\n422\tInvalid payload\tValidate request schema\n429\tRate limited\tRetry with backoff\n5xx\tServer error\tRetry or check Ragie status\n\nIf ingestion fails:\n\nReport failure clearly.\nDo not proceed to retrieval.\n\nIf retrieval fails:\n\nRetry once.\nIf still failing, inform user.\nDecision Rules Summary\nIf user uploads content → ingest → wait until ready → retrieve.\nIf user asks question → retrieve immediately.\nIf zero chunks → state knowledge gap.\nAlways use reranking unless explicitly disabled.\nNever answer without retrieval.\nAdvanced Usage\nUse metadata filter to narrow retrieval scope.\nUse partitions to separate tenant data.\nUse recency_bias only when time relevance matters.\nAdjust top_k depending on query complexity.\nSecurity\nAPI keys must be loaded from environment variables.\n.env must not be committed.\nDo not log sensitive headers.\nSummary\n\nThis skill provides:\n\nDeterministic ingestion\nDeterministic retrieval\nStrict grounded answering\nComplete Ragie lifecycle management\nSafe and hallucination-resistant RAG execution\n\nEnd of Skill."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Hatim-BE/ragie-rag",
    "publisherUrl": "https://clawhub.ai/Hatim-BE/ragie-rag",
    "owner": "Hatim-BE",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ragie-rag",
    "downloadUrl": "https://openagent3.xyz/downloads/ragie-rag",
    "agentUrl": "https://openagent3.xyz/skills/ragie-rag/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ragie-rag/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ragie-rag/agent.md"
  }
}