npx claudepluginhub vinnie357/claude-skills --plugin slidevThis skill uses the workspace's default tool permissions.
Brand discovery, theme generation, and style validation for Slidev presentations.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Brand discovery, theme generation, and style validation for Slidev presentations.
Activate when:
The full brand discovery workflow has four stages:
browser_evaluateFor step-by-step Playwright extraction details, see references/discovery-pipeline.md.
For theme generation details, see references/theme-generation.md.
For validation details, see references/validation-checklist.md.
Use these tools during brand extraction:
| Tool | Purpose |
|---|---|
browser_navigate | Open the brand site URL |
browser_evaluate | Run JavaScript to extract CSS vars and computed styles |
browser_take_screenshot | Capture rendered slides or pages for visual validation |
browser_snapshot | Get accessibility tree snapshot for structural inspection |
browser_close | Close the browser session when extraction is complete |
Always call browser_close after extraction to release resources.
Produce a brand config JSON object after extraction. All fields are optional; populate what is available.
{
"colors": {
"primary": "#hex",
"secondary": "#hex",
"accent": "#hex",
"background": "#hex",
"text": "#hex",
"error": "#hex",
"success": "#hex"
},
"fonts": {
"heading": "Font Name",
"body": "Font Name",
"code": "Monospace Font"
},
"spacing": {
"slide-padding": "value",
"section-gap": "value"
},
"logo": {
"url": "path/to/logo",
"position": "top-left|top-right"
}
}
Save the brand config as brand-config.json in the project root before proceeding to theme generation.
Convert the brand config to a Slidev theme by:
styles/index.css with CSS custom properties mapped from brand config colors and spacinguno.config.ts (or vite.config.ts) with brand colors and font stacksstyles/index.css or placing font files in public/fonts/components/Logo.vue component for logo placementFor complete theme generation with code examples, see references/theme-generation.md.
After applying a theme, validate compliance by:
browser_take_screenshotbrowser_evaluateWCAG 2.1 AA requirements (per core:accessibility):
For the full validation workflow and automated checks, see references/validation-checklist.md.
When no website is available, gather brand information using this questionnaire:
Brand Color Questionnaire
--------------------------
1. Primary brand color (main CTA, headings): ___
2. Secondary brand color (accents, highlights): ___
3. Background color (slides): ___
4. Body text color: ___
5. Accent/success color (callouts): ___
6. Error/warning color: ___
Font Questionnaire
------------------
7. Heading font (name and weight): ___
8. Body text font: ___
9. Code/monospace font: ___
10. Are fonts hosted on Google Fonts, or do you have local files?
Spacing Questionnaire
---------------------
11. Slide padding (distance from edge to content): ___
12. Gap between major sections: ___
Logo Questionnaire
------------------
13. Logo file URL or local path: ___
14. Logo placement: top-left / top-right / none
Populate the brand config JSON from questionnaire answers, then proceed to theme generation.
Load core:accessibility when:
Key WCAG requirements that apply to slide presentations:
A self-contained brand theme lives in a slidev-theme-brand/ directory:
slidev-theme-brand/
├── package.json # Theme package with name "slidev-theme-brand"
├── styles/
│ └── index.css # CSS custom properties and base styles
├── uno.config.ts # UnoCSS theme extensions and shortcuts
└── components/
└── Logo.vue # Global logo component for all slides
Reference the theme from the presentation frontmatter:
---
theme: ./slidev-theme-brand
---
references/discovery-pipeline.md — Step-by-step Playwright MCP extraction workflow with JavaScript snippetsreferences/theme-generation.md — Converting brand config to UnoCSS theme and CSS variablesreferences/validation-checklist.md — Contrast validation, font verification, and compliance checklist