skills/specstory-sync/SKILL.md
为项目配置 Claude Code 对话历史自动记录功能(类 Specstory)。当用户提到"对话记录"、"会话历史"、"specstory"、"自动保存对话"、"导出对话"、"conversation history sync"时触发此skill。也适用于用户想要回顾、搜索、归档之前的 AI 对话内容,或在项目间迁移对话记录功能的场景。即使用户没有明确提到"specstory",只要涉及到保存、记录、导出 Claude Code 对话的需求,都应使用此skill。
npx skillsauth add anian0/pick-skills specstory-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
为任意项目一键配置对话历史自动记录。每次 Claude Code 完成回复时,自动将当前会话导出为格式化的 Markdown 文件,存放在项目的 .specstory/history/ 目录下。
sync_to_spec.py 读取 ~/.claude/projects/ 下的 JSONL 会话数据Stop 事件钩子自动触发当用户要求配置对话历史记录时,按以下步骤操作:
将 scripts/sync_to_spec.py 复制到目标项目的 .specstory/ 目录:
# 确保目标目录存在
mkdir -p <project-root>/.specstory/history
# 复制脚本
cp <skill-dir>/scripts/sync_to_spec.py <project-root>/.specstory/sync_to_spec.py
其中 <skill-dir> 是本 skill 所在目录,<project-root> 是用户当前项目的根目录。
读取项目已有的 .claude/settings.json(如果不存在则创建),在其中添加 Stop 事件钩子。
重要:必须保留已有的 hooks 和其他配置,只合并新增内容。
需要添加的 Hook 配置:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": ".venv/Scripts/python.exe .specstory/sync_to_spec.py",
"timeout": 15,
"statusMessage": "Syncing conversation history..."
}
]
}
]
}
}
Python 解释器适配:根据项目环境选择正确的 Python 路径:
.venv/Scripts/python.exe(Windows 虚拟环境),使用 .venv/Scripts/python.exe.venv/bin/python(Linux/Mac 虚拟环境),使用 .venv/bin/pythonpyproject.toml 且使用 uv,使用 uv run pythonpython3(Mac/Linux)或 python(Windows)运行脚本测试一次,确认能正确读取和转换对话数据:
cd <project-root>
<python-path> .specstory/sync_to_spec.py
成功输出类似:
[specstory-sync] Synced 47 messages -> 2026-04-22_03-34-25Z-some-title.md
如果出现错误,检查:
Path | None 类型语法)~/.claude/projects/ 下是否有对应项目的目录D:\foo → D--foo)建议在项目的 .gitignore 中添加以下条目(如果用户希望将对话历史纳入版本控制则跳过):
.specstory/history/
生成的 Markdown 文件存放在 .specstory/history/ 下,命名规则:
YYYY-MM-DD_HH-MM-SSZ-<title-slug>.md
文件内容示例:
<!-- Generated by Claude Code Specstory Sync -->
# 2026-04-22 03:34
<!-- Claude Code Session abc123-def456 (2026-04-22T03:34:25.907Z) -->
_**User (2026-04-22 03:34:25)**_
帮我实现一个功能...
---
_**Assistant (2026-04-22 03:34:30)**_
好的,我来帮你实现...
*Read*: `src/main.py`
```bash
pip install requests
## 已有 Specstory 目录的处理
如果项目已经存在 `.specstory/` 目录(来自 Cursor/VSCode 的 Specstory 扩展),本脚本会复用该目录,生成的文件与原有格式兼容。两种来源的记录可以共存。
## 卸载
如果用户想要移除此功能:
1. 从 `.claude/settings.json` 中删除 `Stop` hook 条目
2. 删除 `.specstory/sync_to_spec.py`
3. (可选)删除 `.specstory/history/` 下的 `.*.fp` fingerprint 文件
4. (可选)删除生成的 Markdown 文件
development
基于已确认的需求简报创建简洁的实现契约。当需求已确认,用户要求技术方案、实现方案、API 或数据设计、代码变更契约时使用。本 skill 只设计方案,不写生产代码。
content-media
将项目想法或功能请求澄清为简洁、聚焦决策的需求简报。当用户想讨论需求、确定范围、把想法整理成开发前输入,或为 tech-design-v2 准备需求材料时使用。本 skill 只产出需求,不做技术方案或代码实现。
development
项目开发 v2 skill 套件的共享政策和交付契约。当维护、审查、分享或挂载 requirements-workshop-v2、tech-design-v2、implementation-planning-v2、plan-execution-v2 使用的公共文档时使用;当任务涉及 v2 提问策略、交付契约或禁止模拟完成策略时也使用。
development
审查项目开发 v2 流程中的需求文档、技术方案、实施计划、执行结果和跨文档一致性。当用户要求评估、审查、检查、对比、把关 requirements-workshop-v2、tech-design-v2、implementation-planning-v2、plan-execution-v2 的产物,或进入下一阶段前确认文档/执行证据是否可靠时使用。本 skill 只做审查和修订建议,不直接生成新需求、技术方案、计划或代码。