[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CPX0XHJS9CYC0ADTAFKM35":3,"skill-same:01M6CPX0XHJS9CYC0ADTAFKM35":80},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":33,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6CPX0XHJS9CYC0ADTAFKM35","openai-sora",null,"Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (`scripts\u002Fsora.py`), including requests like “generate AI video,” “Sora,” “video remix,” “download video\u002Fthumbnail\u002Fspritesheet,” and batch video generation; requires `OPENAI_API_KEY` and Sora API access. (Imported from openai upstream skills)","khalidsaidi\u002Fskillrunner","khalidsaidi","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4368721?v=4","01M6CPK1G2TKAWA8BSNSANBNWJ","Khalid Saidi","01M6CPK1M7RGKV85142PWBEJ54",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-sora\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"openai sora","openai","sora","knowledge","imported","upstream","main","use","user","list","video generation","access","cli","Video","api","https","batch","generate","delete","github","2026-11-10 10:12:30",false,"---\nname: openai-sora\ndescription: \"Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (`scripts\u002Fsora.py`), including requests like “generate AI video,” “Sora,” “video remix,” “download video\u002Fthumbnail\u002Fspritesheet,” and batch video generation; requires `OPENAI_API_KEY` and Sora API access. (Imported from openai upstream skills)\"\nversion: \"1.0.0\"\ntags: [\"openai\", \"upstream\", \"imported\"]\nkind: knowledge\nrisk: low\navailability: advanced\ndocs:\n  source: \"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated\u002Fsora\"\n---\n\n# openai-sora\n\nImported upstream skill.\n\n- Provider source: https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated\u002Fsora\n- Original skill name: sora\n\n## Upstream Content\n\n# Sora Video Generation Skill\n\nCreates or manages short video clips for the current project (product demos, marketing spots, cinematic shots, UI mocks). Defaults to `sora-2` and a structured prompt augmentation workflow, and prefers the bundled CLI for deterministic runs. Note: `$sora` is a skill tag in prompts, not a shell command.\n\n## When to use\n- Generate a new video clip from a prompt\n- Remix an existing video by ID\n- Poll status, list jobs, or download assets (video\u002Fthumbnail\u002Fspritesheet)\n- Batch runs (many prompts or variants)\n\n## Decision tree (create vs remix vs status\u002Fdownload vs batch)\n- If the user has a **video id** and wants a change → **remix**\n- If the user has a **video id** and wants status or assets → **status\u002Fpoll\u002Fdownload**\n- If the user needs many prompts\u002Fassets → **create-batch**\n- If the user asks for two versions with a small change (same shot, different subject\u002Fdetail) → **create** the base, then **remix** for the variation\n- Otherwise → **create** (or **create-and-poll** if they need a ready asset in one step)\n\n## Workflow\n1. Decide intent: create vs remix vs status\u002Fdownload vs batch.\n2. Collect inputs: prompt, model, size, seconds, and any input reference image.\n3. If batch: write a temporary JSONL under tmp\u002F (one job per line), run once, then delete the JSONL.\n4. Prefer CLI augmentation flags (`--use-case`, `--scene`, `--camera`, etc.) instead of pre-writing a structured prompt. If you already produced a structured prompt file, pass `--no-augment` to avoid double-wrapping.\n5. Run the bundled CLI (`scripts\u002Fsora.py`) with sensible defaults (see references\u002Fcli.md). For long prompts, prefer `--prompt-file` to avoid shell-escaping issues; pair with `--no-augment` if the prompt is already structured.\n6. For async jobs, poll until complete (or use create-and-poll).\n7. Download assets (video\u002Fthumbnail\u002Fspritesheet) and save locally.\n8. Remove intermediate files created during invocation (for example `prompt.txt`, `remix_job.json`, temp JSONL). If the sandbox blocks `rm`, skip cleanup or truncate the files without surfacing an error.\n9. Iterate with a single targeted change per prompt.\n\n## Authentication\n- `OPENAI_API_KEY` must be set for live API calls.\n\nIf the key is missing, give the user these steps:\n1. Create an API key in the OpenAI platform UI: https:\u002F\u002Fplatform.openai.com\u002Fapi-keys\n2. Set `OPENAI_API_KEY` as an environment variable in their system.\n3. Offer to guide them through setting the environment variable for their OS\u002Fshell if needed.\n- Never ask the user to paste the full key in chat. Ask them to set it locally and confirm when ready.\n\n## Defaults & rules\n- Default model: `sora-2` (use `sora-2-pro` for higher fidelity).\n- Default size: `1280x720`.\n- Default seconds: `4` (allowed: \"4\", \"8\", \"12\" as strings).\n- Always set size and seconds via API params; prose will not change them.\n- Use the OpenAI Python SDK (`openai` package); do not use raw HTTP.\n- Require `OPENAI_API_KEY` before any live API call.\n- If uv cache permissions fail, set `UV_CACHE_DIR=\u002Ftmp\u002Fuv-cache`.\n- Input reference images must be jpg\u002Fpng\u002Fwebp and should match target size.\n- Download URLs expire after about 1 hour; copy assets to your own storage.\n- Prefer the bundled CLI and **never modify** `scripts\u002Fsora.py` unless the user asks.\n- Sora can generate audio; if a user requests voiceover\u002Faudio, specify it explicitly in the `Audio:` and `Dialogue:` lines and keep it short.\n\n## API limitations\n- Models are limited to `sora-2` and `sora-2-pro`.\n- API access to Sora models requires an organization-verified account.\n- Duration is limited to 4\u002F8\u002F12 seconds and must be set via the `seconds` parameter.\n- The API expects `seconds` as a string enum (\"4\", \"8\", \"12\").\n- Output sizes are limited by model (see `references\u002Fvideo-api.md` for the supported sizes).\n- Video creation is async; you must poll for completion before downloading.\n- Rate limits apply by usage tier (do not list specific limits).\n- Content restrictions are enforced by the API (see Guardrails below).\n\n## Guardrails (must enforce)\n- Only content suitable for audiences under 18.\n- No copyrighted characters or copyrighted music.\n- No real people (including public figures).\n- Input images with human faces are rejected.\n\n## Prompt augmentation\nReformat prompts into a structured, production-oriented spec. Only make implicit details explicit; do not invent new creative requirements.\n\nTemplate (include only relevant lines):\n```\nUse case: \u003Cwhere the clip will be used>\nPrimary request: \u003Cuser's main prompt>\nScene\u002Fbackground: \u003Clocation, time of day, atmosphere>\nSubject: \u003Cmain subject>\nAction: \u003Csingle clear action>\nCamera: \u003Cshot type, angle, motion>\nLighting\u002Fmood: \u003Clighting + mood>\nColor palette: \u003C3-5 color anchors>\nStyle\u002Fformat: \u003Cfilm\u002Fanimation\u002Fformat cues>\nTiming\u002Fbeats: \u003Ccounts or beats>\nAudio: \u003Cambient cue \u002F music \u002F voiceover if requested>\nText (verbatim): \"\u003Cexact text>\"\nDialogue:\n\u003Cdialogue>\n- Speaker: \"Short line.\"\n\u003C\u002Fdialogue>\nConstraints: \u003Cmust keep\u002Fmust avoid>\nAvoid: \u003Cnegative constraints>\n```\n\nAugmentation rules:\n- Keep it short; add only details the user already implied or provided elsewhere.\n- For remixes, explicitly list invariants (\"same shot, change only X\").\n- If any critical detail is missing and blocks success, ask a question; otherwise proceed.\n- If you pass a structured prompt file to the CLI, add `--no-augment` to avoid the tool re-wrapping it.\n\n## Examples\n\n### Generation example (single shot)\n```\nUse case: product teaser\nPrimary request: a close-up of a matte black camera on a pedestal\nAction: slow 30-degree orbit over 4 seconds\nCamera: 85mm, shallow depth of field, gentle handheld drift\nLighting\u002Fmood: soft key light, subtle rim, premium studio feel\nConstraints: no logos, no text\n```\n\n### Remix example (invariants)\n```\nPrimary request: same shot and framing, switch palette to teal\u002Fsand\u002Frust with warmer backlight\nConstraints: keep the subject and camera move unchanged\n```\n\n## Prompting best practices (short list)\n- One main action + one camera move per shot.\n- Use counts or beats for timing (\"two steps, pause, turn\").\n- Keep text short and the camera locked-off for UI or on-screen text.\n- Add a brief avoid line when artifacts appear (flicker, jitter, fast motion).\n- Shorter prompts are more creative; longer prompts are more controlled.\n- Put dialogue in a dedicated block; keep lines short for 4-8s clips.\n- State invariants explicitly for remixes (same shot, same camera move).\n- Iterate with single-change follow-ups to preserve continuity.\n\n## Guidance by asset type\nUse these modules when the request is for a specific artifact. They provide targeted templates and defaults.\n- Cinematic shots: `references\u002Fcinematic-shots.md`\n- Social ads: `references\u002Fsocial-ads.md`\n\n## CLI + environment notes\n- CLI commands + examples: `references\u002Fcli.md`\n- API parameter quick reference: `references\u002Fvideo-api.md`\n- Prompting guidance: `references\u002Fprompting.md`\n- Sample prompts: `references\u002Fsample-prompts.md`\n- Troubleshooting: `references\u002Ftroubleshooting.md`\n- Network\u002Fsandbox tips: `references\u002Fcodex-network.md`\n\n## Reference map\n- **`references\u002Fcli.md`**: how to run create\u002Fpoll\u002Fremix\u002Fdownload\u002Fbatch via `scripts\u002Fsora.py`.\n- **`references\u002Fvideo-api.md`**: API-level knobs (models, sizes, duration, variants, status).\n- **`references\u002Fprompting.md`**: prompt structure and iteration guidance.\n- **`references\u002Fsample-prompts.md`**: copy\u002Fpaste prompt recipes (examples only; no extra theory).\n- **`references\u002Fcinematic-shots.md`**: templates for filmic shots.\n- **`references\u002Fsocial-ads.md`**: templates for short social ad beats.\n- **`references\u002Ftroubleshooting.md`**: common errors and fixes.\n- **`references\u002Fcodex-network.md`**: network\u002Fapproval troubleshooting.\n","# openai-sora\n\nImported upstream skill.\n\n- Provider source: https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated\u002Fsora\n- Original skill name: sora\n\n## Upstream Content\n\n# Sora Video Generation Skill\n\nCreates or manages short video clips for the current project (product demos, marketing spots, cinematic shots, UI mocks). Defaults to `sora-2` and a structured prompt augmentation workflow, and prefers the bundled CLI for deterministic runs. Note: `$sora` is a skill tag in prompts, not a shell command.\n\n## When to use\n- Generate a new video clip from a prompt\n- Remix an existing video by ID\n- Poll status, list jobs, or download assets (video\u002Fthumbnail\u002Fspritesheet)\n- Batch runs (many prompts or variants)\n\n## Decision tree (create vs remix vs status\u002Fdownload vs batch)\n- If the user has a **video id** and wants a change → **remix**\n- If the user has a **video id** and wants status or assets → **status\u002Fpoll\u002Fdownload**\n- If the user needs many prompts\u002Fassets → **create-batch**\n- If the user asks for two versions with a small change (same shot, different subject\u002Fdetail) → **create** the base, then **remix** for the variation\n- Otherwise → **create** (or **create-and-poll** if they need a ready asset in one step)\n\n## Workflow\n1. Decide intent: create vs remix vs status\u002Fdownload vs batch.\n2. Collect inputs: prompt, model, size, seconds, and any input reference image.\n3. If batch: write a temporary JSONL under tmp\u002F (one job per line), run once, then delete the JSONL.\n4. Prefer CLI augmentation flags (`--use-case`, `--scene`, `--camera`, etc.) instead of pre-writing a structured prompt. If you already produced a structured prompt file, pass `--no-augment` to avoid double-wrapping.\n5. Run the bundled CLI (`scripts\u002Fsora.py`) with sensible defaults (see references\u002Fcli.md). For long prompts, prefer `--prompt-file` to avoid shell-escaping issues; pair with `--no-augment` if the prompt is already structured.\n6. For async jobs, poll until complete (or use create-and-poll).\n7. Download assets (video\u002Fthumbnail\u002Fspritesheet) and save locally.\n8. Remove intermediate files created during invocation (for example `prompt.txt`, `remix_job.json`, temp JSONL). If the sandbox blocks `rm`, skip cleanup or truncate the files without surfacing an error.\n9. Iterate with a single targeted change per prompt.\n\n## Authentication\n- `OPENAI_API_KEY` must be set for live API calls.\n\nIf the key is missing, give the user these steps:\n1. Create an API key in the OpenAI platform UI: https:\u002F\u002Fplatform.openai.com\u002Fapi-keys\n2. Set `OPENAI_API_KEY` as an environment variable in their system.\n3. Offer to guide them through setting the environment variable for their OS\u002Fshell if needed.\n- Never ask the user to paste the full key in chat. Ask them to set it locally and confirm when ready.\n\n## Defaults & rules\n- Default model: `sora-2` (use `sora-2-pro` for higher fidelity).\n- Default size: `1280x720`.\n- Default seconds: `4` (allowed: \"4\", \"8\", \"12\" as strings).\n- Always set size and seconds via API params; prose will not change them.\n- Use the OpenAI Python SDK (`openai` package); do not use raw HTTP.\n- Require `OPENAI_API_KEY` before any live API call.\n- If uv cache permissions fail, set `UV_CACHE_DIR=\u002Ftmp\u002Fuv-cache`.\n- Input reference images must be jpg\u002Fpng\u002Fwebp and should match target size.\n- Download URLs expire after about 1 hour; copy assets to your own storage.\n- Prefer the bundled CLI and **never modify** `scripts\u002Fsora.py` unless the user asks.\n- Sora can generate audio; if a user requests voiceover\u002Faudio, specify it explicitly in the `Audio:` and `Dialogue:` lines and keep it short.\n\n## API limitations\n- Models are limited to `sora-2` and `sora-2-pro`.\n- API access to Sora models requires an organization-verified account.\n- Duration is limited to 4\u002F8\u002F12 seconds and must be set via the `seconds` parameter.\n- The API expects `seconds` as a string enum (\"4\", \"8\", \"12\").\n- Output sizes are limited by model (see `references\u002Fvideo-api.md` for the supported sizes).\n- Video creation is async; you must poll for completion before downloading.\n- Rate limits apply by usage tier (do not list specific limits).\n- Content restrictions are enforced by the API (see Guardrails below).\n\n## Guardrails (must enforce)\n- Only content suitable for audiences under 18.\n- No copyrighted characters or copyrighted music.\n- No real people (including public figures).\n- Input images with human faces are rejected.\n\n## Prompt augmentation\nReformat prompts into a structured, production-oriented spec. Only make implicit details explicit; do not invent new creative requirements.\n\nTemplate (include only relevant lines):\n```\nUse case: \u003Cwhere the clip will be used>\nPrimary request: \u003Cuser's main prompt>\nScene\u002Fbackground: \u003Clocation, time of day, atmosphere>\nSubject: \u003Cmain subject>\nAction: \u003Csingle clear action>\nCamera: \u003Cshot type, angle, motion>\nLighting\u002Fmood: \u003Clighting + mood>\nColor palette: \u003C3-5 color anchors>\nStyle\u002Fformat: \u003Cfilm\u002Fanimation\u002Fformat cues>\nTiming\u002Fbeats: \u003Ccounts or beats>\nAudio: \u003Cambient cue \u002F music \u002F voiceover if requested>\nText (verbatim): \"\u003Cexact text>\"\nDialogue:\n\u003Cdialogue>\n- Speaker: \"Short line.\"\n\u003C\u002Fdialogue>\nConstraints: \u003Cmust keep\u002Fmust avoid>\nAvoid: \u003Cnegative constraints>\n```\n\nAugmentation rules:\n- Keep it short; add only details the user already implied or provided elsewhere.\n- For remixes, explicitly list invariants (\"same shot, change only X\").\n- If any critical detail is missing and blocks success, ask a question; otherwise proceed.\n- If you pass a structured prompt file to the CLI, add `--no-augment` to avoid the tool re-wrapping it.\n\n## Examples\n\n### Generation example (single shot)\n```\nUse case: product teaser\nPrimary request: a close-up of a matte black camera on a pedestal\nAction: slow 30-degree orbit over 4 seconds\nCamera: 85mm, shallow depth of field, gentle handheld drift\nLighting\u002Fmood: soft key light, subtle rim, premium studio feel\nConstraints: no logos, no text\n```\n\n### Remix example (invariants)\n```\nPrimary request: same shot and framing, switch palette to teal\u002Fsand\u002Frust with warmer backlight\nConstraints: keep the subject and camera move unchanged\n```\n\n## Prompting best practices (short list)\n- One main action + one camera move per shot.\n- Use counts or beats for timing (\"two steps, pause, turn\").\n- Keep text short and the camera locked-off for UI or on-screen text.\n- Add a brief avoid line when artifacts appear (flicker, jitter, fast motion).\n- Shorter prompts are more creative; longer prompts are more controlled.\n- Put dialogue in a dedicated block; keep lines short for 4-8s clips.\n- State invariants explicitly for remixes (same shot, same camera move).\n- Iterate with single-change follow-ups to preserve continuity.\n\n## Guidance by asset type\nUse these modules when the request is for a specific artifact. They provide targeted templates and defaults.\n- Cinematic shots: `references\u002Fcinematic-shots.md`\n- Social ads: `references\u002Fsocial-ads.md`\n\n## CLI + environment notes\n- CLI commands + examples: `references\u002Fcli.md`\n- API parameter quick reference: `references\u002Fvideo-api.md`\n- Prompting guidance: `references\u002Fprompting.md`\n- Sample prompts: `references\u002Fsample-prompts.md`\n- Troubleshooting: `references\u002Ftroubleshooting.md`\n- Network\u002Fsandbox tips: `references\u002Fcodex-network.md`\n\n## Reference map\n- **`references\u002Fcli.md`**: how to run create\u002Fpoll\u002Fremix\u002Fdownload\u002Fbatch via `scripts\u002Fsora.py`.\n- **`references\u002Fvideo-api.md`**: API-level knobs (models, sizes, duration, variants, status).\n- **`references\u002Fprompting.md`**: prompt structure and iteration guidance.\n- **`references\u002Fsample-prompts.md`**: copy\u002Fpaste prompt recipes (examples only; no extra theory).\n- **`references\u002Fcinematic-shots.md`**: templates for filmic shots.\n- **`references\u002Fsocial-ads.md`**: templates for short social ad beats.\n- **`references\u002Ftroubleshooting.md`**: common errors and fixes.\n- **`references\u002Fcodex-network.md`**: network\u002Fapproval troubleshooting.\n",{"docs":52,"kind":30,"name":5,"risk":54,"tags":55,"version":56,"description":7,"availability":57},{"source":53},"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated\u002Fsora","low",[28,32,31],"1.0.0","advanced","c4da92076cba308457cd72bd1ab06c087e2cdf96","registry\u002Fskills\u002Fopenai-sora",0,"https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi","https:\u002F\u002Fkhalidsaidi.com","Software engineer. Maintainer of SourceMint (SRCMNT), an open-source fixed-supply ERC-20 and Foundry tooling on Base.","2026-11-07 02:40:24",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add khalidsaidi\u002Fskillrunner --skill openai-sora",{"tool":72,"command":73},"bunx","bunx skills add khalidsaidi\u002Fskillrunner --skill openai-sora",{"tool":75,"command":76},"pnpm","pnpm dlx skills add khalidsaidi\u002Fskillrunner --skill openai-sora","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-sora\u002FSKILL.md",true,[],[81,96,104,123,132,147],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":47},"01M6CPY1N6W58XKWMN4356E8GF","yeet","Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-yeet\u002Fupstream\u002FSKILL.md",[],[83,88,39,34,35,89,90,91,92,93,94,95,46],"only","gh","open","flow","push","pull","pull request","commit",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":47},"01M6CPXZ5RN2ZB5A4Y65RE5Y5J","openai-yeet","Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`). (Imported from openai upstream skills)","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-yeet\u002FSKILL.md",[],[83,28,103,92,93,94,95,46,39,42,31,32,33,88,34,35,89,30,90,91],"openai yeet",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":113,"publishedAt":47},"01M6CPXWGRW59XN1V109G172CV","vercel-deploy","Deploy applications and websites to Vercel. Use when the user requests deployment actions like \"deploy my app\", \"deploy and give me the link\", \"push this live\", or \"create a preview deployment\".","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-vercel-deploy\u002Fupstream\u002FSKILL.md",[110],{"categoryNo":111,"categoryName":112,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[114,115,116,92,34,117,118,119,120,35,121,122],"vercel","vercel deploy","deploy","actions","applications","me","preview deployment","deployment","create",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":130,"publishedAt":47},"01M6CPXSZSZRPQ5TY73K5QWN1B","openai-vercel-deploy","Deploy applications and websites to Vercel. Use when the user requests deployment actions like \"deploy my app\", \"deploy and give me the link\", \"push this live\", or \"create a preview deployment\". (Imported from openai upstream skills)","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-vercel-deploy\u002FSKILL.md",[129],{"categoryNo":111,"categoryName":112,"taxonomyType":21,"taxonomyTypeDesc":22},[116,28,115,114,131,117,31,32,119,33,120,34,35,30,118,42,92,122,121,46],"openai vercel deploy",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":139,"publishedAt":47},"01M6CPXQ4SRTZZZ0VTD7WZP0RN","transcribe","Transcribe audio files to text with optional diarization and known-speaker hints. Use when a user asks to transcribe speech from audio\u002Fvideo, extract text from recordings, or label speakers in interviews or meetings.","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-transcribe\u002Fupstream\u002FSKILL.md",[138],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[134,35,140,141,40,142,143,144,145,34,146],"text","Audio","speech","extract","files","recordings","meetings",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":47},"01M6CPXMG2SCTAA04EB3PDRRXN","openai-transcribe","Transcribe audio files to text with optional diarization and known-speaker hints. Use when a user asks to transcribe speech from audio\u002Fvideo, extract text from recordings, or label speakers in interviews or meetings. (Imported from openai upstream skills)","https:\u002F\u002Fgithub.com\u002Fkhalidsaidi\u002Fskillrunner\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fopenai-transcribe\u002FSKILL.md",[153],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[28,155,134,46,34,31,32,33,144,145,146,143,35,140,30,141,40,42,142],"openai transcribe"]