{
  "schemaVersion": "1.0",
  "item": {
    "slug": "cdn",
    "name": "CDN",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ivangdavila/cdn",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/cdn",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/cdn",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=cdn",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "caching.md",
      "providers.md",
      "security.md",
      "troubleshooting.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/cdn"
    },
    "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/cdn",
    "agentPageUrl": "https://openagent3.xyz/skills/cdn/agent",
    "manifestUrl": "https://openagent3.xyz/skills/cdn/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/cdn/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": "When to Use",
        "body": "User wants to set up, optimize, or debug a CDN. Covers provider selection, caching, security, and performance monitoring."
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileProvider comparison & CLIsproviders.mdSecurity hardeningsecurity.mdCaching strategiescaching.mdTroubleshootingtroubleshooting.md"
      },
      {
        "title": "Core Capabilities",
        "body": "Provider selection — Compare Cloudflare, CloudFront, Bunny, Fastly based on use case, traffic, budget\nCache configuration — Set optimal cache-control headers, TTLs, cache keys\nSecurity setup — SSL/TLS, WAF rules, DDoS protection, origin shielding\nPerformance monitoring — Cache hit ratios, TTFB, regional latency\nInvalidation — Purge strategies, CI/CD integration, tagged invalidation\nCost optimization — Bandwidth analysis, tier recommendations, multi-CDN strategies\nTroubleshooting — Debug cache misses, stale content, origin overload"
      },
      {
        "title": "Cache-Control Checklist",
        "body": "Before deploying, verify:\n\nHashed assets (JS/CSS) → Cache-Control: public, max-age=31536000, immutable\n HTML pages → Short TTL or no-cache with revalidation\n Images → Long TTL with content-based URLs or versioning\n API responses → Usually no-store unless explicitly cacheable\n User-specific content → private or no-store"
      },
      {
        "title": "Security Checklist",
        "body": "TLS 1.2+ enforced, weak ciphers disabled\n HSTS enabled with appropriate max-age\n Origin IPs hidden, authenticated origin pulls configured\n Rate limiting on sensitive endpoints (login, API)\n Security headers: CSP, X-Frame-Options, X-Content-Type-Options"
      },
      {
        "title": "Common Mistakes",
        "body": "Caching user-specific responses (auth tokens, personalized content)\nUsing max-age without immutable for versioned assets\nPurging entire cache instead of targeted paths\nIgnoring Vary headers (cache poisoning risk)\nOrigin not rejecting direct access (bypassing CDN protections)"
      },
      {
        "title": "Decision: Do I Need a CDN?",
        "body": "Ask about:\n\nGeographic distribution of users\nCurrent page load times and Core Web Vitals\nStatic vs dynamic content ratio\nTraffic volume and patterns\n\nIf users are mostly local and traffic is low → CDN may add complexity without benefit.\nIf global users OR heavy static assets OR need DDoS protection → CDN adds value."
      }
    ],
    "body": "When to Use\n\nUser wants to set up, optimize, or debug a CDN. Covers provider selection, caching, security, and performance monitoring.\n\nQuick Reference\nTopic\tFile\nProvider comparison & CLIs\tproviders.md\nSecurity hardening\tsecurity.md\nCaching strategies\tcaching.md\nTroubleshooting\ttroubleshooting.md\nCore Capabilities\nProvider selection — Compare Cloudflare, CloudFront, Bunny, Fastly based on use case, traffic, budget\nCache configuration — Set optimal cache-control headers, TTLs, cache keys\nSecurity setup — SSL/TLS, WAF rules, DDoS protection, origin shielding\nPerformance monitoring — Cache hit ratios, TTFB, regional latency\nInvalidation — Purge strategies, CI/CD integration, tagged invalidation\nCost optimization — Bandwidth analysis, tier recommendations, multi-CDN strategies\nTroubleshooting — Debug cache misses, stale content, origin overload\nCache-Control Checklist\n\nBefore deploying, verify:\n\n Hashed assets (JS/CSS) → Cache-Control: public, max-age=31536000, immutable\n HTML pages → Short TTL or no-cache with revalidation\n Images → Long TTL with content-based URLs or versioning\n API responses → Usually no-store unless explicitly cacheable\n User-specific content → private or no-store\nSecurity Checklist\n TLS 1.2+ enforced, weak ciphers disabled\n HSTS enabled with appropriate max-age\n Origin IPs hidden, authenticated origin pulls configured\n Rate limiting on sensitive endpoints (login, API)\n Security headers: CSP, X-Frame-Options, X-Content-Type-Options\nCommon Mistakes\nCaching user-specific responses (auth tokens, personalized content)\nUsing max-age without immutable for versioned assets\nPurging entire cache instead of targeted paths\nIgnoring Vary headers (cache poisoning risk)\nOrigin not rejecting direct access (bypassing CDN protections)\nDecision: Do I Need a CDN?\n\nAsk about:\n\nGeographic distribution of users\nCurrent page load times and Core Web Vitals\nStatic vs dynamic content ratio\nTraffic volume and patterns\n\nIf users are mostly local and traffic is low → CDN may add complexity without benefit. If global users OR heavy static assets OR need DDoS protection → CDN adds value."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/cdn",
    "publisherUrl": "https://clawhub.ai/ivangdavila/cdn",
    "owner": "ivangdavila",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/cdn",
    "downloadUrl": "https://openagent3.xyz/downloads/cdn",
    "agentUrl": "https://openagent3.xyz/skills/cdn/agent",
    "manifestUrl": "https://openagent3.xyz/skills/cdn/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/cdn/agent.md"
  }
}