proslide
npx skills add https://github.com/hoangvantuan/claude-plugin --skill proslide
Agent 安装分布
Skill 文档
ProSlide – Professional Slide Generator
Tạo professional text-only slides từ content input. Vietnamese default. Activate slidev skill (built-in, cùng context) cho Slidev Markdown generation + PDF export.
Output Folder Structure
Má»i lần tạo presentation, output ÄÆ°á»£c lưu trong folder có cấu trúc:
output/
âââ {slug}-{YYMMDD-HHmm}/
âââ outline.md
âââ content-map.md
âââ coverage-report.md
âââ research-notes.md
âââ slides/
âââ {slug}-{theme-name}/ # Slidev project
âââ package.json
âââ slides.md
âââ dist/ # After export (gitignored)
âââ {slug}.pdf
Naming rules:
-
{slug}: kebab-case từ topic chÃnh (max 30 chars) -
{YYMMDD-HHmm}: timestamp lúc tạo folder -
{theme-name}: tên Slidev theme Äã chá»n (VD: default, seriph, apple-basic) -
Khi reuse outline Äá» generate thêm slide má»i, folder má»i ÄÆ°á»£c thêm và o
slides/cá»§a folder Äã có
Step 0: Detect Mode (New / Reuse)
-
Kiá»m tra input từ user:
-
Nếu user chá» và o folder output Äã có (chứa
outline.md) â Reuse mode -
Nếu user cung cấp ná»i dung má»i (text, file path) â New mode
-
Nếu user nói “dùng lại outline”, “reuse”, “tạo thêm slide” + chá» folder â Reuse mode
-
-
Reuse mode â nhảy thẳng tá»i Step 2.5 (skip Step 1 & 2)
-
New mode â tiếp tục Step 1
Step 1: Tiếp nháºn ná»i dung & Cấu hình
- Äá»c input từ user: text trá»±c tiếp hoặc file path (.md, .txt, .pdf)
- Nếu input là file path, Äá»c ná»i dung file
- Phân tÃch sÆ¡ bá»: topic, length, complexity
- Há»i user bằng AskUserQuestion (4 câu há»i trong 1 lần):
Câu há»i 1 – Loại ná»i dung (header: “Content type”):
-
“Hưá»ng dẫn/Giáo dục” – Giải thÃch khái niá»m, tutorial, hưá»ng dẫn há»c (Gagné + scaffolding)
-
“Business/Báo cáo” – Phân tÃch, Äá» xuất, báo cáo kết quả (Pyramid Principle)
-
“Thuyết phục/Pitch” – Bán ý tưá»ng, pitch sản phẩm, proposal (PAS + Sparkline)
-
“Technical/Process” – Quy trình, kiến trúc, há» thá»ng, so sánh kỹ thuáºt (SCR + step-by-step)
Câu há»i 2 – Mức Äá» chi tiết (header: “Detail level”):
-
“L1 – Tá»ng quan” – ChỠý chÃnh, bullet ngắn gá»n (5+ slides)
-
“L2 – Cân bằng” – à chÃnh + giải thÃch + và dụ minh há»a (10+ slides)
-
“L3 – Chi tiết” – Äầy Äá»§ ná»i dung, deep dive, code examples (18+ slides)
Câu há»i 3 – Ngôn ngữ (header: “Language”):
-
“Tiếng Viá»t” – Toà n bá» ná»i dung tiếng Viá»t (Recommended)
-
“English” – Toà n bá» ná»i dung tiếng Anh
-
“Song ngữ” – Title tiếng Anh, body tiếng Viá»t (phù hợp technical/academic)
Câu há»i 4 – Research bá» sung (header: “Research”):
-
“Chá» dùng source” – Tạo slide 100% từ ná»i dung Äầu và o, không tìm thêm
-
“Research thêm” – Tìm thêm data, statistics, examples từ web Äá» bá» sung slide
-
“Auto” – Tá»± Äá»ng: research nếu source Ãt thông tin (<500 words hoặc thiếu data/metrics), skip nếu Äá»§
Logic Äánh dấu Recommended cho câu há»i 4:
-
Nếu source < 500 words HOẶC source chá» có bullet points không context HOẶC thiếu data/metrics/examples â Äánh dấu “Research thêm” là (Recommended)
-
Nếu source >= 500 words Và có Äầy Äá»§ data/context â Äánh dấu “Chá» dùng source” là (Recommended)
Step 1.5: Research bá» sung (Optional)
Chạy sau Step 1, trưá»c Step 2. Quyết Äá»nh dá»±a trên câu há»i 4 á» Step 1.
Khi nà o chạy:
-
User chá»n “Research thêm” â luôn chạy
-
User chá»n “Auto” â chạy NẾU source < 500 words HOẶC source thiếu data/metrics/examples cụ thá»
-
User chá»n “Chá» dùng source” â SKIP hoà n toà n, nhảy tá»i Step 2
Process:
-
Extract 3-5 topic keywords từ source input (dá»±a trên content type Äã chá»n)
-
Tạo 2-3 search queries phù hợp:
-
Query 1:
"{topic chÃnh}" statistics data {nÄm hiá»n tại}(tìm sá» liá»u má»i nhất) -
Query 2:
"{topic chÃnh}" trends insights(tìm xu hưá»ng, insights) -
Query 3:
"{topic chÃnh}" examples best practices(tìm và dụ, case studies)
-
-
Chạy WebSearch cho má»i query
-
Extract findings relevant: statistics, data points, examples, quotes, trends
-
Lưu kết quả và o
{output_folder}/research-notes.mdtheo format:
# Research Notes â [Topic]
## Search Queries
1. [query 1]
2. [query 2]
3. [query 3]
## Findings
### Statistics & Data
- [stat 1] â Source: [url/name]
- [stat 2] â Source: [url/name]
### Trends & Insights
- [insight 1]
- [insight 2]
### Examples & Case Studies
- [example 1]
- [example 2]
## Selected for Slides
Items below sẽ ÄÆ°á»£c ÄÆ°a và o Content Map vá»i tag [R]:
1. [item] â lý do chá»n
2. [item] â lý do chá»n
- Append selected items và o Content Map (Step 2) vá»i prefix
[R]Äá» phân biá»t source gá»c vs researched - Thông báo user: “Research xong: tìm thấy X data points, Y insights. Äã lưu tại research-notes.md”
Quy tắc research:
-
Chá» lấy thông tin factual, có nguá»n rõ rà ng
-
Ưu tiên: sá» liá»u cụ thá» > xu hưá»ng > và dụ > quotes
-
KHÃNG thay thế ná»i dung source, chá» Bá» SUNG
-
Max 10 items ÄÆ°a và o Content Map (tránh overwhelming)
-
Research items trong outline phải ghi rõ “(Nguá»n: research)” trong speaker notes hoặc content
Visual Patterns per Content Type
Khi tạo slides, áp dụng visual patterns phù hợp vá»i content type Äã chá»n:
| Content Type | Visual Patterns | Recommended Slide Types |
|---|---|---|
| Hưá»ng dẫn/Giáo dục | Numbered step indicators, before/after comparison, warm decorations | content, comparison, statement (cho key concepts) |
| Business/Báo cáo | Accent bars, data callout slides, conservative decorations | content, metric (cho KPIs), comparison, summary |
| Thuyết phục/Pitch | Bold statement slides, high contrast, CTA emphasis | statement (30%+), metric, content, cta |
| Technical/Process | Code blocks, process flow indicators, comparison tables | content, comparison, code, transition |
Auto Theme Recommendation
Dá»±a trên content type, gợi ý Slidev theme (user có quyá»n chá»n khác hoặc nháºp tên theme bất kỳ):
| Content Type | Primary Recommendation | Secondary |
|---|---|---|
| Hưá»ng dẫn/Giáo dục | seriph | default |
| Business/Báo cáo | default | apple-basic |
| Thuyết phục/Pitch | apple-basic | seriph |
| Technical/Process | default | seriph |
Slidev Theme List
Danh sách themes chÃnh thức và community phá» biến, hiá»n thá» cho user khi chá»n:
Official themes:
| Theme | Package | Mô tả |
|---|---|---|
default |
@slidev/theme-default |
Minimalist, light/dark |
seriph |
@slidev/theme-seriph |
Serif-based formal, light/dark |
apple-basic |
@slidev/theme-apple-basic |
Keynote-inspired, light/dark |
bricks |
@slidev/theme-bricks |
Playful blocks, light |
shibainu |
@slidev/theme-shibainu |
Cute dark theme |
Community themes (phỠbiến):
| Theme | Package | Mô tả |
|---|---|---|
geist |
slidev-theme-geist |
Vercel design system, light/dark |
academic |
slidev-theme-academic |
Formal academic, light/dark |
dracula |
slidev-theme-dracula |
Vibrant dark theme |
User cÅ©ng có thá» nháºp tên bất kỳ Slidev theme từ npm.
Step 2: Phân tÃch ná»i dung & Tạo outline (New mode)
-
Tạo output folder:
output/{slug}-{YYMMDD-HHmm}/và subfolderslides/ -
Äá»c
references/outline-rules.md(relative to this skill folder) Äá» nắm quy tắc outline -
Ãp dụng framework tương ứng vá»i content type Äã chá»n á» Step 1 (xem Content Type â Framework Mapping trong outline-rules.md)
-
Content Map (xem “Content Map Rules” trong outline-rules.md):
-
Parse source â extract topics â assign priority (
must/should/nice) theo detail level -
Nếu Step 1.5 Äã chạy â append research items và o Content Map vá»i prefix
[R](xem outline-rules.md) -
Lưu Content Map ra file
{output_folder}/content-map.md
-
-
Phân tÃch ná»i dung theo detail level Äã chá»n (xem Detail Level Mapping + Content Selection Criteria trong outline-rules.md)
-
Tạo outline theo cấu trúc bắt buá»c: Opening > Body > Closing. Cross-check vá»i Content Map: má»i
musttopics phải xuất hiá»n,should/nicetheo threshold -
Lưu outline ra file
{output_folder}/outline.mdvá»i metadata header (xem Outline File Format trong outline-rules.md) -
Hiá»n thá» outline cho user review (numbered list vá»i slide titles + brief content description)
-
Coverage Report (xem “Coverage Report Rules” trong outline-rules.md):
-
Generate file
{output_folder}/coverage-report.mdmapping source topics â slides + omission justification -
Thông báo cho user: tóm tắt 1 dòng coverage % + mention report file path
-
-
Feedback loop: Há»i user “Outline OK? Bạn có muá»n chá»nh sá»a gì không?” bằng AskUserQuestion (header: “Outline review”):
-
“OK, tiếp tục” – Chấp nháºn outline, chuyá»n sang chá»n theme
-
“Chá»nh sá»a” – User sẽ mô tả thay Äá»i â cáºp nháºt outline file + re-check coverage â show lại â há»i lại
Step 2.5: Reuse mode (khi Äã có outline)
- Äá»c
{output_folder}/outline.mdâ parse metadata header Äá» lấy: content_type, detail_level, language, slug - Hiá»n thá» tóm tắt cho user: “Reuse outline: {title}, {detail_level}, {language}, {N} slides”
- Tiếp tục chá»n theme á» Step 2.6
Step 2.6: Chá»n Slidev theme (cả New và Reuse mode)
- Hiá»n thá» bảng Slidev Theme List (xem section á» trên)
- Kiá»m tra
{output_folder}/slides/xem Äã có Slidev project folder nà o chưa â show user “(Äã tạo)” bên cạnh theme Äã dùng - Há»i user bằng AskUserQuestion (header: “Theme”): “Chá»n Slidev theme:” + Äánh dấu recommended theme dá»±a trên bảng Auto Theme Recommendation + cho phép nháºp tên theme khác qua “Other”
Step 3: Tạo slide (Slidev)
-
Xác Äá»nh theme package name:
-
Official themes:
@slidev/theme-{name}(VD:@slidev/theme-seriph) -
Community themes:
slidev-theme-{name}(VD:slidev-theme-geist) -
Nếu user nháºp custom name â dùng nguyên tên
-
-
Äá»c
references/slide-templates.md(relative to this skill folder) Äá» nắm Slidev Markdown patterns cho từng slide type -
Äá»c outline từ
{output_folder}/outline.md(nếu Reuse mode) hoặc từ context (nếu vừa tạo) -
Activate
slidevskill trong cùng agent context. Cung cấp:-
Headmatter config:
theme: { theme-name } fonts: sans: Tahoma serif: Arial mono: Fira Code provider: none -
Layout mapping table cho má»i slide type:
Slide Type Slidev Layout title cover agenda default content default comparison two-cols-header summary default cta end transition section statement statement metric fact code default -
Ná»i dung từng slide theo outline (title, body content, slide type â layout)
-
Slidev Markdown templates từ
references/slide-templates.md -
Vietnamese fonts requirement:
Tahoma, Arial, sans-serifqua fonts config -
Output path:
{output_folder}/slides/{slug}-{theme-name}/
-
-
Slidev skill tạo Slidev project:
-
package.json:{ "name": "{slug}-{theme-name}", "private": true, "scripts": { "dev": "slidev", "build": "slidev build", "export": "slidev export --output dist/{slug}.pdf --timeout 60000" }, "dependencies": { "@slidev/cli": "latest", "{theme-package}": "latest" }, "devDependencies": { "playwright-chromium": "latest" } } -
slides.md: Headmatter + all slides theo Slidev Markdown format
-
-
Install dependencies:
pnpm installtrong Slidev project folder -
Export PDF:
npx slidev export --output dist/{slug}.pdf --timeout 60000 -
Thông báo output:
-
Slidev project path
-
PDF path (nếu export thà nh công)
-
Output folder path (nhắc user có thỠreuse outline:
/proslide+ chá» folder path) -
Hưá»ng dẫn:
cd {project-path} && pnpm devÄá» xem slides trong browser
-
Slidev Constraints (CRITICAL)
Khi activate slidev skill, PHẢI tuân thủ các constraints sau:
-
Vietnamese fonts: Dùng
Tahoma, Arial, sans-serifqua fonts config trong headmatter vá»iprovider: none(system fonts, không fetch từ Google Fonts). KHÃNG dùng Impact, Courier New (Vietnamese rendering kém) -
Text-only: Không dùng image layouts, không embed images. ChỠtext, bullets, code blocks
-
Speaker notes: Dùng HTML comments
<!-- notes -->sau content má»i slide -
Code blocks: Dùng native Markdown fenced blocks vá»i language tag (
python,javascript, etc.). Slidev tá»± Äá»ng syntax highlight. Max 10-15 dòng/slide. Dùng line highlighting{2,3}Äá» nhấn mạnh dòng quan trá»ng, hoặc click-based highlighting{1|3-4|all}Äá» walkthrough từng phần (xem templates trongreferences/slide-templates.md) -
Nested lists: Slidev Markdown há» trợ nested lists tá»t (indent 2 spaces). Dùng thoải mái cho L2/L3 sub-bullets
-
Max content per slide: Tuân theo rules từ
outline-rules.md:-
L1: 2-3 bullets, <8 words/bullet
-
L2: 3-5 bullets + 1-2 sub-bullets
-
L3: 3-5 bullets + 2-3 sub-bullets, max 100 words/slide
-
-
Slide separator: Dùng
---giữa các slides (Slidev convention) -
Layout front matter: Má»i slide PHẢI có layout specification trong front matter block
-
Projector contrast: Äảm bảo text/background contrast ratio >= 4.5:1 (WCAG AA). Theme Äã chá»n sẽ handle phần lá»n, nhưng vẫn cần verify
Important Notes
-
ChỠtạo text-only slides, không hình ảnh
-
Vietnamese fonts:
Tahoma, Arial, sans-serif(qua Slidev fonts config,provider: none) -
Chi tiết quy tắc outline: xem
references/outline-rules.md -
Slidev Markdown templates cho slide types: xem
references/slide-templates.md -
Theme do user chá»n từ Slidev ecosystem, không cần custom CSS
-
Slidev project có thỠchạy local bằng
pnpm devÄá» preview slides trong browser -
PDF export dùng Playwright (cần
playwright-chromiumdependency)