feat(skill): 新增项目规范与初始化 Skill

This commit is contained in:
zhiye.sun
2026-08-25 14:52:43 +08:00
parent ac189b8395
commit dbc2f65154
40 changed files with 587 additions and 19 deletions
+40
View File
@@ -0,0 +1,40 @@
---
name: guidance
description: 检索当前项目的 AGENTS.md、.craftkit 项目资料和 CraftKit 中性公共基线,返回可追溯的规则、冲突与缺口。适用于查询或应用项目规范;初始化、修改和接入规范不应触发本 Skill。
---
# 项目规范检索
以只读方式定位当前任务真正适用的项目规则。不得创建、修改或补全规范文件,也不得把代码中的偶然写法自动提升为规范。
## 检索顺序
1. 确定任务涉及的目录、文件类型和主题。
2. 读取从项目根到目标目录沿途适用的 `AGENTS.md`,距离目标更近的文件约束更具体。
3. 若存在 `.craftkit/project.json`,读取其中的项目类型、技术栈、代码边界和规范入口。
4. 涉及框架时按[版本 Profile 路由](references/profile-routing.md)确定当前项目版本;普通开发只加载当前 profile,升级或版本比较才加载源、目标两个 profile。
5. 按需读取 `.craftkit/agents/index.md`、`.craftkit/standards/index.md`、`.craftkit/knowledge/index.md`;只继续读取索引命中的域、路由和正文。
6. 项目资料未覆盖主题时,读取[公共基线索引](references/guidance/index.md),只加载当前任务需要的规则。
7. 索引缺失或没有命中时,才在相应目录做受控关键词搜索;不得先递归加载整个知识库。
目录布局和优先级的详细说明见[检索布局](references/layout.md)。
## 输出
直接回答用户问题,并附带最小充分的依据:
- 结论及其适用范围。
- 命中的项目相对路径和规则摘要。
- 项目规则、公共基线或现有代码之间的冲突。
- 未被规范覆盖、需要用户决定的事项。
区分“明确规则”“公共建议”和“从代码观察到的现状”。没有项目规则时不得声称公共基线是项目强制要求。
## 边界
- 用户当前指令和适用的 `AGENTS.md` 高于 `.craftkit/`;项目规范高于公共基线。
- `.craftkit/local/` 与 `.craftkit/cache/` 默认不是共享规范来源,除非用户明确要求读取其中的本地上下文。
- 不读取凭据、环境密钥、数据库连接信息或与问题无关的业务数据。
- 项目尚未初始化或关键索引缺失时,说明缺口并建议使用 `knowledge` 插件的 `init`;不得在检索过程中隐式初始化。
- 项目未声明且无法从构建清单确定框架版本时,必须询问用户;禁止默认最新版本或跨版本混用推荐写法。
- 用户要求新增、整理或修复规范索引时,应交由后续的规范维护 Skill,不在本 Skill 中写文件。