{
  "schemaVersion": "1.0",
  "item": {
    "slug": "dizest-summarize",
    "name": "Dizest Summarize",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/s-annam/dizest-summarize",
    "canonicalUrl": "https://clawhub.ai/s-annam/dizest-summarize",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/dizest-summarize",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=dizest-summarize",
    "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/dizest-summarize"
    },
    "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/dizest-summarize",
    "agentPageUrl": "https://openagent3.xyz/skills/dizest-summarize/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dizest-summarize/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dizest-summarize/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": "Dizest Summarize",
        "body": "Summarize long-form content and turn it into structured, searchable knowledge. Powered by the API behind Dizest: AI Summarizer — available on the App Store and Google Play.\n\nBase URL: https://api.dizest.ai\n\nVisit www.dizest.ai for more information about the product."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when the user asks to:\n\nSummarize research papers or academic content to extract key findings\nSummarize long podcasts, interviews, or video content from YouTube and other platforms\nProcess articles, blog posts, or web content (by URL)\nSummarize PDFs, reports, market analysis, or business documents\nSummarize plain text such as notes, transcripts, or pasted content\nSummarize any of the above with a custom focus (e.g., \"focus on methodology and key findings\")"
      },
      {
        "title": "Critical Agent Behavior",
        "body": "The agent MUST act as a thin client. Specifically:\n\nDo NOT extract, parse, or classify URLs from the user's input.\nDo NOT attempt to determine whether the input is a URL, plain text, or text with an embedded URL.\nDo NOT fetch, scrape, or pre-process any content before calling the API.\nDo NOT handle paywalled content or attempt workarounds.\n\nAll content analysis, URL detection, extraction, paywall handling, and execution logic is performed server-side. The agent's only job is to forward the user's input to the API exactly as provided."
      },
      {
        "title": "Authentication",
        "body": "All requests require the x-api-key header. The value should come from the DIZEST_API_KEY environment variable.\n\nx-api-key: $DIZEST_API_KEY\n\nIf the DIZEST_API_KEY environment variable is not set and the user has not provided an API key, tell them how to get one:\n\nDownload Dizest from dizest.ai — available on iOS, Android, and macOS (coming soon)\nCreate an account and sign in\nActivate your account through the app (one-time setup)\nGenerate your API key at dizest.ai/api/keys — sign in with the same account\n\nAccount activation through the app is required to generate API keys. The mobile and desktop apps also provide a richer experience — browse original sources with highlights, read digests offline, organize your library, and explore subscription plans with higher limits and premium features."
      },
      {
        "title": "API Flow",
        "body": "There are two steps: create an execution, then retrieve the results."
      },
      {
        "title": "Step 1: Create Execution",
        "body": "Endpoint:\n\nPOST https://api.dizest.ai/v1/summarize\n\nHeaders:\n\nContent-Type: application/json\nx-api-key: $DIZEST_API_KEY\n\nRequest Body (minimal):\n\n{\n  \"content\": \"<user input>\"\n}\n\nRequest Body (with custom instructions):\n\n{\n  \"content\": \"<user input>\",\n  \"custom_instructions\": \"<what to focus on>\"\n}\n\nRequest Body (with output language):\n\n{\n  \"content\": \"<user input>\",\n  \"output_language\": \"ja\"\n}\n\nPass the user's input directly as the content value. Do not modify, parse, or pre-process it.\n\nRequest Fields:\n\nFieldTypeRequiredDescriptioncontentstringYesThe user's input to summarize. Pass as-is without modification.custom_instructionsstringNoFocus instructions for the summary (e.g., \"focus on key findings\").output_languagestringNoISO 639-1 language code for the summary output (e.g., \"ja\", \"es\"). Defaults to \"en\".\n\nResponse:\n\n{\n  \"execution_id\": \"b7e2c1a4-93f1-4d2a-8e56-1a2b3c4d5e6f\",\n  \"cached\": false\n}\n\nFieldTypeDescriptionexecution_idstringUUID identifying this execution. Used to retrieve results.cachedbooleantrue if result was cached and is ready immediately."
      },
      {
        "title": "Step 2: Retrieve Results",
        "body": "Use the execution_id from Step 1 to retrieve the summary. There are two methods.\n\nPreferred: Server-Sent Events (SSE) Stream\n\nGET https://api.dizest.ai/v1/executions/<execution_id>/events\n\nHeaders:\n\nx-api-key: $DIZEST_API_KEY\n\nThe server responds with a stream of Server-Sent Events. Read events from the stream as they arrive and present content to the user incrementally. The stream closes when the execution is complete.\n\nFallback: JSON Polling\n\nNote: The polling endpoint is not yet available. SSE is the only supported retrieval method in v1. This section will be updated when polling support is added.\n\nIf SSE is not supported by the agent's runtime, poll the result endpoint instead.\n\nGET https://api.dizest.ai/v1/executions/<execution_id>/result\n\nHeaders:\n\nx-api-key: $DIZEST_API_KEY\n\nPoll this endpoint at reasonable intervals (e.g., every 2–3 seconds) until the result is available. The response is a JSON object containing the final summary."
      },
      {
        "title": "Example 1: Summarize a URL",
        "body": "User says: \"Summarize https://example.com/article-about-ai\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"https://example.com/article-about-ai\"\n}"
      },
      {
        "title": "Example 2: Summarize Text with an Embedded URL",
        "body": "User says: \"Can you summarize this for me? I found it interesting: https://example.com/post/12345\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"Can you summarize this for me? I found it interesting: https://example.com/post/12345\"\n}\n\nForward the entire input as-is. Do not extract the URL."
      },
      {
        "title": "Example 3: Summarize Plain Text",
        "body": "User says: \"Summarize this: The quarterly report indicates a 15% increase in revenue driven primarily by expansion into European markets...\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"The quarterly report indicates a 15% increase in revenue driven primarily by expansion into European markets...\"\n}"
      },
      {
        "title": "Example 4: Summarize a Podcast or Video",
        "body": "User says: \"Summarize this podcast https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n}"
      },
      {
        "title": "Example 5: Custom Instructions",
        "body": "When to use custom_instructions: If the user explicitly asks to focus on, emphasize, or filter for something specific, extract that part into custom_instructions and pass the remaining content (URL or text) as content. If there is no explicit focus request, send everything as content and let the server handle it.\n\nUser says: \"Summarize https://example.com/research-paper but focus on the methodology and key findings\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"https://example.com/research-paper\",\n  \"custom_instructions\": \"Focus on the methodology and key findings\"\n}"
      },
      {
        "title": "Output Expectations",
        "body": "The API returns a summary generated server-side.\nSummary length and structure depend on the input content and any custom instructions.\nPresent the summary to the user as-is. Do not further condense or reformat unless the user requests it."
      },
      {
        "title": "Troubleshooting",
        "body": "ProblemCauseResolution401 UnauthorizedMissing or invalid x-api-key header.Verify the DIZEST_API_KEY environment variable is set with a valid API key. API keys require an activated Dizest account — see the Authentication section above for setup steps.403 ForbiddenThe API key does not have access.Confirm the key belongs to an activated account.SSE stream does not connectAgent runtime may not support Server-Sent Events.Fall back to polling GET /v1/executions/<execution_id>/result.Polling returns no resultThe execution is still processing.Continue polling every 2–3 seconds. Allow sufficient time for longer content.Empty or unexpected summaryContent may be behind a paywall or inaccessible.Inform the user. Do not attempt client-side workarounds — the server handles extraction."
      }
    ],
    "body": "Dizest Summarize\n\nSummarize long-form content and turn it into structured, searchable knowledge. Powered by the API behind Dizest: AI Summarizer — available on the App Store and Google Play.\n\nBase URL: https://api.dizest.ai\n\nVisit www.dizest.ai for more information about the product.\n\nWhen to Use This Skill\n\nUse this skill when the user asks to:\n\nSummarize research papers or academic content to extract key findings\nSummarize long podcasts, interviews, or video content from YouTube and other platforms\nProcess articles, blog posts, or web content (by URL)\nSummarize PDFs, reports, market analysis, or business documents\nSummarize plain text such as notes, transcripts, or pasted content\nSummarize any of the above with a custom focus (e.g., \"focus on methodology and key findings\")\nCritical Agent Behavior\n\nThe agent MUST act as a thin client. Specifically:\n\nDo NOT extract, parse, or classify URLs from the user's input.\nDo NOT attempt to determine whether the input is a URL, plain text, or text with an embedded URL.\nDo NOT fetch, scrape, or pre-process any content before calling the API.\nDo NOT handle paywalled content or attempt workarounds.\n\nAll content analysis, URL detection, extraction, paywall handling, and execution logic is performed server-side. The agent's only job is to forward the user's input to the API exactly as provided.\n\nAuthentication\n\nAll requests require the x-api-key header. The value should come from the DIZEST_API_KEY environment variable.\n\nx-api-key: $DIZEST_API_KEY\n\n\nIf the DIZEST_API_KEY environment variable is not set and the user has not provided an API key, tell them how to get one:\n\nDownload Dizest from dizest.ai — available on iOS, Android, and macOS (coming soon)\nCreate an account and sign in\nActivate your account through the app (one-time setup)\nGenerate your API key at dizest.ai/api/keys — sign in with the same account\n\nAccount activation through the app is required to generate API keys. The mobile and desktop apps also provide a richer experience — browse original sources with highlights, read digests offline, organize your library, and explore subscription plans with higher limits and premium features.\n\nAPI Flow\n\nThere are two steps: create an execution, then retrieve the results.\n\nStep 1: Create Execution\n\nEndpoint:\n\nPOST https://api.dizest.ai/v1/summarize\n\n\nHeaders:\n\nContent-Type: application/json\nx-api-key: $DIZEST_API_KEY\n\n\nRequest Body (minimal):\n\n{\n  \"content\": \"<user input>\"\n}\n\n\nRequest Body (with custom instructions):\n\n{\n  \"content\": \"<user input>\",\n  \"custom_instructions\": \"<what to focus on>\"\n}\n\n\nRequest Body (with output language):\n\n{\n  \"content\": \"<user input>\",\n  \"output_language\": \"ja\"\n}\n\n\nPass the user's input directly as the content value. Do not modify, parse, or pre-process it.\n\nRequest Fields:\n\nField\tType\tRequired\tDescription\ncontent\tstring\tYes\tThe user's input to summarize. Pass as-is without modification.\ncustom_instructions\tstring\tNo\tFocus instructions for the summary (e.g., \"focus on key findings\").\noutput_language\tstring\tNo\tISO 639-1 language code for the summary output (e.g., \"ja\", \"es\"). Defaults to \"en\".\n\nResponse:\n\n{\n  \"execution_id\": \"b7e2c1a4-93f1-4d2a-8e56-1a2b3c4d5e6f\",\n  \"cached\": false\n}\n\nField\tType\tDescription\nexecution_id\tstring\tUUID identifying this execution. Used to retrieve results.\ncached\tboolean\ttrue if result was cached and is ready immediately.\nStep 2: Retrieve Results\n\nUse the execution_id from Step 1 to retrieve the summary. There are two methods.\n\nPreferred: Server-Sent Events (SSE) Stream\nGET https://api.dizest.ai/v1/executions/<execution_id>/events\n\n\nHeaders:\n\nx-api-key: $DIZEST_API_KEY\n\n\nThe server responds with a stream of Server-Sent Events. Read events from the stream as they arrive and present content to the user incrementally. The stream closes when the execution is complete.\n\nFallback: JSON Polling\n\nNote: The polling endpoint is not yet available. SSE is the only supported retrieval method in v1. This section will be updated when polling support is added.\n\nIf SSE is not supported by the agent's runtime, poll the result endpoint instead.\n\nGET https://api.dizest.ai/v1/executions/<execution_id>/result\n\n\nHeaders:\n\nx-api-key: $DIZEST_API_KEY\n\n\nPoll this endpoint at reasonable intervals (e.g., every 2–3 seconds) until the result is available. The response is a JSON object containing the final summary.\n\nExamples\nExample 1: Summarize a URL\n\nUser says: \"Summarize https://example.com/article-about-ai\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"https://example.com/article-about-ai\"\n}\n\nExample 2: Summarize Text with an Embedded URL\n\nUser says: \"Can you summarize this for me? I found it interesting: https://example.com/post/12345\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"Can you summarize this for me? I found it interesting: https://example.com/post/12345\"\n}\n\n\nForward the entire input as-is. Do not extract the URL.\n\nExample 3: Summarize Plain Text\n\nUser says: \"Summarize this: The quarterly report indicates a 15% increase in revenue driven primarily by expansion into European markets...\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"The quarterly report indicates a 15% increase in revenue driven primarily by expansion into European markets...\"\n}\n\nExample 4: Summarize a Podcast or Video\n\nUser says: \"Summarize this podcast https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n}\n\nExample 5: Custom Instructions\n\nWhen to use custom_instructions: If the user explicitly asks to focus on, emphasize, or filter for something specific, extract that part into custom_instructions and pass the remaining content (URL or text) as content. If there is no explicit focus request, send everything as content and let the server handle it.\n\nUser says: \"Summarize https://example.com/research-paper but focus on the methodology and key findings\"\n\nPOST /v1/summarize\n\n{\n  \"content\": \"https://example.com/research-paper\",\n  \"custom_instructions\": \"Focus on the methodology and key findings\"\n}\n\nOutput Expectations\nThe API returns a summary generated server-side.\nSummary length and structure depend on the input content and any custom instructions.\nPresent the summary to the user as-is. Do not further condense or reformat unless the user requests it.\nTroubleshooting\nProblem\tCause\tResolution\n401 Unauthorized\tMissing or invalid x-api-key header.\tVerify the DIZEST_API_KEY environment variable is set with a valid API key. API keys require an activated Dizest account — see the Authentication section above for setup steps.\n403 Forbidden\tThe API key does not have access.\tConfirm the key belongs to an activated account.\nSSE stream does not connect\tAgent runtime may not support Server-Sent Events.\tFall back to polling GET /v1/executions/<execution_id>/result.\nPolling returns no result\tThe execution is still processing.\tContinue polling every 2–3 seconds. Allow sufficient time for longer content.\nEmpty or unexpected summary\tContent may be behind a paywall or inaccessible.\tInform the user. Do not attempt client-side workarounds — the server handles extraction."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/s-annam/dizest-summarize",
    "publisherUrl": "https://clawhub.ai/s-annam/dizest-summarize",
    "owner": "s-annam",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/dizest-summarize",
    "downloadUrl": "https://openagent3.xyz/downloads/dizest-summarize",
    "agentUrl": "https://openagent3.xyz/skills/dizest-summarize/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dizest-summarize/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dizest-summarize/agent.md"
  }
}