Habilidad: Generador de Página Web Académica Personal
Objetivo Principal
Bifurcar un repositorio plantilla de GitHub Pages académico especificado, renombrarlo y poblarlo con la información académica personal del usuario extraída de la memoria o de los datos proporcionados. El resultado final es una página de inicio académica completamente configurada y personalizada, lista para ser alojada en GitHub Pages.
Flujo de Trabajo Principal
La habilidad sigue un flujo de trabajo estricto y secuencial para garantizar una implementación exitosa. Las desviaciones pueden causar errores.
- Recuperar Datos Personales: Extraer el perfil académico estructurado del usuario de la memoria usando
memory-read_graph. Estos datos son la única fuente de verdad para todas las actualizaciones de contenido. - Bifurcar Repositorio Plantilla: Usar
github-fork_repositoryen la plantilla objetivo (por ejemplo,academicpages/academicpages.github.io). - Identificar Cuenta de Usuario: Usar
github-get_mepara obtener el nombre de usuario de GitHub del usuario que bifurca. - Renombrar Repositorio: Usar
github-rename_repositorypara darle al fork un nombre especificado por el usuario (por ejemplo,LJT-Homepage). - Analizar la Estructura del Repositorio: Examinar los directorios clave (
_pages/,_publications/,_data/,_config.yml) para comprender el diseño de la plantilla. - Actualizar Archivos de Configuración Principal:
_config.yml: Actualizar el título del sitio, la descripción, la URL y, más importante, la secciónauthorcon los datos personales (nombre, biografía, ubicación, empleador, correo electrónico, enlaces sociales)._data/navigation.yml: Simplificar el menú de navegación principal del sitio. Normalmente, reducirlo solo a los enlaces esenciales como "Publicaciones" según las instrucciones del usuario._pages/about.md: Reemplazar completamente el contenido predeterminado con un perfil personal estructurado que contenga: Introducción, Intereses de Investigación, Formación Académica, Experiencia Investigadora, Publicaciones (enumeradas en el texto), Habilidades e Información de Contacto.
- Gestionar Archivos de Publicaciones:
- Eliminar todos los archivos de muestra existentes en el directorio
_publications/. - Crear nuevos archivos Markdown para cada una de las publicaciones del usuario, usando una convención de nomenclatura coherente (por ejemplo,
YYYY-MM-DD-título-corto.md). Cada archivo debe contener un frontmatter YAML válido (title,collection,date,venue,citation).
- Eliminar todos los archivos de muestra existentes en el directorio
- Verificación Final: Comprobar que todos los archivos clave (
_config.yml,_pages/about.md,_data/navigation.yml) y las entradas de publicaciones se hayan creado correctamente y no contengan datos de marcador de posición.
Restricciones y Barreras de Seguridad Críticas
- Fidelidad de los Datos: No agregar, modificar ni inventar ninguna información personal. Usar solo los datos proporcionados en el gráfico de memoria. Si falta información (por ejemplo, un enlace a una red social específica que no está en la memoria), dejar el campo en blanco en la configuración.
- Inclusión de Publicaciones: Listar todas las publicaciones de la memoria en la página
about.md, distinguiendo claramente entre trabajos como primer autor y coautorías. También crear archivos Markdown individuales para cada publicación. - Simplificación de la Navegación: Cumplir con la solicitud del usuario con respecto al menú de navegación. Si se solicita mostrar solo páginas específicas, eliminar todos los demás enlaces de
_data/navigation.yml. - Sin Páginas Extra: No crear, habilitar ni modificar páginas más allá de las mencionadas explícitamente en el flujo de trabajo (por ejemplo, no activar secciones de blog, docencia o portafolio a menos que se especifique).
Herramientas Requeridas
Esta habilidad requiere el uso secuencial de las siguientes herramientas. Asegurarse de que todos los permisos/ámbitos necesarios estén disponibles.
memory-read_graphgithub-fork_repositorygithub-get_megithub-rename_repositorygithub-get_file_contentsgithub-create_or_update_filegithub-delete_file
Recuperación de Fallos
- Conflictos de Escritura Concurrente: Si
github-create_or_update_fileogithub-delete_filefallan con un error "409 conflict", obtener el estado más reciente del repositorio (github-get_file_contentsen la raíz) para obtener el nuevosha, y luego reintentar la operación con elshaactualizado. - Datos Faltantes: Si un campo requerido del gráfico de memoria está vacío, registrar una nota clara y continuar, dejando el campo correspondiente del sitio web en blanco. No inventar datos.
Resultado
La habilidad se completa cuando el repositorio bifurcado del usuario en GitHub contiene todos los archivos personalizados y el historial de confirmaciones muestra actualizaciones exitosas. Proporcionar al usuario la URL de su nuevo repositorio (por ejemplo, https://github.com/<nombre-de-usuario>/<nombre-del-repositorio>).