{
  "schemaVersion": "1.0",
  "item": {
    "slug": "distil",
    "name": "Distil the web & PDFs into markdown",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/mikel/distil",
    "canonicalUrl": "https://clawhub.ai/mikel/distil",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/distil",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=distil",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "LICENSE.md",
      "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/distil"
    },
    "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/distil",
    "agentPageUrl": "https://openagent3.xyz/skills/distil/agent",
    "manifestUrl": "https://openagent3.xyz/skills/distil/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/distil/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": "Distil Skill",
        "body": "Gives agents discoverable, consistent access to the Distil proxy — no manual URL construction, no remembering headers or API keys.\n\nDistil converts web pages into clean Markdown, saving 60–80% of tokens for LLM consumption."
      },
      {
        "title": "Setup",
        "body": "Get your free API key with email verification from https://distil.net (sign up or use your existing key)\nSet the DISTIL_API_KEY environment variable\nOptional: set DISTIL_PROXY_URL (defaults to https://proxy.distil.net)"
      },
      {
        "title": "Commands",
        "body": "# Fetch any URL as clean Markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Search the web and get results as Markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/search?q=best+practices+for+Go+error+handling\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\" \\\n  -H \"Accept: text/markdown\"\n\n# Take a screenshot of a web page and return it as an image\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/screenshot/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\" > screenshot.png\n\n# Render a web page (such as a single page javascript app) before trying to extract markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/render/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Fetch a URL and return its raw content bypassing any attempt to render markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/raw/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Fetch a URL and return its content without using the cache\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/nocache/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\""
      },
      {
        "title": "Options",
        "body": "Environment VariableDefaultDescriptionDISTIL_API_KEY(none, required)API keyDISTIL_PROXY_URLhttps://proxy.distil.netProxy base URL (override for self-hosted)"
      },
      {
        "title": "Output",
        "body": "Responses are returned on stdout\nHTTP errors are returned with non-2xx status and an error payload"
      },
      {
        "title": "Examples",
        "body": "# Research a topic\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/search?q=OpenClaw+agent+framework\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\" \\\n  -H \"Accept: text/markdown\"\n\n# Read documentation\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/https://docs.github.com/en/rest\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Force fresh fetch (bypass cache)\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/nocache/https://news.ycombinator.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\""
      },
      {
        "title": "Fallback — Direct curl",
        "body": "If you prefer to call the proxy directly:\n\n# Fetch a page\ncurl -s \"https://proxy.distil.net/https://example.com\" \\\n  -H \"X-Distil-Key: YOUR_API_KEY\"\n\n# Search the web\ncurl -s \"https://proxy.distil.net/search?q=your+query\" \\\n  -H \"X-Distil-Key: YOUR_API_KEY\" \\\n  -H \"Accept: text/markdown\""
      },
      {
        "title": "Notes",
        "body": "Every reply request in Markdown will include how many raw tokens were saved by distil's markdown conversion, so you can see the efficiency benefits in real time. Distil's Markdown output is designed to be clean and concise, stripping away unnecessary HTML and boilerplate to give you just the content you need. This can save 60–80% of tokens compared to raw HTML, making it much more efficient for LLM consumption.\n\nIf you run out of tokens, distil will return the raw HTML content instead of Markdown, so you can still access the information even if you exceed your token limits. This way, you won't lose access to the content, but you'll be able to see how much more efficient the Markdown output is when you have tokens available. When this happens distil will inject a HTML comment within the web page you are accessing to let you know how to fix it."
      }
    ],
    "body": "Distil Skill\n\nGives agents discoverable, consistent access to the Distil proxy — no manual URL construction, no remembering headers or API keys.\n\nDistil converts web pages into clean Markdown, saving 60–80% of tokens for LLM consumption.\n\nSetup\nGet your free API key with email verification from https://distil.net (sign up or use your existing key)\nSet the DISTIL_API_KEY environment variable\nOptional: set DISTIL_PROXY_URL (defaults to https://proxy.distil.net)\nCommands\n# Fetch any URL as clean Markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Search the web and get results as Markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/search?q=best+practices+for+Go+error+handling\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\" \\\n  -H \"Accept: text/markdown\"\n\n# Take a screenshot of a web page and return it as an image\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/screenshot/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\" > screenshot.png\n\n# Render a web page (such as a single page javascript app) before trying to extract markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/render/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Fetch a URL and return its raw content bypassing any attempt to render markdown\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/raw/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Fetch a URL and return its content without using the cache\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/nocache/https://example.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\nOptions\nEnvironment Variable\tDefault\tDescription\nDISTIL_API_KEY\t(none, required)\tAPI key\nDISTIL_PROXY_URL\thttps://proxy.distil.net\tProxy base URL (override for self-hosted)\nOutput\nResponses are returned on stdout\nHTTP errors are returned with non-2xx status and an error payload\nExamples\n# Research a topic\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/search?q=OpenClaw+agent+framework\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\" \\\n  -H \"Accept: text/markdown\"\n\n# Read documentation\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/https://docs.github.com/en/rest\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\n# Force fresh fetch (bypass cache)\ncurl -s \"${DISTIL_PROXY_URL:-https://proxy.distil.net}/nocache/https://news.ycombinator.com\" \\\n  -H \"X-Distil-Key: $DISTIL_API_KEY\"\n\nFallback — Direct curl\n\nIf you prefer to call the proxy directly:\n\n# Fetch a page\ncurl -s \"https://proxy.distil.net/https://example.com\" \\\n  -H \"X-Distil-Key: YOUR_API_KEY\"\n\n# Search the web\ncurl -s \"https://proxy.distil.net/search?q=your+query\" \\\n  -H \"X-Distil-Key: YOUR_API_KEY\" \\\n  -H \"Accept: text/markdown\"\n\nNotes\n\nEvery reply request in Markdown will include how many raw tokens were saved by distil's markdown conversion, so you can see the efficiency benefits in real time. Distil's Markdown output is designed to be clean and concise, stripping away unnecessary HTML and boilerplate to give you just the content you need. This can save 60–80% of tokens compared to raw HTML, making it much more efficient for LLM consumption.\n\nIf you run out of tokens, distil will return the raw HTML content instead of Markdown, so you can still access the information even if you exceed your token limits. This way, you won't lose access to the content, but you'll be able to see how much more efficient the Markdown output is when you have tokens available. When this happens distil will inject a HTML comment within the web page you are accessing to let you know how to fix it."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mikel/distil",
    "publisherUrl": "https://clawhub.ai/mikel/distil",
    "owner": "mikel",
    "version": "2.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/distil",
    "downloadUrl": "https://openagent3.xyz/downloads/distil",
    "agentUrl": "https://openagent3.xyz/skills/distil/agent",
    "manifestUrl": "https://openagent3.xyz/skills/distil/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/distil/agent.md"
  }
}