{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nudocs",
    "name": "Nudocs",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/jdrhyne/nudocs",
    "canonicalUrl": "https://clawhub.ai/jdrhyne/nudocs",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/nudocs",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nudocs",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/document-design.md",
      "references/formats.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. 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-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/nudocs"
    },
    "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/nudocs",
    "agentPageUrl": "https://openagent3.xyz/skills/nudocs/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nudocs/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nudocs/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": "Nudocs",
        "body": "Upload documents to Nudocs.ai for rich editing, get shareable links, and pull back the results."
      },
      {
        "title": "Setup",
        "body": "Install the CLI:\n\nnpm install -g @nutrient-sdk/nudocs-cli\n\nGet your API key from https://nudocs.ai (click \"Integration\" after signing in)\n\n\nConfigure the key:\n\n# Option 1: Environment variable\nexport NUDOCS_API_KEY=\"nudocs_your_key_here\"\n\n# Option 2: Config file\nmkdir -p ~/.config/nudocs\necho \"nudocs_your_key_here\" > ~/.config/nudocs/api_key"
      },
      {
        "title": "Commands",
        "body": "nudocs upload <file>              # Upload and get edit link\nnudocs list                       # List all documents\nnudocs link [ulid]                # Get edit link (last upload if no ULID)\nnudocs pull [ulid] [--format fmt] # Download document (default: docx)\nnudocs delete <ulid>              # Delete a document\nnudocs config                     # Show configuration"
      },
      {
        "title": "Upload Flow",
        "body": "Create/write document content\nSave as markdown (or other supported format)\nRun: nudocs upload <file>\nShare the returned edit link with user"
      },
      {
        "title": "Pull Flow",
        "body": "User requests document back\nRun: nudocs pull [ulid] --format <fmt>\nRead and present the downloaded file"
      },
      {
        "title": "Format Selection",
        "body": "ScenarioRecommended FormatUser edited with rich formattingdocx (default)Simple text/code contentmdFinal delivery/sharingpdf\n\nSee references/formats.md for full format support."
      },
      {
        "title": "Natural Language Triggers",
        "body": "Recognize these user intents:\n\nUpload/Send:\n\n\"send to nudocs\"\n\"upload to nudocs\"\n\"open in nudocs\"\n\"edit this in nudocs\"\n\"let me edit this in nudocs\"\n\"put this in nudocs\"\n\nPull/Fetch:\n\n\"pull it back\"\n\"pull from nudocs\"\n\"get that doc\"\n\"fetch from nudocs\"\n\"download from nudocs\"\n\"grab the updated version\"\n\"what did I change\"\n\"get my edits\"\n\nLink:\n\n\"get the nudocs link\"\n\"share link\"\n\"where's that doc\"\n\"nudocs url\"\n\nList:\n\n\"show my nudocs\"\n\"list my documents\"\n\"what docs do I have\"\n\"my nudocs documents\""
      },
      {
        "title": "Document Best Practices",
        "body": "Before uploading, ensure good structure:\n\nClear heading hierarchy (H1 → H2 → H3)\nConsistent spacing\nAppropriate list formatting\nConcise paragraphs (3-5 sentences)\n\nSee references/document-design.md for templates and guidelines."
      },
      {
        "title": "Example Session",
        "body": "User: Write me a blog post about remote work and send it to Nudocs\n\nAgent:\n1. Writes blog-remote-work.md with proper structure\n2. Runs: nudocs upload blog-remote-work.md\n3. Returns: \"Here's your Nudocs link: https://nudocs.ai/file/01ABC...\"\n\nUser: *edits in Nudocs, adds formatting, images*\nUser: Pull that back\n\nAgent:\n1. Runs: nudocs pull --format docx\n2. Reads the downloaded file\n3. Returns: \"Got your updated document! Here's what changed...\""
      },
      {
        "title": "Error Handling",
        "body": "ErrorCauseSolution\"No API key found\"Missing credentialsSet NUDOCS_API_KEY or create config file\"DOCUMENT_LIMIT_REACHED\"Free tier limit (10 docs)Delete old docs or upgrade to Pro\"Unauthorized\"Invalid API keyRegenerate key in Nudocs settings\"No ULID provided\"Missing document IDSpecify ULID or upload a doc first"
      },
      {
        "title": "Links",
        "body": "CLI: https://github.com/PSPDFKit/nudocs-cli (@nutrient-sdk/nudocs-cli on npm)\nMCP Server: https://github.com/PSPDFKit/nudocs-mcp-server\nNudocs: https://nudocs.ai"
      }
    ],
    "body": "Nudocs\n\nUpload documents to Nudocs.ai for rich editing, get shareable links, and pull back the results.\n\nSetup\nInstall the CLI:\nnpm install -g @nutrient-sdk/nudocs-cli\n\n\nGet your API key from https://nudocs.ai (click \"Integration\" after signing in)\n\nConfigure the key:\n\n# Option 1: Environment variable\nexport NUDOCS_API_KEY=\"nudocs_your_key_here\"\n\n# Option 2: Config file\nmkdir -p ~/.config/nudocs\necho \"nudocs_your_key_here\" > ~/.config/nudocs/api_key\n\nCommands\nnudocs upload <file>              # Upload and get edit link\nnudocs list                       # List all documents\nnudocs link [ulid]                # Get edit link (last upload if no ULID)\nnudocs pull [ulid] [--format fmt] # Download document (default: docx)\nnudocs delete <ulid>              # Delete a document\nnudocs config                     # Show configuration\n\nWorkflow\nUpload Flow\nCreate/write document content\nSave as markdown (or other supported format)\nRun: nudocs upload <file>\nShare the returned edit link with user\nPull Flow\nUser requests document back\nRun: nudocs pull [ulid] --format <fmt>\nRead and present the downloaded file\nFormat Selection\nScenario\tRecommended Format\nUser edited with rich formatting\tdocx (default)\nSimple text/code content\tmd\nFinal delivery/sharing\tpdf\n\nSee references/formats.md for full format support.\n\nNatural Language Triggers\n\nRecognize these user intents:\n\nUpload/Send:\n\n\"send to nudocs\"\n\"upload to nudocs\"\n\"open in nudocs\"\n\"edit this in nudocs\"\n\"let me edit this in nudocs\"\n\"put this in nudocs\"\n\nPull/Fetch:\n\n\"pull it back\"\n\"pull from nudocs\"\n\"get that doc\"\n\"fetch from nudocs\"\n\"download from nudocs\"\n\"grab the updated version\"\n\"what did I change\"\n\"get my edits\"\n\nLink:\n\n\"get the nudocs link\"\n\"share link\"\n\"where's that doc\"\n\"nudocs url\"\n\nList:\n\n\"show my nudocs\"\n\"list my documents\"\n\"what docs do I have\"\n\"my nudocs documents\"\nDocument Best Practices\n\nBefore uploading, ensure good structure:\n\nClear heading hierarchy (H1 → H2 → H3)\nConsistent spacing\nAppropriate list formatting\nConcise paragraphs (3-5 sentences)\n\nSee references/document-design.md for templates and guidelines.\n\nExample Session\nUser: Write me a blog post about remote work and send it to Nudocs\n\nAgent:\n1. Writes blog-remote-work.md with proper structure\n2. Runs: nudocs upload blog-remote-work.md\n3. Returns: \"Here's your Nudocs link: https://nudocs.ai/file/01ABC...\"\n\nUser: *edits in Nudocs, adds formatting, images*\nUser: Pull that back\n\nAgent:\n1. Runs: nudocs pull --format docx\n2. Reads the downloaded file\n3. Returns: \"Got your updated document! Here's what changed...\"\n\nError Handling\nError\tCause\tSolution\n\"No API key found\"\tMissing credentials\tSet NUDOCS_API_KEY or create config file\n\"DOCUMENT_LIMIT_REACHED\"\tFree tier limit (10 docs)\tDelete old docs or upgrade to Pro\n\"Unauthorized\"\tInvalid API key\tRegenerate key in Nudocs settings\n\"No ULID provided\"\tMissing document ID\tSpecify ULID or upload a doc first\nLinks\nCLI: https://github.com/PSPDFKit/nudocs-cli (@nutrient-sdk/nudocs-cli on npm)\nMCP Server: https://github.com/PSPDFKit/nudocs-mcp-server\nNudocs: https://nudocs.ai"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/jdrhyne/nudocs",
    "publisherUrl": "https://clawhub.ai/jdrhyne/nudocs",
    "owner": "jdrhyne",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nudocs",
    "downloadUrl": "https://openagent3.xyz/downloads/nudocs",
    "agentUrl": "https://openagent3.xyz/skills/nudocs/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nudocs/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nudocs/agent.md"
  }
}