mcpField
R
remember

remember

github.com/yonatangrossAgent 工作流299223 次安装今天更新
代码仓库

关于 remember

remember 是 OrchestKit 的一项技能,可将决策、模式和上下文记录到知识图谱,供后续会话使用。它支持分类、Agent 或项目范围,以及成功或失败标记;图谱存储需要另行配置 memory MCP 服务。

主要功能

  1. 01将决策和模式存入知识图谱
  2. 02自动分类或通过标记指定类别
  3. 03记录成功和失败结果
  4. 04按 Agent 或全局设定存储范围
  5. 05从文本提取实体与关系

适用场景

  1. 01为后续会话保留项目约定
  2. 02记录有效做法和反面模式
  3. 03保存特定 Agent 或跨项目的决策

MCP 相关

该技能通过另行配置的 memory MCP 服务提供的工具写入图谱数据,例如 `mcp__memory__create_entities` 和 `mcp__memory__create_relations`。OrchestKit 不包含此服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yonatangross/orchestkit --skill remember

安装后在 Claude Code 中输入/remember确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

test-cases.json
references/
category-detection.md
confirmation-templates.md
entity-extraction-workflow.md
examples.md
graph-operations.md
rules/
_sections.md
duplicate-entity-detection.md
entity-relationship-validation.md
observation-quality-gate.md

详细介绍

Remember - 存储决策和模式

文件系统与 MCP memory(Opus 5.5 指南,CC 2.1.111+): Opus 5.5 能够在多会话工作中可靠地读取文件系统记忆。请善加利用:

  • 短期交接状态(当前阶段、进行中的任务、待审批事项)→ .claude/chain/*.json 文件。小巧、结构化、限定于会话。
  • 持久自动记忆(用户事实、反馈、项目约定)→ ~/.claude/projects/<slug>/memory/*.md 文件,并在 MEMORY.md 中添加一行索引。每次会话开始时读取。
  • 跨会话知识图谱(用于查询遍历的类型化实体及关系)→ MCP memory 服务(此技能的默认路径)。适用于未来会话需要搜索模式的情况。

三者相辅相成,并非互相替代。任何你想用 grep 搜索的内容都优先存入文件系统;任何你想遍历查询的内容都优先存入 MCP。

将重要决策、模式或上下文存储到知识图谱中,供未来会话使用。支持追踪成功/失败结果,以构建最佳实践库。

参数解析

TEXT = "$ARGUMENTS"        # Full argument string, e.g., "We use cursor pagination"
FLAG = "$ARGUMENTS[0]"     # First token — check for --success, --failed, --category, --agent
# Parse flags from $ARGUMENTS[0], $ARGUMENTS[1] etc. (CC 2.1.59 indexed access)
# Remaining tokens after flags = the text to remember

架构

remember 技能使用知识图谱作为存储:

  1. 知识图谱:通过 mcp__memory__create_entities 和 mcp__memory__create_relations 存储实体和关系。这些工具来自 OrchestKit 未捆绑的 memory MCP 服务:请先在用户或项目范围内配置一个服务(例如 @modelcontextprotocol/server-memory),然后使用 claude mcp list 确认。若未配置,此处的所有图谱步骤都不会执行任何操作。

优势:

  • 配置好 memory 服务后,可免费本地使用
  • 支持显式查询关系(例如“X 使用什么?”)
  • 支持实体之间的交叉引用
  • 不依赖云服务

自动提取实体:

  • 将首字母大写的术语提取为潜在实体(PostgreSQL、React、pgvector)
  • 检测 Agent 名称(database-engineer、backend-system-architect)
  • 识别模式名称(cursor-pagination、connection-pooling)
  • 识别“X 使用 Y”“X 推荐 Y”“X 需要 Y”等关系模式

用法

存储决策(默认)
remember <text>
remember --category <category> <text>
remember --success <text>     # Mark as successful pattern
remember --failed <text>      # Mark as anti-pattern
remember --success --category <category> <text>

# Agent-scoped memory
remember --agent <agent-id> <text>         # Store in agent-specific scope
remember --global <text>                   # Store as cross-project best practice

标志

标志行为
(default)写入图谱
--success标记为成功模式
--failed标记为反模式
--category <cat>设置类别
--agent <agent-id>将记忆限定于特定 Agent
--global作为跨项目最佳实践存储

类别

  • decision - 说明为何选择 X 而非 Y(默认)
  • architecture - 系统设计和模式
  • pattern - 代码约定和标准
  • blocker - 已知问题和解决方法
  • constraint - 限制和要求
  • preference - 用户/团队偏好
  • pagination - 分页策略
  • database - 数据库模式
  • authentication - 身份验证方法
  • api - API 设计模式
  • frontend - 前端模式
  • performance - 性能优化

结果标志

  • --success - 效果良好的模式(正面结果)
  • --failed - 导致问题的模式(反模式)

如果未提供任何标志,记忆将作为中性信息存储。

工作流

1. 解析输入
Check for --success flag → outcome: success
Check for --failed flag → outcome: failed
Check for --category <category> flag
Check for --agent <agent-id> flag → agent_id: "ork:{agent-id}"
Check for --global flag → use global user_id
Extract the text to remember
If no category specified, auto-detect from content
2. 自动检测类别
关键词类别
chose, decided, selecteddecision
architecture, design, systemarchitecture
pattern, convention, stylepattern
blocked, issue, bug, workaroundblocker
must, cannot, required, constraintconstraint
pagination, cursor, offset, pagepagination
database, sql, postgres, querydatabase
auth, jwt, oauth, token, sessionauthentication
api, endpoint, rest, graphqlapi
react, component, frontend, uifrontend
performance, slow, fast, cacheperformance
3. 提取经验(针对反模式)

如果结果为“failed”,请查找:

  • “should have”“instead use”“better to”
  • 如果未找到,请提示用户:“应该改用什么做法?”
4-6. 提取实体并创建图谱

从文本中提取实体(Technology、Agent、Pattern、Project、AntiPattern),检测关系模式(“X uses Y”“chose X over Y”等),然后在知识图谱中创建实体和关系。

7. 确认类型和范围(AskUserQuestion — M118 #1466)

自动分类仅供参考。写入前,询问用户确认记忆类型和持久化范围。分类器置信度较高(≥0.9)时,将自动检测的类型预选为默认选项:

# Skip when the invocation already specifies type and scope:
#   remember --type=preference --global  → skip, use those values
#   remember --session  → skip, no persistence
#
# Otherwise, ask both:
AskUserQuestion(questions=[
  {"question": "What type of memory?",
   "header": "Type",
   "options": [
     {"label": "Preference", "description": "How I like to work (style, format, tooling)"},
     {"label": "Project fact", "description": "State of THIS codebase (decisions, constraints)"},
     {"label": "Reference", "description": "External system pointer (URL, doc, dashboard)"},
     {"label": "Feedback", "description": "Correction to future behavior — applied as a rule"}
   ]},
  {"question": "Apply to?",
   "header": "Scope",
   "options": [
     {"label": "This project (default)", "description": "Scoped to .claude/projects/<this-project>/memory/"},
     {"label": "All projects (global)", "description": "User-level memory at ~/.claude/memory/"},
     {"label": "This session only", "description": "Print to context but don't persist"}
   ]}
])

默认选项规则:

  • 如果自动检测的类别映射到 4 个类型选项之一,且置信度 ≥0.9,则预选该选项(用户仍可更改)。
  • “此项目”始终是范围默认选项。
  • 选择“仅限此会话”后会立即返回,不执行写入——适用于用户希望在对话中提出某项事实,但不将其保存的情况。

全局记忆写入会写入 ~/.claude/memory/<filename>.md,而不是项目本地记忆目录。无论选择哪个范围(项目级或用户级),都会更新 MEMORY.md 索引。

加载实体提取规则、类型分配、关系模式和图谱创建示例:Read("references/graph-operations.md")

7. 确认存储

使用适当的模板(成功、反模式或中性)显示确认信息,其中包含已创建的实体、关系和图谱统计数据。

加载输出模板和示例:Read("references/confirmation-templates.md")

基于文件的记忆更新

更新 .claude/memory/MEMORY.md 或项目记忆文件时:

  • 优先使用 Edit,而不是 Write,以保留现有内容并避免覆盖
  • 使用稳定的锚点行:## Recent Decisions、## Patterns、## Preferences
  • 完整的 Edit 模式请参阅 memory 技能中的“无需权限的文件操作”部分
  • 这适用于调用方 Agent 的文件操作,不适用于上述知识图谱操作

参考资料

按需使用 Read("references/<file>") 加载:

文件内容
category-detection.md记忆分类的自动检测规则(优先级顺序)
graph-operations.md实体提取、类型分配、关系模式、图谱创建
confirmation-templates.md输出模板(成功、反模式、中性)和使用示例

相关技能

  • ork:memory - 搜索、加载、同步、可视化(读取操作)

错误处理

  • 知识图谱不可用 → 显示配置说明
  • 文本为空 → 询问用户提供内容;文本超过 2000 个字符 → 截断并提示
  • 同时出现 --success 和 --failed → 请用户澄清
  • 实体提取失败 → 创建通用 Decision 实体;关系创建失败 → 先创建实体,然后重试

评论

支持 Markdown