mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
* chore(featured): curate Featured picks down to top 10 across categories
The picker's Featured chip currently surfaces 64 plugins because
`isFeaturedPlugin` (apps/web/src/components/plugins-home/facets.ts)
treats any finite `od.featured` number as featured, and the field
had been adopted incrementally by 51 skills + 13 templates without
a curation step. The result is a "Featured" tab that's effectively
"everything tagged at all" — no editorial signal.
Curate down to 10 picks, allocated to keep the showcase legible:
0.001 skills/deck-swiss-international
0.01 skills/deck-guizang-editorial
0.02 design-templates/magazine-poster [add]
0.04 skills/doc-kami-parchment
0.10 design-templates/web-prototype-taste-brutalist [add od: block]
0.13 skills/video-hyperframes
0.14 skills/frame-glitch-title
0.15 skills/vfx-text-cursor
0.16 skills/frame-logo-outro
0.17 skills/deck-open-slide-canvas
Selection mirrors the html-anything `recommended: 1..10` ranking
(html-anything is the upstream content source for these skills, per
the `od.upstream` field on each SKILL.md). Two of those 10 picks
weren't in the prior featured set at all — `magazine-poster` had no
`od.featured` field and `web-prototype-taste-brutalist` had no `od:`
block at all — so they get added rather than just rebalanced.
Removes `od.featured` from the other 56 files. No UI code change;
the existing `isFeaturedPlugin` logic now reads a curated set
instead of an accidental one.
* chore(featured): align baked plugin manifests with curated top 10
The picker reads `od.featured` from each plugin's
`plugins/_official/examples/<id>/open-design.json` manifest, not from
the SKILL.md frontmatter the previous commit edited. Without this
follow-up the curated set of 10 would be invisible to users — the
picker's Featured chip would still surface 27 baked plugins from the
pre-existing manifests.
Mirror the SKILL.md curation into the baked layer:
removed `od.featured` from 19 manifests:
article-magazine, card-xiaohongshu, data-report,
frame-data-chart-nyt, frame-flowchart-sticky,
frame-light-leak-cinema, frame-liquid-bg-hero,
frame-macos-notification, guizang-ppt, html-ppt,
kami-deck, kami-landing, mockup-device-3d,
open-design-landing-deck, ppt-keynote, resume-modern,
social-reddit-card, social-spotify-card, social-x-post-card
added `od.featured` to 2 manifests:
magazine-poster -> 0.02
web-prototype-taste-brutalist -> 0.10
Verified locally against `daemon /api/plugins`: featured count is
now exactly 10, matching the SKILL.md source of truth from the
previous commit.
4.3 KiB
4.3 KiB
| name | description | triggers | od | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| html-ppt-testing-safety-alert | 红琥珀警示 deck — 顶/底 45° 红黑 hazard 条纹、红色删除线否定标题、L1/L2/L3 绿/琥珀/红 tier 卡片、圆点状态 alert box、policy-yaml 代码块(红左边框 + bad 关键词高亮)、红绿 checklist、Q1 事故堆叠柱状图。适合安全 / 风险 / 事故复盘 / 红队 / 上线前 AI 评审 / policy-as-code。 |
|
|
HTML PPT · 红琥珀警示
A focused entry point into the html-ppt master skill that lands the user directly on the testing-safety-alert full-deck template.
When this card is picked
The 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 for screenshots and rationale).
How to author the deck
- Read the master skill first. All authoring rules live in
skills/html-ppt/SKILL.md— content/audience checklist, token rules, layout reuse, presenter mode, the keyboard runtime, and the "never put presenter-only text on the slide" rule. - Start from the matching template folder:
skills/html-ppt/templates/full-decks/testing-safety-alert/— copyindex.htmlandstyle.cssinto the project, keep the.tpl-testing-safety-alertbody class. - Bring the shared runtime with the template. The upstream
index.htmllinks the shared CSS/JS via../../../assets/...because it sits three folders deep insideskills/html-ppt/templates/full-decks/. Once you copyindex.htmlinto the project, those parent-relative URLs no longer resolve andbase.css,animations.css, andruntime.jswill 404 — meaning the deck never activates and slide navigation is dead. Pick one of these two recipes per project:- Recipe A — copy + rewrite (preferred): copy
skills/html-ppt/assets/fonts.css,skills/html-ppt/assets/base.css,skills/html-ppt/assets/animations/animations.css, andskills/html-ppt/assets/runtime.jsinto a project-localassets/(withassets/animations/animations.css), then rewrite the four<link>/<script>tags inindex.htmlfrom../../../assets/...to the matching project-local paths (assets/fonts.css,assets/base.css,assets/animations/animations.css,assets/runtime.js). - Recipe B — inline: read the same four files and replace each
<link rel="stylesheet" href="../../../assets/...">with a<style>...</style>containing the file's contents, and the<script src="../../../assets/runtime.js">with a<script>...</script>containingruntime.js. Yields a single self-containedindex.html. Either way, do not ship the upstream../../../assets/...URLs verbatim into a project artifact — they only work in-tree.
- Recipe A — copy + rewrite (preferred): copy
- Pick a theme. Default tokens look fine; if the user wants a different
feel, swap in any of the 36 themes from
skills/html-ppt/assets/themes/*.cssvia<link id="theme-link">and letTcycle. - Replace demo content, not classes. The
.tpl-testing-safety-alertscoped CSS only recognises the structural classes shipped in the template — keep them. - Speaker notes go inside
<aside class="notes">or<div class="notes">— never as visible text on the slide.
Attribution
Visual system, layouts, themes and the runtime keyboard model come from
the upstream MIT-licensed lewislulu/html-ppt-skill. The
LICENSE file ships at skills/html-ppt/LICENSE; please keep it in place when
redistributing.