--- name: guidance description: 检索当前项目的 AGENTS.md、.craftkit 项目资料和 CraftKit 中性公共基线,返回可追溯的规则、冲突与缺口。适用于查询或应用项目规范;初始化、修改和接入规范不应触发本 Skill。 --- # 项目规范检索 以只读方式定位当前任务真正适用的项目规则。不得创建、修改或补全规范文件,也不得把代码中的偶然写法自动提升为规范。 ## 检索顺序 1. 确定任务涉及的目录、文件类型和主题。 2. 读取从项目根到目标目录沿途适用的 `AGENTS.md`,距离目标更近的文件约束更具体。 3. 若存在 `.craftkit/project.json`,读取其中的项目类型、技术栈、代码边界和规范入口。 4. 涉及技术栈时先按目标路径确定模块,再按[版本 Profile 路由](references/profile-routing.md)确定当前版本;Schema 1 或没有模块时使用顶层技术栈作为根模块候选。 5. 按需读取 `.craftkit/agents/index.md`、`.craftkit/standards/index.md`、`.craftkit/knowledge/index.md`;涉及需求、设计、规范或知识时同时读取命中的文档维护规则,只继续读取索引命中的域、路由和正文。 6. 当前会话发现对应语言提供方时,由提供方读取自身 Profile 资料;未发现时报告 `missing`,不扫描插件缓存。 7. 项目资料和已发现的技术提供方均未覆盖主题时,读取[公共基线索引](references/guidance/index.md),只加载当前任务需要的规则。 8. 索引缺失或没有命中时,才在相应目录做受控关键词搜索;不得先递归加载整个知识库。 目录布局和优先级的详细说明见[检索布局](references/layout.md)。 ## 输出 直接回答用户问题,并附带最小充分的依据: - 结论及其适用范围。 - 命中的项目相对路径和规则摘要。 - 项目规则、公共基线或现有代码之间的冲突。 - 未被规范覆盖、需要用户决定的事项。 区分“明确规则”“公共建议”和“从代码观察到的现状”。没有项目规则时不得声称公共基线是项目强制要求。 ## 边界 - 用户当前指令和适用的 `AGENTS.md` 高于 `.craftkit/`;项目规范高于公共基线。 - `.craftkit/local/` 与 `.craftkit/cache/` 默认不是共享规范来源,除非用户明确要求读取其中的本地上下文。 - 不读取凭据、环境密钥、数据库连接信息或与问题无关的业务数据。 - 项目尚未初始化或关键索引缺失时,说明缺口并建议使用 `knowledge` 插件的 `init`;不得在检索过程中隐式初始化。 - 长期文档缺少审核状态时报告为“尚未确认”;`outdated` 和历史归档只能作为背景,不得作为当前有效规则返回。 - 项目未声明且无法从构建清单确定框架版本时,必须询问用户;禁止默认最新版本或跨版本混用推荐写法。 - 用户要求新增、整理或修复规范索引时,应交由后续的规范维护 Skill,不在本 Skill 中写文件。