Help us improve
Share bugs, ideas, or general feedback.
From raycast
Documents Raycast extension patterns: project structure, package.json manifest, React components/hooks with @raycast/api, AI tools, dev workflow, and store guidelines.
npx claudepluginhub bendrucker/claude --plugin raycastHow this skill is triggered — by the user, by Claude, or both
Slash command
/raycast:raycastThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Commands map by name to `src/<name>.tsx`. Tools live in `src/tools/<name>.ts`. Use `.tsx` for UI commands, `.ts` for no-view commands and tools. Icons go in `assets/`. The `package.json` serves as both the npm manifest and the Raycast extension manifest.
Generates production-quality React + Tailwind code using Rayden UI components with correct props, tokens, layout patterns, and anti-pattern avoidance. Use for dashboards, auth screens, settings pages, pricing.
Guides building and publishing Chrome Extensions with Manifest V3. Auto-activates on extension-related queries.
Guides designing and building plugins for Claude Code and compatible tools, covering architecture, component selection, file structure, manifest configuration, and marketplace publishing.
Share bugs, ideas, or general feedback.
Commands map by name to src/<name>.tsx. Tools live in src/tools/<name>.ts. Use .tsx for UI commands, .ts for no-view commands and tools. Icons go in assets/. The package.json serves as both the npm manifest and the Raycast extension manifest.
The package.json is a superset of npm's format with Raycast-specific fields: commands, tools, preferences, platforms, categories, icon, and author. Command modes are view (renders UI), no-view (runs silently), and menu-bar (menu bar extra).
React-based UI with @raycast/api. Top-level views: List, Grid, Detail, Form. Wrap actions in ActionPanel with Action items. Always pass isLoading to top-level components. Use List.EmptyView for empty states.
@raycast/utils provides data-fetching and state hooks: useFetch for URL fetching, usePromise and useCachedPromise for async functions with stale-while-revalidate caching, useForm for form validation, useLocalStorage for persistent state, and useExec for shell commands. Use keepPreviousData to prevent flickering during search.
Tools export a default async function with a typed Input parameter. JSDoc comments on the Input type teach the AI how to use the tool. Export a confirmation function for destructive operations. Configure ai.instructions in package.json for extension-level guidance.
Bootstrap with npx create-raycast-extension. Install dependencies with npm install. Run npm run dev for development with hot reloading. Run npm run build to type-check and bundle. Run npm run lint for code style. Use npm (not yarn or pnpm) and commit package-lock.json.
Extensions require Apple Style Title Case for names. Icons must be 512x512 PNG. Screenshots should be 2000x1250 PNG. Include a CHANGELOG.md. Add a README.md if setup is required. Run npm run publish to submit.