{
  "schemaVersion": "1.0",
  "item": {
    "slug": "curlship",
    "name": "CurlShip Directory Submission",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/MarcinDudekDev/curlship",
    "canonicalUrl": "https://clawhub.ai/MarcinDudekDev/curlship",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/curlship",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=curlship",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "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. 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-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/curlship"
    },
    "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/curlship",
    "agentPageUrl": "https://openagent3.xyz/skills/curlship/agent",
    "manifestUrl": "https://openagent3.xyz/skills/curlship/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/curlship/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": "Overview",
        "body": "Use this skill when you need to list a product or SaaS on a public directory. CurlShip is designed for bots and CLI tools — submit with a single API call, get back OG-scraped listing details, and optionally upgrade to paid tiers for higher placement."
      },
      {
        "title": "Quick Reference",
        "body": "API Base URL: https://curlship.com\nHomepage: https://curlship.com\nPricing: https://curlship.com/pricing\n\nSingle-line Use Cases:\n\nSubmit a product URL to be listed in the directory\nCheck all current directory listings\nUpgrade a listing to a paid tier (Bronze/Silver/Gold/Platinum)\nGet the CurlShip badge HTML for dofollow links"
      },
      {
        "title": "What this skill does",
        "body": "Sends HTTPS requests to the CurlShip API\nUses POST /api/submit to add a new listing (auto-scrapes OG tags)\nUses GET /api/listings to retrieve all active listings\nUses POST /api/upgrade to get a checkout URL for paid tier upgrades\nReturns structured JSON responses with listing details"
      },
      {
        "title": "What this skill does NOT do",
        "body": "Does not require authentication or API keys\nDoes not make payments directly — upgrade returns a checkout URL for the user\nDoes not modify any local files or system settings"
      },
      {
        "title": "1. Submit a Listing",
        "body": "POST /api/submit — Add a product to the directory.\n\ncurl -X POST https://curlship.com/api/submit \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://yourapp.com\", \"email\": \"you@email.com\"}'\n\nRequest Fields:\n\nurl (required): Product URL starting with http. Must be a public, non-private address.\nemail (required): Contact email for the listing owner.\n\nExample Response (201 Created):\n\n{\n  \"ok\": true,\n  \"message\": \"Listed! Add a badge for a dofollow link.\",\n  \"listing\": {\n    \"id\": 42,\n    \"url\": \"https://yourapp.com\",\n    \"tier\": \"free\",\n    \"title\": \"YourApp - Build Faster\",\n    \"description\": \"The fastest way to ship your next SaaS.\",\n    \"image\": \"https://yourapp.com/og-image.png\",\n    \"has_badge\": false\n  },\n  \"badge_html\": \"<a href=\\\"https://curlship.com\\\"><img src=\\\"https://curlship.com/badge\\\" alt=\\\"Listed on CurlShip\\\" /></a>\"\n}\n\nError Responses:\n\n400 — Missing/invalid URL or email\n403 — URL is on a blocklist (adult/phishing/malware)\n429 — Rate limit exceeded (max 10 submissions per hour per IP)\n\nDuplicate Handling: If the URL is already listed, returns 200 with \"message\": \"Already listed\" and the existing listing data."
      },
      {
        "title": "2. Get All Listings",
        "body": "GET /api/listings — Retrieve all active directory listings.\n\ncurl https://curlship.com/api/listings\n\nExample Response:\n\n{\n  \"ok\": true,\n  \"listings\": [\n    {\n      \"id\": 1,\n      \"url\": \"https://example.com\",\n      \"tier\": \"gold\",\n      \"title\": \"Example App\",\n      \"description\": \"A great example application.\",\n      \"image\": \"https://example.com/og.png\",\n      \"has_badge\": true\n    }\n  ]\n}\n\nListings are sorted by tier (Platinum > Gold > Silver > Bronze > Free)."
      },
      {
        "title": "3. Upgrade a Listing",
        "body": "POST /api/upgrade — Get a payment checkout URL to upgrade a listing's tier.\n\ncurl -X POST https://curlship.com/api/upgrade \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://yourapp.com\", \"tier\": \"gold\"}'\n\nRequest Fields:\n\nurl (required): The URL of an existing listing.\ntier (required): One of platinum, gold, silver, bronze.\n\nExample Response:\n\n{\n  \"ok\": true,\n  \"checkout_url\": \"https://checkout.dodopayments.com/...\"\n}\n\nError Responses:\n\n400 — Invalid tier name\n404 — Listing not found (submit it first)\n503 — Payment system unavailable\n\nImportant: The listing must already exist. Submit first, then upgrade."
      },
      {
        "title": "4. Badge SVG",
        "body": "GET /badge — Returns the CurlShip badge as an SVG image.\n\nPlace this badge on your site to automatically earn a dofollow link:\n\n<a href=\"https://curlship.com\">\n  <img src=\"https://curlship.com/badge\" alt=\"Listed on CurlShip\" />\n</a>\n\nBadge presence is auto-checked hourly. Any <a> tag linking to curlship.com qualifies."
      },
      {
        "title": "Tiers & Pricing",
        "body": "TierPriceBenefitsPlatinum$149/moTop of directory, dofollow link, priority OG refreshGold$49/moAbove Silver & Bronze, dofollow linkSilver$15/moAbove Bronze & Free, dofollow linkBronze$1/moAbove Free tier, dofollow linkFree$0Listed in Free section, nofollow by default\n\nDofollow rules:\n\nPaid tiers (any) get dofollow automatically\nFree tier gets dofollow by placing a CurlShip badge on your site"
      },
      {
        "title": "Typical Agent Workflow",
        "body": "Submit the product URL and email via POST /api/submit\nCheck the response for the listing details and badge HTML\nOptionally upgrade via POST /api/upgrade and present the checkout URL to the user\nAdd the badge HTML to the product's website for a dofollow link (free tier)"
      },
      {
        "title": "Rate Limits",
        "body": "Maximum 10 submissions per hour per IP address\nNo rate limit on GET /api/listings"
      },
      {
        "title": "Security & Content Policy",
        "body": "URLs pointing to private/reserved IP addresses are rejected (SSRF protection)\nURLs on known adult/phishing/malware blocklists are rejected\nAll API responses include x-robots-tag: noindex"
      }
    ],
    "body": "CurlShip — Bot-Friendly SaaS Directory\nOverview\n\nUse this skill when you need to list a product or SaaS on a public directory. CurlShip is designed for bots and CLI tools — submit with a single API call, get back OG-scraped listing details, and optionally upgrade to paid tiers for higher placement.\n\nQuick Reference\n\nAPI Base URL: https://curlship.com Homepage: https://curlship.com Pricing: https://curlship.com/pricing\n\nSingle-line Use Cases:\n\nSubmit a product URL to be listed in the directory\nCheck all current directory listings\nUpgrade a listing to a paid tier (Bronze/Silver/Gold/Platinum)\nGet the CurlShip badge HTML for dofollow links\nWhat this skill does\nSends HTTPS requests to the CurlShip API\nUses POST /api/submit to add a new listing (auto-scrapes OG tags)\nUses GET /api/listings to retrieve all active listings\nUses POST /api/upgrade to get a checkout URL for paid tier upgrades\nReturns structured JSON responses with listing details\nWhat this skill does NOT do\nDoes not require authentication or API keys\nDoes not make payments directly — upgrade returns a checkout URL for the user\nDoes not modify any local files or system settings\nEndpoints\n1. Submit a Listing\n\nPOST /api/submit — Add a product to the directory.\n\ncurl -X POST https://curlship.com/api/submit \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://yourapp.com\", \"email\": \"you@email.com\"}'\n\n\nRequest Fields:\n\nurl (required): Product URL starting with http. Must be a public, non-private address.\nemail (required): Contact email for the listing owner.\n\nExample Response (201 Created):\n\n{\n  \"ok\": true,\n  \"message\": \"Listed! Add a badge for a dofollow link.\",\n  \"listing\": {\n    \"id\": 42,\n    \"url\": \"https://yourapp.com\",\n    \"tier\": \"free\",\n    \"title\": \"YourApp - Build Faster\",\n    \"description\": \"The fastest way to ship your next SaaS.\",\n    \"image\": \"https://yourapp.com/og-image.png\",\n    \"has_badge\": false\n  },\n  \"badge_html\": \"<a href=\\\"https://curlship.com\\\"><img src=\\\"https://curlship.com/badge\\\" alt=\\\"Listed on CurlShip\\\" /></a>\"\n}\n\n\nError Responses:\n\n400 — Missing/invalid URL or email\n403 — URL is on a blocklist (adult/phishing/malware)\n429 — Rate limit exceeded (max 10 submissions per hour per IP)\n\nDuplicate Handling: If the URL is already listed, returns 200 with \"message\": \"Already listed\" and the existing listing data.\n\n2. Get All Listings\n\nGET /api/listings — Retrieve all active directory listings.\n\ncurl https://curlship.com/api/listings\n\n\nExample Response:\n\n{\n  \"ok\": true,\n  \"listings\": [\n    {\n      \"id\": 1,\n      \"url\": \"https://example.com\",\n      \"tier\": \"gold\",\n      \"title\": \"Example App\",\n      \"description\": \"A great example application.\",\n      \"image\": \"https://example.com/og.png\",\n      \"has_badge\": true\n    }\n  ]\n}\n\n\nListings are sorted by tier (Platinum > Gold > Silver > Bronze > Free).\n\n3. Upgrade a Listing\n\nPOST /api/upgrade — Get a payment checkout URL to upgrade a listing's tier.\n\ncurl -X POST https://curlship.com/api/upgrade \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://yourapp.com\", \"tier\": \"gold\"}'\n\n\nRequest Fields:\n\nurl (required): The URL of an existing listing.\ntier (required): One of platinum, gold, silver, bronze.\n\nExample Response:\n\n{\n  \"ok\": true,\n  \"checkout_url\": \"https://checkout.dodopayments.com/...\"\n}\n\n\nError Responses:\n\n400 — Invalid tier name\n404 — Listing not found (submit it first)\n503 — Payment system unavailable\n\nImportant: The listing must already exist. Submit first, then upgrade.\n\n4. Badge SVG\n\nGET /badge — Returns the CurlShip badge as an SVG image.\n\nPlace this badge on your site to automatically earn a dofollow link:\n\n<a href=\"https://curlship.com\">\n  <img src=\"https://curlship.com/badge\" alt=\"Listed on CurlShip\" />\n</a>\n\n\nBadge presence is auto-checked hourly. Any <a> tag linking to curlship.com qualifies.\n\nTiers & Pricing\nTier\tPrice\tBenefits\nPlatinum\t$149/mo\tTop of directory, dofollow link, priority OG refresh\nGold\t$49/mo\tAbove Silver & Bronze, dofollow link\nSilver\t$15/mo\tAbove Bronze & Free, dofollow link\nBronze\t$1/mo\tAbove Free tier, dofollow link\nFree\t$0\tListed in Free section, nofollow by default\n\nDofollow rules:\n\nPaid tiers (any) get dofollow automatically\nFree tier gets dofollow by placing a CurlShip badge on your site\nTypical Agent Workflow\nSubmit the product URL and email via POST /api/submit\nCheck the response for the listing details and badge HTML\nOptionally upgrade via POST /api/upgrade and present the checkout URL to the user\nAdd the badge HTML to the product's website for a dofollow link (free tier)\nRate Limits\nMaximum 10 submissions per hour per IP address\nNo rate limit on GET /api/listings\nSecurity & Content Policy\nURLs pointing to private/reserved IP addresses are rejected (SSRF protection)\nURLs on known adult/phishing/malware blocklists are rejected\nAll API responses include x-robots-tag: noindex"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/MarcinDudekDev/curlship",
    "publisherUrl": "https://clawhub.ai/MarcinDudekDev/curlship",
    "owner": "MarcinDudekDev",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/curlship",
    "downloadUrl": "https://openagent3.xyz/downloads/curlship",
    "agentUrl": "https://openagent3.xyz/skills/curlship/agent",
    "manifestUrl": "https://openagent3.xyz/skills/curlship/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/curlship/agent.md"
  }
}