[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7BNSYPVB36DAM4RE9P7MBTK":3,"skill-same:01M7BNSYPVB36DAM4RE9P7MBTK":44},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":14,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":29,"install":30,"resources":43},"01M7BNSYPVB36DAM4RE9P7MBTK","tools-narration",null,"Narrate slides, lessons and videos in the member's own voice (their ElevenLabs clone or a voice they chose) on their own ElevenLabs account, as one continuous take cut at aligned slide boundaries. Use for \"narrate this deck\", \"voiceover\", \"read this in my voice\", \"clone my voice\", or uneven per-slide audio.","skyremote\u002Fskool-navaigate-install","skyremote","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F136350643?v=4","01M7BNKJA14Z25S7KHGFQ149FK","SkyRemote","01M7BNKJAWYJKDVNP8N33RWF04",0,"MIT","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fplugins\u002Ftools-narration\u002Fskills\u002Ftools-narration\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: tools-narration\ndescription: Narrate slides, lessons and videos in the member's own voice (their ElevenLabs clone or a voice they chose) on their own ElevenLabs account, as one continuous take cut at aligned slide boundaries. Use for \"narrate this deck\", \"voiceover\", \"read this in my voice\", \"clone my voice\", or uneven per-slide audio.\n---\n\n# Narration in your own voice\n\nThe member uses their own ElevenLabs account and their own voice. This skill is how we narrate: the whole script in\nONE take, then cut per slide at the boundaries ElevenLabs' own timings give, levelled once. Separate takes per slide\ndrift in tone and volume even with identical settings, and listeners hear it.\n\n## The command\n\nClaude Code: `\"${CLAUDE_PLUGIN_ROOT}\u002Fbin\u002Ftools-narration\"`. Codex and Cursor: `tools-narration` (in `~\u002F.local\u002Fbin`).\n\n| Command | Cost | What it does |\n|---|---|---|\n| `doctor` | free | ffmpeg, the key (never shown) and the voice id. |\n| `account` | free | Plan and characters used. Check before a long take. |\n| `voices [--search name]` | free | Voices on their account, with ids. |\n| `clone \"\u003Cname>\" \u003Crecordings...> --consent` | plan | Instant clone of THEIR OWN voice from their recordings. |\n| `plan slides.json --out script.txt` | free | Joins the notes into the one script. They read it before paying. |\n| `narrate slides.json --out \u003Cfolder> --yes` | paid, one request | One take with timings, then one clip per slide and a manifest. |\n| `split --slides --take --alignment --out` | free | Cuts an existing take again, without paying twice. |\n| `say \"text\" -o line.mp3` | paid | One short line. |\n| `sample \u003Cfolder>` | free | Three fictional Acme Studio slides, a tone take and its timings, to practise the cut. |\n\n`slides.json` is a list in slide order: `[{\"title\": \"...\", \"notes\": [\"what is said\", \"...\"]}]`.\n\n## Setup (once)\n\n1. `doctor`. Install ffmpeg if missing (`brew install ffmpeg` on a Mac).\n2. Key: Claude Code `\u002Fplugin`, tools-narration, Configure. Codex and Cursor `export ELEVENLABS_API_KEY=...`.\n   Never in a chat or a project file.\n3. Voice: their own clone (`clone` with two or three clean minutes of their own speech, no music, then `--consent`),\n   or a voice from their library. Save the id as \"Your ElevenLabs voice id\" (or `ELEVENLABS_VOICE_ID`).\n   Clone only the member's own voice, or one whose owner gave written consent.\n\n## The method\n\n1. **Script first, in their words.** If the member has a voice skill (`tools-voice`), the script goes through it.\n   Spell numbers and names the way they say them.\n2. **Plan.** `plan slides.json --out script_v1.txt`. Show the character count and ask them to read the script once.\n3. **One take.** `narrate slides.json --out narration_v1 --yes` only after they say go. It is one paid request.\n   Never retry a failed paid call blindly: check the folder and `account` first, so they never pay twice.\n4. **Check.** The manifest lists every clip with its start, end and length. They listen to the first, a middle and\n   the last clip. A voice that sounds right is their judgement, not a number.\n5. **Fix without paying again.** A cut in the wrong place: fix the slide notes to match what was said, then `split`.\n   A wrong word: change that slide's notes and narrate a new version.\n6. **Use it.** One MP3 per slide. Never put the API key in a page or a deck.\n\nScripts over about 9,500 characters are refused as one take: split the deck into chapters and narrate each as one take.\n\n## Rules\n\n- The member's voice and account only. Never use or copy anyone else's voice id.\n- Paid commands wait for the member's explicit go (`--yes`).\n- Keep the take, the timings and the manifest with the clips, versioned `_v1`, `_v2`. Never overwrite.\n- Optional: ElevenLabs' own MCP server (`uvx elevenlabs-mcp`, with the member's key) gives agents its full toolset.\n  This pack does not need it.\n","# Narration in your own voice\n\nThe member uses their own ElevenLabs account and their own voice. This skill is how we narrate: the whole script in\nONE take, then cut per slide at the boundaries ElevenLabs' own timings give, levelled once. Separate takes per slide\ndrift in tone and volume even with identical settings, and listeners hear it.\n\n## The command\n\nClaude Code: `\"${CLAUDE_PLUGIN_ROOT}\u002Fbin\u002Ftools-narration\"`. Codex and Cursor: `tools-narration` (in `~\u002F.local\u002Fbin`).\n\n| Command | Cost | What it does |\n|---|---|---|\n| `doctor` | free | ffmpeg, the key (never shown) and the voice id. |\n| `account` | free | Plan and characters used. Check before a long take. |\n| `voices [--search name]` | free | Voices on their account, with ids. |\n| `clone \"\u003Cname>\" \u003Crecordings...> --consent` | plan | Instant clone of THEIR OWN voice from their recordings. |\n| `plan slides.json --out script.txt` | free | Joins the notes into the one script. They read it before paying. |\n| `narrate slides.json --out \u003Cfolder> --yes` | paid, one request | One take with timings, then one clip per slide and a manifest. |\n| `split --slides --take --alignment --out` | free | Cuts an existing take again, without paying twice. |\n| `say \"text\" -o line.mp3` | paid | One short line. |\n| `sample \u003Cfolder>` | free | Three fictional Acme Studio slides, a tone take and its timings, to practise the cut. |\n\n`slides.json` is a list in slide order: `[{\"title\": \"...\", \"notes\": [\"what is said\", \"...\"]}]`.\n\n## Setup (once)\n\n1. `doctor`. Install ffmpeg if missing (`brew install ffmpeg` on a Mac).\n2. Key: Claude Code `\u002Fplugin`, tools-narration, Configure. Codex and Cursor `export ELEVENLABS_API_KEY=...`.\n   Never in a chat or a project file.\n3. Voice: their own clone (`clone` with two or three clean minutes of their own speech, no music, then `--consent`),\n   or a voice from their library. Save the id as \"Your ElevenLabs voice id\" (or `ELEVENLABS_VOICE_ID`).\n   Clone only the member's own voice, or one whose owner gave written consent.\n\n## The method\n\n1. **Script first, in their words.** If the member has a voice skill (`tools-voice`), the script goes through it.\n   Spell numbers and names the way they say them.\n2. **Plan.** `plan slides.json --out script_v1.txt`. Show the character count and ask them to read the script once.\n3. **One take.** `narrate slides.json --out narration_v1 --yes` only after they say go. It is one paid request.\n   Never retry a failed paid call blindly: check the folder and `account` first, so they never pay twice.\n4. **Check.** The manifest lists every clip with its start, end and length. They listen to the first, a middle and\n   the last clip. A voice that sounds right is their judgement, not a number.\n5. **Fix without paying again.** A cut in the wrong place: fix the slide notes to match what was said, then `split`.\n   A wrong word: change that slide's notes and narrate a new version.\n6. **Use it.** One MP3 per slide. Never put the API key in a page or a deck.\n\nScripts over about 9,500 characters are refused as one take: split the deck into chapters and narrate each as one take.\n\n## Rules\n\n- The member's voice and account only. Never use or copy anyone else's voice id.\n- Paid commands wait for the member's explicit go (`--yes`).\n- Keep the take, the timings and the manifest with the clips, versioned `_v1`, `_v2`. Never overwrite.\n- Optional: ElevenLabs' own MCP server (`uvx elevenlabs-mcp`, with the member's key) gives agents its full toolset.\n  This pack does not need it.\n",{"name":5,"description":7},"main","b6a401bedc8f704ad123d7e068f4fbb45d125f1d","plugins\u002Ftools-narration\u002Fskills\u002Ftools-narration","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install","https:\u002F\u002Fgithub.com\u002Fskyremote","2026-11-06 06:04:17",{"source":8,"skillName":5,"commands":31,"prompt":41,"zipAvailable":42},[32,35,38],{"tool":33,"command":34},"npx","npx skills add skyremote\u002Fskool-navaigate-install --skill tools-narration",{"tool":36,"command":37},"bunx","bunx skills add skyremote\u002Fskool-navaigate-install --skill tools-narration",{"tool":39,"command":40},"pnpm","pnpm dlx skills add skyremote\u002Fskool-navaigate-install --skill tools-narration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fplugins\u002Ftools-narration\u002Fskills\u002Ftools-narration\u002FSKILL.md",true,[],[45,52,59,66,73,80],{"skillNo":46,"name":47,"nameZh":6,"description":48,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":49,"categories":50,"keywords":51,"publishedAt":19},"01M7BP00HT65AC5QW5K7Z3QHHH","your-voice","Help them build THEIR voice skill from their recordings and line edits. Use when they type \u002Fyour-voice. Never install daniel-voice.","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fskills\u002Fyour-voice\u002FSKILL.md",[],[],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":19},"01M7BNZW4FKYC8ANHQE4H2WGH2","your-ops","Help them componentize THEIR invoice or ops template from a real document they sent. Use when they type \u002Fyour-ops. Never ship NavAIgate letterhead or KG register facts.","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fskills\u002Fyour-ops\u002FSKILL.md",[],[],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":19},"01M7BNZSTWW9TB2ADVNSBEKDTC","your-brain","Help them start THEIR memory and keep it in step across machines. Use when they type \u002Fyour-brain. Never install brain-sync or turso-search.","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fskills\u002Fyour-brain\u002FSKILL.md",[],[],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M7BNZQ7AVN1G1AZGKJ4ZEEZB","writing-style","Scrub AI slop from prose they are about to ship. Use when they type \u002Fwriting-style, or when they ask to de-slop a draft. Voice itself is \u002Fyour-voice — this skill is the editor.","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-style\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M7BNZBMES31K9FYSF8Z43RX7","web-scrape","Search the web semantically and pull clean content from pages, including JavaScript-heavy ones. Use whenever you need live web data during a task: finding docs, API references, code examples, articles, papers, or current info (Exa semantic search), or extracting the readable content of a specific URL — especially a JS-rendered, dynamic, or paywalled-by-script page a plain fetch returns empty (Firecrawl). Trigger even when the tools aren't named: \"scrape this page\", \"search the web for\", \"pull the content from this URL\", \"find docs\u002Farticles about\", \"extract data from this site\", \"what does this page say\", \"research X online\", \"get me the latest on\". Also bundles source clients — keyless Reddit (practitioner sentiment), Academic (OpenAlex papers + Unpaywall free PDFs, citations), Substack (newsletters, long-form), and paid Supadata (YouTube search + multi-platform transcripts) — plus a multi-source deep-research method: reach here for \"what do people on Reddit say\", \"find research papers \u002F citations on\", \"read this Substack \u002F newsletter\", \"YouTube transcript\", \"video transcript\", or \"do a rigorous deep research pass on X\".","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fskills\u002Fweb-scrape\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M7BNZ7XN9SQ1GKYF88KH9GR3","transcripts","Pull YouTube, TikTok, Instagram or file transcripts via Supadata. Use when they type \u002Ftranscripts or paste a video URL and want the words.","https:\u002F\u002Fgithub.com\u002Fskyremote\u002Fskool-navaigate-install\u002Fblob\u002Fmain\u002Fskills\u002Ftranscripts\u002FSKILL.md",[],[]]