Turn a group of figures (thinkers / scientists / literary figures / historical figures) or a group of concepts intoa single-file 16:9 interactive slide deck: overview page sticker wall → click a sticker → figure detail page (biography expandable on click). Intended for teacher classroom projection,zero scrolling, keyboard paging, readable from the back row。
1. Input parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
figures |
✅ | List of 3–6 figures | Socrates, Confucius, Rousseau, Dewey, Piaget |
domain |
✅ | Subject area (determines the direction of research) | Philosophy of education / Classical physics / Tang and Song literature |
title |
✅ | Overview page main title | Philosophy Begins with Wonder and Doubt |
subtitle |
⬜ | Overview page introduction (empty by default) | Why do we educate… |
chapter |
⬜ | Top chapter number (default CHAPTER · 01) | CHAPTER · 03 |
theme |
⬜ | Color theme (default warm-classic, see §5.2) |
ink-blue / forest |
expand_mode |
⬜ | Whether biography expands on click (on by default) | on / off |
If the user gives only a list of figures without title/domain,first draft 2–3 titles based on the field and let the user choose, do not make the final decision on your own.
2. Workflow (five steps)
Step 1 · Material organization (five sections per person)
Use WebSearch / a local knowledge base to verify and organize the following fields for each figure.All fields have hard character limits(if it does not fit on one screen, it fails):
{
id: 'socrates', // 拼音 id,用于图片文件名
name: '苏格拉底', // 中文姓名
nameEn: 'Socrates', // 外文名(中国人物用拼音或字)
years: '470 BC – 399 BC', // 生卒年
keywords: '古希腊 · 街头追问 · 产婆术', // ≤4 个关键词,· 分隔
bio: '……约 110 字……', // 生平:4-5 行以内,3-5 个关键事件
contribs: [ // 贡献:恰好 3 条,每条 ≤40 字,<b>加粗术语</b>
'<b>术语</b>:一句话解释。',
'<b>术语</b>:一句话解释。',
'<b>术语</b>:一句话解释。'
],
quotes: ['……', '……'], // 金句:恰好 2 条,每条 ≤30 字
books: ['《A》', '《B》'], // 经典文本:恰好 2 本
inspiration: '……≤22 字,一行说完。' // 当代启示:单句
}
Content red lines:
- Mark uncertain historical facts with
[待核实], do not fabricate birth/death years, work titles, or quotations - Famous quotes must besourced original text or widely accepted paraphrases, if none can be found, replace with a famous line from their works
- For Chinese figures, quotes should preferably use original classical texts (classical Chinese may be retained; an optional plain-language gloss may be added)
Step 2 · Portrait generation (pencil sketch sticker style)
Use the current platform'stext-to-imagecapability (WorkBuddy uses the "multimodal content generation" skill; other platforms use their built-in image generation tools) to generate a portrait for each figure in a unified style.
Prompt template(replace {描述}):
Pencil sketch portrait of {人物身份描述:国籍/时代/外貌特征/服装},
graphite pencil drawing on white paper, monochromatic black and white,
hand-drawn white sticker border around the portrait with slightly torn paper edges,
bust composition, classical engraving style
The appearance description should includeidentifiable features(beard/glasses/hat/hairstyle/clothing), for example:
- Socrates →
ancient Greek philosopher Socrates, bald head with curly white side hair, long curly white beard, classical Greek toga draped over one shoulder, intense thoughtful gaze - Dewey →
American philosopher John Dewey, round wire-rimmed glasses, small mustache, neat combed gray hair, formal suit with tie, dignified expression
Calling tips(platform-general + WorkBuddy tested):
- General principles: just use the current platform/tool's built-in text-to-image capability, use the template above for all prompts, output 768×960 (or a close vertical ratio), and save PNGs to the
portraits/subdirectory of the delivery directory - WorkBuddy (tested 2026-08):
- First call
connect_cloud_serviceGet tempToken (re-fetch for each task) - Script: locate the
resources/app.asar.unpacked/resources/builtin-skills/buddy-multimodal-generation/scripts/buddy-cloud.pyunder the local WorkBuddy installation directory (usewhere buddy-cloud.pyor search by installation path; do not hardcode the username) - Python: prefer
python3; if not found, usepy -3orwhere pythonto probe (do not hardcode absolute paths) - Parameters:
image "<prompt>" --resolution 768:960 --token-stdin - Pass the Token via a pipe:
echo -n "<token>" | <python> -u <script> image "..." --token-stdin - After generation,
curl -sS -L -o portraits/{id}.png "<result_url>"lands in theportraits/subdirectory of the delivery directory - If it reports "250 task limit", wait 30 seconds and retry once; retry at most 1 time
- First call
- After generationyou must Read and check each one: whether the person is recognizable, and whether there is a watermark or corner badge (if watermarked, crop it out or regenerate)
Step 3 · Page assembly
Copy template.html(in this skill directory) to the delivery directory and replace:
THEMEobject → color scheme (see §5.2)METAobject → title / subtitle / chapterFIGURESarray → Step 1 data- Confirm that
portraits/relative-path images are all present
Step 4 · Self-check list
- On the overview page, the sticker wall is arranged 3×2 without misalignment, and hovers back to level and floats up
- Each detail page has all 4 rows: sticker row / biography (collapsed by default) / contributions / text + insights
- The biography click-to-expand animation works normally, and it automatically resets to collapsed after page turns
- Keyboard ←→ turns pages, Esc returns to overview, bottom dots are clickable
- When the window is resized, the stage always stays 16:9 centered with no scrolling
- Quotes 28px, body text 22px—readable when projected
- No content overflow (bio ≤5 lines, each contribs item within one or two lines)
Step 5 · Delivery
preview_url Open the HTML preview → deliver_attachments Deliver the HTML + all portrait PNGs + content document MD (optional).
3. Page structure (fixed, must not be changed arbitrarily)
SLIDE 0 总览页
├── 顶部条:CHAPTER · NN | BEAT NN(期刊式编号)
├── 左:eyebrow + 大标题(em 斜体朱红强调词)+ 引言 + 点击提示
└── 右:贴纸墙(3 列 × 2 行,各自轻微旋转,hover 回正)
SLIDE 1..N 人物页(每人一页,纵向 4 行)
├── 第 1 行「贴纸行」:肖像(240px 白边贴纸) + 名字块(中64/EN26/年代21/关键词16.5) + 金句块(28px 大引号)
├── 第 2 行「生平」:标题条(点击展开 ▸) + 正文(22px,默认收起)
├── 第 3 行「贡献」:标题 + 3 条 ◆ 列表(22px)
└── 第 4 行「文本+启示」:书签(18px × 2) | ✦ 启示条(20px 单行)
底部条(每页):导航圆点 | 键盘提示 | 页码 NN / MM
Interaction: click a sticker to jump to details / ←→ · Space · PgUpPgDn to turn pages / Esc · Home to return to overview / End to go to the last page / click the biography to expand (automatically resets on page turn).
4. Design specifications (classroom readability first)
4.1 Layout
- 16:9 fixed stage: design canvas 1600×900, JS
fitStage()calculatesscale = min(vw/1600, vh/900),transform: scale()centered; outer layer has a dark background. On any screen it is a standard full-screen 16:9 with zero scrolling. - Vertical single-column flow detail page:Do not use "left = person, right = matter"; use a top-to-bottom flow—the teacher's gaze follows a single main axis while lecturing.
4.2 Font size baseline (1600×900 design canvas px, readable baseline for the back row)
| Level | Font size | Font weight |
|---|---|---|
| Overview main title | 80 | 900 |
| Person name (Chinese) | 64 | 900 |
| Quote | 28 | 600 |
| Biography / contributions body | 22 | 400 |
| Insights | 20 | 400 |
| section title | 19 | 700 |
| Bookmark | 18 | 400 |
| English name / era | 26 / 21 | — |
| Keywords | 16.5 | 400 |
When increasing font size, tighten line-height slightly in reverse (22px with 1.7) to maintain density;section titles must scale up in sync with the body text, as they are the visual anchors.
4.3 Fonts
'Cormorant Garamond'(拉丁/斜体/数字) + 'Noto Serif SC'(中文标题/正文) + 'Noto Sans SC'(中文辅助)
Google Fonts CDN import; the bilingual Chinese-English labels are a fixed style (BIOGRAPHY · 生平事迹).
4.4 Color Themes
Default warm-classic(visual signature of this skill):
| Token | Value | Usage |
|---|---|---|
--bg |
#f3ebdb | Page warm beige background |
--paper |
#fbf6e8 | Quote block / paper surface |
--ink |
#1a1612 | Main text |
--vermillion |
#b8392a | Vermilion accent (title words / quotation marks / arrows / dots) |
--ink-mute |
#6a5e4a | Secondary text |
Alternative themes (just change the :root variable):
ink-blue: vermillion→#2c5a7a, bg→#e9edf2 (cool academic)forest: vermillion→#3a6b4f, bg→#eaf0e6 (natural sciences)- When the user specifies a brand color, replace only the two tokens
--vermillionand--bg; leave the rest unchanged.
4.5 Sticker Style
White background, padding 7px + three-layer shadow (near/mid/far) + staggered rotation from -2.5° to 2.5°; hover: rotate(0) translateY(-8px) scale(1.05).
5. Templates and Assets
template.html— parameterized full page (the three replacement points THEME / META / FIGURES are marked with comments at the top of the file)- Store all portraits in
portraits/{id}.png(768×960)
6. Common Variants
| Requirement | Approach |
|---|---|
| Add a person | Add an entry to FIGURES + generate a portrait; the overview wall automatically arranges in 3×N rows |
| Concept/principle page (non-person) | Replace the portrait with a "principle diagram sticker" (generate a simple sketch diagram), and put a one-sentence statement of the principle in the quote slot |
| Development history timeline | Add a timeline ribbon at the bottom of the overview page; or expand the period background in the years row on the detail page |
| No click-to-expand | expand_mode: off: delete the .d-bio-content collapse CSS so p displays directly |
| All-English version | Swap name/n ↔ nameEn, and reduce each font size by 2px |
7. Red Lines
- No fabrication: birth/death years, works, and quotes must be verifiable; if not verifiable, change the content, do not make it up
- Do not exceed word limits: bio ≤120 characters, inspiration ≤22 characters, quotes ≤30 characters each — if over, cut content, not shrink the font size
- No scrolling: under no circumstances may a scrollbar appear on the page (a capital offense for classroom projection)
- AI portraits must have watermarks removed: crop them out or regenerate, and check each one before delivery