onboarding
Skill527 starsChanged 14 days agoMITView on GitHub
Add ElevenLabs to a project from scratch. Use when the user wants to start using ElevenLabs, add text to speech, speech to text, voice agents, real-time voice for their own agent runtime (Speech Engine), sound effects, music, voice changing, voice isolation, or dubbing to their app, or get set up with an ElevenLabs account or API key for the first time. Handles sign-in, API key creation, SDK install and a test request end to end; the user leaves the conversation once, to approve a browser page. Not for fixing a key that stopped working or placing one an administrator issued (use setup-api-key).
- Pipes a download into a shell
- Reads credentials
- Installs packages
We split this skill into the rules it gives an agent
11 rules. 0 are common, 4 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 82 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Every onboard command prints JSON.
- Very specific: line 46
Make sure the app loads the key the way details.load_key says, change nothing else, then run run.
- Very specific: line 60
Never open, print or cat the env file.
- Distinctive: line 61
Never ask for an API key in chat, and never accept one pasted there.
- Very specific: line 63
Never put the key in code.
- Distinctive: line 64
Never run git clean or delete untracked files: the key is in one.
- Very specific: line 65
Don't write or change any code until a reply's next is write_code or load_key.
- Distinctive: line 67
Put anything you download only to read, like a package or an archive, in a temp folder, never in the project.
- Distinctive: line 69
Don't run the app (or its start script) or make speech to try it until the user says yes to the test request.
- Very specific: line 76
If npx isn't available (Node.js isn't installed), install the CLI (or update it if it's already installed: brew upgrade elevenlabs, or run …
- Very specific: line 85
If elevenlabs isn't found after the installer ran, use ~/.cargo/bin/elevenlabs in its place, here and in every run the CLI gives.
“Common” is measured: kept by at least 6 in 10 of the 82 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ElevenLabs Onboarding
The ElevenLabs CLI runs the whole setup and tells you each step. From the folder of the app that will use the key (in a monorepo, that app's folder), run:
npx -y @elevenlabs/cli@latest onboard initEvery onboard command prints JSON. Act on it, and keep going until next
is done:
next: what to do now, spelled out ininstruction.run: the exact next command. Run it as given.say: what to tell the user. Tell them as written.details: facts for the next step, such as how the app loads the key and the SDK install command.rules: rules for the whole setup. Follow them.
What each next means:
run: runrun.wait: the approval page is open. Showsay(it has the link), then runrunagain right away, without ending your turn. Whenever you give the user the link, copy it whole, exactly as printed: a shortened link doesn't work.ask_what_to_build: tell the usersay, which asks what they want to build or whether to just add the SDK, and wait for their answer before writing any code. Ask it even if they said earlier, and don't pick a product for them. Once they answer, runrun.write_code: write what they asked for, asinstructionsays: the SDK alone, or the integration, with the skill that fits fromdetails.fetch_skillswhen there is one. If it needs something made in ElevenLabs first, like an agent, make it yourself with the key (load the env file in the command, never print it), not a script for the user to run. Load the key the waydetails.load_keysays, then runrun.load_key: the code already uses the SDK, so there is nothing to build. Make sure the app loads the key the waydetails.load_keysays, change nothing else, then runrun.fix: do whatsaydescribes, then runrun. If it needs the user's shell, settings or secrets, ask them instead, as forask_user.ask_user: ask the user whatsaysays and wait for their answer, then runrun, unless they said no.offer_test: say what you set up and anything the user still has to do themselves, like installing the packages you added. Then end your reply with the question insay. Runrunonly if they say yes.done: tell the usersay, then anything they still have to do themselves, in one or two concrete steps.
Rules
- Never open, print or
catthe env file;onboard checkverifies it. - Never ask for an API key in chat, and never accept one pasted there. If one appears, tell the user to rotate it on the API keys page.
- Never put the key in code; the SDK reads
ELEVENLABS_API_KEY. - Never run
git cleanor delete untracked files: the key is in one. - Don't write or change any code until a reply's
nextiswrite_codeorload_key. - Put anything you download only to read, like a package or an archive, in a temp folder, never in the project.
- Don't run the app (or its start script) or make speech to try it until the
user says yes to the test request. API calls that what they asked for
needs, like creating an agent, are fine. Once the code is written, run
onboard checkbefore you finish: it verifies the key and the code.
No npx
If npx isn't available (Node.js isn't installed), install the CLI (or
update it if it's already installed: brew upgrade elevenlabs, or run the
installer again), then run elevenlabs onboard init instead. Everything after
that is the same.
- macOS or Linux:
brew install elevenlabs/tap/elevenlabs, orcurl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh - Windows:
powershell -ExecutionPolicy ByPass -c "irm https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.ps1 | iex"
If elevenlabs isn't found after the installer ran, use
~/.cargo/bin/elevenlabs in its place, here and in every run the CLI gives.
Other versions94 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 94
- coreyhaines31/marketingskills★ 58ksame name
- anthropics/knowledge-work-plugins★ 34ksame name
- actions/runner-images★ 14ksame name
- BuilderIO/agent-native★ 7.6ksame name
- gnekt/My-Brain-Is-Full-Crew★ 3.9ksame name
- ColeMurray/background-agents★ 3.4ksame name
- huytieu/COG-second-brain★ 1.3ksame name
- openai/mcp-extensions★ 1.1ksame name
- Nexus-JPF/note-companion★ 874same name
- mariagorskikh/open-instinct★ 428same name
84 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use paywalls, popups and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CesarjoquinSkillpaywalls
When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.
Also in 19 projects that use this
CesarjoquinSkillpopups
When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see cro. For general page conversion optimization, see cro.
Also in 18 projects that use this
coreyhaines31Skillmarketing-council
When the user wants multiple expert perspectives on a marketing question — a simulated board of advisors staffed by legendary marketers (Seth Godin, David Ogilvy, Eugene Schwartz, April Dunford, Rory Sutherland, Alex Hormozi, Byron Sharp, and more). Also use when the user mentions 'marketing council,' 'board of advisors,' 'advisory board,' 'what would Seth Godin say,' 'what would Ogilvy think,' 'channel Hormozi,' 'get multiple perspectives,' 'debate this,' 'have the council review,' 'marketing mentors,' or asks how a famous marketer would approach their problem. The council gives each advisor's take through their documented frameworks, surfaces where they disagree, and synthesizes a recommendation. For executing the winning direction, hand off to positioning, offers, copywriting, ads, or the relevant skill.
Also in 13 projects that use this
roerohanSkillprospecting
When the user wants to find, qualify, and build a list of prospects to reach out to — across B2B SaaS, general B2B, or local small businesses. Also use when the user mentions "prospecting," "build a prospect list," "find prospects," "find leads," "lead gen list," "find SaaS companies that," "find B2B companies," "find local businesses," "ICP-fit accounts," "who should we go after," "outbound list," "target account list," "find clients near me," "businesses without websites," "prospect research," "qualified leads," "find my first customers," "early adopters," "design partners," "beta users," or "who has this problem." Use this for the list-building and qualification phase. For writing the outbound copy after the list is built, see cold-email. For deep competitive research on specific accounts, see competitor-profiling.
Also in 16 projects that use this
roerohanSkillemails
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding.
Also in 18 projects that use this
- +7 more from Cesarjoquin
In this repository12 other files it gives its agents.
- agentsSkill
- update-skills-from-changelogSkill
- dubbingSkill
- musicSkill
- realtimeSkill
- setup-api-keySkill
- sound-effectsSkill
- speech-engineSkill
- speech-to-textSkill
- text-to-speechSkill
- voice-changerSkill
- voice-isolatorSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

