{
  "schemaVersion": "1.0",
  "item": {
    "slug": "raycast",
    "name": "raycast",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/xaif/raycast",
    "canonicalUrl": "https://clawhub.ai/xaif/raycast",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/raycast",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=raycast",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "examples.md",
      "SKILL.md",
      "references/api/storage.md",
      "references/api/detail.md",
      "references/api/icons-images.md",
      "references/api/hud.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-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/raycast"
    },
    "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/raycast",
    "agentPageUrl": "https://openagent3.xyz/skills/raycast/agent",
    "manifestUrl": "https://openagent3.xyz/skills/raycast/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/raycast/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": "Raycast Extensions Skill",
        "body": "Build powerful extensions with React, TypeScript, and the Raycast API."
      },
      {
        "title": "Quick Start (Agent Workflow)",
        "body": "Follow these steps when tasked with implementing or fixing Raycast features:\n\nIdentify the core component: Determine if the UI needs a List, Grid, Detail, or Form.\nConsult Reference: Open and read the corresponding file in references/api/ (e.g., references/api/list.md).\nUse Defaults:\n\nFeedback: Use showToast for Loading/Success/Failure. Use showHUD only for quick background completions.\nData: Use Cache for frequent/transient data, LocalStorage for persistent user data.\nAccess: Always check environment.canAccess(AI) or environment.canAccess(BrowserExtension) before use.\n\n\nImplementation: Provide a concise implementation using @raycast/api components.\nCiting: Link back to the specific references/api/*.md file you used."
      },
      {
        "title": "1. List & Grid (Searchable UI)",
        "body": "Use List for text-heavy data and Grid for image-heavy data.\n\nList Reference | Grid Reference\n\n<List isLoading={isLoading} searchBarPlaceholder=\"Search items...\" throttle>\n  <List.Item\n    title=\"Item Title\"\n    subtitle=\"Subtitle\"\n    accessories={[{ text: \"Tag\" }]}\n    actions={\n      <ActionPanel>\n        <Action.Push title=\"View Details\" target={<Detail markdown=\"# Details\" />} />\n        <Action.CopyToClipboard title=\"Copy\" content=\"value\" />\n      </ActionPanel>\n    }\n  />\n</List>"
      },
      {
        "title": "2. Detail (Rich Markdown)",
        "body": "Use for displaying long-form content or item details.\n\nDetail Reference\n\n<Detail\n  isLoading={isLoading}\n  markdown=\"# Heading\\nContent here.\"\n  metadata={\n    <Detail.Metadata>\n      <Detail.Metadata.Label title=\"Status\" text=\"Active\" icon={Icon.Checkmark} />\n    </Detail.Metadata>\n  }\n/>"
      },
      {
        "title": "3. Form (User Input)",
        "body": "Always include a SubmitForm action.\n\nForm Reference\n\n<Form\n  actions={\n    <ActionPanel>\n      <Action.SubmitForm onSubmit={(values) => console.log(values)} />\n    </ActionPanel>\n  }\n>\n  <Form.TextField id=\"title\" title=\"Title\" placeholder=\"Enter title\" />\n  <Form.TextArea id=\"description\" title=\"Description\" />\n</Form>"
      },
      {
        "title": "4. Feedback & Interactivity",
        "body": "Prefer showToast for most feedback.\n\nToast Reference | HUD Reference\n\n// Success/Failure\nawait showToast({ style: Toast.Style.Success, title: \"Success!\" });\n\n// HUD (Overlay)\nawait showHUD(\"Done!\");"
      },
      {
        "title": "5. Data Persistence",
        "body": "Use Cache for performance, LocalStorage for persistence.\n\nCache Reference | Storage Reference\n\n// Cache (Sync/Transient)\nconst cache = new Cache();\ncache.set(\"key\", \"value\");\n\n// LocalStorage (Async/Persistent)\nawait LocalStorage.setItem(\"key\", \"value\");"
      },
      {
        "title": "6. AI & Browser Extension (Restricted APIs)",
        "body": "Always wrap in environment.canAccess checks.\n\nAI Reference | Browser Reference\n\nif (environment.canAccess(AI)) {\n  const result = await AI.ask(\"Prompt\");\n}\n\nif (environment.canAccess(BrowserExtension)) {\n  const tabs = await BrowserExtension.getTabs();\n}"
      },
      {
        "title": "API Reference Tree",
        "body": "UI Components\n\nAction Panel\nDetail\nForm\nGrid\nList\nUser Interface\n\n\nInteractivity\n\nActions\nAlert\nKeyboard\nNavigation\nRaycast Window Search Bar\n\n\nUtilities & Services\n\nAI\nBrowser Extension\nClipboard\nEnvironment\nFeedback & HUD\n\nHUD\nToast\n\n\nOAuth\nSystem Utilities\n\n\nData & Configuration\n\nCaching\nColors\nIcons & Images\nPreferences\nStorage\n\n\nAdvanced\n\nCommand Related Utilities\nMenu Bar Commands\nTool\nWindow Management"
      },
      {
        "title": "Examples",
        "body": "For end-to-end examples combining multiple components and APIs, see examples.md."
      }
    ],
    "body": "Raycast Extensions Skill\n\nBuild powerful extensions with React, TypeScript, and the Raycast API.\n\nQuick Start (Agent Workflow)\n\nFollow these steps when tasked with implementing or fixing Raycast features:\n\nIdentify the core component: Determine if the UI needs a List, Grid, Detail, or Form.\nConsult Reference: Open and read the corresponding file in references/api/ (e.g., references/api/list.md).\nUse Defaults:\nFeedback: Use showToast for Loading/Success/Failure. Use showHUD only for quick background completions.\nData: Use Cache for frequent/transient data, LocalStorage for persistent user data.\nAccess: Always check environment.canAccess(AI) or environment.canAccess(BrowserExtension) before use.\nImplementation: Provide a concise implementation using @raycast/api components.\nCiting: Link back to the specific references/api/*.md file you used.\nCookbook Patterns\n1. List & Grid (Searchable UI)\n\nUse List for text-heavy data and Grid for image-heavy data.\n\nList Reference | Grid Reference\n<List isLoading={isLoading} searchBarPlaceholder=\"Search items...\" throttle>\n  <List.Item\n    title=\"Item Title\"\n    subtitle=\"Subtitle\"\n    accessories={[{ text: \"Tag\" }]}\n    actions={\n      <ActionPanel>\n        <Action.Push title=\"View Details\" target={<Detail markdown=\"# Details\" />} />\n        <Action.CopyToClipboard title=\"Copy\" content=\"value\" />\n      </ActionPanel>\n    }\n  />\n</List>\n\n2. Detail (Rich Markdown)\n\nUse for displaying long-form content or item details.\n\nDetail Reference\n<Detail\n  isLoading={isLoading}\n  markdown=\"# Heading\\nContent here.\"\n  metadata={\n    <Detail.Metadata>\n      <Detail.Metadata.Label title=\"Status\" text=\"Active\" icon={Icon.Checkmark} />\n    </Detail.Metadata>\n  }\n/>\n\n3. Form (User Input)\n\nAlways include a SubmitForm action.\n\nForm Reference\n<Form\n  actions={\n    <ActionPanel>\n      <Action.SubmitForm onSubmit={(values) => console.log(values)} />\n    </ActionPanel>\n  }\n>\n  <Form.TextField id=\"title\" title=\"Title\" placeholder=\"Enter title\" />\n  <Form.TextArea id=\"description\" title=\"Description\" />\n</Form>\n\n4. Feedback & Interactivity\n\nPrefer showToast for most feedback.\n\nToast Reference | HUD Reference\n// Success/Failure\nawait showToast({ style: Toast.Style.Success, title: \"Success!\" });\n\n// HUD (Overlay)\nawait showHUD(\"Done!\");\n\n5. Data Persistence\n\nUse Cache for performance, LocalStorage for persistence.\n\nCache Reference | Storage Reference\n// Cache (Sync/Transient)\nconst cache = new Cache();\ncache.set(\"key\", \"value\");\n\n// LocalStorage (Async/Persistent)\nawait LocalStorage.setItem(\"key\", \"value\");\n\n6. AI & Browser Extension (Restricted APIs)\n\nAlways wrap in environment.canAccess checks.\n\nAI Reference | Browser Reference\nif (environment.canAccess(AI)) {\n  const result = await AI.ask(\"Prompt\");\n}\n\nif (environment.canAccess(BrowserExtension)) {\n  const tabs = await BrowserExtension.getTabs();\n}\n\nAdditional Resources\nAPI Reference Tree\nUI Components\nAction Panel\nDetail\nForm\nGrid\nList\nUser Interface\nInteractivity\nActions\nAlert\nKeyboard\nNavigation\nRaycast Window Search Bar\nUtilities & Services\nAI\nBrowser Extension\nClipboard\nEnvironment\nFeedback & HUD\nHUD\nToast\nOAuth\nSystem Utilities\nData & Configuration\nCaching\nColors\nIcons & Images\nPreferences\nStorage\nAdvanced\nCommand Related Utilities\nMenu Bar Commands\nTool\nWindow Management\nExamples\n\nFor end-to-end examples combining multiple components and APIs, see examples.md."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/xaif/raycast",
    "publisherUrl": "https://clawhub.ai/xaif/raycast",
    "owner": "xaif",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/raycast",
    "downloadUrl": "https://openagent3.xyz/downloads/raycast",
    "agentUrl": "https://openagent3.xyz/skills/raycast/agent",
    "manifestUrl": "https://openagent3.xyz/skills/raycast/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/raycast/agent.md"
  }
}