Blame view

.codex/skills/remember-as-rule-or-skill/SKILL.md 4.76 KB
9e371380   “wangming”   把打印机的联通了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
  ---
  name: remember-as-rule-or-skill
  description: 当用户要求「记住」某事时,根据内容类型自动添加为项目规则(.cursor/rules)或 Skill(.cursor/skills)。Use when user says 记住、记一下、以后要、保存这个规则、加到规范里、写进 skill、记录下来、按这个来.
  ---
  
  # 记住 → 自动添加规则或 Skill
  
  ## 一、何时触发
  
  当用户表达**希望持久化当前约定/偏好**时,必须走本流程,将内容写入 `.cursor/rules/` 或 `.cursor/skills/`
  
  ### 触发表述(示例)
  
  - 记住 / 记一下 / 以后要 / 保存 / 记录下来
  - 加到规范里 / 写进规则 / 写进 skill
  - 按这个来 / 以后都按这个做
  - 类似的自然语言表达
  
  触发后:**先判断类型(Rule vs Skill),再执行添加或更新**
  
  ---
  
  ## 二、Rule 还是 Skill?判断标准
  
  | 类型 | 适合内容 | 存放位置 | 特点 |
  |------|----------|----------|------|
  | **Rule** | 简短约束、禁止项、风格约定、回复格式等「每次都要遵守」的规范 | `.cursor/rules/*.mdc` | 可 alwaysApply 或按文件 glob 生效;单条规则建议 ≤50 行 |
  | **Skill** | 有步骤的流程、按场景触发的知识、需要 description 匹配的专项能力 | `.cursor/skills/<name>/SKILL.md` | 通过 description 在相关场景被引用;可含多节、示例 |
  
  ### 选择 Rule 的情况
  
  - 禁止或必须做的**一句话/短条款**(如:禁止用 Guid、GET 用 data 传参)
  - **编码/格式约定**(缩进、命名、注释要求)
  - **回复或交互约定**(如:回复前缀「大哥」)
  - **仅在某类文件生效**的规范(如仅 `**/*.vue`)→ 用 `globs`,`alwaysApply: false`
  
  ### 选择 Skill 的情况
  
  - **多步骤流程**(如:接口测试流程、查库验证流程)
  - **按场景触发**的专项知识(如:弃用表、API 注释格式、MCP 查库)
  - 需要**示例、模板、清单**的说明
  - 内容较长或需要**分节、可检索**的文档
  
  ### 与现有内容的关系
  
  - 若与**现有 rule/skill 主题一致**(如同属「接口规范」)→ **优先更新已有文件**,避免碎片化
  - 若是**全新主题** → 新建 rule 或 skill
  
  ---
  
  ## 三、执行步骤
  
  ### Step 1:确认要记的内容
  
  - 从对话中提炼出用户要持久化的**具体条文或流程**
  - 若含糊,可追问一句再落笔
  
  ### Step 2:决定 Rule 还是 Skill,以及目标文件
  
  - 按上表判断:Rule 还是 Skill
  - 若为 Rule:决定是**新增一个 .mdc** 还是**追加到现有 rule**(如 `project_rules.mdc` 的某节)
  - 若为 Skill:决定是**新建 skill 目录**还是**更新现有 skill**(如 `api-xml-comments`
  
  ### Step 3:写入或更新
  
  **Rule(.cursor/rules/xxx.mdc)**
  
  - 格式:YAML frontmatter + Markdown 正文
  - 必填:`description`;若全局生效则 `alwaysApply: true`;若按文件则 `globs: "**/*.xx"`、`alwaysApply: false`
  - 正文简洁、可执行,单条规则尽量控制在约 50 行内
  
  ```markdown
  ---
  description: 简短说明这条规则做什么
  alwaysApply: true
  ---
  # 规则标题
  内容...
  ```
  
  **Skill(.cursor/skills/<name>/SKILL.md)**
  
  - 格式:YAML frontmatter(`name`、`description`)+ Markdown 正文
  - `description` 要包含**触发场景/关键词**,便于 AI 在相关任务时引用
  - 正文可含:何时用、步骤、示例、注意事项
  
  ```markdown
  ---
  name: skill-name
  description: 做什么;在什么场景下使用(含触发词)
  ---
  # 标题
  ## 何时使用
  ...
  ## 步骤/规范
  ...
  ```
  
  ### Step 4:确认
  
  - 写完后**简短说明**:写到了哪(规则还是 skill、文件名),以及**以后如何生效**(例如「全局规则每次都会应用」或「在提到接口测试时会用对应 skill」)
  
  ---
  
  ## 四、本项目约定
  
  - **规则与 skill 的路径**:项目内统一用 **项目级** 配置:
    - 规则:`.cursor/rules/`
    - Skill:`.cursor/skills/`
  - **与「不随意生成 md」的关系**:用户**明确要求记住/保存规则或写进 skill** 时,属于「要求生成或修改配置文档」的例外,可以且应当新增或修改 `.cursor/rules/`、`.cursor/skills/` 下的文件。
  - **风格**:与现有 `project_rules.mdc`、`orchestrator-first.mdc` 以及各 skill 的写法保持一致(中文说明、清单式条款、必要时代码块示例)。
  
  ---
  
  ## 五、小结
  
  | 用户说 | 你要做的 |
  |--------|-----------|
  | 记住 / 记一下 / 以后要 / 保存规则 / 加到规范 / 写进 skill | 触发本 skill |
  | 内容像「禁止/必须/约定」的短条款 | 写入或合并到 **Rule**(.mdc) |
  | 内容像「流程/步骤/场景知识」 | 写入或合并到 **Skill**(SKILL.md) |
  | 与现有某 rule/skill 同主题 | 优先**更新**该文件 |
  | 写完后 | 说明写到了哪、以后如何生效 |