技能:学术主页生成器
主要目标
Fork 一个指定的学术 GitHub Pages 模板仓库,重命名,并根据记忆图谱或用户提供的数据填充用户的个人学术信息。最终输出一个完全配置好且个性化的学术主页,可直接部署在 GitHub Pages 上。
核心工作流程
该技能遵循严格、顺序的工作流程,以确保成功部署。任何偏离都可能导致错误。
- 获取个人数据:使用
memory-read_graph从记忆中提取用户的结构化学术资料。该数据是所有内容更新的唯一真实来源。 - Fork 模板仓库:使用
github-fork_repositoryFork 目标模板(例如academicpages/academicpages.github.io)。 - 识别用户账户:使用
github-get_me获取 Fork 用户的 GitHub 用户名。 - 重命名仓库:使用
github-rename_repository为 Fork 后的仓库指定用户自定义名称(例如LJT-Homepage)。 - 分析仓库结构:检查关键目录(
_pages/、_publications/、_data/、_config.yml)以了解模板布局。 - 更新核心配置文件:
_config.yml:更新站点标题、描述、URL,最重要的是更新author部分,填入个人信息(姓名、简历、所在地、雇主、邮箱、社交链接)。_data/navigation.yml:简化站点主导航菜单。通常根据用户指示,只保留必要的链接,如“出版物”。_pages/about.md:完全替换默认内容,替换为结构化的个人资料,包含:简介、研究兴趣、教育背景、研究经历、出版物(内嵌文本)、技能、联系方式。
- 管理出版物文件:
- 删除
_publications/目录中的所有现有示例文件。 - 为用户的每篇出版物创建新的 Markdown 文件,使用一致的命名规则(例如
YYYY-MM-DD-short-title.md)。每个文件必须包含有效的 YAML 前置元数据(title、collection、date、venue、citation)。
- 删除
- 最终验证:检查所有关键文件(
_config.yml、_pages/about.md、_data/navigation.yml)以及出版物条目是否已正确创建,且不包含占位数据。
关键约束与护栏
- 数据忠实性:不得添加、修改或虚构任何个人信息。仅使用记忆图谱中提供的数据。如果信息缺失(例如,记忆中没有特定的社交媒体链接),则在配置中将该字段留空。
- 出版物包含:在
about.md页面中列出记忆中的所有出版物,明确区分第一作者和合作作品。同时为每篇出版物创建独立的 Markdown 文件。 - 导航简化:遵循用户对导航菜单的请求。如果要求只显示特定页面,则从
_data/navigation.yml中移除所有其他链接。 - 不额外添加页面:不得创建、启用或修改工作流程中未明确提到的页面(例如,除非指定,否则不要激活博客、教学或作品集部分)。
所需工具
该技能需要按顺序使用以下工具。确保所有必要的权限/作用域可用。
memory-read_graphgithub-fork_repositorygithub-get_megithub-rename_repositorygithub-get_file_contentsgithub-create_or_update_filegithub-delete_file
故障恢复
- 并发写入冲突:如果
github-create_or_update_file或github-delete_file因“409 冲突”错误而失败,请获取仓库的最新状态(使用github-get_file_contents读取根目录)以获取新的sha,然后使用更新后的sha重试操作。 - 数据缺失:如果记忆图谱中的某个必填字段为空,请记录清晰备注并继续操作,将网站相应字段留空。不得编造数据。
输出
当用户 Fork 后的 GitHub 仓库包含所有个性化文件,且提交历史记录显示成功更新时,技能完成。向用户提供其新仓库的 URL(例如 https://github.com/<用户名>/<仓库名>)。