{
  "schemaVersion": "1.0",
  "item": {
    "slug": "domain-check",
    "name": "Domain Check",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/BrennerSpear/domain-check",
    "canonicalUrl": "https://clawhub.ai/BrennerSpear/domain-check",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/domain-check",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=domain-check",
    "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/domain-check"
    },
    "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/domain-check",
    "agentPageUrl": "https://openagent3.xyz/skills/domain-check/agent",
    "manifestUrl": "https://openagent3.xyz/skills/domain-check/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/domain-check/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": "Domain Check & Buy (Vercel)",
        "body": "Check domain availability, pricing, and purchase — all via Vercel."
      },
      {
        "title": "Quick Reference",
        "body": "# Check availability + pricing for a name across TLDs\ndomain-check myproject\n\n# Check specific TLDs\ndomain-check myproject com,io,dev,app,ai\n\n# Buy a domain (interactive — needs pty:true)\nnpx vercel domains buy mydomain.com\n\n# List your owned domains\nnpx vercel domains list\n\n# Inspect a domain you own\nnpx vercel domains inspect mydomain.com\n\n# Add domain to a Vercel project\nnpx vercel domains add mydomain.com my-project\n\n# Transfer a domain into Vercel\nnpx vercel domains transfer-in mydomain.com"
      },
      {
        "title": "Availability Check (domain-check)",
        "body": "Uses the Vercel Registrar API (/v1/registrar/domains/{domain}/price):\n\npurchasePrice: null → domain is taken\npurchasePrice: <number> → domain is available at that price\n\n$ domain-check myproject\nChecking: myproject\n-----------------------------------------------------------\nDOMAIN                    STATUS         BUY PRICE    RENEWAL\n-----------------------------------------------------------\nmyproject.com             ❌ Taken       -            $11.25\nmyproject.io              ✅ Available   $46.00       $46.00\nmyproject.dev             ✅ Available   $13.00       $13.00\n-----------------------------------------------------------\nPrices from Vercel Registrar"
      },
      {
        "title": "Buying (npx vercel domains buy)",
        "body": "Interactive command — requires pty: true when calling from exec.\n\n# Example exec call\nexec(command: \"npx vercel domains buy myproject.dev\", pty: true, timeout: 30)\n\nThe CLI will show price and ask for confirmation before charging."
      },
      {
        "title": "API Direct (for scripts)",
        "body": "VERCEL_TOKEN=$(jq -r '.token' ~/.local/share/com.vercel.cli/auth.json)\nTEAM=$(jq -r '.currentTeam // empty' ~/.local/share/com.vercel.cli/config.json)\nTEAM_PARAM=\"${TEAM:+?teamId=$TEAM}\"\n\n# Check price/availability\ncurl -s \"https://api.vercel.com/v1/registrar/domains/example.com/price${TEAM_PARAM}\" \\\n  -H \"Authorization: Bearer $VERCEL_TOKEN\"\n# Returns: { \"years\": 1, \"purchasePrice\": 11.25, \"renewalPrice\": 11.25, \"transferPrice\": 11.25 }\n# purchasePrice: null = taken, number = available\n\n# Buy via API\ncurl -s -X POST \"https://api.vercel.com/v1/registrar/domains${TEAM_PARAM}\" \\\n  -H \"Authorization: Bearer $VERCEL_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"example.com\"}'"
      },
      {
        "title": "Vercel CLI Domain Commands",
        "body": "CommandDescriptionnpx vercel domains listShow all domainsnpx vercel domains inspect <domain>Domain info (owned domains only)npx vercel domains buy <domain>Purchase (interactive)npx vercel domains add <domain> <project>Add to Vercel projectnpx vercel domains move <domain> <dest>Transfer to another teamnpx vercel domains transfer-in <domain>Transfer in to Vercelnpx vercel domains remove <domain>Remove from team"
      },
      {
        "title": "Typical TLD Pricing (Vercel)",
        "body": "TLD~Price/yr.com$11.25.dev$13.app$15.co$27.io$46.ai$140.org$9.99.net$13.50.xyz$13"
      },
      {
        "title": "Auth",
        "body": "Requires Vercel CLI authentication (npx vercel login). Token is read from ~/.local/share/com.vercel.cli/auth.json.\n\nTeam ID is auto-detected from Vercel CLI config, or set VERCEL_TEAM_ID env var to override. If neither is set, the personal account is used."
      },
      {
        "title": "Notes",
        "body": "Vercel registrar API replaced the old v4 domains/price endpoint (sunsetted Nov 2025)\ndomains inspect only works for domains you own — use the price API for availability\n.ai domains are expensive ($140/yr) across all registrars\nWhen buying via CLI, use pty: true for the interactive confirmation prompt"
      }
    ],
    "body": "Domain Check & Buy (Vercel)\n\nCheck domain availability, pricing, and purchase — all via Vercel.\n\nQuick Reference\n# Check availability + pricing for a name across TLDs\ndomain-check myproject\n\n# Check specific TLDs\ndomain-check myproject com,io,dev,app,ai\n\n# Buy a domain (interactive — needs pty:true)\nnpx vercel domains buy mydomain.com\n\n# List your owned domains\nnpx vercel domains list\n\n# Inspect a domain you own\nnpx vercel domains inspect mydomain.com\n\n# Add domain to a Vercel project\nnpx vercel domains add mydomain.com my-project\n\n# Transfer a domain into Vercel\nnpx vercel domains transfer-in mydomain.com\n\nHow It Works\nAvailability Check (domain-check)\n\nUses the Vercel Registrar API (/v1/registrar/domains/{domain}/price):\n\npurchasePrice: null → domain is taken\npurchasePrice: <number> → domain is available at that price\n$ domain-check myproject\nChecking: myproject\n-----------------------------------------------------------\nDOMAIN                    STATUS         BUY PRICE    RENEWAL\n-----------------------------------------------------------\nmyproject.com             ❌ Taken       -            $11.25\nmyproject.io              ✅ Available   $46.00       $46.00\nmyproject.dev             ✅ Available   $13.00       $13.00\n-----------------------------------------------------------\nPrices from Vercel Registrar\n\nBuying (npx vercel domains buy)\n\nInteractive command — requires pty: true when calling from exec.\n\n# Example exec call\nexec(command: \"npx vercel domains buy myproject.dev\", pty: true, timeout: 30)\n\n\nThe CLI will show price and ask for confirmation before charging.\n\nAPI Direct (for scripts)\nVERCEL_TOKEN=$(jq -r '.token' ~/.local/share/com.vercel.cli/auth.json)\nTEAM=$(jq -r '.currentTeam // empty' ~/.local/share/com.vercel.cli/config.json)\nTEAM_PARAM=\"${TEAM:+?teamId=$TEAM}\"\n\n# Check price/availability\ncurl -s \"https://api.vercel.com/v1/registrar/domains/example.com/price${TEAM_PARAM}\" \\\n  -H \"Authorization: Bearer $VERCEL_TOKEN\"\n# Returns: { \"years\": 1, \"purchasePrice\": 11.25, \"renewalPrice\": 11.25, \"transferPrice\": 11.25 }\n# purchasePrice: null = taken, number = available\n\n# Buy via API\ncurl -s -X POST \"https://api.vercel.com/v1/registrar/domains${TEAM_PARAM}\" \\\n  -H \"Authorization: Bearer $VERCEL_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"example.com\"}'\n\nVercel CLI Domain Commands\nCommand\tDescription\nnpx vercel domains list\tShow all domains\nnpx vercel domains inspect <domain>\tDomain info (owned domains only)\nnpx vercel domains buy <domain>\tPurchase (interactive)\nnpx vercel domains add <domain> <project>\tAdd to Vercel project\nnpx vercel domains move <domain> <dest>\tTransfer to another team\nnpx vercel domains transfer-in <domain>\tTransfer in to Vercel\nnpx vercel domains remove <domain>\tRemove from team\nTypical TLD Pricing (Vercel)\nTLD\t~Price/yr\n.com\t$11.25\n.dev\t$13\n.app\t$15\n.co\t$27\n.io\t$46\n.ai\t$140\n.org\t$9.99\n.net\t$13.50\n.xyz\t$13\nAuth\n\nRequires Vercel CLI authentication (npx vercel login). Token is read from ~/.local/share/com.vercel.cli/auth.json.\n\nTeam ID is auto-detected from Vercel CLI config, or set VERCEL_TEAM_ID env var to override. If neither is set, the personal account is used.\n\nNotes\nVercel registrar API replaced the old v4 domains/price endpoint (sunsetted Nov 2025)\ndomains inspect only works for domains you own — use the price API for availability\n.ai domains are expensive ($140/yr) across all registrars\nWhen buying via CLI, use pty: true for the interactive confirmation prompt"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/BrennerSpear/domain-check",
    "publisherUrl": "https://clawhub.ai/BrennerSpear/domain-check",
    "owner": "BrennerSpear",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/domain-check",
    "downloadUrl": "https://openagent3.xyz/downloads/domain-check",
    "agentUrl": "https://openagent3.xyz/skills/domain-check/agent",
    "manifestUrl": "https://openagent3.xyz/skills/domain-check/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/domain-check/agent.md"
  }
}