| name | pressless |
| description | PressLess — AI static site generator. Crea siti statici da design di riferimento. Usa /figma e /site-ripper per estrarre design system. |
| argument-hint | [domain] [url-riferimento...] [mood] |
| disable-model-invocation | true |
| requires | {"capabilities":["playwright"]} |
PressLess — Static Site Generator
Input: $ARGUMENTS
Cosa fa
Genera siti statici belli e performanti analizzando design di riferimento e creando 3 varianti. Usa le skill /figma e /site-ripper per estrarre i design system.
Workflow
1. Input
Servono:
- Domain/progetto — per naming cartelle/repo
- Riferimenti — URL Figma, URL siti web, o descrizione mood
- Mood — "professional minimalist", "playful modern", "elegant corporate"
2. Design Extraction
In base al tipo di riferimento:
- URL Figma → invoca
/figma {url} pressless
- URL sito web → invoca
/site-ripper {url}
- Solo mood → usa design system predefinito (vedi sotto)
3. Output Mode
Determina dove mettere il sito:
from pathlib import Path
import os
has_public = Path("public/").is_dir() and os.access("public/", os.W_OK)
has_github = bool(os.getenv("GITHUB_TOKEN"))
- Se
public/ disponibile → public/pressless/{slug}/
- Se GitHub disponibile → repo
pressless-{slug}, 3 branch
- Se entrambi → chiedi all'utente
- Se nessuno → spiega le opzioni
4. Variant Generation
Genera esattamente 3 varianti HTML/CSS:
- Semantic HTML5 (header, nav, main, section, article, footer)
- CSS moderno (Grid, Flexbox, custom properties)
- Responsive mobile-first
- Codice pulito e commentato
Output public/:
public/pressless/{slug}/
├── variant-1/index.html
├── variant-2/index.html
├── variant-3/index.html
└── assets/
Output GitHub:
Repository: pressless-{slug}
├── branch: variant-1 → GitHub Pages URL
├── branch: variant-2 → GitHub Pages URL
└── branch: variant-3 → GitHub Pages URL
Design System predefiniti
Font Combinations:
- Serif Elegant: Crimson Pro + Work Sans
- Serif Luxury: Playfair Display + Source Sans 3
- Sans Modern: Space Grotesk + Public Sans
- Sans Friendly: Syne + Quicksand
- Sans Bold: Unbounded + Karla
- Mono Tech: JetBrains Mono + Nunito
Color Palettes:
- Deep Ocean: #0a1628 bg, #e8f0ff text, #00d9ff accent
- Industrial Mono: #0f0f0f bg, #f0f0f0 text, #ffd700 accent
- Cyber Neon: #0d0221 bg, #f0e7ff text, #00ff88 + #ff00ff accent
Grid Layouts:
- Asymmetric Hero (40/60 split)
- Masonry Cards (auto-fit, variable heights)
- Sidebar Inverse (240px left)
- Swiss Grid, Magazine Layout, Diagonal Split
Management Mode (siti esistenti)
Quando aggiorni un sito PressLess esistente:
- Detecta se in
public/pressless/ o su GitHub
- Analizza struttura, design system, contenuti
- Applica modifiche (content, design, nuove pagine)
- Mantieni consistenza con il design esistente
Regole
- NEVER use emoji nel codice HTML generato — ALWAYS inline SVG per icone
- No CDN per icone — no Font Awesome, no Material Icons, solo SVG inline
- Asset in storage/ durante l'estrazione, in
assets/ nel sito finale
- HTML self-contained — CSS inline, Google Fonts via CDN OK
- Nomi kebab-case minuscolo
- File principale = index.html
- Cross-browser — modern browsers, graceful degradation
- Performance — lazy-load images, CSS efficiente
Esempi
/pressless mio-sito https://example.com https://altro.com mood: minimal dark
/pressless portfolio figma:https://figma.com/design/ABC123/My-Design
/pressless landing-page mood: playful modern, colori caldi