Pular para o conteúdo
Skillpedia
Apps de celular48 mil · #3054

frontend-mobile-development-component-scaffold

Faz seu agente criar componentes para aplicativos de celular e web. Ele já inclui código para acessibilidade, testes e boa aparência.

O que ela faz

Este agente de IA ajuda a criar blocos de código (componentes) para sites e aplicativos feitos com React e React Native. Ele gera o código básico, incluindo estilos, testes e documentação, seguindo boas práticas.

Quando usar

  • ✓Ao iniciar um novo componente em React ou React Native.
  • ✓Quando você precisa de um ponto de partida com estrutura completa.
  • ✓Para garantir que o componente siga padrões de qualidade e acessibilidade.

Exemplo do que pedir para a IA

“Crie um botão para login em React Native com TypeScript, que receba um texto e uma função para chamar quando clicado.”

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/frontend-mobile-development-component-scaffold/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/frontend-mobile-development-component-scaffold/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você descreve o componente que deseja (nome, tipo, propriedades, etc.). A IA analisa sua descrição e gera o código necessário, incluindo a estrutura, estilos, testes e documentação.

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 frontend-mobile-development-component-scaffold

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/frontend-mobile-development-component-scaffold/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.

Estrutura de Componentes React/React Native

Você é um especialista em arquitetura de componentes React, especializado em criar componentes prontos para produção, acessíveis e de alta performance. Gere implementações completas de componentes com TypeScript, testes, estilos e documentação, seguindo as melhores práticas modernas.

Use esta habilidade quando

  • Trabalhar em tarefas ou fluxos de trabalho de estruturação de componentes React/React Native
  • Precisar de orientação, melhores práticas ou checklists para estruturação de componentes React/React Native

Não use esta habilidade quando

  • A tarefa não estiver relacionada à estruturação de componentes React/React Native
  • Você precisar de um domínio ou ferramenta diferente fora deste escopo

Contexto

O usuário precisa de uma estruturação automatizada de componentes que crie componentes React consistentes e com tipagem segura, com estrutura adequada, hooks, estilização, acessibilidade e cobertura de testes. O foco é em padrões reutilizáveis e arquitetura escalável.

Requisitos

$ARGUMENTS

Instruções

1. Analisar Requisitos do Componente

interface ComponentSpec {
  name: string;
  type: 'functional' | 'page' | 'layout' | 'form' | 'data-display';
  props: PropDefinition[];
  state?: StateDefinition[];
  hooks?: string[];
  styling: 'css-modules' | 'styled-components' | 'tailwind';
  platform: 'web' | 'native' | 'universal';
}

interface PropDefinition {
  name: string;
  type: string;
  required: boolean;
  defaultValue?: any;
  description: string;
}

class ComponentAnalyzer {
  parseRequirements(input: string): ComponentSpec {
    // Extract component specifications from user input
    return {
      name: this.extractName(input),
      type: this.inferType(input),
      props: this.extractProps(input),
      state: this.extractState(input),
      hooks: this.identifyHooks(input),
      styling: this.detectStylingApproach(),
      platform: this.detectPlatform()
    };
  }
}

2. Gerar Componente React

interface GeneratorOptions {
  typescript: boolean;
  testing: boolean;
  storybook: boolean;
  accessibility: boolean;
}

class ReactComponentGenerator {
  generate(spec: ComponentSpec, options: GeneratorOptions): ComponentFiles {
    return {
      component: this.generateComponent(spec, options),
      types: options.typescript ? this.generateTypes(spec) : null,
      styles: this.generateStyles(spec),
      tests: options.testing ? this.generateTests(spec) : null,
      stories: options.storybook ? this.generateStories(spec) : null,
      index: this.generateIndex(spec)
    };
  }

  generateComponent(spec: ComponentSpec, options: GeneratorOptions): string {
    const imports = this.generateImports(spec, options);
    const types = options.typescript ? this.generatePropTypes(spec) : '';
    const component = this.generateComponentBody(spec, options);
    const exports = this.generateExports(spec);

    return `${imports}\n\n${types}\n\n${component}\n\n${exports}`;
  }

  generateImports(spec: ComponentSpec, options: GeneratorOptions): string {
    const imports = ["import React, { useState, useEffect } from 'react';"];

    if (spec.styling === 'css-modules') {
      imports.push(`import styles from './${spec.name}.module.css';`);
    } else if (spec.styling === 'styled-components') {
      imports.push("import styled from 'styled-components';");
    }

    if (options.accessibility) {
      imports.push("import { useA11y } from '@/hooks/useA11y';");
    }

    return imports.join('\n');
  }

  generatePropTypes(spec: ComponentSpec): string {
    const props = spec.props.map(p => {
      const optional = p.required ? '' : '?';
      const comment = p.description ? `  /** ${p.description} */\n` : '';
      return `${comment}  ${p.name}${optional}: ${p.type};`;
    }).join('\n');

    return `export interface ${spec.name}Props {\n${props}\n}`;
  }

  generateComponentBody(spec: ComponentSpec, options: GeneratorOptions): string {
    const propsType = options.typescript ? `: React.FC<${spec.name}Props>` : '';
    const destructuredProps = spec.props.map(p => p.name).join(', ');

    let body = `export const ${spec.name}${propsType} = ({ ${destructuredProps} }) => {\n`;

    // Add state hooks
    if (spec.state) {
      body += spec.state.map(s =>
        `  const [${s.name}, set${this.capitalize(s.name)}] = useState${options.typescript ? `<${s.type}>` : ''}(${s.initial});\n`
      ).join('');
      body += '\n';
    }

    // Add effects
    if (spec.hooks?.includes('useEffect')) {
      body += `  useEffect(() => {\n`;

…
Perguntas frequentes

O que são 'componentes' em React/React Native?

Componentes são como blocos de construção reutilizáveis para criar interfaces de usuário em sites e aplicativos. Eles encapsulam a aparência e o comportamento de uma parte da tela.

O que significa 'scaffolding'?

Scaffolding é o processo de gerar a estrutura básica e os arquivos iniciais para um novo projeto ou componente, economizando tempo e garantindo consistência.

O que é TypeScript?

TypeScript é uma linguagem de programação que adiciona verificações extras ao JavaScript, ajudando a encontrar erros antes que o código seja executado e tornando-o mais robusto.

Detalhes

Descrição original do autor

Scaffold React and React Native components with TypeScript, accessibility, tests, styles, and documentation.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas