关于 memory-manage
memory-manage 是用于维护项目记忆和生成文档的 Agent 技能,可按请求路由到对应流程。支持全量、增量和单模块更新,以及 API.md、README.md 文档生成。
主要功能
- 01路由到记忆更新或文档生成流程
- 02全量、增量及单模块更新
- 03生成 API.md 和 README.md
- 04参数不足时交互式确认
适用场景
- 01更新整个项目的 CLAUDE.md
- 02根据 Git 变更更新相关记忆
- 03为单个模块维护 CLAUDE.md
- 04全量或增量生成项目文档
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ catlog22/ claude-code-workflow --skill memory-manage安装后在 Claude Code 中输入/memory-manage确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
phases/01-update-full.md02-update-related.md03-update-single.md04-docs-full.md05-docs-related.md详细介绍
记忆管理技能
项目记忆(CLAUDE.md)更新和文档(API.md/README.md)生成的统一入口。根据参数或交互式需求评估,路由到专用子命令。
架构概览
┌──────────────────────────────────────────────────────┐
│ Memory Manage (Router) │
│ → Parse input → Detect mode → Route to phase │
└───────────────┬──────────────────────────────────────┘
│
┌───────┴───────┐
↓ ↓
┌───────────┐ ┌───────────┐
│ CLAUDE.md │ │ Docs │
│ 管理 │ │ 生成 │
└─────┬─────┘ └─────┬─────┘
│ │
┌────┼────┐ ┌────┴────┐
↓ ↓ ↓ ↓ ↓
Full Related Single Full Related
全量 增量 单模块 全量 增量
执行流程
步骤 1:解析输入并路由
根据用户输入检测执行模式:
自动路由规则(按优先级排序):
| 信号 | 路由 | 示例 |
|---|---|---|
| 显式子命令标记 | → 直接分派 | update-full --tool qwen |
| 关键词:full、全量、all、entire + update/claude | → update-full | “全量更新claude” |
| 关键词:related、changed、增量、diff + update/claude | → update-related | “更新变更模块” |
| 关键词:single、module、单模块 + 类似路径的标记 | → update-single | “更新 src/auth 模块” |
| 关键词:docs、documentation、文档 + full/all/全量 | → docs-full | “全量生成文档” |
| 关键词:docs、documentation、文档 + related/changed/增量 | → docs-related | “增量生成文档” |
| 含糊不清或没有参数 | → AskUserQuestion | /memory-manage |
有效的子命令标记:update-full、update-related、update-single、docs-full、docs-related
直接分派示例:
input = "update-full --tool qwen"
→ subcommand = "update-full", remainingArgs = "--tool qwen"
→ Read phases/01-update-full.md, execute
input = "update-single src/auth --tool gemini"
→ subcommand = "update-single", remainingArgs = "src/auth --tool gemini"
→ Read phases/03-update-single.md, execute
含糊不清或没有参数时,继续执行步骤 2。
步骤 2:交互式需求评估
Q1 — 确定内容类别:
AskUserQuestion({
questions: [{
question: "你要管理哪类内容?",
header: "类别",
multiSelect: false,
options: [
{
label: "CLAUDE.md (项目记忆)",
description: "更新模块指令文件,帮助Claude理解代码库结构和约定"
},
{
label: "项目文档 (API+README)",
description: "生成API.md和README.md到.workflow/docs/目录"
}
]
}]
})
Q2a — CLAUDE.md 管理范围(用户选择了 CLAUDE.md):
AskUserQuestion({
questions: [{
question: "CLAUDE.md 更新范围?",
header: "范围",
multiSelect: false,
options: [
{
label: "增量更新 (Recommended)",
description: "仅更新git变更模块及其父级,日常开发首选"
},
{
label: "全量更新",
description: "更新所有模块,3层架构bottom-up,适合重大重构后"
},
{
label: "单模块更新",
description: "指定一个模块,Explore深度分析后生成说明书式文档"
}
]
}]
})
路由映射:
- “增量更新” →
update-related→ 参考:phases/02-update-related.md - “全量更新” →
update-full→ 参考:phases/01-update-full.md - “单模块更新” →
update-single→ 继续执行 Q3
Q2b — 文档生成范围(用户选择了项目文档):
AskUserQuestion({
questions: [{
question: "文档生成范围?",
header: "范围",
multiSelect: false,
options: [
{
label: "增量生成 (Recommended)",
description: "仅为git变更模块生成/更新文档,日常开发首选"
},
{
label: "全量生成",
description: "所有模块+项目级文档(ARCHITECTURE.md等),适合初始化"
}
]
}]
})
路由映射:
- “增量生成” →
docs-related→ 参考:phases/05-docs-related.md - “全量生成” →
docs-full→ 参考:phases/04-docs-full.md
Q3 — 补充路径(仅 update-single 需要,且没有路径参数时):
AskUserQuestion({
questions: [{
question: "请指定要更新的模块路径:",
header: "路径",
multiSelect: false,
options: [
{
label: "src",
description: "src 目录"
},
{
label: ".",
description: "项目根目录"
}
]
}]
})
用户可选择“Other”输入自定义路径。
步骤 3:执行所选阶段
根据路由结果,读取并执行相应阶段:
阶段参考文档(阶段执行时按需读取):
| 模式 | 文档 | 用途 |
|---|---|---|
| update-full | phases/01-update-full.md | 完整更新 CLAUDE.md,采用三层架构和批次化 Agent |
| update-related | phases/02-update-related.md | 基于 Git 变更更新 CLAUDE.md,深度优先 |
| update-single | phases/03-update-single.md | 单模块 CLAUDE.md,采用 Explore + 手册风格 |
| docs-full | phases/04-docs-full.md | 完整生成 API.md + README.md |
| docs-related | phases/05-docs-related.md | 基于 Git 变更增量生成文档 |
共享配置
工具回退层级
所有子命令共享相同的回退机制:
--tool gemini → [gemini, qwen, codex] // default
--tool qwen → [qwen, gemini, codex]
--tool codex → [codex, gemini, qwen]
常用参数
| 参数 | 说明 | 默认值 | 用于 |
|---|---|---|---|
--tool <gemini|qwen|codex> | 主要 CLI 工具 | gemini | 全部 |
--path <dir> | 目标目录 | . | update-full、docs-full |
<path>(位置参数) | 模块路径 | (required) | update-single |
批处理阈值
| 子命令 | 直接执行 | Agent 批次 | 批次大小 |
|---|---|---|---|
| update-full | <20 个模块 | ≥20 个模块 | 4/agent |
| update-related | <15 个模块 | ≥15 个模块 | 4/agent |
| update-single | 始终单独执行 | 不适用 | 1 |
| docs-full | <20 个模块 | ≥20 个模块 | 4/agent |
| docs-related | <15 个模块 | ≥15 个模块 | 4/agent |
核心规则
- 先路由,再执行:执行任何操作前先确定子命令
- 阶段文档是唯一依据:所有执行逻辑都位于阶段文档中,路由器只负责分派
- 按需读取:只读取所选阶段文档,绝不加载全部文档
- 原样传递参数:将其余参数原样传递给子命令
- 用户确认:每个子命令负责展示自己的计划并进行 y/n 确认
错误处理
| 错误 | 解决方法 |
|---|---|
| 未知子命令 | 转入交互流程 |
| 未找到阶段文档 | 中止并报告文件路径错误 |
| update-single 缺少路径 | 通过 Q3 提示 |
| 子命令执行失败 | 遵循阶段文档自身的错误处理方式 |
评论
支持 Markdown