Not in the top 1,000 by GitHub stars
adriangrantdotorg/Raycast-AI-Skill
An AI agent skill that builds Raycast extensions, scripts, and commands the right way, the first time.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/raycast/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7ca35b4219c9
No earlier version was observed for comparison.
Heat
1.6- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- raycast
skills/raycast
How it works
raycast
When your agent uses it
Best practices and workflows for developing and modifying Raycast Extensions (React/Node) AND Raycast Script Commands (shell scripts with @raycast metadata). Use this skill whenever the user wants to create, update, or troubleshoot anything that runs inside Raycast — extensions, script commands, menu-bar commands, AI extension tools, deeplinks, quicklinks. Triggers include: 'make a Raycast command', 'Raycast script command', 'fix my Raycast script', '@raycast.title', registering a Script Directory, useCachedPromise, useFetch, useForm, popToRoot, MenuBarExtra, raycast:// deeplinks, a red warning triangle beside 'Command' in root search, extensions missing after a Raycast 2 upgrade or v1 migration, calling AppleScript/shell/SSH from Raycast, or any task involving shell scripts registered as Raycast Script Commands. Use even when the user asks for a 'quick automation' or 'Raycast hotkey' without explicitly naming the type — Claude should pick script command vs extension based on the task.
What it loads into context
Frontmatter
225 tokensAlways available to the agent
SKILL.md
18,493 tokensWhen the skill is activated
Reference documents
23,011 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 0. Reference files — read the one that matches the task
- 1. Decide: Script Command or Extension?
- 2. Script Commands
- 3. Extension Scaffolding & Setup
- 4. Extension UI & UX Requirements
- 5. Extension Data Fetching & State
- 6. Extension Automation & Local Execution
- 7. Native Binaries & Asset Bundling
- 8. List Navigation Patterns
- 9. Background, Menu Bar, and Launch Entry Points
- 10. Production Mode & Publishing
- 11. Debugging
- 12. Extension Preferences & Authentication
- 13. Notion-backed extensions
- 14. AI Extensions (tools Raycast AI can call)
- 15. Opening Claude Desktop (Claude Code) in a folder
- 16. What Raycast's app exposes, and what it never will
Scripts executed separately
scripts/refresh-check.py
Files
SKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesSKILL.mdcore74,465 bytesreferences/FRESHNESS.jsonasset6,267 bytesreferences/api-reference.mddoc20,267 bytesreferences/platform.mddoc20,922 bytesreferences/script-commands-and-app.mddoc22,334 bytesreferences/utils-hooks.mddoc23,029 bytesscripts/refresh-check.pyruns14,318 bytes
Read SKILL.md
# Raycast Development
This skill defines the preferred workflow and best practices for building, modifying, and troubleshooting Raycast **Extensions** (React/Node) and **Script Commands** (shell scripts with `@raycast.*` metadata).
## 0. Reference files — read the one that matches the task
The sections below are the rules. The exact signatures and doc facts live in `references/`, distilled 09-24-26 from developers.raycast.com and manual.raycast.com (API 2.5.0, @raycast/utils 2.3.0), re-checked 10-02-26 against Raycast 2.6.2 and refreshed 10-19-26 to npm API 2.8.2 (live stamp: `references/FRESHNESS.json`; npm: utils 2.3.3; the docs changelog has no API change after 2.5.0, so the v2 differences are app-side and live in section 3 *Raycast 2* and `references/script-commands-and-app.md` *Raycast 2 app*):
| 📄 File | Open it when you are… |
|---|---|
| `references/platform.md` | editing `package.json` (commands, modes, `interval`, arguments, preferences, `platforms`), using LaunchProps / background refresh / deeplinks, running `ray` CLI commands, debugging, building AI tools / `ai.yaml` / evals |
| `references/api-reference.md` | writing UI or calling `@raycast/api`: List, Grid, Form, Detail, Actions, MenuBarExtra, Toast/HUD/Alert, Clipboard, Cache, LocalStorage, Keyboard shortcuts, launchCommand, OAuth, AI.ask, WindowManagement, BrowserExtension |
| `references/utils-hooks.md` | picking or configuring a `@raycast/utils` hook (usePromise, useCachedPromise, useFetch, useExec, useSQL, useForm, useFrecencySorting…), pagination, optimistic `mutate`, runAppleScript, OAuthService, and changelog / migration / ESM questions |
| `references/script-commands-and-app.md` | writing a Script Command (every `@raycast.*` key, arguments, output per mode, exit codes), or using app features: aliases, hotkeys, Hyper Key, quicklinks, Dynamic Placeholders, `raycast://` URLs, MCP, Raycast AI skills, logs |View the complete source on GitHubSkills included
- raycast
Repository facts
- License
- Apache-2.0
- Created
- Mar 12, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 21 notes
skills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/raycast/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 1 dangerous shell commandin 1 file: raycast/SKILL.md:181
- 122 network referencesin 7 files: raycast/references/FRESHNESS.json:5 raycast/scripts/refresh-check.py:33 raycast/references/api-reference.md:3 and 4 more
- No hidden or obfuscated text
- 2 instruction override signalsin 1 file: raycast/references/api-reference.md:153
- 1 executable scriptin 1 file: raycast/scripts/refresh-check.py:1
- 4 references to secretsin 3 files: raycast/SKILL.md:359 raycast/references/platform.md:155 raycast/scripts/refresh-check.py:33
- No requests to vote in Hot
Show all 130 signals by file
skills/raycast/SKILL.md
- Network accessline 21
*Trigger:* you are about to write a Raycast prop, option, manifest key, or metadata key you have not checked in this session. *Discrimination:* the rules below are enough for workflow decisions; they are not enough for exact names and defau - Dangerous shell operationline 181
- **`EACCES … node_modules/esbuild/bin/esbuild` on `npm install` / `ray develop`.** *Trigger:* that error, or `[ -x node_modules/.bin/ray ]` false while the file exists. *Discrimination:* the deps are present but lost their executable bits - Access to secretsline 359
[Credential-related source omitted] - Network accessline 379
curl -s -o /dev/null -w "%{http_code}\n" \ - Network accessline 381
-H "Notion-Version: 2022-06-28" \ "https://api.notion.com/v1/databases/<id>" - Network accessline 382
"https://api.notion.com/v1/databases/<id>" - Access to secretsline 451
[Credential-related source omitted]
skills/raycast/references/FRESHNESS.json
- Network accessline 5
"docs_commit_date": "2026-10-19", "manual": { "https://manual.raycast.com/account-management": "71e16c758ac94d4a", - Network accessline 6
"manual": { "https://manual.raycast.com/account-management": "71e16c758ac94d4a", "https://manual.raycast.com/action-panel": "6d76d210e0df847b", - Network accessline 7
"https://manual.raycast.com/account-management": "71e16c758ac94d4a", - Network accessline 8
"https://manual.raycast.com/action-panel": "6d76d210e0df847b", - Network accessline 9
"https://manual.raycast.com/ai": "5946bc081320e23d", - Network accessline 10
"https://manual.raycast.com/ai/agents": "571d597b36500958", - Network accessline 11
"https://manual.raycast.com/ai/ai-chat": "cc430f221a41bae8", - Network accessline 12
"https://manual.raycast.com/ai/ai-commands": "06b64747e051c358", - Network accessline 13
"https://manual.raycast.com/ai/ai-credits": "307ffb89cbb13d41", - Network accessline 14
"https://manual.raycast.com/ai/ai-extensions": "b6936fdd1092d05c", - Network accessline 15
"https://manual.raycast.com/ai/automations": "5f5c05cd37309942", - Network accessline 16
"https://manual.raycast.com/ai/bring-your-own-key": "9215eada4446af2a", - Network accessline 17
"https://manual.raycast.com/ai/bring-your-own-subscription": "d69a36304d59879d", - Network accessline 18
"https://manual.raycast.com/ai/custom-providers": "4c664aff6b20b089", - Network accessline 19
"https://manual.raycast.com/ai/dictation": "d37b20ebcd468157", - Network accessline 20
"https://manual.raycast.com/ai/local-models": "4baba4a507e3814e", - Network accessline 21
"https://manual.raycast.com/ai/model-context-protocol": "91cd20613820119c", - Network accessline 22
"https://manual.raycast.com/ai/personalization": "929b830f765081a5", - Network accessline 23
"https://manual.raycast.com/ai/projects": "0056fd09bde81dbf", - Network accessline 24
"https://manual.raycast.com/ai/quick-ai": "ffacbcb67dbb6dd8", - Network accessline 25
"https://manual.raycast.com/ai/raycast-ai-privacy-security": "f3ce28b15082042e", - Network accessline 26
"https://manual.raycast.com/ai/screen-awareness": "59b16cea3d6ca388", - Network accessline 27
"https://manual.raycast.com/ai/skills": "0ff23e1fbbd464fc", - Network accessline 28
"https://manual.raycast.com/applications": "b897d199d22d4386", - Network accessline 29
"https://manual.raycast.com/auto-quit": "3c2411b32859b00e", - Network accessline 30
"https://manual.raycast.com/billing": "0c7653232f6caa3b", - Network accessline 31
"https://manual.raycast.com/calculator": "ed0737deb8cb6511", - Network accessline 32
"https://manual.raycast.com/calendar": "6582dc3127219611", - Network accessline 33
"https://manual.raycast.com/clipboard-history": "662a18610a40f10e", - Network accessline 34
"https://manual.raycast.com/cloud-sync": "ad3074c83dd131d3", - Network accessline 35
"https://manual.raycast.com/command-aliases-and-hotkeys": "e5ebcdb09cc091e5", - Network accessline 36
"https://manual.raycast.com/community-guidelines": "33e7a4b441f8d548", - Network accessline 37
"https://manual.raycast.com/contact-support": "7a45d904540bb05e", - Network accessline 38
"https://manual.raycast.com/dynamic-placeholders": "23ef7cfccc638245", - Network accessline 39
"https://manual.raycast.com/emoji-symbols": "ae7dda7e326ea356", - Network accessline 40
"https://manual.raycast.com/enterprise": "af9e45f61f1b95fd", - Network accessline 41
"https://manual.raycast.com/enterprise/ai-feedback": "b0d3e95acf3985e8", - Network accessline 42
"https://manual.raycast.com/enterprise/ai-memory-control": "0d31b2061bb842b4", - Network accessline 43
"https://manual.raycast.com/enterprise/ai-toggle": "58e305537e6f333b", - Network accessline 44
"https://manual.raycast.com/enterprise/byok": "5cdc48a593559e42", - Network accessline 45
"https://manual.raycast.com/enterprise/clipboard-history-control": "3a724c64ed105052", - Network accessline 46
"https://manual.raycast.com/enterprise/cloud-sync-control": "2a15cfdbacba717a", - Network accessline 47
"https://manual.raycast.com/enterprise/custom-provider": "0ee745b3c2374167", - Network accessline 48
"https://manual.raycast.com/enterprise/dictation-control": "d57fb6e12e8ba4d3", - Network accessline 49
"https://manual.raycast.com/enterprise/domain-capture": "dd84b3f1f49c71f2", - Network accessline 50
"https://manual.raycast.com/enterprise/extensions-allow-list": "9d3281519f99478a", - Network accessline 51
"https://manual.raycast.com/enterprise/invitations-control": "1c2e16f00831466b", - Network accessline 52
"https://manual.raycast.com/enterprise/ip-allow-list": "4f5fb3b43ce3e8ee", - Network accessline 53
"https://manual.raycast.com/enterprise/mdm-sign-in-enforcement": "ba8b00b6da363afe", - Network accessline 54
"https://manual.raycast.com/enterprise/provider-allow-list": "4c137f7ecd404fb9", - Network accessline 55
"https://manual.raycast.com/enterprise/quickstart-with-enterprise": "74f7fb6675dd5c19", - Network accessline 56
"https://manual.raycast.com/enterprise/saml-sso": "d387d9cf9aa9987c", - Network accessline 57
"https://manual.raycast.com/enterprise/scim": "d5a1c50bd62e3955", - Network accessline 58
"https://manual.raycast.com/enterprise/security-and-compliance": "5ebe72c3285c158b", - Network accessline 59
"https://manual.raycast.com/enterprise/two-factor-authentication": "8e1fc05dfb196a65", - Network accessline 60
"https://manual.raycast.com/extensions": "81b8f96f1aa4b221", - Network accessline 61
"https://manual.raycast.com/extensions-guidelines": "e2618efbad282a1b", - Network accessline 62
"https://manual.raycast.com/file-search": "22f46fc1c4dba7f0", - Network accessline 63
"https://manual.raycast.com/focus": "a0de9681a0228f42", - Network accessline 64
"https://manual.raycast.com/games": "33972c45d38b890a", - Network accessline 65
"https://manual.raycast.com/hyper-key": "f2f426edd0b4db34", - Network accessline 66
"https://manual.raycast.com/import-export": "4612f7c17efbe8d7", - Network accessline 67
"https://manual.raycast.com/ios": "433bbc348fbabda7", - Network accessline 68
"https://manual.raycast.com/ios/apple-shortcuts": "a418c2cca0e4759a", - Network accessline 69
"https://manual.raycast.com/ios/keyboard": "059c7fc2641fee43", - Network accessline 70
"https://manual.raycast.com/ios/share-extension": "bb362af8c98ffe3e", - Network accessline 71
"https://manual.raycast.com/ios/widgets-and-controls": "f9b5ba07cfbd747a", - Network accessline 72
"https://manual.raycast.com/keyboard-shortcuts": "f82c24d2f1edc05e", - Network accessline 73
"https://manual.raycast.com/navigation": "14c29481578f9c32", - Network accessline 74
"https://manual.raycast.com/new-in-v2": "cb0d450bdfa27a9f", - Network accessline 75
"https://manual.raycast.com/notes": "d43651d9f95658ff", - Network accessline 76
"https://manual.raycast.com/quicklinks": "5ab95e26eaa9e304", - Network accessline 77
"https://manual.raycast.com/quickstart": "68ea2344c01b7637", - Network accessline 78
"https://manual.raycast.com/run": "0539da4bfe6362cb", - Network accessline 79
"https://manual.raycast.com/screenshots": "e53dc089cc69d7ed", - Network accessline 80
"https://manual.raycast.com/script-commands": "9039c554187f3668", - Network accessline 81
"https://manual.raycast.com/search-bar": "d4bbc41abf012f2d", - Network accessline 82
"https://manual.raycast.com/settings": "d0640ca9e14ad86b", - Network accessline 83
"https://manual.raycast.com/snippets": "d531b22b28a82c8d", - Network accessline 84
"https://manual.raycast.com/system-commands": "b5ef5d10b5e98ccc", - Network accessline 85
"https://manual.raycast.com/teams": "3bf6375263c055a5", - Network accessline 86
"https://manual.raycast.com/teams/roles-and-permissions": "31e670a4fa5f4ac4", - Network accessline 87
"https://manual.raycast.com/teams/shared-features": "c8afaa376f5e3bb6", - Network accessline 88
"https://manual.raycast.com/themes": "5375f258fa5d0ef5", - Network accessline 89
"https://manual.raycast.com/translate": "92c2d049ff2ff458", - Network accessline 90
"https://manual.raycast.com/troubleshooting": "d315369ee779b3c4", - Network accessline 91
"https://manual.raycast.com/window-management": "cdc06f3273f3724e"
skills/raycast/references/api-reference.md
- Network accessline 3
> Distilled 09-24-26 from developers.raycast.com API Reference pages (API 2.5.0, @raycast/utils 2.3.0). Tags like `[Manifest]` name the source page. When a fact looks stale, re-check it live: `curl -s 'https://developers.raycast.com/readme. - Network accessline 77
- [OAuth] `getTokens()` → `TokenSet | undefined`; `tokenSet.isExpired()` needs `expiresIn` set (fires a few seconds early); refresh with `grant_type=refresh_token`, keep old refresh_token if the response omits one. - [OAuth] Saving tokens a - Network accessline 78
- [OAuth] Saving tokens auto-adds a **logout** preference; `removeTokens()` only for extra logout/migrations. - [OAuth] Redirect URIs: Web `https://raycast.com/redirect?packageName=Extension` (or `/redirect/extension` + `extraParameters.red - Network accessline 79
- [OAuth] Redirect URIs: Web `https://raycast.com/redirect?packageName=Extension` (or `/redirect/extension` + `extraParameters.redirect_uri`); App `raycast://oauth?package_name=Extension`; AppURI `com.raycast:/oauth?package_name=Extension` - Network accessline 112
- [Form] DatePicker: `type: Form.DatePicker.Type.Date | DateTime` (default DateTime), `min`/`max`; value `Date | null`; `Form.DatePicker.isFullDay(date)`. - [Form] FilePicker: `allowMultipleSelection`, `canChooseDirectories`, `canChooseFile - Network accessline 113
- [Form] FilePicker: `allowMultipleSelection`, `canChooseDirectories`, `canChooseFiles`, `showHiddenFiles`; value `string[]`; re-check `fs.existsSync` on submit. - [Form] `<Form searchBarAccessory={<Form.LinkAccessory target="https://…" tex - Network accessline 114
- [Form] `<Form searchBarAccessory={<Form.LinkAccessory target="https://…" text="Docs" />}>` — link top-right. - Instruction override signalline 153
## Tool (AI extensions) - [Tool] Tools are entry points only the AI calls. `export const confirmation: Tool.Confirmation<Input> = async (input) => ({ message?, info?: {name, value?}[], style?: Action.Style, image? })`; return `undefined` to - Instruction override signalline 154
- [Tool] Tools are entry points only the AI calls. `export const confirmation: Tool.Confirmation<Input> = async (input) => ({ message?, info?: {name, value?}[], style?: Action.Style, image? })`; return `undefined` to skip confirmation; canc
skills/raycast/references/platform.md
- Network accessline 3
> Distilled from developers.raycast.com Basics, AI, and Information pages (API 2.5.0, @raycast/utils 2.3.0). Tags like `[Manifest]` name the source page. When a fact looks stale, re-check it live: `curl -s 'https://developers.raycast.com/re - Access to secretsline 155
[Credential-related source omitted] - Network accessline 172
## Store-prep extras (optional for personal) - [Prepare] Store needs `license: "MIT"`, `package-lock.json` (npm, not yarn/pnpm), >=1 category (Title Case, case-sensitive): Applications, Communication, Data, Documentation, Design Tools, Deve - Network accessline 173
- [Prepare] Store needs `license: "MIT"`, `package-lock.json` (npm, not yarn/pnpm), >=1 category (Title Case, case-sensitive): Applications, Communication, Data, Documentation, Design Tools, Developer Tools, Finance, Fun, Media, News, Produ - Network accessline 174
- [Prepare] Icon generator: https://icon.ray.so ; default Raycast icon = rejection; icon must work in light+dark.
skills/raycast/references/script-commands-and-app.md
- Network accessline 3
> Distilled from github.com/raycast/script-commands docs and manual.raycast.com (API 2.5.0, @raycast/utils 2.3.0). Tags like `[Manifest]` name the source page. When a fact looks stale, re-check it live: `curl -s 'https://developers.raycast.
skills/raycast/references/utils-hooks.md
- Network accessline 3
> Distilled from developers.raycast.com Utilities pages, Changelog, Migration, FAQ (API 2.5.0, @raycast/utils 2.3.0). Tags like `[Manifest]` name the source page. When a fact looks stale, re-check it live: `curl -s 'https://developers.rayca - Network accessline 38
- [usePromise] `mutate` rethrows the update's error — wrap in try/catch and set toast Failure there; rollback happens automatically. - [usePromise] pattern: `await mutate(api.toggle(id), { optimisticUpdate: (d) => d.map(x => x.id===id ? {.. - Network accessline 39
- [usePromise] pattern: `await mutate(api.toggle(id), { optimisticUpdate: (d) => d.map(x => x.id===id ? {...x, done:!x.done} : x) })` — replaces separate `revalidate()` call (mutate revalidates by default). - [utils changelog v2.0.0] optimi - Network accessline 40
- [utils changelog v2.0.0] optimistic mutate before first fetch finishes aborts the in-flight fetch (avoids race).
skills/raycast/scripts/refresh-check.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 33
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Network accessline 34
REPO = "raycast/extensions" MANUAL = "https://manual.raycast.com/llms-full.txt" TODAY = datetime.date.today().isoformat() - Network accessline 35
MANUAL = "https://manual.raycast.com/llms-full.txt" - Network accessline 39
def fetch(url, timeout=15): - Network accessline 40
with urllib.request.urlopen(url, timeout=timeout) as r: - Network accessline 44
def npm_latest(pkg): return json.loads(fetch(f"https://registry.npmjs.org/{pkg}/latest", 8))["version"] - Network accessline 45
return json.loads(fetch(f"https://registry.npmjs.org/{pkg}/latest", 8))["version"] - Network accessline 60
def slug(url): return url.removeprefix("https://manual.raycast.com/").strip("/").replace("/", "__") or "index" - Network accessline 61
return url.removeprefix("https://manual.raycast.com/").strip("/").replace("/", "__") or "index" - Network accessline 66
text = fetch(MANUAL) - Network accessline 114
for label, urls in (("changed", changed), ("new", added), ("removed", removed)): if urls: out.append(f" manual pages {label}: " + ", ".join(u.removeprefix("https://manual.raycast.com/") or "/" for u in urls)) - Network accessline 115
if urls: out.append(f" manual pages {label}: " + ", ".join(u.removeprefix("https://manual.raycast.com/") or "/" for u in urls)) if changed: - Network accessline 116
out.append(f" manual pages {label}: " + ", ".join(u.removeprefix("https://manual.raycast.com/") or "/" for u in urls)) - Network accessline 131
def diff_manual(page): url = page if page.startswith("http") else "https://manual.raycast.com/" + page.strip("/") - Network accessline 132
url = page if page.startswith("http") else "https://manual.raycast.com/" + page.strip("/")
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 1 fact
- Contacts registry.npmjs.org, which SKILL.md, the README and the plugin manifest do not mentionraycast/scripts/refresh-check.py:45High confidence
Signal confidence: 43 facts
- Network access in prose of the SKILL.mdraycast/SKILL.md:21Low confidence
- Dangerous shell operation in prose of the SKILL.mdraycast/SKILL.md:181Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueraycast/SKILL.md:359Low confidence
- Network access in code of the SKILL.mdraycast/SKILL.md:379High confidence
- Network access in code of the SKILL.mdraycast/SKILL.md:381High confidence
- Network access in code of the SKILL.mdraycast/SKILL.md:382High confidence
- Access to secrets in prose of the SKILL.mdraycast/SKILL.md:451Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:3Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:77Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:78Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:79Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:112Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:113Low confidence
- Network access in prose of documentationraycast/references/api-reference.md:114Low confidence
- Instruction override signal in prose of documentationraycast/references/api-reference.md:153Low confidence
- Instruction override signal in prose of documentationraycast/references/api-reference.md:154Low confidence
- Network access in prose of documentationraycast/references/platform.md:3Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueraycast/references/platform.md:155Low confidence
- Network access in prose of documentationraycast/references/platform.md:172Low confidence
- Network access in prose of documentationraycast/references/platform.md:173Low confidence
- Network access in prose of documentationraycast/references/platform.md:174Low confidence
- Network access in prose of documentationraycast/references/script-commands-and-app.md:3Low confidence
- Network access in prose of documentationraycast/references/utils-hooks.md:3Low confidence
- Network access in prose of documentationraycast/references/utils-hooks.md:38Low confidence
- Network access in prose of documentationraycast/references/utils-hooks.md:39Low confidence
- Network access in prose of documentationraycast/references/utils-hooks.md:40Low confidence
- Executable script in code of a file that runsraycast/scripts/refresh-check.py:1High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:33High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueraycast/scripts/refresh-check.py:33Low confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:34High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:35High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:39High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:40High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:44High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:45High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:60High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:61High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:66High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:114High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:115High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:116High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:131High confidence
- Network access in code of a file that runsraycast/scripts/refresh-check.py:132High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/raycast/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/raycast/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/raycast/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/raycast/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/raycast/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/raycast/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.