Communitygithub.com

HarryXC09/resume-portfolio-skill

Recria um site de portfólio interativo a partir do currículo, vídeos de ações e logotipos fornecidos pelo usuário. Ideal para baixar este projeto, coletar materiais, analisar o histórico, extrair textos bilíngues e substituir o conteúdo do modelo.

O que é resume-portfolio-skill?

Esta skill transforma materiais brutos (currículo, vídeos de ações e logotipos) em um site de portfólio pessoal interativo e responsivo, construído com React e animações GSAP. Ela automatiza o processo de extração de fatos do currículo, mapeamento de conteúdo para um modelo de documento Word, substituição de componentes e otimização de mídia. A skill é projetada para ser auto-contida, rodando localmente com Node.js e Python, sem depender de agentes externos, serviços em nuvem ou chaves de API. O fluxo de trabalho inclui verificação de materiais, extração de fatos, preenchimento de um arquivo DOCX de layout, processamento de vídeos com chroma key e construção de um site estático para visualização. Ela lida com pontos problemáticos comuns, como fatos ausentes, problemas de borda em chroma key e arquivos de mídia grandes, fornecendo falhas e métodos de compactação. O resultado final é um site de portfólio totalmente funcional e localizado, com suporte a conteúdo bilíngue (Chinês e Inglês), pronto para implantação em hospedagem estática.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add HarryXC09/resume-portfolio-skill

Perguntar na sua IA favorita

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

Documentação

Portfólio de Currículo – Recriação

Com este diretório como raiz do projeto, mantenha React, animações GSAP de rolagem, layout de cartões e design responsivo. Quando o usuário solicitar a criação de um site pessoal, primeiro verifique os materiais e, em seguida, complete todo o site com base no currículo real. Este repositório contém código-fonte executável e não requer agente específico, serviço em nuvem ou chave de API.

Primeira Etapa

  1. Leia references/materials.md e execute node scripts/intake.mjs. O script cria os diretórios de materiais fixos e informa os itens faltantes.
  2. Explique de uma vez, no idioma do usuário: currículo em inputs/resume/; vídeos de ações em inputs/videos/; fotos em inputs/photos/; logotipos da escola/empresa em inputs/logos/; modelos opcionais em inputs/models/. Dê as recomendações de enquadramento do guia de materiais, lembrando de iluminar o fundo verde de forma uniforme e evitar que a roupa da pessoa seja verde.
  3. Verifique os materiais enviados. Se o currículo estiver faltando, aguarde – não invente o histórico. Se faltarem alguns vídeos, analise primeiro o currículo e complete o texto; informe ao usuário quais blocos usarão fotos/trechos repetidos e quais materiais ainda precisam ser fornecidos. Diretórios vazios e imagens placeholder não contam como materiais do usuário.
  4. Leia references/adaptation.md e execute extração de fatos, mapeamento de texto, processamento de materiais, substituição de componentes e aceitação via navegador. Quando o usuário disser que os materiais estão prontos, execute o intake novamente – não pergunte repetidamente se deve continuar.
  5. Use template/resume-portfolio-content-template-general.docx como planilha de entrada de texto. Ele segue a formatação otimizada de tabela de quatro colunas do mantenedor; preencha primeiro identidade, Sobre, Educação/Experiência Profissional e Contato, depois preencha densamente modules[]. O modules[] na tabela Word não pressupõe um setor específico; o Agente deve escolher tipos como Experiência em Projetos, Portfólio Pessoal, Prêmios e Honrarias, Pesquisa, Artigos, Casos de Clientes ou Prática Profissional com base no CV. O rascunho inicial pode conter 3 módulos, com no máximo 4 entradas no primeiro módulo; reduza após confirmação manual. O repositório usa template/resume-portfolio-layout-source.docx como modelo de layout sem dados pessoais; para recriar uma versão de campo genérico, execute python scripts/adapt_user_word_template.py – não sobrescreva o arquivo de origem.

Fatos e Conteúdo

  • O currículo original é a fonte dos fatos da pessoa. Registre cada fato a ser publicado com o número da página/parágrafo original em work/facts.md; distinga entre cargo formal, fase de estudo, participação e liderança, publicado e em submissão. Em caso de conflitos ou datas incertas, pergunte apenas sobre os itens faltantes que afetam a saída.
  • src/content/profile.js é a única entrada de dados para texto e mídia da página. A tabela Word é a entrada do usuário; profile.json é apenas um artefato intermediário de conversão e não deve ser mantido em paralelo com a página a longo prazo. Para recriação padrão, priorize a modificação desses dados; se a estrutura não se adequar, ajuste os componentes – não force seis habilidades ou quatro experiências.
  • Gere textos concisos em Chinês e traduções fiéis em Inglês; mantenha a direção profissional real da pessoa. Clinical, Research, Publication são apenas slots visuais do Demo original, não limites de setor. Para pessoas não acadêmicas, mapeie-os como Experiência em Projetos, Portfólio Pessoal, Prêmios e Honrarias, Casos de Clientes ou Prática Profissional, e atualize simultaneamente títulos, legendas e descrições de modelos; visuais genéricos de medicina/microscópio/tumor não devem ser interpretados como qualificações de novato.
  • As informações de contato externas devem ser fornecidas pelo usuário e especificadas como públicas; não publique telefone, data de nascimento, endereço ou documentos não especificados. O currículo original e os vídeos originais devem permanecer apenas em inputs, não copiados para public.

Materiais e Entrega

Use npm run media para processar os MP4s com chroma key numerados de 01 a 07; os parâmetros e mapeamento de enquadramento estão no guia de materiais. Após o processamento, verifique bordas, tom de pele e emendas de loop; os parâmetros do script são um ponto de partida, não uma garantia de qualidade para qualquer chroma key.

Execute sequencialmente npm ci, npm run intake, conversão do Word / mapeamento de conteúdo, npm run media, npm run build, npm run preview. Use ferramentas de navegador disponíveis para verificar desktop e celular, bilíngue, carrosséis, rolagem, vídeos transparentes e degradê sem modelo. Primeiro, implante a prévia em hospedagem estática ou endereço local acessível; o usuário clica para aceitar e solicitar alterações. As alterações devem retornar primeiro à tabela Word, depois sincronizar com profile e página. Somente após confirmação final explícita do usuário, execute a implantação oficial. Verifique a substituição com um perfil de novato realmente diferente; pesquise todos os nomes/instituições/contatos e textos placeholder – não declare a recriação concluída apenas com base no sucesso do build.

Ciclo Fechado Padronizado e Pontos Críticos

Após baixar o projeto, primeiro colete os materiais em inputs/, depois leia os fatos do currículo e preencha a tabela Word; após o processamento de materiais e mapeamento de texto, construa o site estático e forneça ao usuário um endereço de prévia; as sugestões de alteração do usuário retornam à tabela Word e são reconstruídas; finalmente, implante após confirmação explícita. O site estático não depende de servidor backend por padrão, mas vídeos, fontes e modelos 3D ainda afetam o tamanho do pacote, a velocidade de carregamento inicial e os limites de hospedagem.

Pontos críticos comuns incluem: extração incompleta de fatos devido a formato complexo do currículo, vazamento de borda do chroma key, logotipos sem licença pública, vídeos ou GLBs muito grandes, agentes sem biblioteca de análise DOCX, hospedagem estática incapaz de lidar com arquivos grandes ou fallback SPA. As soluções são: manter índice de fatos com página/parágrafo, usar fotos como fallback primeiro, registrar fonte dos materiais, compactar WebM/GLB, usar scripts/word_to_profile.py e Python empacotado, colocar materiais grandes em armazenamento de objetos ou CDN estático, e fazer aceitação real no navegador após cada build.

Entregue prévia local, código-fonte completo do site, índice de uso de materiais e resultados de aceitação. Por padrão, não faça upload de novos materiais do usuário nem implante automaticamente. Publique ou faça upload seguindo a autorização atual do usuário. Blocos placeholder devido a materiais ausentes devem ser claramente listados.

Habilidades Relacionadas