Install
$ agentstack add skill-hamsurang-kit-hamsurang-slide ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
hamsurang-slide — Hamsurang HTML Presentation Generator
Overview
Generates single-file HTML presentations with Hamsurang brand Soft Modern design. Light/dark themes, 14 slide types, 4-color code highlighting, glassmorphism cards. Output is always a single .html file — opens directly in a browser.
When to Use
Activate when the request matches any of:
- "hamsurang 발표", "hamsurang PPT", "hamsurang slide"
- "함수랑 발표", "함수랑 슬라이드", "함수랑 PPT"
- Any mention of "presentation", "slide", or "PPT" in a Hamsurang context
Workflow
Step 1: Analyze Input
Extract from the user's request:
- Topic
- Duration (→ slide count mapping)
- Audience
- Language (generate content in the user's conversation language)
Default duration is 10 minutes.
| Duration | Slide Count | |----------|-------------| | 5 min | 8–12 | | 10 min | 12–18 (default) | | 15 min | 18–25 | | 20 min | 25–30 | | 30 min | 30–40 |
Step 2: Generate Outline & Confirm
Get user confirmation before proceeding.
Present as a table:
| # | Type | Title | Key Points | |---|------|-------|------------| | 1 | Title | ... | ... | | 2 | Agenda | ... | ... | | ... | ... | ... | ... | | N | Closing | ... | ... |
Incorporate edits and re-confirm if requested.
Step 3: Choose Theme & Confirm
> Choose a theme: > - Light — bright background, informative and open > - Dark — green-tinted dark background, immersive
Default: Light.
Step 4: Generate HTML
Reference loading order (read in this exact order):
references/generation-rules.md— CSS single source of truth. Copy all CSS from §1–14 into ``.references/design-system.md— Design philosophy, component patterns (no hardcoded values — all refer back to generation-rules.md)references/slide-catalog.md— 14 slide type HTML structuresreferences/html-spec.md— HTML document structure, navigation JS, CDN
References Loading Guide:
| Situation | Load | |-----------|------| | Always (Step 4 start) | references/generation-rules.md | | Applying design patterns, component styles | references/design-system.md | | Building slide HTML for any of the 14 types | references/slide-catalog.md | | Assembling final HTML document, adding JS, CDN links | references/html-spec.md |
Generation rules:
Build HTML for all 14 slide types following slide-catalog.md's HTML structure specs. There is no fixed HTML template. Instead, follow the CSS classes, element hierarchy, and structure rules for each type.
CSS rules:
- Copy generation-rules.md §1–14 CSS into the `` tag verbatim
- For flexible slide types (types 5–14), write any additional CSS after the copied CSS
- All style values must use
var(--name)CSS variables — never hardcode color/size values
Conditional CDN:
- Code type slide present → include highlight.js CDN +
hljs.highlightAll() - Architecture type slide present → include mermaid.js CDN + init code
- Neither present → omit those CDN links
Content overflow prevention:
- Slide area is fixed at 1280×720px
- When there are many items, reduce font size and spacing to fit
- Agenda with 9+ items: reduce font/spacing (still single column)
Step 5: Speaker Notes
Add data-notes attribute to each slide:
- Conversational tone
- Expand on slide content without repeating it
- Timing hints:
[2 min],[PAUSE]
Step 6: Inline Assets & Save
Requires Node.js.
- Save
index.html(or requested filename) to the user's working directory - Run
scripts/inline_assets.mjs:
`` node /scripts/inline_assets.mjs /references/images/ ``
- Tell the user: "Open directly in your browser."
Output Rules
- Single
.htmlfile, all CSS/JS inlined - ``
- 16:9 aspect ratio (1280×720 base, scale transform)
- CDN: Pretendard, JetBrains Mono (always), highlight.js (conditional), mermaid.js (conditional)
- Vanilla JS/CSS only — no frameworks
- Max 6–8 bullet points per slide
- Generate content in the user's conversation language
Reference Architecture
references/
├── generation-rules.md ← CSS SSOT (all values live here)
├── design-system.md ← Design philosophy & patterns (no values)
├── slide-catalog.md ← 14 slide type HTML structures
├── html-spec.md ← HTML structure, JS, CDN
└── images/ ← SVG brand assets
Slide Types
14 types. Details in references/slide-catalog.md.
Core 4: Title, Closing, Agenda, Section Divider Flexible 10: Key Point, Quote, Comparison, Flow, Card Grid, Content, Code, Architecture, Timetable, Timeline
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hamsurang
- Source: hamsurang/kit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.