How Raycast got its users
An extension store opened from day one: developers build the extensions, and every extension brings its own audience.
Confirmed. The team said it publicly, or the signals leave no room for doubt.
You could start this on Monday. No budget, no audience, no permission needed.
- A prequalified audience at zero acquisition cost
- Fast validation of demand
- A platform with real internal search
- Being early on the marketplace
- Accepting that the host owns the customer relationship
Third-party platform in 2026
The best effort-to-result ratio at the start, and the biggest platform risk later.
Everything on this channel →The play
5 steps, in the order they ran them.
- 1
Read the Raycast extension guidelines before you write code. The rejections are named: duplicating a native feature (Quicklinks, Snippets, Clipboard History, Calculator), overlapping an extension already in the store, breaking the third-party service's own terms, or restricted branding such as the word Assistant. Search raycast.com/store for your product name and for the job your command does. Your wedge is the action only your own API can perform.
done whenSearch the store for your service name and for the closest native Raycast feature. If an existing extension already runs your command, or Snippets and Quicklinks already cover it, you have no wedge yet.
- 2
Name it the way the store row reads it. Extension titles use Title Case and nouns, not verbs: Emoji Search, not Search Emoji. Commands are verb then noun, no articles: Create Task, Search Recent Projects. Subtitles carry the service name. The description is one sentence and it is the only copy a browsing user gets. Set author to your Raycast username and MIT license in package.json, so the page lands at raycast.com/your-username/your-extension.
done whenShow a stranger your icon, title and one-sentence description with nothing else. If they cannot say what the extension does before installing, rewrite it before you write more code.
- 3
Build the assets to spec or review sends them back. Icon: 512x512 PNG, legible in light and dark themes, never the default Raycast icon. Up to six screenshots at 2000x1250, 16:10, captured with Raycast's built-in tool into a metadata folder, identical background on every shot, no other app visible, no sensitive data. Pick at least one Title Case category. Add CHANGELOG.md using ## [Title] - {PR_MERGE_DATE}, and a README if setup needs a token.
done whenOpen your six screenshots side by side at full size. Different backgrounds, a visible Slack window, or a real customer name in the data means review will bounce them.
- 4
Run npm run build, then npm run publish. It opens a pull request in github.com/raycast/extensions, the Raycast team reviews it and requests changes, and on merge the store publishes it. Now work the listing as your landing page: the README becomes the Overview tab beside Commands and Version History, the Install Extension button fires a raycast:// deeplink, and View source, Report Bug and Request Feature all point back at your repo.
done whenCount the review round-trips on your pull request. More than a couple means you skipped the prepare-for-store checklist, not that the reviewer is slow.
- 5
Nothing on this shelf is buyable. The store sorts by Most Popular (cumulative installs) and Recently Added, plus a hand-picked Featured row and Raycast blog roundups like Top Extension Picks for Designers. Two compounding moves: declare tools in the package.json tools array with evals under the ai object so Raycast AI can call your product directly, and use the Fork Extension action to add a command to a busy extension, listing you in its contributors.
done whenCheck your install count a month after merge, not on merge day. Flat since week one means people are not reaching your listing through category pages or store search.
The product itself
read from raycast.com, live“Your shortcut to everything.”
Run this against your own product
Carries the play above, and is written to tell you no when this channel is out of reach for you.
The same twelve channels as an agent skill. It reads your repository and eliminates what you cannot run. Open source, MIT.
curl -o ~/.claude/skills/howtodistribute/SKILL.md https://howtodistribute.com/skill.md
How big it got
Strong adoption among developers
What else they ran
They ran the same play
Want this verdict on your product?
Describe it. You get back the channel I would run in your place, the 30-day plan, and the number at which you stop.