# Modify Profile Schema

> 对画像系统的维度结构进行增加、删除或修改。当用户需要新增一个画像维度、删除某个维度、或修改某个维度的字段定义时使用。

- Skill: `tashangkd/modify-profile-schema` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tashangkd/modify-profile-schema`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tashangkd/modify-profile-schema/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: TashanGKD (https://skillmd.com/u/tashangkd)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tashangkd/modify-profile-schema

---


# 画像系统结构变更

## 适用场景

- 新增一个维度（如「需求」「目标」「压力源」）
- 删除一个现有维度
- 修改某个维度的字段名称、字段结构或采集方式

---

## 第一步：明确变更需求

在开始任何修改之前，先向用户确认以下三点：

```
1. 变更类型：新增 / 删除 / 修改？
2. 维度名称：这个维度叫什么？
3. 维度内容：
   - 新增：这个维度包含哪些子字段？每个字段记录什么信息？
   - 删除：确认要删除哪个章节（报告章节编号和名称）？
   - 修改：哪个字段需要改？改成什么？
```

若用户描述不够清晰，主动追问，不要假设。

---

## 第二步：盘点影响范围

读取以下所有文件，**在修改之前**先完整了解现状：

| 文件路径 | 读取目的 |
|:---|:---|
| `profiles/_template.md` | 了解当前章节结构和编号 |
| `profiles/[所有现有画像].md` | 了解哪些画像文件需要同步更新 |
| `.cursor/rules/profile-collector.mdc` | 了解维度说明列表 |
| `.cursor/skills/collect-basic-info/SKILL.md` | 了解采集流程中是否需要插入新问题 |
| `.cursor/skills/infer-profile-dimensions/SKILL.md` | 了解推断逻辑是否需要补充 |
| `.cursor/skills/review-profile/SKILL.md` | 了解审核展示格式是否需要更新 |
| `.cursor/skills/update-profile/SKILL.md` | 了解修改菜单是否需要新增选项 |

使用 `Glob` 工具列出 `profiles/` 目录下所有 `.md` 文件（排除 `_template.md`），确认需要同步的画像文件列表。

---

## 第三步：规划章节编号

若变更涉及**新增**或**删除**章节，需要重新规划编号。

当前章节顺序（以当前模板为准，读取后确认）：
```
一、基础身份
二、能力
三、当前需求
四、认知风格（RCSS）
五、学术动机（AMS-GSR 28）
六、人格（Mini-IPIP）
七、综合解读
八、审核记录
```

**新增章节**：确定插入位置，列出插入点之后所有章节的新旧编号映射表，例如：
```
三（旧：认知风格）→ 四
四（旧：学术动机）→ 五
……
```

**删除章节**：确定删除章节，列出之后所有章节的编号映射表。

**修改字段**：无需重新编号，直接定位字段。

在动手之前，将规划好的映射表展示给用户确认。

---

## 第四步：按顺序执行修改

严格按以下顺序修改，每完成一个文件后再进行下一个：

### 4.1 更新 `profiles/_template.md`

- **新增**：在规划好的位置插入新章节，使用标准格式（见下方「章节模板」）
- **删除**：删除对应章节内容
- **编号变更**：用 StrReplace 逐一修改每个受影响的章节标题

### 4.2 更新 `profiles/[每个现有画像文件].md`

对每个画像文件重复以下操作：
- **新增**：插入新章节，字段留空（注明「待填写」），数据来源标注为 `待填写`
- **删除**：删除对应章节
- **编号变更**：同步修改所有受影响的章节编号
- 更新文件头部的 `最后更新` 日期

### 4.3 更新 `.cursor/rules/profile-collector.mdc`

- **新增**：在「画像维度说明」列表中加入新维度的条目，说明其用途和更新频率
- **删除**：从列表中移除对应条目
- **修改**：更新对应条目的描述

### 4.4 更新 `.cursor/skills/collect-basic-info/SKILL.md`

- **新增**：若新维度需要主动采集（用户自述类），在合适位置添加采集问题（参考 Q-需求1/2/3 的问法格式）
- **删除**：移除对应采集问题
- **修改**：调整问法或字段说明

判断是否需要修改此文件的标准：新维度是否需要在建立画像时主动问用户？

### 4.5 更新 `.cursor/skills/infer-profile-dimensions/SKILL.md`

- **新增**：若新维度可以基于已有信息推断，补充推断逻辑；若为纯用户自述，在前置检查中加入「是否已填写」的判断
- **删除**：移除对应推断逻辑
- **修改**：更新推断依据

判断是否需要修改此文件的标准：新维度能否从基础身份/能力信息中推断？

### 4.6 更新 `.cursor/skills/review-profile/SKILL.md`

- **新增**：在「展示格式」中插入新维度的展示小节（含空值处理提示），在审核问题列表中加入对应审核项（重新编号）
- **删除**：移除对应展示小节和审核问题，重新编号
- **修改**：更新展示格式描述

### 4.7 更新 `.cursor/skills/update-profile/SKILL.md`

- **新增**：在「修改目标」菜单中加入新选项（按字母顺序续接），在「综合解读自动刷新」条件中补充触发条件（若适用）
- **删除**：移除对应菜单选项，重新编排字母
- **修改**：更新选项描述

---

## 第五步：验证完整性

修改完毕后，逐项检查：

```
□ _template.md 中的章节编号是否连续、无跳号？
□ 所有现有画像文件的章节编号是否与模板一致？
□ rule 文件的维度说明列表是否与模板章节对应？
□ collect-basic-info 中的采集问题是否覆盖了新维度？
□ review-profile 的审核问题编号是否连续？
□ update-profile 的菜单选项字母是否连续？
□ 所有画像文件的「最后更新」日期是否已更新？
```

若发现不一致，立即修正后再继续。

---

## 章节模板（新增维度时使用）

### 用户自述类维度（如需求、目标、压力源）

```markdown
## [编号]、[维度名称]

> 数据来源：<!-- `用户自述` 或 `待填写` -->

### [编号].1 [子字段名1]

<!-- 说明这个子字段记录什么 -->

| 列1 | 列2 | 列3 |
|:---|:---|:---|
|  |  |  |

### [编号].2 [子字段名2]

<!-- 说明 -->

### [编号].3 [子字段名3]

<!-- 说明 -->

---
```

### 量表测量类维度（如认知风格、动机、人格）

```markdown
## [编号]、[维度名称]（[量表缩写]）

> 数据来源：<!-- `量表实测` 或 `AI推断` -->
> 计分方式：[说明]

### 各维度得分

| 维度 | 得分 |
|:---|:---:|
|  |  |

### 综合指标

| 指标 | 数值 |
|:---|:---:|
|  |  |

---
```

---

## 注意事项

1. **每次只用 StrReplace，不要整体重写文件**，避免误删其他内容
2. **章节编号修改要逐一替换**，不要批量查找替换（防止误改正文内容）
3. **现有画像文件的已填写内容不得删除**，新章节只插入空白字段
4. **若现有画像文件较多（≥3个）**，修改前先列出文件列表请用户确认，避免遗漏
5. **删除维度前**，若该维度已有用户填写的数据，需告知用户数据将丢失，请求二次确认

