Exp Write logo

Exp Write

Community
HHU3637kr
exp-write

记忆写入 Skill,将重大经验写入 spec/context/experience/ 或知识记忆写入 spec/context/knowledge/,并更新对应索引(不写 MEMORY.md)。触发场景:`/exp-write type=experience`、`/exp-write type=knowledge` 手动写入,exp-reflect 确认后落盘,或用户要求把内容已经确定的经验/知识写进记忆时使用,典型信号:'把这次 AWR 踩坑写进经验记忆''把架构调研整理成知识记忆''把 exp-reflect 确认过的草稿写入索引'。本 Skill 只执行写入;判断是否值得沉淀、归哪类记忆、去重与草稿生成由 exp-reflect 负责,需要先识别分类时用 exp-reflect。仅处理经验记忆和知识记忆,程序记忆使用 skill-creator,工具记忆直接编辑 Skill。

Overview

PublisherHHU3637kr
Repositoryskills
Skill nameexp-write
Stars
146
Forks
21
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by HHU3637kr on GitHub. Read the source before you install it.

Installation

Install the Exp Write AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/HHU3637kr/skills/tree/master/exp-write
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/HHU3637kr/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/exp-write .claude/skills/exp-write
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Exp Write in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Exp Write on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Exp Write is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

exp-write - 记忆写入 Skill

运行契约

把本 Skill 当成一个有边界的写入循环单元:明确读什么、能动什么、怎么算完成、什么时候停、什么时候交还给人。

项本 Skill 的约定
输入exp-reflect 生成的经验/知识草稿、type 参数、对应记忆索引
权限只写 spec/context/experience/ 与 spec/context/knowledge/(详情 + 索引);不写 MEMORY.md、不写 AGENTS.md/rules(各有其归口)
验证ID 递增不重复、文件名规范、通过经验/知识质量检查项、索引同步更新
停止写入详情 + 更新索引 + 给出检索方式即停止;不重复写入已存在的同一记忆
升级命中相似记忆时按重复检测规则停下,交回用户决定"不记录/更新现有/新增",不擅自覆盖

概述

将记忆写入 spec/context/ 目录,并更新索引文件。支持两种记忆类型:

  1. 经验记忆(困境-策略对)→ spec/context/experience/
  2. 知识记忆(项目理解/技术调研)→ spec/context/knowledge/

职责边界:

  • ✅ 写入 spec/context/experience/ 目录(经验详情 + 索引)
  • ✅ 写入 spec/context/knowledge/ 目录(知识详情 + 索引)
  • ❌ 不写入 MEMORY.md(由 Claude Code Auto Memory 自主管理)
  • ❌ 不写入 .agents/rules/ 或 AGENTS.md(由 exp-reflect/spec-end/skill-creator 按规范类型直接维护)

注意:本 Skill 仅处理经验记忆和知识记忆的写入。

  • 程序记忆(SOP)→ 使用 /skill-creator 创建
  • 工具记忆 → 直接编辑目标 Skill 文件末尾
  • 项目规范/规则/偏好 → 由 /exp-reflect 展示变更并在用户确认后直接编辑 AGENTS.md 或 .agents/rules/*.md

触发场景

  • exp-reflect 用户确认后自动调用
  • 手动添加经验:/exp-write type=experience
  • 手动添加知识:/exp-write type=knowledge

核心文件

经验记忆:

  • 经验索引:spec/context/experience/index.md
  • 经验详情:spec/context/experience/exp-{ID}-{中文标题}.md

知识记忆:

  • 知识索引:spec/context/knowledge/index.md
  • 知识详情:spec/context/knowledge/know-{ID}-{中文标题}.md

记忆文件(详情 + 索引)一律是 Markdown(.md),exp-search 靠文本检索它们;即使 Spec 报告已改用 HTML,记忆文件也不改格式。 记忆之间的关联用普通相对链接或 [EXP-001] / [KNOW-001] 形式的 ID 引用,不用双链语法。


执行流程

写入流程:
- [ ] 步骤 0:确定记忆类型
      从调用参数获取 type(experience 或 knowledge)
      如果未指定,根据内容判断类型

- [ ] 步骤 1:确定记忆 ID
      根据类型读取对应索引文件:
      - experience → 读取 spec/context/experience/index.md,找到最大 EXP-ID
      - knowledge → 读取 spec/context/knowledge/index.md,找到最大 KNOW-ID
      新 ID = 最大 ID + 1
      格式:三位数字,如 001, 002, 003

- [ ] 步骤 2:生成文件名
      根据类型选择前缀:
      - experience → exp-{ID}-{中文标题}.md
      - knowledge → know-{ID}-{中文标题}.md

      示例:
      - exp-001-WebSocket连接超时.md
      - know-001-TeachingAnalyzer架构.md

- [ ] 步骤 3:写入详情文件
      根据类型选择路径和模板:
      - experience → spec/context/experience/exp-{ID}-{标题}.md(使用经验模板)
      - knowledge → spec/context/knowledge/know-{ID}-{标题}.md(使用知识模板)

- [ ] 步骤 4:更新索引文件
      在对应索引文件的表格中添加新条目:
      - experience → spec/context/experience/index.md
      - knowledge → spec/context/knowledge/index.md

- [ ] 步骤 5:确认完成
      告知用户记忆已保存
      说明如何检索:/exp-search <关键词>

文件格式

经验详情文件模板(experience)

markdown
---
id: EXP-{ID}
title: {标题}
keywords: [{关键词1}, {关键词2}, {关键词3}]
scenario: {适用场景}
created: {YYYY-MM-DD}
---

# {标题}

## 困境

{描述遇到的问题或挑战}

## 策略

1. {解决步骤1}
2. {解决步骤2}
3. {解决步骤3}

## 理由

{为什么这个策略有效}

## 相关文件

- {涉及的文件路径1}
- {涉及的文件路径2}

## 参考

- {相关链接或文档}

知识详情文件模板(knowledge)

markdown
---
id: KNOW-{ID}
title: {标题}
type: {项目理解 / 技术调研 / 代码分析}
keywords: [{关键词1}, {关键词2}, {关键词3}]
created: {YYYY-MM-DD}
---

# {标题}

## 概述

{简要说明这个知识点的核心内容}

## 详细内容

{根据类型组织内容}

### 项目理解类示例结构:
- 项目概述
- 核心架构
- 数据流
- 关键模块
- 技术栈

### 技术调研类示例结构:
- 背景
- 方案对比
- 优缺点分析
- 结论与建议

### 代码分析类示例结构:
- 模块职责
- 核心实现
- 设计模式
- 关键接口

## 相关文件

- {涉及的文件路径1}
- {涉及的文件路径2}

## 参考

- {相关链接或文档}

经验索引文件格式 (experience/index.md)

markdown
# 经验索引

> 使用 `/exp-search <关键词>` 检索相关经验

## 索引表

| ID | 标题 | 关键词 | 适用场景 | 一句话策略 |
|----|------|--------|----------|-----------|
| EXP-001 | WebSocket 连接超时 | WebSocket, 超时, Nginx, 心跳 | 长时间任务连接断开 | 三层防护:Nginx超时+心跳+重连 |
| EXP-002 | 多角色页面一致性 | 多角色, 页面同步, 前端 | 修改共用页面 | 共用页面修改需同步所有角色 |

## 分类索引

### 前端相关
- [EXP-001] WebSocket 连接超时
- [EXP-002] 多角色页面一致性

### 后端相关
- [EXP-003] AgentScope Memory 管理

### 架构决策
- [EXP-004] 记忆系统架构设计

知识索引文件格式 (knowledge/index.md)

markdown
# 知识索引

> 使用 `/exp-search <关键词>` 检索相关知识

## 索引表

| ID | 标题 | 类型 | 关键词 | 一句话概述 |
|----|------|------|--------|-----------|
| KNOW-001 | TeachingAnalyzer 数据流与架构 | 项目理解 | 数据流, 架构, MainAnalyzer | 完整的视频分析流水线,从 ASR 到结果上传 |
| KNOW-002 | AgentScope 框架对比 | 技术调研 | AgentScope, 多智能体, 框架 | 多智能体框架选型分析与建议 |

## 分类索引

### 项目理解
- [KNOW-001] TeachingAnalyzer 数据流与架构

### 技术调研
- [KNOW-002] AgentScope 框架对比

### 代码分析
- [KNOW-003] MainAnalyzer 编排机制

命名规范

记忆 ID

经验记忆:

  • 格式:EXP-{三位数字}
  • 示例:EXP-001, EXP-002, EXP-003
  • 递增分配,不重复使用

知识记忆:

  • 格式:KNOW-{三位数字}
  • 示例:KNOW-001, KNOW-002, KNOW-003
  • 递增分配,不重复使用

文件名

经验记忆:

  • 格式:exp-{ID}-{中文标题}.md
  • 标题使用中文,简短表达主题
  • 示例:
    • exp-001-记忆系统架构设计.md
    • exp-002-前端多角色页面一致性.md
    • exp-006-AgentScope-Memory管理.md

知识记忆:

  • 格式:know-{ID}-{中文标题}.md
  • 标题使用中文,简短表达主题
  • 示例:
    • know-001-TeachingAnalyzer架构.md
    • know-002-AgentScope框架对比.md
    • know-003-MainAnalyzer编排机制.md

更新模式

当需要更新现有记忆时:

更新流程:
- [ ] 步骤 1:读取现有记忆文件
      根据类型读取对应文件:
      - experience → spec/context/experience/exp-{ID}-{标题}.md
      - knowledge → spec/context/knowledge/know-{ID}-{标题}.md

- [ ] 步骤 2:合并新内容
      经验记忆:
      - 补充策略步骤
      - 添加新的相关文件
      - 更新理由说明

      知识记忆:
      - 补充详细内容
      - 更新架构图或数据流
      - 添加新的相关文件

- [ ] 步骤 3:更新索引(如果关键词或场景变化)
- [ ] 步骤 4:确认完成

输出确认

新增经验记忆

markdown
✅ 经验已保存

**文件**:spec/context/experience/exp-003-agentscope-memory.md
**索引**:已更新 spec/context/experience/index.md

💡 如果这条经验中有日常编码技巧值得跨会话记住,Auto Memory 会自动处理,无需额外操作。

检索方式:
- `/exp-search AgentScope`
- `/exp-search Memory 超限`

新增知识记忆

markdown
✅ 知识已保存

**文件**:spec/context/knowledge/know-001-teachinganalyzer架构.md
**索引**:已更新 spec/context/knowledge/index.md

检索方式:
- `/exp-search TeachingAnalyzer`
- `/exp-search 数据流`

更新经验记忆

markdown
✅ 经验已更新

**文件**:spec/context/experience/exp-001-websocket-timeout.md
**变更**:
- 新增策略步骤:添加重试机制
- 补充相关文件:backend/utils/retry.py

检索方式:
- `/exp-search WebSocket`

更新知识记忆

markdown
✅ 知识已更新

**文件**:spec/context/knowledge/know-001-teachinganalyzer架构.md
**变更**:
- 补充数据流图
- 新增模块说明:ResultUploader

检索方式:
- `/exp-search TeachingAnalyzer`

质量检查

写入前自动检查:

经验记忆检查项

检查项要求
标题简短明确,描述问题而非解决方案
关键词3-6 个,覆盖主要概念
适用场景一句话描述何时使用
困境清晰描述问题背景
策略具体可执行的步骤
理由解释为什么有效

知识记忆检查项

检查项要求
标题简短明确,描述知识主题
类型明确标注:项目理解/技术调研/代码分析
关键词3-6 个,覆盖主要概念
概述简要说明核心内容
详细内容结构化组织,层次清晰
相关文件列出涉及的关键文件

与其他 Skill 的协作

场景协作 Skill
接收经验草稿← /exp-reflect 生成
接收知识草稿← /exp-reflect 生成
写入后验证→ /exp-search 测试检索

Frequently asked questions

What does the Exp Write AI skill do?

记忆写入 Skill,将重大经验写入 spec/context/experience/ 或知识记忆写入 spec/context/knowledge/,并更新对应索引(不写 MEMORY.md)。触发场景:`/exp-write type=experience`、`/exp-write type=knowledge` 手动写入,exp-reflect 确认后落盘,或用户要求把内容已经确定的经验/知识写进记忆时使用,典型信号:'把这次 AWR 踩坑写进经验记忆''把架构调研整理成知识记忆''把 exp-reflect 确认过的草稿写入索引'。本 Skill 只执行写入;判断是否值得沉淀、归哪类记忆、去重与草稿生成由 exp-reflect 负责,需要先识别分类时用 exp-reflect。仅处理经验记忆和知识记忆,程序记忆使用 skill-creator,工具记忆直接编辑 Skill。

Why use Exp Write on TypingMind?

Because you install it once and use it with any model. Exp Write is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Exp Write in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/HHU3637kr/skills/tree/master/exp-write. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Exp Write?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Exp Write?

As many as you like. As long as a model supports skills, you can use Exp Write with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Exp Write AI skill free?

It is published on GitHub by HHU3637kr. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇