Communitygithub.com

frontend-slides

Crie apresentações HTML impressionantes e ricas em animação do zero ou convertendo arquivos PowerPoint. Use quando o usuário quiser construir uma apresentação, converter um PPT/PPTX para web ou criar slides para uma palestra/pitch. Ajuda não-designers a descobrirem sua estética através da exploração visual, em vez de escolhas abstratas.

O que é frontend-slides?

A habilidade **frontend-slides** capacita o agente a criar apresentações HTML autossuficientes, sem dependências, ricas em animação e que rodam inteiramente no navegador. Inspirada pela abordagem de exploração visual, ela é ideal para palestras, pitches, workshops e conversões de PowerPoint. O fluxo de trabalho prioriza a descoberta visual do estilo: quando o usuário não tem preferência de design definida, o agente gera até três prévias de slide para explorar opções de tipografia, cor e movimento. A habilidade impõe requisitos rigorosos de qualidade, como garantir que cada slide se ajuste perfeitamente à viewport (sem rolagem interna), usar CSS responsivo com `clamp()` e incluir navegação por teclado, toque e roda do mouse. Também suporta conversão de PPT/PPTX via `python-pptx`, preservando notas do apresentador e ativos extraídos. O resultado final é um arquivo HTML único, comentado, acessível e performático, com suporte a `prefers-reduced-motion`. É compatível com qualquer editor de código ou terminal que permita ao agente executar comandos e gerar arquivos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/frontend-slides

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Frontend Slides

Crie apresentações HTML sem dependências, ricas em animação, que rodam inteiramente no navegador.

Inspirado pela abordagem de exploração visual apresentada no trabalho de zarazhangrui (crédito: @zarazhangrui).

Quando Ativar

  • Criando um deck de palestra, pitch, workshop ou apresentação interna
  • Convertendo slides .ppt ou .pptx em uma apresentação HTML
  • Melhorando o layout, movimento ou tipografia de uma apresentação HTML existente
  • Explorando estilos de apresentação com um usuário que ainda não sabe sua preferência de design

Inegociáveis

  1. Zero dependências: padrão é um único arquivo HTML autocontido com CSS e JS inline.
  2. Ajuste à viewport é obrigatório: cada slide deve caber exatamente em uma viewport, sem rolagem interna.
  3. Mostre, não conte: use prévias visuais em vez de questionários abstratos de estilo.
  4. Design distinto: evite decks genéricos com gradiente roxo, Inter sobre branco e aparência de template.
  5. Qualidade de produção: mantenha o código comentado, acessível, responsivo e performático.

Antes de gerar, leia STYLE_PRESETS.md para a base CSS segura para viewport, limites de densidade, catálogo de presets e pegadinhas de CSS.

Fluxo de Trabalho

1. Detectar Modo

Escolha um caminho:

  • Nova apresentação: o usuário tem um tópico, anotações ou um rascunho completo
  • Conversão de PPT: o usuário tem .ppt ou .pptx
  • Melhoria: o usuário já tem slides HTML e deseja melhorias

2. Descobrir Conteúdo

Pergunte apenas o mínimo necessário:

  • propósito: pitch, ensino, palestra em conferência, atualização interna
  • duração: curta (5-10), média (10-20), longa (20+)
  • estado do conteúdo: texto finalizado, anotações brutas, apenas o tópico

Se o usuário tiver conteúdo, peça para colá-lo antes da estilização.

3. Descobrir Estilo

Padrão: exploração visual.

Se o usuário já souber o preset desejado, pule as prévias e use-o diretamente.

Caso contrário:

  1. Pergunte qual sensação o deck deve criar: impressionado, energizado, focado, inspirado.
  2. Gere 3 arquivos de prévia de slide único em .ecc-design/slide-previews/.
  3. Cada prévia deve ser autocontida, mostrar tipografia/cor/movimento claramente e ter menos de aproximadamente 100 linhas de conteúdo do slide.
  4. Pergunte ao usuário qual prévia manter ou quais elementos misturar.

Use o guia de presets em STYLE_PRESETS.md ao mapear humor para estilo.

4. Construir a Apresentação

Gere:

  • presentation.html
  • ou [nome-da-apresentacao].html

Use uma pasta assets/ somente quando o deck contiver imagens extraídas ou fornecidas pelo usuário.

Estrutura obrigatória:

  • seções semânticas de slide
  • uma base CSS segura para viewport de STYLE_PRESETS.md
  • propriedades customizadas CSS para valores de tema
  • uma classe controladora de apresentação para navegação por teclado, roda e toque
  • Intersection Observer para animações de revelação
  • suporte a movimento reduzido

5. Garantir Ajuste à Viewport

Trate isso como uma barreira rígida.

Regras:

  • cada .slide deve usar height: 100vh; height: 100dvh; overflow: hidden;
  • toda tipografia e espaçamento devem escalar com clamp()
  • quando o conteúdo não couber, divida em vários slides
  • nunca resolva overflow diminuindo o texto abaixo de tamanhos legíveis
  • nunca permita barras de rolagem dentro de um slide

Use os limites de densidade e o bloco CSS obrigatório em STYLE_PRESETS.md.

6. Validar

Verifique o deck finalizado nestes tamanhos:

  • 1920x1080
  • 1280x720
  • 768x1024
  • 375x667
  • 667x375

Se a automação do navegador estiver disponível, use-a para verificar se nenhum slide transborda e se a navegação por teclado funciona.

7. Entregar

Na entrega:

  • exclua os arquivos de prévia temporários, a menos que o usuário queira mantê-los
  • abra o deck com o abridor apropriado para a plataforma, quando útil
  • resuma o caminho do arquivo, o preset usado, a contagem de slides e os pontos fáceis de personalização do tema

Use o abridor correto para o SO atual:

  • macOS: open arquivo.html
  • Linux: xdg-open arquivo.html
  • Windows: start "" arquivo.html

Conversão de PPT / PPTX

Para conversão de PowerPoint:

  1. Prefira python3 com python-pptx para extrair texto, imagens e notas.
  2. Se python-pptx não estiver disponível, pergunte se deve instalá-lo ou recorrer a um fluxo manual/baseado em exportação.
  3. Preserve a ordem dos slides, notas do apresentador e ativos extraídos.
  4. Após a extração, execute o mesmo fluxo de seleção de estilo de uma nova apresentação.

Mantenha a conversão multiplataforma. Não dependa de ferramentas exclusivas do macOS quando o Python pode fazer o trabalho.

Requisitos de Implementação

HTML / CSS

  • Use CSS e JS inline, a menos que o usuário queira explicitamente um projeto com vários arquivos.
  • Fontes podem vir do Google Fonts ou Fontshare.
  • Prefira fundos atmosféricos, hierarquia tipográfica forte e uma direção visual clara.
  • Use formas abstratas, gradientes, grades, ruídos e geometria em vez de ilustrações.

JavaScript

Inclua:

  • navegação por teclado
  • navegação por toque / swipe
  • navegação por roda do mouse
  • indicador de progresso ou índice de slide
  • gatilhos de animação ao entrar na tela

Acessibilidade

  • use estrutura semântica (main, section, nav)
  • mantenha contraste legível
  • suporte navegação apenas por teclado
  • respeite prefers-reduced-motion

Limites de Densidade de Conteúdo

Use estes máximos, a menos que o usuário peça explicitamente slides mais densos e a legibilidade ainda se mantenha:

Tipo de slideLimite
Título1 título + 1 subtítulo + tagline opcional
Conteúdo1 título + 4-6 marcadores ou 2 parágrafos curtos
Grade de recursosMáximo de 6 cards
CódigoMáximo de 8-10 linhas
Citação1 citação + atribuição
Imagem1 imagem limitada pela viewport

Anti-Padrões

  • gradientes genéricos de startup sem identidade visual
  • decks com fontes do sistema, a menos que seja intencionalmente editorial
  • longas paredes de marcadores
  • blocos de código que precisam de rolagem
  • caixas de conteúdo com altura fixa que quebram em telas curtas
  • funções CSS negadas inválidas como -clamp(...)

Habilidades ECC Relacionadas

  • frontend-patterns para padrões de componente e interação ao redor do deck
  • liquid-glass-design quando uma apresentação pega emprestado intencionalmente a estética de vidro da Apple
  • e2e-testing se você precisar de verificação automatizada do navegador para o deck final

Lista de Verificação da Entrega

  • a apresentação roda a partir de um arquivo local no navegador
  • cada slide cabe na viewport sem rolagem
  • o estilo é distinto e intencional
  • a animação é significativa, não ruidosa
  • movimento reduzido é respeitado
  • caminhos de arquivo e pontos de personalização são explicados na entrega

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Habilidades Relacionadas