Skill: Gerador de Homepage Acadêmica
Objetivo Principal
Fazer fork de um repositório template específico do GitHub Pages acadêmico, renomeá-lo e preenchê-lo com as informações acadêmicas pessoais do usuário extraídas da memória ou de dados fornecidos. O resultado final é uma homepage acadêmica totalmente configurada e personalizada, pronta para ser hospedada no GitHub Pages.
Fluxo de Trabalho Principal
A skill segue um fluxo de trabalho sequencial estrito para garantir uma implantação bem-sucedida. Desvios podem causar erros.
- Recuperar Dados Pessoais: Extrair o perfil acadêmico estruturado do usuário da memória usando
memory-read_graph. Esses dados são a única fonte de verdade para todas as atualizações de conteúdo. - Fazer Fork do Repositório Template: Usar
github-fork_repositoryno template alvo (ex.:academicpages/academicpages.github.io). - Identificar Conta do Usuário: Usar
github-get_mepara obter o nome de usuário do GitHub de quem está fazendo o fork. - Renomear Repositório: Usar
github-rename_repositorypara dar ao fork um nome especificado pelo usuário (ex.:LJT-Homepage). - Analisar Estrutura do Repositório: Examinar os diretórios principais (
_pages/,_publications/,_data/,_config.yml) para entender o layout do template. - Atualizar Arquivos de Configuração Principais:
_config.yml: Atualizar título do site, descrição, URL e, mais importante, a seçãoauthorcom detalhes pessoais (nome, biografia, localização, empregador, email, links sociais)._data/navigation.yml: Simplificar o menu de navegação principal do site. Normalmente, reduzi-lo a apenas links essenciais como "Publicações", conforme instrução do usuário._pages/about.md: Substituir completamente o conteúdo padrão por um perfil pessoal estruturado contendo: Introdução, Interesses de Pesquisa, Educação, Experiência em Pesquisa, Publicações (listadas em texto), Habilidades e Informações de Contato.
- Gerenciar Arquivos de Publicação:
- Excluir todos os arquivos de exemplo existentes no diretório
_publications/. - Criar novos arquivos Markdown para cada uma das publicações do usuário, usando uma convenção de nomenclatura consistente (ex.:
YYYY-MM-DD-titulo-curto.md). Cada arquivo deve conter frontmatter YAML válido (title,collection,date,venue,citation).
- Excluir todos os arquivos de exemplo existentes no diretório
- Verificação Final: Verificar se todos os arquivos principais (
_config.yml,_pages/about.md,_data/navigation.yml) e as entradas de publicação foram criados corretamente e não contêm dados de placeholder.
Restrições e Diretrizes Críticas
- Fidelidade dos Dados: Não adicionar, modificar ou inventar nenhuma informação pessoal. Usar apenas os dados fornecidos no grafo de memória. Se alguma informação estiver faltando (ex.: um link de mídia social específico não está na memória), deixar o campo em branco na configuração.
- Inclusão de Publicações: Listar todas as publicações da memória na página
about.md, distinguindo claramente entre trabalhos de primeiro autor e coautorias. Criar também arquivos Markdown individuais para cada publicação. - Simplificação da Navegação: Seguir a solicitação do usuário em relação ao menu de navegação. Se for solicitado mostrar apenas páginas específicas, remover todos os outros links de
_data/navigation.yml. - Sem Páginas Extras: Não criar, ativar ou modificar páginas além daquelas explicitamente mencionadas no fluxo de trabalho (ex.: não ativar seções de blog, ensino ou portfólio, a menos que especificado).
Ferramentas Necessárias
Esta skill requer o uso sequencial das seguintes ferramentas. Garantir que todas as permissões/escopos necessários estejam disponíveis.
memory-read_graphgithub-fork_repositorygithub-get_megithub-rename_repositorygithub-get_file_contentsgithub-create_or_update_filegithub-delete_file
Recuperação de Falhas
- Conflitos de Escrita Simultânea: Se
github-create_or_update_fileougithub-delete_filefalhar com um erro "409 conflict", buscar o estado mais recente do repositório (github-get_file_contentsna raiz) para obter o novoshae repetir a operação com oshaatualizado. - Dados Ausentes: Se um campo obrigatório do grafo de memória estiver vazio, registrar uma nota clara e prosseguir, deixando o campo correspondente do site em branco. Não inventar dados.
Saída
A skill está concluída quando o repositório GitHub do fork do usuário contém todos os arquivos personalizados e o histórico de commits mostra as atualizações bem-sucedidas. Fornecer ao usuário a URL do novo repositório (ex.: https://github.com/<username>/<repo-name>).