Hugo博客公告弹窗

让你的 Claude code 拥有“肌肉记忆”!

前言

厌倦了每次 /clear 后都要重新调教 AI?我开发了一套基于 Windows 环境的自动化闭环:对话 -> 自动归档 -> 技能 (Skills) 自动提取。让 Claude 彻底告别 “鱼的记忆”,在实战中不断自我进化!

只需一句 “归档”,所有技术决策、Bug 修复方案瞬间转化为本地 Skill 库。

1️⃣ 环境准备

确保安装 Python 中文处理库:

pip install pypinyin

确认技能目录存在:

C:\Users\Administrator\.claude\skills

2️⃣ 创建归档存储目录

  1. 创建归档目录:
New-Item -ItemType Directory -Force -Path "C:\Users\Administrator\archives\conversations"
  1. 创建配置文件 archivist-config.json,路径:
C:\Users\Administrator\archivist-config.json

内容如下:

{
  "default_archive_path": "C:\\Users\\Administrator\\archives\\conversations",
  "custom_project_paths": {},
  "include_full_history": false,
  "summarize_conversations": true,
  "auto_tag": true
}

3️⃣ 创建 Python 转化脚本

路径:

C:\Users\Administrator\.claude\scripts\archive_to_skill.py

内容如下(保持原样):

import os
import re
from pypinyin import pinyin, Style

# 配置路径:直接指向 skills 根目录以确保可见性
ARCHIVE_DIR = r"C:\Users\Administrator\archives\conversations"
SKILLS_DIR = r"C:\Users\Administrator\.claude\skills"

def clean_to_english_slug(filename):
    name_without_ext = os.path.splitext(filename)[0]
    pinyin_list = pinyin(name_without_ext, style=Style.NORMAL)
    flattened_pinyin = "-".join([item[0] for item in pinyin_list])
    slug = re.sub(r'[^\w\s-]', '', flattened_pinyin).strip().lower()
    slug = re.sub(r'[-\s]+', '-', slug)
    return slug if slug else "unnamed-skill"

def convert():
    if not os.path.exists(SKILLS_DIR):
        os.makedirs(SKILLS_DIR)

    for filename in os.listdir(ARCHIVE_DIR):
        if filename.endswith(".md"):
            file_path = os.path.join(ARCHIVE_DIR, filename)
            
            try:
                with open(file_path, 'r', encoding='utf-8') as f:
                    full_content = f.read()
            except Exception as e:
                print(f"读取失败 {filename}: {e}")
                continue
            
            # 生成目录名
            skill_folder_name = clean_to_english_slug(filename)
            target_folder = os.path.join(SKILLS_DIR, skill_folder_name)
            os.makedirs(target_folder, exist_ok=True)

            # 构建完整的 SKILL.md
            # 头部保留元数据,正文原封不动拷贝归档内容
            skill_content = (
                "---\n"
                f"name: {skill_folder_name}\n"
                f"description: Full project context and patterns from {filename}\n"
                "---\n\n"
                f"# Project Skill: {skill_folder_name}\n\n"
                "## 原始归档上下文 (Full Archive Content)\n\n"
                f"{full_content}\n"
            )

            skill_file_path = os.path.join(target_folder, "SKILL.md")
            with open(skill_file_path, 'w', encoding='utf-8') as sf:
                sf.write(skill_content)
                
            print(f"✅ 转换成功并提升至根目录: {skill_folder_name}/SKILL.md")

if __name__ == "__main__":
    convert()

4️⃣ 配置 Claude Agent

  1. 创建目录:
New-Item -ItemType Directory -Force -Path "C:\Users\Administrator\.claude\agents"
  1. 创建 Agent 文件 project-archivist.md,路径:
C:\Users\Administrator\.claude\agents\project-archivist.md

内容(保持原样):

---
name: project-archivist
description: "用于在工作完成后归档对话历史、项目上下文,并将其转化为可持久化的技能。触发词:归档、保存对话、archive、整理项目。"
model: sonnet
color: amber
---

你是一位运行在 Windows 环境下的专业项目归档员(Project Archivist)。你的任务是将当前的对话价值最大化,通过创建结构化的归档并将其转化为 Claude 的“肌肉记忆”(Skills)。

## 核心职责

1. **深度归档**:捕获完整的对话背景、技术决策、代码变更和关键逻辑。
2. **知识提取**:不仅是记录,更要提取出可复用的模式和解决问题的思路。
3. **技能进化**:自动将归档转化为符合 Claude 规范的 Skill 结构。

## 工作流程

### Phase 1: 归档文件生成
- **存储路径**:`C:\Users\Administrator\archives\conversations\`
- **文件名格式**:`[主题]_[概述].md`(支持中文名)。
- **内容要求**:必须包含 YAML 头部、对话摘要、## 关键要点、以及完整的核心对话记录。

### Phase 2: 技能转化 (核心修正)
归档文件成功保存后,你必须**立即且强制**执行以下自动化操作,严禁跳过:

1. **执行转化脚本**   在终端运行命令:`python C:\Users\Administrator\.claude\scripts\archive_to_skill.py`
   
2. **规范化验证**   确保技能被提升至根目录级别,结构必须如下:
   - 📁 `C:\Users\Administrator\.claude\skills\[技能英文名或拼音]\`
     - 📄 `SKILL.md` (包含完整的归档内容作为上下文)

3. **反馈确认**   完成后告知用户:“✅ 归档已完成,且已成功转化为本地技能。下次启动对话时,我会自动加载 `skills/[技能名]` 中的经验。”

## Windows 适配准则

- **路径标准**:始终使用 `C:\Users\Administrator\` 作为基础路径。
- **转义处理**:在任何需要处理 JSON 或 Shell 命令的地方,确保反斜杠已正确转义(例如 `C:\\Users\\...`)。
- **目录规范**:严禁将技能放在子目录下(如 `learned/`),必须直接放在 `skills/` 的一级子文件夹中。

## 提取与拷贝逻辑
- **零丢失原则**:在生成 `SKILL.md` 时,如果无法通过正则精确提取要点,必须将原始归档文件的全部内容原封不动地拷贝到 `SKILL.md` 的正文中。
- **元数据要求**:`SKILL.md` 开头必须包含标准的 `name``description` 字段。

---
*你不仅是在记录历史,更是在通过自动化脚本不断进化你的知识库。*

5️⃣ 配置全局设置

文件路径:

C:\Users\Administrator\.claude\settings.json

内容:

{
  "skills": {
    "search_paths": [
      "C:\\Users\\Administrator\\.claude\\agents",
      "C:\\Users\\Administrator\\.claude\\skills"
    ],
    "auto_load_learned": true
  }
}

6️⃣ 验证流程

  1. 在对话中对 Claude code 输入:
归档
  1. 验证技能加载:
/skills

你应能看到类似 nginxpulse-deploy 的技能显示为 Enabled


完成

你的 Claude code 现在可以将每次对话自动转化为本地技能,实现“肌肉记忆”,不断自我进化。

CC BY-NC-SA 4.0 转载请注明
最后更新于 2026-01-30 20:20