[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AFYN5WEAPWQRT6S504F2XH":3,"skill-same:01M6AFYN5WEAPWQRT6S504F2XH":159},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":35,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6AFYN5WEAPWQRT6S504F2XH","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.","davila7\u002Fclaude-code-templates","davila7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6216945?v=4","01M6ADEWWFPS191NFM0Y1EX1JH","Daniel Avila","01M6ADJHGM78PHQRD3XZTFDVKK",33332,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002FSKILL.md",[19,24,27,30],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":28,"categoryName":29,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":31,"categoryName":32,"taxonomyType":33,"taxonomyTypeDesc":34},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"list","when","download video","ai video","requests","remix","via","scripts","generation","use","cli","video generation","access","Video","api","batch","openai","generate","delete","2026-11-10 10:12:30",false,"---\nname: \"sora\"\ndescription: \"Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI\\u2019s video API using the bundled CLI (`scripts\u002Fsora.py`), including requests like \\u201cgenerate AI video,\\u201d \\u201cSora,\\u201d \\u201cvideo remix,\\u201d \\u201cdownload video\u002Fthumbnail\u002Fspritesheet,\\u201d and batch video generation; requires `OPENAI_API_KEY` and Sora API access.\"\nauthor: openai\n---\n\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","# 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",{"name":5,"author":52,"description":7},"main","2b749c82b5d11fac39d9a6e021ce3f5b8a541bd1","cli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora",3911,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates","https:\u002F\u002Faitmpl.com","https:\u002F\u002Fgithub.com\u002Fdavila7","https:\u002F\u002Fdanielavila.me","Building AI dev tools with LLMs","2026-11-11 21:38:31",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add davila7\u002Fclaude-code-templates --skill sora",{"tool":76,"command":77},"bunx","bunx skills add davila7\u002Fclaude-code-templates --skill sora",{"tool":79,"command":80},"pnpm","pnpm dlx skills add davila7\u002Fclaude-code-templates --skill sora","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002FSKILL.md",true,[84,90,96,100,105,109,113,117,121,125,129,133,137,141,145,149,155],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"agents\u002Fopenai.yaml","REFERENCE","参考文档",296,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Fagents\u002Fopenai.yaml",{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"assets\u002Fsora-small.svg","ASSET","资产文件",1784,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Fassets\u002Fsora-small.svg",{"path":97,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":98,"sourceHtmlUrl":99},"assets\u002Fsora.png",11731,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Fassets\u002Fsora.png",{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":16},"LICENSE.txt","LICENSE","许可证",10776,{"path":106,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":107,"sourceHtmlUrl":108},"README.md",1020,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fswarm-coordinator\u002FREADME.md",{"path":110,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Fcinematic-shots.md",1655,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fcinematic-shots.md",{"path":114,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Fcli.md",7917,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fcli.md",{"path":118,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fcodex-network.md",1146,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fcodex-network.md",{"path":122,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fprompt-template.md",688,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fswarm-coordinator\u002Freferences\u002Fprompt-template.md",{"path":126,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Fprompting.md",5636,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fprompting.md",{"path":130,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Fsample-prompts.md",3771,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fsample-prompts.md",{"path":134,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":135,"sourceHtmlUrl":136},"references\u002Fsocial-ads.md",1464,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fsocial-ads.md",{"path":138,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Fsource-notes.md",409,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fswarm-coordinator\u002Freferences\u002Fsource-notes.md",{"path":142,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Ftroubleshooting.md",2816,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Ftroubleshooting.md",{"path":146,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Fvideo-api.md",1525,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Freferences\u002Fvideo-api.md",{"path":150,"resourceType":151,"resourceTypeDesc":152,"sizeBytes":153,"sourceHtmlUrl":154},"scripts\u002Fsora.py","SCRIPT","脚本",32585,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fvideo\u002Fsora\u002Fscripts\u002Fsora.py",{"path":156,"resourceType":151,"resourceTypeDesc":152,"sizeBytes":157,"sourceHtmlUrl":158},"scripts\u002Ftask_board.py",1492,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fswarm-coordinator\u002Fscripts\u002Ftask_board.py",[160,187,214,242,276,300],{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":164,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":55},"01M70NHBTQ8BV0A2SCAZXEPHCX","wealthville-pool-scoring","Score DeFi liquidity pools before providing liquidity. Returns a 0-100 pool score and an Enter\u002FHold\u002FExit\u002FReduce\u002FAvoid verdict with calibrated confidence for ~68,800 Solana pools and 575 EVM pools, plus a public miss-inclusive track record. Use when asked whether a pool is worth LPing into, which pools look best right now, or how accurate the scores have actually been.","MIT","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fweb-data\u002Fwealthville-pool-scoring\u002FSKILL.md",[167],{"categoryNo":28,"categoryName":29,"taxonomyType":22,"taxonomyTypeDesc":23},[169,170,171,172,173,174,175,176,45,37,177,178,179,180,181,182,183,184,185,186],"scoring","pool","wealthville pool scoring","liquidity","which","for","exit","now","reduce","with","record","track","verdict","evm","solana","how","public","look",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":164,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":194,"publishedAt":55},"01M70MB6VR8ERJ4EM8D5KHBMEV","technical-debt-auditor","Scans a codebase and produces a quantified technical debt report with a prioritized remediation plan. Analyzes dead code, TODO\u002FFIXME\u002FHACK markers, dependency staleness, complexity hotspots, code duplication signals, test coverage gaps, unused exports, and outdated patterns. Use this skill when the user asks to audit their codebase for tech debt, wants a health check of their code quality, says things like \"where should I focus refactoring\", \"find code smells\", \"audit my codebase\", \"what technical debt do we have\", \"prioritize cleanup work\", or asks about code quality metrics. Also trigger when the user mentions \"code rot\", \"legacy cleanup\", \"refactoring priorities\", or wants to understand the overall health of a project before a major effort. Trigger even if the user doesn't say \"technical debt\" explicitly — any request to systematically assess code quality and identify improvement priorities belongs here.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Ftechnical-debt-auditor\u002FSKILL.md",[193],{"categoryNo":28,"categoryName":29,"taxonomyType":22,"taxonomyTypeDesc":23},[195,196,197,198,199,200,201,202,203,204,205,37,206,207,208,209,210,211,212,213],"technical debt","debt","technical","technical debt auditor","auditor","coverage","complexity","markers","project","cleanup","unused","code","todo","work","plan","focus","signals","audit","dependency",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":164,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":225,"publishedAt":55},"01M70KPYH9QNHCNME5GJQGE22K","readonly-sql-guard","Make an agent's database access provably read-only. Use when an agent runs caller-supplied SQL against a production\u002FERP\u002Fanalytics database (a \"query\" MCP tool, text-to-SQL, an admin console), or when reviewing DB-access code for write\u002FDDL\u002Fside-effect\u002Ftransaction-escape risks. Checks what a statement CALLS, not just its shape.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdatabase\u002Freadonly-sql-guard\u002FSKILL.md",[220,221,222],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},{"categoryNo":28,"categoryName":29,"taxonomyType":22,"taxonomyTypeDesc":23},{"categoryNo":223,"categoryName":224,"taxonomyType":33,"taxonomyTypeDesc":34},"01JBSEEDCAT000000000000033","数据分析师",[226,227,228,229,230,231,232,174,233,234,235,236,237,238,239,45,48,240,37,241],"readonly","guard","sql guard","sql","readonly sql guard","erp","effect","read-only","db","just","tool","calls","only","MCP","database","query",{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":246,"sourceHtmlUrl":247,"categories":248,"keywords":252,"publishedAt":55},"01M6AFY6F7CC2BBZP1QD6VTNVC","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[249],{"categoryNo":250,"categoryName":251,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000009","前端开发",[253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,174,275],"artifacts builder","web","web artifacts builder","artifacts","builder","state","routing","state management","component","css","frontend","ui","Tools","file","components","shadcn","react","Tailwind","suite","jsx","html","single-file","ui components",{"skillNo":277,"name":278,"nameZh":6,"description":279,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":280,"sourceHtmlUrl":281,"categories":282,"keywords":287,"publishedAt":55},"01M6AFWF33SFV9Z3SF4PEEE4BF","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[283,286],{"categoryNo":284,"categoryName":285,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":250,"categoryName":251,"taxonomyType":22,"taxonomyTypeDesc":23},[288,289,290,291,292,254,293,263,264,294,295,296,297,174,298,178,299],"webapp testing","testing","webapp","browser","playwright","applications","debugging","toolkit","logs","screenshots","local","behavior",{"skillNo":301,"name":302,"nameZh":6,"description":303,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":304,"sourceHtmlUrl":305,"categories":306,"keywords":314,"publishedAt":55},"01M6AF67Q67JJJ5V51JR2P52KA","discernment-nudge","After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FSKILL.md",[307,310,311],{"categoryNo":308,"categoryName":309,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":28,"categoryName":29,"taxonomyType":22,"taxonomyTypeDesc":23},{"categoryNo":312,"categoryName":313,"taxonomyType":33,"taxonomyTypeDesc":34},"01JBSEEDCAT000000000000036","内容创作者",[315,316,317,318,319,320,321,322,256,323,266,206,324,325,326,327,328,238,329,37,330,331,332,333,334,184,335],"discernment nudge","nudge","interpretation","help","run","reasoning","data","writing","lookup","content","review","conversation","short","up","invoke","you","analysis","claims","argument","assemble","recommendations"]