Pular para o conteúdo
Skillpedia
Interfaces (UI/UX)48 mil · #2770

card-based-design

Faz seu agente organizar informações em cartões. É ótimo para layouts parecidos com o Pinterest, com conteúdo dividido em pequenas partes.

O que ela faz

Este guia ensina como criar layouts com 'cartões' visuais, como os vistos no Pinterest. Cada cartão agrupa informações pequenas e distintas, como uma imagem, um título e uma descrição.

Quando usar

  • ✓Quando você quer organizar informações em blocos visuais fáceis de ler.
  • ✓Ao criar um feed de notícias ou uma galeria de produtos.
  • ✓Para apresentar conteúdo em pequenas porções, como em um aplicativo de receitas.

Exemplo do que pedir para a IA

“Como faço para criar um layout com cartões para exibir receitas?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/design-it/card-based-design/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/design-it/card-based-design/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O sistema organiza o conteúdo em caixas separadas (cartões) que se ajustam a diferentes tamanhos de tela. Cada cartão tem bordas arredondadas e uma sombra para se destacar.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill card-based-design

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/design-it/card-based-design/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Design Baseado em Cartões

"Consumo em pequenas porções. Encapsulando pedaços discretos de informação em recipientes visuais distintos."

Quando Usar

Use este sub-estilo quando a solicitação do usuário corresponder à estética descrita acima. Esta é uma referência filha da habilidade design-it e não deve ser acionada diretamente.

Princípios Fundamentais

  1. Encapsulamento: Cada cartão é autossuficiente. Ele tem uma imagem, um título, uma breve descrição e geralmente uma ação (como um botão ou um ícone de 'curtir').
  2. Fluxo Responsivo: Cartões se reorganizam facilmente em diferentes tamanhos de tela (de uma grade de 4 colunas no desktop para uma única coluna no mobile).
  3. Limites Claros: Cartões devem se destacar visualmente do fundo.

DNA Visual

  • Cores: Muito flexível. O fundo deve ser ligeiramente mais escuro ou distinto da cor do cartão. Neutro Sofisticado funciona bem para uma sensação premium.
  • Tipografia: Hierarquia clara dentro do cartão (Cabeçalho, Subcabeçalho, Corpo).
  • Estilização: border-radius: 8px padrão e uma sombra projetada média.

Implementação Web

  • CSS Grid com auto-fit ou um layout Masonry.
  • Exemplo de CSS:
body {
  background-color: #f0f2f5; /* Standard app background */
  padding: 40px;
}

.card-grid {
  display: grid;
  /* Auto-responsive magic */
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}

.card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden; /* Keep images inside the rounded corners */
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.card-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-bottom: 1px solid #eee;
}

.card-content {
  padding: 20px;
  flex-grow: 1; /* Pushes footer to the bottom */
}

.card-footer {
  padding: 16px 20px;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: space-between;
}

Implementação de Aplicativo

SwiftUI

struct ContentCard: View {
    var body: some View {
        VStack(alignment: .leading, spacing: 0) {
            // Image Area
            Rectangle()
                .fill(Color.gray.opacity(0.2))
                .frame(height: 160)
            
            // Content Area
            VStack(alignment: .leading, spacing: 8) {
                Text("Card Title")
                    .font(.headline)
                Text("A brief description of the content inside this discrete card container.")
                    .font(.subheadline)
                    .foregroundColor(.secondary)
                    .lineLimit(2)
            }
            .padding(16)
        }
        .background(Color.white)
        .cornerRadius(12)
        // Clean, subtle drop shadow
        .shadow(color: Color.black.opacity(0.08), radius: 12, x: 0, y: 4)
    }
}

// In your view:
// LazyVGrid(columns: [GridItem(.adaptive(minimum: 160), spacing: 16)]) { ... }
  • VStack dentro de um fundo com .cornerRadius e .shadow é o padrão.
  • Use LazyVGrid com .adaptive(minimum: 160) para criar automaticamente uma grade de cartões com várias colunas que flui perfeitamente no iPad ou iPhone.

Flutter

class ContentCard extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Card(
      elevation: 4, // Lida com a sombra nativamente
      shadowColor: Colors.black.withOpacity(0.4),
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
      clipBehavior: Clip.antiAlias, // Crítico: impede que imagens ultrapassem os cantos
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisSize: MainAxisSize.min,
        children: [
          // Área da Imagem
          Container(
            height: 160,
            color: Colors.grey[300],
            width: double.infinity,
          ),
          // Área de Conteúdo
          Padding(
            padding: const EdgeInsets.all(16.0),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: const [
                Text('Título do Cartão', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
                SizedBox(height: 8),
                Text(
                  'Uma breve descrição do conteúdo dentro deste recipiente de cartão discreto.',
                  style: TextStyle(color: Colors.black54),
                  maxLines: 2,

…
Perguntas frequentes

O que é um 'cartão'?

É uma caixa visual que contém um pedaço de informação, como uma imagem, título e texto curto. Pense nos posts do Pinterest.

Por que usar cartões?

Eles tornam o conteúdo mais organizado, fácil de escanear e visualmente atraente, adaptando-se bem a qualquer dispositivo.

Como os cartões se adaptam a diferentes telas?

Eles se reorganizam automaticamente, mostrando mais colunas em telas grandes e uma única coluna em telas pequenas como a do celular.

Detalhes

Descrição original do autor

Web and App implementation guide for Card-Based Design. Trigger when user wants information cards, Pinterest-style layouts, and bite-sized content containers.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2770
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas