Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/adriangrantdotorg/raycast-skill/raycastnpx skills add adriangrantdotorg/Raycast-Skill --skill raycastgit clone --depth 1 https://github.com/adriangrantdotorg/Raycast-SkillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/adriangrantdotorg/raycast-skill/raycast)<a href="https://agentmods.dev/skills/adriangrantdotorg/raycast-skill/raycast"><img src="https://agentmods.dev/badge/skills/adriangrantdotorg/raycast-skill/raycast.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.00835 |
| Opus 5 | $0.00030 | $0.00417 |
| Sonnet 5 | $0.00012 | $0.00167 |
| Haiku 4.5 | $0.00006 | $0.00084 |
Grade A, and why
raycast scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- **AppleScript & Keyboard Maestro**: Use Node's `child_process.exec` to run `osascript`. How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Raycast Extension Development
This skill defines the preferred workflow and best practices for building, modifying, and troubleshooting custom Raycast extensions.
1. Scaffolding & Setup
- Preferred Method (Duplication): The fastest way to start a new extension is often duplicating the folder of an existing extension. If you do this, you must carefully update the
package.json:"name""title""description""author""commands"array (updatename,title, anddescription).
- Standard Method: If not duplicating, use
npx @raycast/api@latest create. - Local Dev: After creating/duplicating, run
npm installfollowed bynpm run dev. This automatically installs the extension in the user's Raycast app locally and starts the build watcher.
2. General UI & UX Requirements
When modifying or creating forms and commands, adhere to these standards:
- Clean Inputs: Do not set
defaultValuewith placeholder characters (e.g.,-for bullet points) unless explicitly requested. - Auto-Close on Success: After successfully completing an action (like adding a Notion page, running a system script, etc.), the extension should disappear and return the user to the root Raycast search, rather than retaining the form on-screen.
- Import:
import { popToRoot } from "@raycast/api"; - Execute:
await popToRoot({ clearSearchBar: true });
- Import:
- Icon Changes: If an extension's icon is modified (e.g.,
extension-icon.png), the Raycast app must be fully restarted to reflect the change. Always explicitly alert the user to "Restart Raycast" when you modify an icon.
3. Data Fetching & State
- Use
@raycast/utils: For dynamic data fetching (e.g., loading dropdown options from a Notion database, or fetching Spotify tracks), rely onuseCachedPromisefrom the@raycast/utilslibrary. This ensures fast initial loads and proper caching. - Dynamic Forms: For fields like Notion's
select,multi_select, or integrations with existing playlists, dynamicForm.TagPickerorForm.Dropdowncomponents should be populated viauseCachedPromiserather than hardcoding.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 54 lines · 59 tokens per session scan A 949883a6dfa0
raycast is a skill published in the GitHub repository adriangrantdotorg/Raycast-Skill (9 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 59 tokens to every session and 835 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
raycast
Comprehensive operational skill specification for Anthropic Claude to automate, script, troubleshoot, and optimize Raycast, React/TypeScript Extension API (@raycast/api), Script Commands, and URL schemes.
algolia-search
Expert patterns for Algolia search implementation, indexing strategies, React InstantSearch, and relevance tuning.
antigravity-design-expert
Core UI/UX engineering skill for building highly interactive, spatial, weightless, and glassmorphism-based web interfaces using GSAP and 3D CSS.
vercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance…
algolia-search-v2
Algolia Search Integration workflow skill. Use this skill when the user needs Expert patterns for Algolia search implementation, indexing and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.
glaze-byok-ai
Give Glaze app users a choice of AI engine - built-in Glaze AI (zero setup, uses their Glaze credits), their own free API key (Google Gemini free tier, optionally OpenRouter free models), or their local Claude Code CLI (their Claude subscription). Use whenever an app built with glaze-coder gets an AI feature, so end…