Files
AOS/skills/design/design-templates/ppt/html-ppt-zhangzara-pin-and-paper/SKILL.md
T
Z User e45b68bb8b feat: IMAP mail sync with thread-to-contact matching (PRD §6.1)
Real IMAP connection via imapflow library:
- Connects to IMAP server (IMAPFlow, TLS on port 993)
- Fetches recent messages (configurable limit, default 20)
- Extracts: from, fromEmail, subject, date, snippet (200 chars)
- Thread-to-contact matching (PRD §6.1):
  1. Match sender email against persons table
  2. If no person match, extract domain and match against company.website
  3. Returns matchedCompany + matchedPerson for each email
- Audit-logged (action: crm.mailsync:imap)
- Zod validated (host, port, user, password, folder, limit)
- 502 on IMAP connection failure with detail
- 400 on validation failure

Tested: invalid creds → 502 'IMAP connection failed', missing host → 400
2026-10-27 22:50:50 +00:00

4.2 KiB
Executable File

name, description, visibility, mode, carrier, scenario, pattern_source, source_priority, triggers, od
name description visibility mode carrier scenario pattern_source source_priority triggers od
html-ppt-zhangzara-pin-and-paper Pin & Paper — 黄色纸面 + 安全别针插图 + 墨蓝手写 Caveat + 纸纹理。任何应该感觉手作 / 温暖 / 文学的 deck:定性研究发现 / 创始人反思 / 长篇品牌故事 / workshop 复盘。 public template deck marketing pattern.html skill-first
做个手作风 PPT
做个研究分享 deck
做个创始人反思 deck
pin-and-paper
zhangzara-pin-and-paper
Pin & Paper
crafted
handmade
literary
research findings with personality
html deck
html slides
zhangzara
upstream upstream_license preview design_system speaker_notes animations
https://github.com/zarazhangrui/beautiful-html-templates/tree/main/templates/pin-and-paper MIT
type entry
html pattern.html
requires
false
false false

Pin & Paper

Yellow paper with safety-pin illustrations, ink-blue handwritten Caveat, paper-grain texture.

A single self-contained HTML deck — typography, palette, decorative system, and slide vocabulary are all tuned together. Mixing layouts across templates breaks the system; stay inside this one.

At a glance

  • Scheme: light
  • Formality: medium
  • Density: medium
  • Slides in demo: 11

Best for

Anything that should feel hand-crafted, warm, and literary: qualitative research findings, founder reflections, longform brand stories, workshop debriefs. The signature safety-pin illustrations and paper-grain texture make it especially good for any deck — including tech or business — that wants personality and warmth over polish.

Avoid for

Decks that need to feel digital-native polished or rigorously data-driven — handwritten Caveat is intentionally informal.

Workflow

  1. Use pattern.html and assets/ only as secondary pattern references. Do not clone them wholesale; extract rhythm, structure, and required runtime behavior, then rebuild for the current brief. This template ships an assets/deck-stage.js runtime (keyboard navigation, stage rendering) and an assets/styles.css stylesheet. The HTML references them as assets/deck-stage.js and assets/styles.css, so both must sit next to the cloned HTML or those paths will 404 in the generated artifact and navigation/styling will silently break. Inlining the JS/CSS into a single <script>/<style> block in the HTML is an acceptable alternative when a single self-contained file is preferred.
  2. Replace placeholder content with the user's real headlines, body copy, numbers, names, dates, and section labels. Match existing dimensions when swapping image placeholders.
  3. Preserve the design system. Never substitute fonts, recolor the palette, restructure the layout grid, or strip decorative elements (corner brackets, paper grain, geometric shapes, illustrated SVGs). They are part of the identity.
  4. Adjust deck length by duplicating layouts. If the user has more content than the demo holds, duplicate an existing slide of the most appropriate layout. If less, drop slides from the bottom. Update page-number labels.
  5. Designing missing layouts: if a slide needs a layout the template doesn't have, design it from scratch using the same fonts, palette, decorative vocabulary, spacing rhythm, and component grammar — never bail to a different template.
  6. Keep the navigation runtime as shipped. If the deck ships an assets/deck-stage.js or inline keyboard handler, leave it intact.

Output contract

Emit between <artifact> tags:

<artifact identifier="zhangzara-pin-and-paper" type="text/html" title="Deck Title">
<!doctype html>
<html>...</html>
</artifact>

Source & license

Vendored from upstream MIT-licensed zarazhangrui/beautiful-html-templates.

The full upstream MIT license text — including the original copyright notice — ships in this skill at LICENSE and must be redistributed alongside any copy of pattern.html, template.json, or any vendored assets/ runtime. See template.json for the upstream metadata snapshot.