{"id":"6c889411-7a02-416b-85c4-e556bc9ad558","shortId":"CJFbt6","kind":"skill","title":"html-ppt-testing-safety-alert","tagline":"红琥珀警示 deck — 顶/底 45° 红黑 hazard 条纹、红色删除线否定标题、L1/L2/L3 绿/琥珀/红 tier 卡片、圆点状态 alert box、policy-yaml 代码块（红左边框 + bad 关键词高亮）、红绿 checklist、Q1 事故堆叠柱状图。适合安全 / 风险 / 事故复盘 / 红队 / 上线前 AI 评审 / policy-as-code。","description":"# HTML PPT · 红琥珀警示\n\nA focused entry point into the [`html-ppt`](../html-ppt/SKILL.md) master skill that lands the user directly on the **`testing-safety-alert`** full-deck template.\n\n## When this card is picked\n\nThe Examples gallery wires \"Use this prompt\" to the example_prompt above. When you accept that prompt, this card is the right pick if the user wants exactly the visual identity of `testing-safety-alert` (see the upstream [full-decks catalog](../html-ppt/references/full-decks.md) for screenshots and rationale).\n\n## How to author the deck\n\n1. **Read the master skill first.** All authoring rules live in\n   [`skills/html-ppt/SKILL.md`](../html-ppt/SKILL.md) — content/audience checklist,\n   token rules, layout reuse, presenter mode, the keyboard runtime, and the\n   \"never put presenter-only text on the slide\" rule.\n2. **Start from the matching template folder:**\n   `skills/html-ppt/templates/full-decks/testing-safety-alert/` — copy `index.html` and\n   `style.css` into the project, keep the `.tpl-testing-safety-alert` body class.\n3. **Bring the shared runtime with the template.** The upstream\n   `index.html` links the shared CSS/JS via `../../../assets/...` because it\n   sits three folders deep inside `skills/html-ppt/templates/full-decks/`.\n   Once you copy `index.html` into the project, those parent-relative URLs\n   no longer resolve and `base.css`, `animations.css`, and `runtime.js`\n   will 404 — meaning the deck never activates and slide navigation is\n   dead. Pick one of these two recipes per project:\n   - **Recipe A — copy + rewrite (preferred):** copy\n     `skills/html-ppt/assets/fonts.css`, `skills/html-ppt/assets/base.css`,\n     `skills/html-ppt/assets/animations/animations.css`, and\n     `skills/html-ppt/assets/runtime.js` into a project-local\n     `assets/` (with `assets/animations/animations.css`), then rewrite the\n     four `<link>`/`<script>` tags in `index.html` from\n     `../../../assets/...` to the matching project-local paths\n     (`assets/fonts.css`, `assets/base.css`,\n     `assets/animations/animations.css`, `assets/runtime.js`).\n   - **Recipe B — inline:** read the same four files and replace each\n     `<link rel=\"stylesheet\" href=\"../../../assets/...\">` with a\n     `<style>...</style>` containing the file's contents, and the\n     `<script src=\"../../../assets/runtime.js\">` with a\n     `<script>...</script>` containing `runtime.js`. Yields a single\n     self-contained `index.html`.\n   Either way, do not ship the upstream `../../../assets/...` URLs\n   verbatim into a project artifact — they only work in-tree.\n4. **Pick a theme.** Default tokens look fine; if the user wants a different\n   feel, swap in any of the 36 themes from `skills/html-ppt/assets/themes/*.css`\n   via `<link id=\"theme-link\">` and let `T` cycle.\n5. **Replace demo content, not classes.** The `.tpl-testing-safety-alert` scoped CSS only\n   recognises the structural classes shipped in the template — keep them.\n6. **Speaker notes go inside `<aside class=\"notes\">` or `<div class=\"notes\">`** — never as visible text on the slide.\n\n## Attribution\n\nVisual system, layouts, themes and the runtime keyboard model come from\nthe upstream MIT-licensed [`lewislulu/html-ppt-skill`](https://github.com/lewislulu/html-ppt-skill). The\nLICENSE file ships at `skills/html-ppt/LICENSE`; please keep it in place when\nredistributing.","tags":["html","ppt","testing","safety","alert","open","design","nexu-io","agent-skills","ai-agents","ai-design","byok"],"capabilities":["skill","source-nexu-io","skill-html-ppt-testing-safety-alert","topic-agent-skills","topic-ai-agents","topic-ai-design","topic-byok","topic-claude","topic-claude-code-for-design","topic-claude-design","topic-coding-agents","topic-design-systems","topic-design-tools","topic-desktop-app","topic-figma-alternative"],"categories":["open-design"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/nexu-io/open-design/html-ppt-testing-safety-alert","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add nexu-io/open-design","source_repo":"https://github.com/nexu-io/open-design","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 36607 github stars · SKILL.md body (3,355 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-11T06:52:21.548Z","embedding":null,"createdAt":"2026-05-02T06:52:42.522Z","updatedAt":"2026-05-11T06:52:21.548Z","lastSeenAt":"2026-05-11T06:52:21.548Z","tsv":"'/../../assets':211,306 '/html-ppt/references/full-decks.md':125 '/html-ppt/skill.md':59,147 '/lewislulu/html-ppt-skill).':407 '1':135 '2':171 '3':195 '36':339 '4':319 '404':241 '45':11 '5':349 '6':374 'accept':96 'activ':246 'ai':41 'alert':6,23,72,117,192,360 'animations.css':237 'artifact':312 'asset':276 'assets/animations/animations.css':278 'attribut':387 'author':132,142 'bad':30 'base.css':236 'bodi':193 'box':24 'bring':196 'card':79,100 'catalog':124 'checklist':33,149 'class':194,354,367 'code':46 'come':397 'contain':283,290,297 'content':287,352 'content/audience':148 'copi':179,222,262,265 'css':343,362 'css/js':209 'cycl':348 'dead':251 'deck':8,75,123,134,244 'deep':217 'default':323 'demo':351 'differ':332 'direct':66 'either':299 'entri':52 'exact':109 'exampl':83,91 'feel':333 'file':285,410 'fine':326 'first':140 'focus':51 'folder':177,216 'four':282 'full':74,122 'full-deck':73,121 'galleri':84 'github.com':406 'github.com/lewislulu/html-ppt-skill).':405 'go':377 'hazard':13 'html':2,47,57 'html-ppt':56 'html-ppt-testing-safety-alert':1 'ident':112 'in-tre':316 'index.html':180,205,223,298 'insid':218,378 'keep':186,372,415 'keyboard':157,395 'l1/l2/l3':16 'land':63 'layout':152,390 'let':346 'lewislulu/html-ppt-skill':404 'licens':403,409 'link':206 'live':144 'local':275 'longer':233 'look':325 'master':60,138 'match':175 'mean':242 'mit':402 'mit-licens':401 'mode':155 'model':396 'navig':249 'never':161,245,380 'note':376 'one':253 'parent':229 'parent-rel':228 'per':258 'pick':81,104,252,320 'place':418 'pleas':414 'point':53 'polici':26,44 'policy-as-cod':43 'policy-yaml':25 'ppt':3,48,58 'prefer':264 'present':154,164 'presenter-on':163 'project':185,226,259,274,311 'project-loc':273 'prompt':88,92,98 'put':162 'q1':34 'rational':129 'read':136 'recip':257,260 'recognis':364 'redistribut':420 'relat':230 'replac':350 'resolv':234 'reus':153 'rewrit':263,280 'right':103 'rule':143,151,170 'runtim':158,199,394 'runtime.js':239,291 'safeti':5,71,116,191,359 'scope':361 'screenshot':127 'see':118 'self':296 'self-contain':295 'share':198,208 'ship':303,368,411 'singl':294 'sit':214 'skill':61,139 'skill-html-ppt-testing-safety-alert' 'skills/html-ppt/assets/animations/animations.css':268 'skills/html-ppt/assets/base.css':267 'skills/html-ppt/assets/fonts.css':266 'skills/html-ppt/assets/runtime.js':270 'skills/html-ppt/assets/themes':342 'skills/html-ppt/license':413 'skills/html-ppt/skill.md':146 'skills/html-ppt/templates/full-decks':219 'skills/html-ppt/templates/full-decks/testing-safety-alert':178 'slide':169,248,386 'source-nexu-io' 'speaker':375 'start':172 'structur':366 'style.css':182 'swap':334 'system':389 'templat':76,176,202,371 'test':4,70,115,190,358 'testing-safety-alert':69,114 'text':166,383 'theme':322,340,391 'three':215 'tier':20 'token':150,324 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-design' 'topic-byok' 'topic-claude' 'topic-claude-code-for-design' 'topic-claude-design' 'topic-coding-agents' 'topic-design-systems' 'topic-design-tools' 'topic-desktop-app' 'topic-figma-alternative' 'tpl':189,357 'tpl-testing-safety-alert':188,356 'tree':318 'two':256 'upstream':120,204,305,400 'url':231,307 'use':86 'user':65,107,329 'verbatim':308 'via':210,344 'visibl':382 'visual':111,388 'want':108,330 'way':300 'wire':85 'work':315 'yaml':27 'yield':292 '上线前':40 '事故堆叠柱状图':35 '事故复盘':38 '代码块':28 '关键词高亮':31 '卡片':21 '圆点状态':22 '底':10 '条纹':14 '琥珀':18 '红':19 '红左边框':29 '红琥珀警示':7,49 '红绿':32 '红色删除线否定标题':15 '红队':39 '红黑':12 '绿':17 '评审':42 '适合安全':36 '顶':9 '风险':37","prices":[{"id":"df25d5d6-d04d-440f-86d5-507bbb5ebd67","listingId":"6c889411-7a02-416b-85c4-e556bc9ad558","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"nexu-io","category":"open-design","install_from":"skills.sh"},"createdAt":"2026-05-02T06:52:42.522Z"}],"sources":[{"listingId":"6c889411-7a02-416b-85c4-e556bc9ad558","source":"github","sourceId":"nexu-io/open-design/html-ppt-testing-safety-alert","sourceUrl":"https://github.com/nexu-io/open-design/tree/main/skills/html-ppt-testing-safety-alert","isPrimary":false,"firstSeenAt":"2026-05-02T06:52:42.522Z","lastSeenAt":"2026-05-11T06:52:21.548Z"},{"listingId":"6c889411-7a02-416b-85c4-e556bc9ad558","source":"skills_sh","sourceId":"nexu-io/open-design/html-ppt-testing-safety-alert","sourceUrl":"https://skills.sh/nexu-io/open-design/html-ppt-testing-safety-alert","isPrimary":true,"firstSeenAt":"2026-05-07T20:43:23.361Z","lastSeenAt":"2026-05-07T22:42:09.382Z"}],"details":{"listingId":"6c889411-7a02-416b-85c4-e556bc9ad558","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"nexu-io","slug":"html-ppt-testing-safety-alert","github":{"repo":"nexu-io/open-design","stars":36607,"topics":["agent-skills","ai-agents","ai-design","byok","claude","claude-code-for-design","claude-design","coding-agents","design-systems","design-tools","desktop-app","figma-alternative","generative-ai","hermes-agent","local-first","nextjs","no-code","prototyping","ui-generator","vibe-coding"],"license":"apache-2.0","html_url":"https://github.com/nexu-io/open-design","pushed_at":"2026-05-11T06:48:43Z","description":"🎨 Local-first, open-source alternative to Anthropic's Claude Design. ⚡ 19 Skills · ✨ 71 brand-grade Design Systems 🖼 Generate web · desktop · mobile prototypes · slides · images · videos · HyperFrames 📦 Sandboxed preview · HTML/PDF/PPTX/MP4 export 🤖 Runs on Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen / Copilot / Hermes / Kimi CLI.","skill_md_sha":"23fa56cb63c128ec2df5ef5090b9c1ee9bd39ee3","skill_md_path":"skills/html-ppt-testing-safety-alert/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/nexu-io/open-design/tree/main/skills/html-ppt-testing-safety-alert"},"layout":"multi","source":"github","category":"open-design","frontmatter":{"name":"html-ppt-testing-safety-alert","description":"红琥珀警示 deck — 顶/底 45° 红黑 hazard 条纹、红色删除线否定标题、L1/L2/L3 绿/琥珀/红 tier 卡片、圆点状态 alert box、policy-yaml 代码块（红左边框 + bad 关键词高亮）、红绿 checklist、Q1 事故堆叠柱状图。适合安全 / 风险 / 事故复盘 / 红队 / 上线前 AI 评审 / policy-as-code。"},"skills_sh_url":"https://skills.sh/nexu-io/open-design/html-ppt-testing-safety-alert"},"updatedAt":"2026-05-11T06:52:21.548Z"}}