generate-style-learn

Extract reusable style palettes from PPTX, DOCX, and web artifacts into JSON.

Updated May 27, 2026
One-click install
npx skills add https://github.com/jokerman89/lintel --skill generate-style-learn-jokerman89
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: generate-style-learn
Source: https://github.com/jokerman89/lintel/tree/main/skills/generate-style-learn
Command: npx skills add https://github.com/jokerman89/lintel --skill generate-style-learn-jokerman89

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-pptx, python-docx.

What problem does it solve? Manually reverse-engineering a customer's brand style from their decks and documents is slow and inconsistent. This Skill analyzes existing PPTX, DOCX, and web artifacts and extracts a reusable style palette (colors, fonts, layout distribution, visual patterns) so future document generation matches the source brand without hand-curating design tokens. ## Core Features & Use Cases - Multi-format extraction: Parses PPTX (via python-pptx or pptx-genjs), DOCX (via python-docx or docx-templater), and HTML/CSS (via :root variables and computed styles) with auto-detection by file extension. - Structured palette output: Classifies colors into primary/secondary/accent/text/background roles using the 60-30-10 rule, captures heading and body fonts, layout distribution, and visual patterns like logo position and bullet style. - Dual output artifacts: Writes a machine-readable palette JSON plus a human-readable STYLE.md summary to ~/.lintel/brand/palettes/ for downstream generation runs. - Use Case: A customer sends their brand deck. Run the skill on the deck to produce a 'customer-A' palette, then pass --palette customer-A to future document generation so reports match the customer's branding. ## Quick Start Ask the agent to extract a style palette from your brand deck by running generate-style-learn on deck1.pptx with the palette name customer-A.

Frequently Asked Questions about generate-style-learn

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract a color palette from a PowerPoint deck?▼

Run the skill with the PPTX file path and a --name slug for the palette. It opens the file via python-pptx or pptx-genjs, iterates theme colors and frequently used fills, and classifies them into primary, secondary, accent, text, and background roles using the 60-30-10 rule.

How to extract brand fonts and colors from a DOCX document?▼

Pass the .docx file as input and the skill reads theme colors from docDefaults and styles.xml via python-docx or docx-templater. It captures the heading and body font hierarchy, margins, line spacing, and header/footer styles into the palette JSON.

Can I extract a style palette from multiple files at once?▼

Yes, pass multiple artifact paths and the skill aggregates the extractions. Colors are unioned and reclassified into six roles, fonts use the most common heading and body, and layout distribution is a weighted average across all source files.

Does style extraction modify my source files?▼

No, extraction is strictly read-only. The skill never modifies input artifacts; it only writes new palette JSON and STYLE.md files to the output directory, defaulting to ~/.lintel/brand/palettes/.

What happens when source files have conflicting styles?▼

The skill surfaces a warning that sources do not agree and asks for confirmation before averaging. On aggregation conflict it defaults to the most recent file's style and flags the result with a warning rather than silently guessing.

When should I not use batch style extraction?▼

Avoid it for live style editing, since it is extraction rather than an editor, and for single color picks where a brand summary command is faster. It is designed for batch analysis of artifacts, not interactive or streaming workflows.