Skip to content
Back to skills

Activity Profile Builder

ASecurity

当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsgo

Works with

  • claude code

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add ChromiteCr/Skills --skill activity-profile-builder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Activity Profile Builder?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Activity Profile Builder
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chromitecr-activity-profile-builder/badge)](https://www.skillsdirectory.com/skills/chromitecr-activity-profile-builder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: activity-profile-builder
description: 当学生说"我参加过一些活动但没整理过"、"帮我把经历录进去"、"我的活动档案是空的"时使用。让学生一口气把记得的活动说出来,直接把这段话拆成结构化的长期事项(角色、组织、起止时间、做了什么、结果、级别),说不清的字段留空标"待补"而不是编,再用一张选择题卡把级别判定与是否重复这类关键项一次问完,然后提案入库。只记录学生真正说出口的内容,级别按事实判定,绝不往高了写。
category: study-planning/growth
version: 0.2.1
status: draft
priority: P0
compatible_agents:
  - claude-code
  - nestudy
  - generic-llm-agent
display_name: 活动经历建档
capabilities:
  - get_events
  - propose_events
optional_capabilities:
  - get_profile
  - ask_user
outputs:
  - event
max_rounds: 30
suggest_hint: 你的长期经历还没录几条,用「活动经历建档」把参加过的活动整理进来
---

# 活动经历建档 / Activity Profile Builder

把学生记在脑子里的活动经历,整理成结构化的长期事项并存下来。

难点不在存,在于**信息是零碎的**。学生说"我在机器人社待过两年",
这句话里缺角色、缺时间、缺具体做了什么、缺结果。

以前的做法是一条一条追问到齐。那样问一段经历要来回七八轮,
多数学生问到第三条就走了。**现在的做法是:先把他说的一次性拆成表格,
缺的字段明写「待补」,让他对着表格补——看着空格填,比凭空回想容易得多。**

拆解不等于补全。留空是这个 skill 的核心动作,不是失败。

## 何时使用 / When to use

- 学生的长期事项是空的或只有零星几条
- 学生刚结束一段经历,想趁记得清楚录下来:这段经历还没进长期事项,要存的是角色、时间、成果这些事实。
  已经录过、想聊它对自己的影响,转 `reflection-interviewer`
- 学生说"我好像做过挺多事但说不上来"

**不适用于** / Not for:

- 点评这些经历够不够、招生官怎么看 —— 那是 `admissions-reader`
- 把活动描述压到 Common App 的字符限制内 —— 那是 `activity-list-optimizer`
- 深挖某一段经历对人的影响 —— 那是 `reflection-interviewer`

## 需要的输入 / Inputs

| 输入 | 必填 | 说明 |
|---|---|---|
| 已有长期事项 | 是 | 先读。**避免把同一段经历录两遍** |
| 学生的口述 | 是 | 全部内容都来自这里。一段话就行,不必按字段说 |
| 学生档案 | 否 | 年级用来校验时间跨度是否说得通(10 年级学生说的"三年前"要问清楚) |

## 流程 / Process

1. **读已有**:取回现有的长期事项,避免重复录入。
2. **让他一次说完**:请他把记得的活动**一口气说出来**,想到什么说什么,
   不用管顺序也不用管完整度。不要给他一张字段清单让他照着填——那是表格不是对话。
3. **直接拆成表格**:把他那段话拆进下面六个字段,**有什么填什么,没有的写「待补」**:
   - **角色**:具体职位。"成员"也是有效答案,不要引导他说成"负责人"
   - **组织**:哪个社团、学校、机构、公司
   - **起止时间**:到月份即可;还在进行的就留空结束时间
   - **做了什么**:具体动作,不是职责描述
   - **结果**:拿了什么奖、做出什么东西、影响了多少人。**没有就写没有**
   - **级别**:校级 / 地区级 / 国家级 / 国际级 —— 按下一节的规则**先判一个并写出依据**
4. **一次问完关键项**:调 `ask_user`(最多 4 问),只问**会改变入库结果**的:

   | 什么时候问 | 怎么问 |
   |---|---|
   | 级别拿不准 | 「机器人社那个比赛是哪一级?」校内 / 市级或省级 / 全国 / 国际 |
   | 疑似与已有记录重复 | 「这段和你已有的『X』是同一件事吗?」是同一件 / 是两件 |
   | 时间跨度对不上年级 | 「说的三年前,是 8 年级那会儿吗?」给具体年份选项 |

   **「待补」的描述与成果不用问。** 那些留空入库就行,学生日后想起来再补,
   或者交给 `reflection-interviewer` 慢慢挖。逼他现在编一个出来才是真的损失。
5. **提案**:`propose_events` 逐条提案为 `kind: long` 的长期事项。
   多条一起提,不要每整理完一条就出一张卡。

## 输出格式 / Output

拆完直接给表格,**同一轮附上问题卡**:

```markdown
按你说的整理成这样,空着的是我不知道的,你有空再补:

**<活动名>**
角色:<role> · 组织:<organization> · <startDate> 至 <endDate 或"至今">
做了什么:<description 或「待补」>
成果:<achievements 或「暂无」>
级别:<level>(依据:<一句话>)
```

级别的判定依据要写出来,学生才有机会纠正。

## 级别判定 / Level

这是最容易虚高的一项,按事实判定:

- 只在本校范围内 → 校级
- 参加了市/省/赛区层面的比赛或活动 → 地区级
- 全国性赛事、全国性组织 → 国家级
- 跨国赛事、国际组织 → 国际级

学生说"我们那个比赛挺大的"不构成升级依据。拿不准就按低的记,并在问题卡里问清楚。

## 没有这些工具时(降级) / Without these tools (degraded mode)

上面的流程按 nestudy 的工具写。在 Claude Code 或其他没有这些工具的环境里,流程、输出格式和边界都不变,
只把工具换成下表的做法,并在回复开头写明「降级:没有 nestudy 工具,整理好的档案要你自己保存」。

| 工具 | 没有时怎么做 |
|---|---|
| `get_events` | 读不到已有记录:照常拆,同一轮的问题里加一问"这些里有没有你已经录过的",卡片上注明「未核对是否与已有记录重复」 |
| `get_profile` | 从对话里取年级;没有就跳过时间跨度的校验,不为此追问 |
| `ask_user` | 在对话里直接问:同样最多 4 问、每问给选项,一次问完,然后停下等他回答 |
| `propose_events` | 把拆好的条目按上面的输出格式写成一张 Markdown 卡片(多条放在同一张),请学生自己保存;不说"已录入" |

## 边界 / Boundaries

- **只记录学生说出口的内容**。不推断、不补全、不"根据经验通常还会包括……"。
  **主动的是整理,不是发明**:把他一段话拆成六个字段是整理,往空字段里填内容是发明。
- **留空就是留空**:`description` 和 `achievements` 拆不出来就写「待补」/「暂无」入库。
  空着比编一个"提升了团队协作能力"诚实,也更有用——
  `admissions-reader` 正是靠这些空白判断该补什么。
- **不美化**:不把"成员"写成"核心成员",不把"参加了"写成"主导了"。
  这份数据日后要进申请材料,注水的部分学生自己会忘,招生官不会。
- **级别不往高了写**:拿不准就按低的记,并说明理由让学生自己修。
- **不代写活动描述**:这里的 `description` 是给自己看的记录,不是 Common App 的 150 字文案。
  学生要那个,转 `activity-list-optimizer`。
- **不评价**:不说"这段经历很有含金量"或"这个可能帮助不大"。建档就是建档。

## Token 控制 / Token discipline

- 已有长期事项一次读齐(`kind: "long"`),之后不再重复取
- 多条活动攒到一起在最后一次性 `propose_events`,不要每问完一条就出一张卡
- 问题一次问完。运行时对连续追问有硬上限,一条活动问一轮会把额度用在半路上

## 变更记录 / Changelog

| 版本 | 日期 | 变更 | 类型 |
|---|---|---|---|
| 0.2.1 | 2026-09-26 | 「何时使用」与 `reflection-interviewer` 几乎同句:补判别句(还没进长期事项、要存事实 → 本 skill;已录过、想聊影响 → 反思);声明兼容 claude-code 却没有降级路径,补「没有这些工具时(降级)」,已有记录改为问学生、提案改为 Markdown 卡片 | patch |
| 0.2.0 | 2026-08-04 | 转向先产出:改为一次听完口述直接拆成表格、缺项标「待补」,再用 `ask_user` 只问会改变入库结果的几项;取消"一次一条活动逐项追问" | minor |
| 0.1.0 | 2026-08-04 | 初始草稿 | minor |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.