{
  "schemaVersion": "1.0",
  "item": {
    "slug": "zulk-short-url-skill",
    "name": "Zulk Short URL Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/agentmilindu/zulk-short-url-skill",
    "canonicalUrl": "https://clawhub.ai/agentmilindu/zulk-short-url-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/zulk-short-url-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=zulk-short-url-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/configure.sh"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/zulk-short-url-skill"
    },
    "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/zulk-short-url-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/zulk-short-url-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zulk-short-url-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zulk-short-url-skill/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": "Zulk URL Shortener Skill",
        "body": "This skill enables AI agents to manage short links, organizations, and analytics using the Zu.lk MCP (Model Context Protocol) server."
      },
      {
        "title": "Overview",
        "body": "Zu.lk is an AI-first premium URL shortener designed for blazing-fast performance and seamless AI integration. This skill connects your agent to the Zulk MCP server, allowing it to:\n\nCreate shortened URLs (e.g., zu.lk/abcd)\nManage existing links and campaigns\nAccess real-time analytics\nManage organizations and collaborate with team members"
      },
      {
        "title": "Installation",
        "body": "To use this skill, add the Zulk MCP server configuration to your AI assistant's settings (e.g., mcp.json or equivalent)."
      },
      {
        "title": "Configuration Options",
        "body": "Choose the transport method that best fits your environment:\n\n1. Streamable HTTP (Recommended)\n\nFastest and most reliable communication.\n\n{\n  \"mcpServers\": {\n    \"zulk-url-shortener\": { \"url\": \"https://mcp.zu.lk/mcp\" }\n  }\n}\n\n2. SSE (Server-Sent Events)\n\nReal-time streaming specialized for certain clients.\n\n{\n  \"mcpServers\": {\n    \"zulk-url-shortener\": { \"url\": \"https://mcp.zu.lk/sse\" }\n  }\n}\n\n3. Stdio (via mcp-remote or mcporter)\n\nUses standard input/output via a remote bridge.\n\n{\n  \"mcpServers\": {\n    \"zulk-url-shortener\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcporter\", \"https://mcp.zu.lk/mcp\"]\n    }\n  }\n}"
      },
      {
        "title": "Step-by-Step Instructions",
        "body": "Preparation: Ensure you have a Zu.lk account or are ready to sign in via Google.\nConfiguration: Add one of the JSON configurations above to your agent's MCP settings file.\nAuthentication: When you first run a command like \"shorten this link\", the agent will present an OAuth URL. Follow the link to authenticate.\nVerification: Ask the agent \"List my recently created links\" to verify the connection is active.\nExecution: Use natural language to create links, e.g., \"Create a short link for https://google.com with alias 'my-search'\"."
      },
      {
        "title": "When To Use This Skill",
        "body": "Use this skill when the user asks to:\n\nshorten a URL\nmanage short links\nview or update an existing short link\nmanage organizations\ninvite or manage organization members\nretrieve link analytics\nlist links belonging to an organization"
      },
      {
        "title": "Available MCP Tools",
        "body": "The Zulk MCP server provides the following tools. Note that tool names use an underscore (_) instead of a dot:"
      },
      {
        "title": "Organization Management",
        "body": "zulk_get_organizations(): Returns all organizations that the authenticated user has access to.\nzulk_create_organization(name: string): Creates a new organization with the authenticated user as owner."
      },
      {
        "title": "Organization Members",
        "body": "zulk_get_organization_members(orgId: string): Returns all members of a specific organization.\nzulk_add_organization_member(orgId: string, email: string, role?: \"MANAGER\" | \"ADMIN\" | \"OWNER\"): Adds a new member to an organization (requires ADMIN or OWNER role).\nzulk_update_member_role(orgId: string, memberId: string, role: \"MANAGER\" | \"ADMIN\" | \"OWNER\"): Updates the role of a specific member in an organization.\nzulk_remove_organization_member(orgId: string, memberId: string): Removes a member from an organization (requires ADMIN or OWNER role)."
      },
      {
        "title": "Link Management",
        "body": "zulk_get_organization_links(orgId: string): Returns all short links for a specific organization.\nzulk_create_link(orgId: string, url: string, key?: string, length?: number, expiresAt?: string, password?: string, utmParams?: any): Creates a new short link for the given URL in the specified organization. (Note: length is 5-10, expiresAt and password are Pro plan features).\nzulk_get_link(orgId: string, linkId: string): Returns details of a specific link by ID from the specified organization.\nzulk_update_link(orgId: string, linkId: string, url: string, key: string, expiresAt?: string, password?: string): Updates an existing short link for the specified organization. (Note: expiresAt and password are Pro plan features)."
      },
      {
        "title": "Analytics",
        "body": "zulk_get_organization_analytics(orgId: string, dateFrom?: string, dateTo?: string, interval?: string): Returns click analytics data for an organization's links. (Defaults: dateFrom \"-7d\", dateTo \"today\", interval \"day\")."
      },
      {
        "title": "Creating a Short Link",
        "body": "Determine which organization the link should belong to.\nIf the organization is not specified, call zulk_get_organizations to list available organizations.\nCall zulk_create_link with the specific orgId and url.\nReturn the generated short link to the user."
      },
      {
        "title": "Listing Links in an Organization",
        "body": "Identify the organization.\nCall zulk_get_organization_links.\nReturn the list of links in a readable format."
      },
      {
        "title": "Inviting a Member",
        "body": "Ensure the user has ADMIN or OWNER permissions.\nCall zulk_add_organization_member with the organization ID and member details.\nConfirm the member was successfully added."
      },
      {
        "title": "Viewing Analytics",
        "body": "Identify the organization.\nCall zulk_get_organization_analytics.\nSummarize click metrics for the user."
      },
      {
        "title": "Best Practices",
        "body": "Always verify the organization before creating or modifying links.\nPrefer listing organizations if the user did not specify one.\nProvide clean responses when returning links or analytics.\nClearly report permission errors when they occur."
      },
      {
        "title": "Creating a Link",
        "body": "Input: \"Shorten https://github.com/Zu-lk/zulk-short-url-skill for my marketing team\"\nAgent reasoning:\n\nIdentify the organization belonging to the marketing team.\nCall zulk_create_link.\nReturn the generated short link.\nOutput: \"Generated short link: https://zu.lk/z-skill\""
      },
      {
        "title": "Checking Analytics",
        "body": "Input: \"Show analytics for our links\"\nAgent reasoning:\n\nDetermine the organization.\nCall zulk_get_organization_analytics.\nSummarize the click data.\nOutput: \"Your links received 1,240 clicks yesterday. Here is the breakdown...\""
      },
      {
        "title": "Edge Cases & Troubleshooting",
        "body": "Auth Failure: If authentication fails, ensure you are using the correct Google account. You may need to restart the agent to re-trigger the OAuth flow.\nAlias Taken: If a custom alias is already in use, the agent should suggest an alternative or append a random string.\nRate Limits: If you exceed your plan's link limit, the MCP server will return an error indicating the limit has been reached.\nLink Expiration: Ensure you check if the link has an expiration date if it suddenly stops working."
      },
      {
        "title": "References",
        "body": "Official Website\nMCP Documentation"
      }
    ],
    "body": "Zulk URL Shortener Skill\n\nThis skill enables AI agents to manage short links, organizations, and analytics using the Zu.lk MCP (Model Context Protocol) server.\n\nOverview\n\nZu.lk is an AI-first premium URL shortener designed for blazing-fast performance and seamless AI integration. This skill connects your agent to the Zulk MCP server, allowing it to:\n\nCreate shortened URLs (e.g., zu.lk/abcd)\nManage existing links and campaigns\nAccess real-time analytics\nManage organizations and collaborate with team members\nInstallation\n\nTo use this skill, add the Zulk MCP server configuration to your AI assistant's settings (e.g., mcp.json or equivalent).\n\nConfiguration Options\n\nChoose the transport method that best fits your environment:\n\n1. Streamable HTTP (Recommended)\n\nFastest and most reliable communication.\n\n{\n  \"mcpServers\": {\n    \"zulk-url-shortener\": { \"url\": \"https://mcp.zu.lk/mcp\" }\n  }\n}\n\n2. SSE (Server-Sent Events)\n\nReal-time streaming specialized for certain clients.\n\n{\n  \"mcpServers\": {\n    \"zulk-url-shortener\": { \"url\": \"https://mcp.zu.lk/sse\" }\n  }\n}\n\n3. Stdio (via mcp-remote or mcporter)\n\nUses standard input/output via a remote bridge.\n\n{\n  \"mcpServers\": {\n    \"zulk-url-shortener\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcporter\", \"https://mcp.zu.lk/mcp\"]\n    }\n  }\n}\n\nStep-by-Step Instructions\nPreparation: Ensure you have a Zu.lk account or are ready to sign in via Google.\nConfiguration: Add one of the JSON configurations above to your agent's MCP settings file.\nAuthentication: When you first run a command like \"shorten this link\", the agent will present an OAuth URL. Follow the link to authenticate.\nVerification: Ask the agent \"List my recently created links\" to verify the connection is active.\nExecution: Use natural language to create links, e.g., \"Create a short link for https://google.com with alias 'my-search'\".\nWhen To Use This Skill\n\nUse this skill when the user asks to:\n\nshorten a URL\nmanage short links\nview or update an existing short link\nmanage organizations\ninvite or manage organization members\nretrieve link analytics\nlist links belonging to an organization\nAvailable MCP Tools\n\nThe Zulk MCP server provides the following tools. Note that tool names use an underscore (_) instead of a dot:\n\nOrganization Management\nzulk_get_organizations(): Returns all organizations that the authenticated user has access to.\nzulk_create_organization(name: string): Creates a new organization with the authenticated user as owner.\nOrganization Members\nzulk_get_organization_members(orgId: string): Returns all members of a specific organization.\nzulk_add_organization_member(orgId: string, email: string, role?: \"MANAGER\" | \"ADMIN\" | \"OWNER\"): Adds a new member to an organization (requires ADMIN or OWNER role).\nzulk_update_member_role(orgId: string, memberId: string, role: \"MANAGER\" | \"ADMIN\" | \"OWNER\"): Updates the role of a specific member in an organization.\nzulk_remove_organization_member(orgId: string, memberId: string): Removes a member from an organization (requires ADMIN or OWNER role).\nLink Management\nzulk_get_organization_links(orgId: string): Returns all short links for a specific organization.\nzulk_create_link(orgId: string, url: string, key?: string, length?: number, expiresAt?: string, password?: string, utmParams?: any): Creates a new short link for the given URL in the specified organization. (Note: length is 5-10, expiresAt and password are Pro plan features).\nzulk_get_link(orgId: string, linkId: string): Returns details of a specific link by ID from the specified organization.\nzulk_update_link(orgId: string, linkId: string, url: string, key: string, expiresAt?: string, password?: string): Updates an existing short link for the specified organization. (Note: expiresAt and password are Pro plan features).\nAnalytics\nzulk_get_organization_analytics(orgId: string, dateFrom?: string, dateTo?: string, interval?: string): Returns click analytics data for an organization's links. (Defaults: dateFrom \"-7d\", dateTo \"today\", interval \"day\").\nCommon Workflows\nCreating a Short Link\nDetermine which organization the link should belong to.\nIf the organization is not specified, call zulk_get_organizations to list available organizations.\nCall zulk_create_link with the specific orgId and url.\nReturn the generated short link to the user.\nListing Links in an Organization\nIdentify the organization.\nCall zulk_get_organization_links.\nReturn the list of links in a readable format.\nInviting a Member\nEnsure the user has ADMIN or OWNER permissions.\nCall zulk_add_organization_member with the organization ID and member details.\nConfirm the member was successfully added.\nViewing Analytics\nIdentify the organization.\nCall zulk_get_organization_analytics.\nSummarize click metrics for the user.\nBest Practices\nAlways verify the organization before creating or modifying links.\nPrefer listing organizations if the user did not specify one.\nProvide clean responses when returning links or analytics.\nClearly report permission errors when they occur.\nUsage Examples\nCreating a Link\n\nInput: \"Shorten https://github.com/Zu-lk/zulk-short-url-skill for my marketing team\" Agent reasoning:\n\nIdentify the organization belonging to the marketing team.\nCall zulk_create_link.\nReturn the generated short link. Output: \"Generated short link: https://zu.lk/z-skill\"\nChecking Analytics\n\nInput: \"Show analytics for our links\" Agent reasoning:\n\nDetermine the organization.\nCall zulk_get_organization_analytics.\nSummarize the click data. Output: \"Your links received 1,240 clicks yesterday. Here is the breakdown...\"\nEdge Cases & Troubleshooting\nAuth Failure: If authentication fails, ensure you are using the correct Google account. You may need to restart the agent to re-trigger the OAuth flow.\nAlias Taken: If a custom alias is already in use, the agent should suggest an alternative or append a random string.\nRate Limits: If you exceed your plan's link limit, the MCP server will return an error indicating the limit has been reached.\nLink Expiration: Ensure you check if the link has an expiration date if it suddenly stops working.\nReferences\nOfficial Website\nMCP Documentation"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/agentmilindu/zulk-short-url-skill",
    "publisherUrl": "https://clawhub.ai/agentmilindu/zulk-short-url-skill",
    "owner": "agentmilindu",
    "version": "0.1.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/zulk-short-url-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/zulk-short-url-skill",
    "agentUrl": "https://openagent3.xyz/skills/zulk-short-url-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zulk-short-url-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zulk-short-url-skill/agent.md"
  }
}