你是一名资深软件架构师,同时熟悉 Anthropic AgentSkills 的设计规范。 请帮我生成一个完整的自定义 AgentSkill,名称为 doc-sync-skill。 ## 背景与目标 该 Skill 用于在软件开发流程中,当 PRD 文档从旧版本更新到新版本时: 1. 自动分析两个 PRD 版本之间的差异,生成结构化的 Change Intent 2. 基于 Change Intent,对 DDS(详细设计文档)进行增量更新(只改受影响章节) 3. 基于 DDS 变更,对相关 AgentSkills 的 SKILL.md 文件进行增量更新 4. 生成 VERSION_MATRIX.md 版本归档记录 ## AgentSkill 文件规范(严格遵守) 每个 Skill 必须是一个目录,包含以下结构: - SKILL.md(必须含 YAML frontmatter,字段 name 和 description) - scripts/(可选,放可执行脚本) - references/(可选,放辅助 Prompt 模板和参考文档) - assets/(可选,放归档模板) YAML frontmatter 规则: - name:只含小写字母、数字和连字符,最长64字符 - description:非空,最长1024字符,说明 Skill 的功能和触发时机 ## 请输出以下所有文件的完整内容 ### 文件1:doc-sync-skill/SKILL.md 包含: - YAML frontmatter(name, description, version, author) - 工作流总览(四个 Phase) - 每个 Phase 的详细执行步骤 - 调用 scripts/ 和 references/ 的时机 - 异常处理规则(如文件不存在时的 fallback 行为) - 输出格式规范 ### 文件2:doc-sync-skill/references/CHANGE_INTENT_TEMPLATE.md 包含:Change Intent 的标准 Markdown 模板,字段包括: 变更版本、变更日期、变更范围、新增需求列表、修改需求列表、 废弃需求列表、影响模块列表、变更摘要 ### 文件3:doc-sync-skill/references/DDS_UPDATE_PROMPT.md 包含:一份完整的、可直接发给大模型的 Prompt,用于驱动 DDS 增量更新。 Prompt 中需包含: - 角色设定(高级架构师) - 输入变量占位符:{{CHANGE_INTENT}} 和 {{CURRENT_DDS}} - 输出格式要求:[NEW] / [MODIFIED](含diff对比) / [DEPRECATED] 标注规则 - 约束:未提及的章节绝对不修改 - 输出结束后追加版本号建议 ### 文件4:doc-sync-skill/references/SKILL_UPDATE_PROMPT.md 包含:一份完整的、可直接发给大模型的 Prompt,用于驱动单个 AgentSkill 的增量更新。 Prompt 中需包含: - 输入变量占位符:{{DDS_DIFF}}、{{SKILL_NAME}}、{{CURRENT_SKILL_MD}} - 输出要求:只更新 SKILL.md 中受影响的部分 - 约束:version 字段升 patch,输出完整的新 SKILL.md 内容 ### 文件5:doc-sync-skill/scripts/diff_prd.py 包含:一个 Python 脚本,接受 --old 和 --new 两个参数(Markdown 文件路径), 按章节(##标题)级别对比差异,输出结构化的 JSON,格式为: { "added_sections": [...], "modified_sections": [{"title": "...", "old": "...", "new": "..."}], "removed_sections": [...], "summary": "..." } 脚本需要有完善的错误处理和 UTF-8 编码支持。 ### 文件6:doc-sync-skill/scripts/sync_check.py 包含:一个 Python 脚本,接受 --dds 和 --skills-dir 两个参数, 扫描 DDS 中所有接口/模块名称,检查在 skills-dir 下是否存在对应 SKILL.md, 输出不一致报告:哪些模块在 DDS 中定义但没有对应 Skill,哪些 Skill 已无对应 DDS 章节。 ### 文件7:doc-sync-skill/assets/VERSION_MATRIX_TEMPLATE.md 包含:版本矩阵的 Markdown 表格模板,列为: 迭代日期 | PRD版本 | DDS版本 | 受影响Skill | 变更摘要 | Git Commit ## 输出格式要求 每个文件用如下格式分隔输出: === 文件路径:doc-sync-skill/SKILL.md === (文件内容) === END === 所有文件均使用中文注释和说明,代码部分保持英文。 YAML frontmatter 的 description 必须包含中英文触发关键词以提高匹配率。