CLI UtilitiesDocumentedScanned
raycast
Build and maintain Raycast extensions using the Raycast API.
Share:
Installation
npx clawhub@latest install raycastView the full skill documentation and source below.
Documentation
Raycast Extensions Skill
Build powerful extensions with React, TypeScript, and the Raycast API.
Quick Start (Agent Workflow)
Follow these steps when tasked with implementing or fixing Raycast features:
List, Grid, Detail, or Form.references/api/ (e.g., references/api/list.md).- Feedback: Use
showToast for Loading/Success/Failure. Use showHUD only for quick background completions.- Data: Use
Cache for frequent/transient data, LocalStorage for persistent user data.- Access: Always check
environment.canAccess(AI) or environment.canAccess(BrowserExtension) before use.@raycast/api components.references/api/*.md file you used.Cookbook Patterns
1. List & Grid (Searchable UI)
UseList for text-heavy data and Grid for image-heavy data.
- List Reference | Grid Reference
<List isLoading={isLoading} searchBarPlaceholder="Search items..." throttle>
<List.Item
title="Item Title"
subtitle="Subtitle"
accessories={[{ text: "Tag" }]}
actions={
<ActionPanel>
<Action.Push title="View Details" target={<Detail markdown="# Details" />} />
<Action.CopyToClipboard title="Copy" content="value" />
</ActionPanel>
}
/>
</List>
2. Detail (Rich Markdown)
Use for displaying long-form content or item details.- Detail Reference
<Detail
isLoading={isLoading}
markdown="# Heading\nContent here."
metadata={
<Detail.Metadata>
<Detail.Metadata.Label title="Status" text="Active" icon={Icon.Checkmark} />
</Detail.Metadata>
}
/>
3. Form (User Input)
Always include aSubmitForm action.
- Form Reference
<Form
actions={
<ActionPanel>
<Action.SubmitForm onSubmit={(values) => console.log(values)} />
</ActionPanel>
}
>
<Form.TextField id="title" title="Title" placeholder="Enter title" />
<Form.TextArea id="description" title="Description" />
</Form>
4. Feedback & Interactivity
PrefershowToast for most feedback.
- Toast Reference | HUD Reference
// Success/Failure
await showToast({ style: Toast.Style.Success, title: "Success!" });
// HUD (Overlay)
await showHUD("Done!");
5. Data Persistence
UseCache for performance, LocalStorage for persistence.
- Cache Reference | Storage Reference
// Cache (Sync/Transient)
const cache = new Cache();
cache.set("key", "value");
// LocalStorage (Async/Persistent)
await LocalStorage.setItem("key", "value");
6. AI & Browser Extension (Restricted APIs)
Always wrap inenvironment.canAccess checks.
- AI Reference | Browser Reference
if (environment.canAccess(AI)) {
const result = await AI.ask("Prompt");
}
if (environment.canAccess(BrowserExtension)) {
const tabs = await BrowserExtension.getTabs();
}
Additional Resources
API Reference Tree
- UI Components
- Interactivity
- Utilities & Services
- Data & Configuration
- Advanced
Examples
For end-to-end examples combining multiple components and APIs, see examples.md.