name: scaffold-elevenlabs-example
description: Scaffold prompt-driven examples in this repository using the existing example patterns and repo skills in .agents/skills. Use when adding a new example directory, creating matching README.md, PROMPT.md, and setup.sh files, or preparing a new example for pnpm run generate.
Scaffold ElevenLabs Example
Use this skill when a user wants a new example scaffold in this repo.
Defaults
- Ignore the deprecated root
examples/folder. - Put new examples under
<product>/<runtime>/<slug>. - The parent example directory owns authoring files; generated code lives in
example/.
Inputs to confirm
- destination path
- product and runtime
- whether the example needs bundled
assets/ - whether the user wants scaffold only or scaffold plus a generated
example/
Ask concise follow-ups only when these are missing.
Workflow
- Read reference.md.
- Inspect available repo skills in
.agents/skills/and choose the best fit for the requested example. - Prefer the helper scaffold:
python3 .cursor/skills/scaffold-elevenlabs-example/scripts/scaffold_example.py \
--path text-to-speech/expo/my-example
Add --with-assets when the example should ship sample files, or --reference <path> to copy from a specific existing example.
- Edit the scaffolded
README.md,PROMPT.md, andsetup.shuntil they match the requested example. - Treat the helper output as a copy of the closest reference. Adapt all three files for the new example.
- Keep
PROMPT.mdterse:
- first line invokes the most relevant repo skill found in
.agents/skills/; for current examples this is often/text-to-speech,/speech-to-text, or/agents, but do not assume that list is exhaustive - sections are file-by-file using
## \path/to/file`` - bullets call out concrete SDKs, env handling, models, voice IDs, UI states, and error handling
- do not restate repo preamble like
example/-only rules orDESIGN.md; the generator adds that - for
expo, assume the shared template already provides the generic Expo Router shell, server-ready web config, and baseline verification scripts; keep the prompt focused on ElevenLabs-specific UI and+api.tswork
- Keep
setup.shaligned with current patterns:
- use
set -euo pipefail - derive
DIRandREPO_ROOT - clean
example/but preserve cache dirs (node_modules,.venv,.next,.expo) when relevant - seed from
templates/<runtime>/ - copy
README.mdintoexample/README.md - copy
assets/and local.envonly when present - install dependencies at the end
- for
nextjs, fetch latest ElevenLabs package versions at setup time and patchpackage.json - for
expo, keep the shared template generic and server-capable soPROMPT.mdonly needs to describe the ElevenLabs integration
- Keep
README.mdaligned with the closest current reference:
- always include a heading, one-sentence summary,
## Setup, and## Run - add
## Usagefor interactive examples such as Next.js, Expo, and agents demos - commands should work from inside
example/
- Recommended when shipping the example: add it to the root
README.md. - Verify:
bash <path>/setup.sh- inspect the generated
example/ - run
pnpm run generate <path>only when the user wants full prompt validation or generated output
Constraints
- Stay inside the current template matrix unless the user explicitly asks for a new base template.
- Reuse the closest existing example instead of inventing a new file format.
- Do not add application code directly under the parent example directory.
- Do not use the deprecated root
examples/folder for new work.
Output checklist
- new example directory exists at the requested path
-
README.md,PROMPT.md, andsetup.shexist -
setup.shuses the correct shared template -
PROMPT.mdmatches the terse style of the current examples - the scaffold is ready for
pnpm run generate <path>