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.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 7ca35b4219c99b0699ff586c20b3404b6668df58

10GitHub stars
0stars in 7 days
1skill in this repository
12commits in 30 days

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

Oct 25, 2026Oct 25, 202610

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

18,493 tokens

When the skill is activated

Reference documents

23,011 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 0. Reference files — read the one that matches the task
  2. 1. Decide: Script Command or Extension?
  3. 2. Script Commands
  4. 3. Extension Scaffolding & Setup
  5. 4. Extension UI & UX Requirements
  6. 5. Extension Data Fetching & State
  7. 6. Extension Automation & Local Execution
  8. 7. Native Binaries & Asset Bundling
  9. 8. List Navigation Patterns
  10. 9. Background, Menu Bar, and Launch Entry Points
  11. 10. Production Mode & Publishing
  12. 11. Debugging
  13. 12. Extension Preferences & Authentication
  14. 13. Notion-backed extensions
  15. 14. AI Extensions (tools Raycast AI can call)
  16. 15. Opening Claude Desktop (Claude Code) in a folder
  17. 16. What Raycast's app exposes, and what it never will

Scripts executed separately

  • scripts/refresh-check.py

Files

  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • SKILL.mdcore74,465 bytes
  • references/FRESHNESS.jsonasset6,267 bytes
  • references/api-reference.mddoc20,267 bytes
  • references/platform.mddoc20,922 bytes
  • references/script-commands-and-app.mddoc22,334 bytes
  • references/utils-hooks.mddoc23,029 bytes
  • scripts/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 GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/raycast/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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
Signal confidence: 43 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/raycast/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/raycast/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/raycast/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/raycast/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/raycast/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.