Skip to content
Back to skills

Siyu Save

ASecurity

把当前私域咨询的关键结论写入本地客户档案,供下次接续或汇总报告。 触发方式:/siyu-save、/存档、「保存」「记下来」「这个结论留着」;支持 list 和 --client。

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 22, 2026
ai-agentspythongobashapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add maojiebc/majia-siyu-team --skill siyu-save --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Siyu Save?

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

Security grade badge for Siyu Save
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/maojiebc-siyu-save/badge)](https://www.skillsdirectory.com/skills/maojiebc-siyu-save)

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: siyu-save
description: |
  把当前私域咨询的关键结论写入本地客户档案,供下次接续或汇总报告。
  触发方式:/siyu-save、/存档、「保存」「记下来」「这个结论留着」;支持 list 和 --client。
metadata:
  version: "1.5.0"
---

# siyu-save:客户档案存档

把当前对话里已经形成的客户主诉、结论、否决方向、待验证假设和下一步,写成结构化 markdown 文件。默认只保存结构化结论,不复制完整对话;只记录,不重新诊断。

## 两种状态不要混用

- `.siyu-team/runs/{run_id}/`:一次总协调安排的运行中状态,用来隔离续跑,完成后原样保留。
- `~/.siyu/clients/`:跨对话长期累积的客户档案。

编排完成后可把结论沉到客户档案;两者不互相替代,也不要把客户档案写进仓库。

## 用户措辞

对用户只说「客户档案」「存档」「对话」,不说 slug、snapshot、session。路径和 frontmatter 字段仅作技术标识。

## 触发方式

| 命令 | 行为 |
|---|---|
| `/siyu-save` | 从当前对话提取结构化结论,自动提取标题 |
| `/siyu-save <标题>` | 使用指定标题 |
| `/siyu-save --client <客户> [标题]` | 保存到指定客户档案 |
| `/siyu-save list [客户]` | 只列档,不写文件 |

## 工作流程

### 1. 判断是否值得存

先检查对话里是否已有诊断结论、执行产物、否决方向或待验证假设。只有一句「保存」且前面没有有效内容时,拒绝写空文件:

> 现在没有可存的结论。先完成一次具体任务或诊断,再来存档。

### 2. 确定客户和标题

- 客户目录默认取当前目录名,归一化为小写字母、数字和连字符;没有明确客户或位于家目录时用 `default`。
- 用户传了 `--client` 时优先使用,并把不安全字符替换为 `-`,禁止 `..`、路径分隔符和越出 `~/.siyu/clients/`。
- 标题优先用用户指定值,否则从对话提取不超过 20 字的名词短语。

跟用户说「客户」,不要说内部目录标识。此时只在内存中准备标题和内容,还不创建目录或文件。

### 3. 生成结构化草稿与敏感信息预览(写盘前)

先在内存中生成本页第 6 步的结构化草稿。只提取支撑后续接续的最少信息:主诉摘要、经营画像、已确认结论、否决方向、待验证假设、下一步和必要备注。

默认不进入草稿的内容:

- 完整对话、逐字稿和整段原始用户输入;
- 系统或开发者指令、Trace、官员原始输出和调试信息;
- 外部文档全文、无关联系人信息和不影响结论的经营明细。

对草稿扫描下列类别:姓名与客户标识、手机号、身份证号、邮箱、微信号、详细地址、门店或组织内部标识、精确经营数字,以及 token、API key、密码、cookie 等认证凭据。

在任何写盘之前,先向用户显示:

```text
即将存档:结构化结论(不含完整对话)
检测到 {N} 处可能的敏感信息:
| 类别 | 出现位置 | 脱敏预览 |
| ... | ... | ... |
```

预览只显示支撑判断的最少片段。手机号、证件号、邮箱和内部标识要掩码;认证凭据只显示「[凭据,已隐藏]」,不得在预览中重复完整值。如未命中,明确说「未发现常见敏感信息,不代表绝对安全」。

### 4. 等待用户选择

预览后必须停下,让用户选择:

```text
1. 脱敏后保存(推荐)
2. 原文保存
3. 取消
```

- 未收到明确选择时,不得写入、创建目录或视为默认同意。
- 选「脱敏后保存」:对预览中的敏感值做掩码、区间化或删除,再写入;不得编造替代数字。
- 选「原文保存」:仅在结构化草稿中保留预览已提示的原值,并在写入前提醒该文件是未加密本地纯文本。「原文」不代表改为保存完整对话。
- 选「取消」:立即结束,不创建任何文件或目录,只回复「已取消存档」。
- 用户修改草稿后,必须重新扫描、重新预览并重新选择。

### 5. 生成路径

```text
~/.siyu/clients/{客户目录}/{YYYYMMDD-HHMMSS}-{标题目录}.md
```

时间戳使用本地时间;ISO 时间用:

```bash
python3 -c "from datetime import datetime; print(datetime.now().astimezone().isoformat(timespec='seconds'))"
```

只有在第 4 步收到「脱敏后保存」或「原文保存」的明确选择后,才能创建目录。同一秒同名时追加 4 位随机后缀,永不覆盖已有文件。

### 6. 写入固定格式

```markdown
---
client: {客户目录}
timestamp: {ISO 8601 带时区}
title: {标题原文}
source_skill: {本次主要走过的 skill,多个用逗号分隔}
status: {in-progress | resolved | abandoned}
next_skill: {推荐下一步,不确定就留空}
industry: {catering | retail | edu | ...,可为空}
stage: {cold | growth | mature,可为空}
business_model: {direct | franchise | mixed,可为空}
stores: {门店数,可为空}
org_layers: {none | regional,可为空}
private_channel: {企微 | 个微导购 | 小程序会员 | 社群,可为空}
content_scope: structured_conclusions
privacy_mode: {redacted | original}
sensitive_categories: [{只写类别,不写原始值}]
compliance_flags: []
---

## 客户主诉
{按 privacy_mode 处理后的 1—2 句结构化摘要}

## 经营画像
- 行业及子类:{...}
- 经营模式:{直营 / 加盟 / 混合}
- 门店数:{数字或档}
- 分公司或区域层:{有 / 无}
- 私域主载体:{企微 / 个微导购 / 小程序会员 / 社群}
未知项写「未记录」,不要猜。

## 已得出的结论
- {一句话一个结论}

## 已否决的方向
- {方向} —— {否决理由}

## 待验证假设
- {假设}

## 推荐下一步
{做什么、为什么、对应哪个 skill,一段话}

## 备注
{只记影响判断的关键转折和怀疑,不粘贴完整对话}
```

没有否决方向或假设时写「(暂无)」。`status` 不确定时用 `in-progress`;`next_skill` 不确定时留空,不能猜。`privacy_mode` 必须与用户选择一致;`sensitive_categories` 只记扫描类别,不重复敏感值。

### 7. 一行回执

> 已存档:{路径}。当前客户下共 {N} 份;下次输入 `/siyu-restore` 接着上次。

不复述内容,不说「保存成功」,不加感叹号。选「原文保存」且档案含敏感信息时补一句:`~/.siyu/` 是本地纯文本且未加密,请管理好本地访问权限。

## list 模式

按文件名前缀排序,输出日期、标题、中文状态和来源:`in-progress → 进行中`、`resolved → 已结论`、`abandoned → 已放弃`。没有档案时说明先完成一次任务再存档。

## 边界

- 客户档案是本地长期记录,不是 Trace、完整对话备份、公开知识库或同行贡献稿;不自动上传、分享或写入仓库。
- `~/.siyu/` 是未加密纯文本。本 skill 不主动同步;操作系统备份、云盘或其他同步工具不在本 skill 的安全边界内。
- 敏感扫描是尽力而为的辅助,不是绝对保证;写盘前必须让用户看到预览和选择。
- 「原文保存」只改变结构化草稿的脱敏方式,永不扩展为记录完整对话。
- 连续保存允许生成新文件,不能覆盖。
- 写入前解析并确认最终路径仍在 `~/.siyu/clients/` 下。
- `list` 模式只读,不进行存档、不创建文件。
- 面向用户一律中文,遵循《中文文案排版指北》。

---

## 不知道下一步用哪个 skill?

输入 `/siyu`。

这是私域工具箱的导航入口。它会读取刚才的具体结论,选择当前最值得处理的一个方向,
并直接路由到对应 skill。迷路了就回 `/siyu`。

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.