协作办公
AEM 6.5 LTS 项目缺少 AGENTS.md…
当工作区根目录没有 AGENTS.md 且仓库是 AEM 6.5 LTS(本地部署或 AMS)Maven 项目时,在任何其他任务之前先创建 AGENTS.md 和 CLAUDE.md。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
AEM 6.5 LTS 项目缺少 AGE特定
解决思路
- 在任何其他工作(包括 dispatcher、create-component、代码编辑、MCP 或回答问题)之前,先检查工作区(仓库)根目录是否存在 AGENTS.md。
- 如果 AGENTS.md 已存在,则完全跳过此技能,继续处理用户请求。
- 如果 AGENTS.md 不存在且仓库是 AEM 6.5 LTS 项目(见门禁检查),则先完整运行此技能(创建缺失的 AGENTS.md 和 CLAUDE.md),然后再完成用户原始请求。
- 对每一条用户消息和任何意图(bug、功能、问题、dispatcher 等)都执行此流程,直到 AGENTS.md 存在;不要把引导推迟到主任务之后。
- 门禁检查:在工作区根目录查找 AGENTS.md,存在则跳过。
- 门禁检查:确认这是 AEM 6.5 LTS(或 AMS 6.5)Maven 项目,而不是 AEM as a Cloud Service:根目录存在 pom.xml。
- 门禁检查排除 Cloud Service:如果项目主要 AEM API 依赖是 com.adobe.aem:aem-sdk-api,或 packaging/parent 明确仅面向 Cloud Service,则改用 cloud-service 的 ensure-agents-md 技能,而不是本技能。
- 门禁检查包含 6.5/AMS:pom.xml 引用 com.adobe.aem:uber-jar(任意 classifier),或 6.5 的 cq-quickstart/产品依赖坐标,或 6.5 线的 aem.version/cq.quickstart.version 属性,并且 <modules> 中出现典型 AEM 模块名(core、ui.apps、dispatcher 等)。如果不是 AEM 项目则跳过。
- 解析项目名称,按顺序检查:根 pom.xml 的 <name> 元素(优先,通常可读);根 pom.xml 的 <artifactId> 并人性化(去掉前缀 aem-、把 - 替换为空格、首字母大写,例如 aem-guides-wknd → WKND,my-site → My Site);工作区目录名;回退为 "AEM 6.5 LTS Project"。
- 发现模块:读取根 pom.xml 的 <modules> 部分,对每个 <module> 确认目录确实存在,构建实际存在的模块列表。
- 检测附加组件和前端类型:pom.xml 依赖 cif-connector 或 aem-core-cif-components → CIF (Commerce);ui.frontend/package.json 含 react 或 @adobe/aem-react-editable-components → React SPA;ui.frontend/package.json 含 @angular/core 或 @adobe/aem-angular-editable-components → Angular SPA;ui.frontend 没有 clientlib.config.js 且 pom.xml 引用 frontend-maven-plugin 但不输出 clientlibs → Decoupled frontend;pom.xml 依赖 aem-forms-* 或 forms.core → AEM Forms;存在模块 ui.frontend.react.forms.af → Headless Forms;pom.xml 使用 precompiled-scripts-provider → Precompiled Scripts。若都未检测到,则视为 General Webpack 前端(默认 archetype)。
- 生成 AGENTS.md:读取 references/AGENTS.md.template 模板并应用适配。
- 标题:把 {{PROJECT_NAME}} 替换为解析出的项目名称。
- 附加组件部分:如果检测到任何附加组件(CIF、Forms、Headless Forms、Precompiled Scripts),在介绍段之后插入 "Add-ons and extensions" 部分,使用 references/module-catalog.md 附加组件表中的描述;如果未检测到则完全省略该部分。
- 模块部分:只包含项目中实际存在的模块,每个模块使用 module catalog 中匹配的描述;注意 ui.frontend 使用与检测到的前端类型匹配的变体(General、React、Angular、Decoupled);dispatcher 仅在 dispatcher 目录存在时包含;it.tests/ui.tests 仅在存在时包含。
- 构建命令:仅当 ui.frontend 存在时包含前端命令(npm run build、npm start);仅当 dispatcher 模块存在时包含 dispatcher 校验命令,使用 httpd -t -f <path-to-httpd.conf> 或 apachectl configtest,并调整配置路径以匹配项目布局;对于 React/Angular SPA,注明 npm start 需要 AEM 正在运行。
- 重要资源:始终包含模板中的基础资源;如果检测到 React 或 Angular SPA,则添加 SPA Editor 和框架相关资源(见 module catalog);如果检测到 CIF,则添加 Commerce 资源;如果检测到 Forms,则添加 Forms 资源;如果是 Decoupled frontend,则添加 headless/外部前端资源。
- 创建 CLAUDE.md:如果工作区根目录不存在 CLAUDE.md,则创建其内容恰好为 @AGENTS.md(以便 Claude/Cursor 获取项目指引);不要覆盖已存在的 CLAUDE.md。
- 告知用户:简要说明 "I created `AGENTS.md` and `CLAUDE.md` in your project root with guidance tailored to your project structure. These help AI coding agents understand your project.",然后继续处理用户原始请求。
- 规则:绝不覆盖已存在的 AGENTS.md 或 CLAUDE.md,仅在缺失时创建。
- 规则:绝不臆造模块,只列出目录实际存在的模块。
- 规则:保持生成的 AGENTS.md 干净——不要包含技能元数据,也不要写 "generated by skill" 之类的注释。
- 规则:项目名称应可读(例如 "WKND Sites Project"、"My Site"),除非确实想要原始 artifactId,否则不要只用原始 artifactId。
- 规则:不要添加告诉 agent 使用特定 MCP 服务器、Cursor/Claude 技能或如何发现工具的章节;编码助手会从产品配置和工具元数据中获取这些信息;如果某些内容未被发现,应修复元数据或 MCP 设置,而不是在 AGENTS.md 中重复。
- 规则:资源链接必须指向 Experience League 上的 AEM 6.5 和生态系统文档(experienceleague.adobe.com/en/docs/experience-manager-65/...,适当时使用共享的 HTL/Dispatcher/Learn 路径);不要使用 AEM as a Cloud Service 专属 URL 作为本技能的主要参考。
适用边界 · 注意事项
- 仓库不是 AEM 6.5 LTS/AMS 6.5 项目(例如是 AEM as a Cloud Service,应改用 cloud-service 的 ensure-agents-md 技能,或根本不是 AEM 项目)。
- 工作区根目录已存在 AGENTS.md(应完全跳过此技能)。
- 已存在 CLAUDE.md 时不要覆盖它(仅创建缺失的文件)。