agent-configs 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +223 -0
- package/agents/architect.md +211 -0
- package/agents/code-reviewer.md +104 -0
- package/agents/planner.md +119 -0
- package/agents/refactor-cleaner.md +306 -0
- package/agents/security-reviewer.md +545 -0
- package/agents/tdd-guide.md +280 -0
- package/bundles/bk-chat-bundle/README.md +48 -0
- package/bundles/bk-chat-bundle/manifest.json +10 -0
- package/bundles/continuous-learning/.claude/commands/evolve.md +190 -0
- package/bundles/continuous-learning/.claude/commands/instinct-status.md +64 -0
- package/bundles/continuous-learning/.claude/commands/learn.md +83 -0
- package/bundles/continuous-learning/.claude/hooks/learning-end.js +85 -0
- package/bundles/continuous-learning/.claude/hooks/observe.js +131 -0
- package/bundles/continuous-learning/.claude/lib/learning.js +559 -0
- package/bundles/continuous-learning/.claude/lib/utils.js +312 -0
- package/bundles/continuous-learning/.claude/skills/continuous-learning/SKILL.md +200 -0
- package/bundles/continuous-learning/.cursor/hooks/learning-end.js +102 -0
- package/bundles/continuous-learning/.cursor/rules/continuous-learning.mdc +34 -0
- package/bundles/continuous-learning/.cursor/skills/continuous-learning/SKILL.md +77 -0
- package/bundles/continuous-learning/README.md +159 -0
- package/bundles/continuous-learning/manifest.json +51 -0
- package/bundles/planning-bundle/README.md +34 -0
- package/bundles/planning-bundle/manifest.json +10 -0
- package/bundles/review-bundle/README.md +43 -0
- package/bundles/review-bundle/manifest.json +11 -0
- package/bundles/shared-memory/.claude/commands/list-sessions.md +124 -0
- package/bundles/shared-memory/.claude/commands/load-session.md +169 -0
- package/bundles/shared-memory/.claude/commands/save-session.md +137 -0
- package/bundles/shared-memory/.claude/hooks/memory-compact.js +43 -0
- package/bundles/shared-memory/.claude/hooks/memory-end.js +42 -0
- package/bundles/shared-memory/.claude/hooks/memory-start.js +59 -0
- package/bundles/shared-memory/.claude/lib/memory.js +416 -0
- package/bundles/shared-memory/.claude/lib/utils.js +209 -0
- package/bundles/shared-memory/.claude/skills/shared-memory/SKILL.md +183 -0
- package/bundles/shared-memory/.cursor/hooks/memory-start.js +42 -0
- package/bundles/shared-memory/.cursor/rules/shared-memory.mdc +37 -0
- package/bundles/shared-memory/.cursor/skills/shared-memory/SKILL.md +183 -0
- package/bundles/tdd-bundle/README.md +33 -0
- package/bundles/tdd-bundle/manifest.json +10 -0
- package/cli.js +978 -0
- package/commands/build-fix.md +29 -0
- package/commands/code-review.md +40 -0
- package/commands/e2e.md +363 -0
- package/commands/learn.md +114 -0
- package/commands/plan.md +113 -0
- package/commands/refactor-clean.md +28 -0
- package/commands/tdd.md +326 -0
- package/commands/test-coverage.md +27 -0
- package/commands/update-codemaps.md +17 -0
- package/commands/update-docs.md +31 -0
- package/configs.json +158 -0
- package/hooks/hooks.json +101 -0
- package/package.json +58 -0
- package/rules/agents.md +49 -0
- package/rules/coding-style.md +70 -0
- package/rules/git-workflow.md +45 -0
- package/rules/hooks.md +46 -0
- package/rules/patterns.md +55 -0
- package/rules/performance.md +47 -0
- package/rules/security.md +36 -0
- package/rules/testing.md +30 -0
- package/skills/ai-config-architect/SKILL.md +59 -0
- package/skills/ai-config-architect/references/agents.md +77 -0
- package/skills/ai-config-architect/references/commands.md +66 -0
- package/skills/ai-config-architect/references/hooks.md +70 -0
- package/skills/ai-config-architect/references/patterns.md +66 -0
- package/skills/ai-config-architect/references/platforms.md +82 -0
- package/skills/ai-config-architect/references/rules.md +66 -0
- package/skills/ai-config-architect/references/skills.md +67 -0
- package/skills/bk-chat-helper/SKILL.md +398 -0
- package/skills/bk-chat-helper/references/api-reference.md +606 -0
- package/skills/bk-chat-helper/references/examples.md +789 -0
- package/skills/bk-chat-helper/references/integration-guide.md +583 -0
- package/skills/bk-chat-x/SKILL.md +400 -0
- package/skills/bk-chat-x/references/components-api.md +340 -0
- package/skills/bk-chat-x/references/examples.md +386 -0
- package/skills/bk-chat-x/references/shortcuts-guide.md +375 -0
- package/skills/coding-standards/SKILL.md +523 -0
- package/skills/security-review/SKILL.md +497 -0
- package/skills/security-review/references/cloud-infrastructure-security.md +361 -0
- package/skills/strategic-compact/SKILL.md +66 -0
- package/skills/strategic-compact/scripts/suggest-compact.sh +52 -0
- package/skills/tdd-workflow/SKILL.md +412 -0
- package/skills/verification-loop/SKILL.md +128 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: continuous-learning
|
|
3
|
+
description: 持续学习能力 - 从会话中自动提取可复用的 patterns,保存为 skills 或 instincts。
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Continuous Learning - 持续学习
|
|
8
|
+
|
|
9
|
+
## 这是什么
|
|
10
|
+
|
|
11
|
+
这是一个让 AI 具备"学习意识"的能力。通过观察会话中的 patterns,将有价值的知识提取并保存,供未来会话使用。
|
|
12
|
+
|
|
13
|
+
核心理念:**如果你不得不多次重复相同的提示,或者 AI 遇到了同样的问题——这些 patterns 应该被保存下来。**
|
|
14
|
+
|
|
15
|
+
## 何时建议学习
|
|
16
|
+
|
|
17
|
+
在以下情况,**主动建议**用户运行 `/learn`:
|
|
18
|
+
|
|
19
|
+
### 触发场景
|
|
20
|
+
|
|
21
|
+
1. **解决了复杂的 bug**
|
|
22
|
+
- 调试过程超过 3 步
|
|
23
|
+
- 发现了非显而易见的根因
|
|
24
|
+
- 解决方案可能对其他项目有用
|
|
25
|
+
|
|
26
|
+
2. **做出了重要的变通**
|
|
27
|
+
- 绕过了库/API 的限制
|
|
28
|
+
- 找到了版本兼容问题的解决方案
|
|
29
|
+
|
|
30
|
+
3. **用户进行了纠正**
|
|
31
|
+
- 用户纠正了你的方法
|
|
32
|
+
- 用户指出了更好的做法
|
|
33
|
+
|
|
34
|
+
4. **重复的工作流**
|
|
35
|
+
- 同样的步骤序列执行了多次
|
|
36
|
+
- 可以抽象为可复用的流程
|
|
37
|
+
|
|
38
|
+
### 提醒方式
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
💡 这个解决方案看起来可能对其他项目有用。
|
|
42
|
+
想要保存为 skill 吗?运行 /learn
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 命令
|
|
46
|
+
|
|
47
|
+
| 命令 | 说明 |
|
|
48
|
+
|------|------|
|
|
49
|
+
| `/learn` | 手动提取当前会话的 patterns |
|
|
50
|
+
| `/instinct-status` | 显示所有已学习的 instincts 及置信度 |
|
|
51
|
+
| `/evolve` | 将相关 instincts 聚合为 skills/commands/agents |
|
|
52
|
+
|
|
53
|
+
## 文件位置
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
~/.claude/
|
|
57
|
+
├── skills/
|
|
58
|
+
│ └── learned/ # 直接学习的 skills
|
|
59
|
+
│ └── *.md
|
|
60
|
+
│
|
|
61
|
+
└── homunculus/ # instinct-based 学习
|
|
62
|
+
├── observations.jsonl # 观察记录
|
|
63
|
+
├── instincts/
|
|
64
|
+
│ ├── personal/ # 自动学习的 instincts
|
|
65
|
+
│ └── inherited/ # 从他人导入的
|
|
66
|
+
└── evolved/
|
|
67
|
+
├── skills/
|
|
68
|
+
├── commands/
|
|
69
|
+
└── agents/
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 最佳实践
|
|
73
|
+
|
|
74
|
+
- **不要过度打扰**:不是每次对话都需要提醒保存
|
|
75
|
+
- **尊重用户选择**:用户拒绝时不要反复提醒
|
|
76
|
+
- **主动但不强制**:建议是建议,最终由用户决定
|
|
77
|
+
- **聚焦有价值的 patterns**:只保存能在未来节省时间的内容
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Continuous Learning Bundle
|
|
2
|
+
|
|
3
|
+
从会话中自动提取可复用的 patterns,让 AI 具备"学习意识"。
|
|
4
|
+
|
|
5
|
+
## 核心理念
|
|
6
|
+
|
|
7
|
+
> 如果你不得不多次重复相同的提示,或者 AI 遇到了同样的问题——这些 patterns 应该被保存下来。
|
|
8
|
+
|
|
9
|
+
## 功能特点
|
|
10
|
+
|
|
11
|
+
### v1: Learned Skills(简单版)
|
|
12
|
+
|
|
13
|
+
使用 Stop hook 在会话结束时评估,直接提取为完整 skills。
|
|
14
|
+
|
|
15
|
+
- **优点**: 简单直接,立即可用
|
|
16
|
+
- **存储位置**: `~/.claude/skills/learned/`
|
|
17
|
+
- **适合**: 希望快速开始的用户
|
|
18
|
+
|
|
19
|
+
### v2: Instincts + Evolution(高级版)
|
|
20
|
+
|
|
21
|
+
使用 PreToolUse/PostToolUse hooks 实时观察,创建原子级 "instincts"(带置信度),支持进化。
|
|
22
|
+
|
|
23
|
+
- **优点**: 更精细的学习,支持置信度衰减和进化
|
|
24
|
+
- **存储位置**: `~/.claude/homunculus/`
|
|
25
|
+
- **适合**: 希望深度定制的高级用户
|
|
26
|
+
|
|
27
|
+
## 安装
|
|
28
|
+
|
|
29
|
+
### 对于 Claude Code
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# 复制整个 .claude 目录到你的项目或用户目录
|
|
33
|
+
cp -r .claude/* ~/.claude/
|
|
34
|
+
|
|
35
|
+
# 或者只复制到项目
|
|
36
|
+
cp -r .claude/* /path/to/project/.claude/
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 对于 Cursor
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# 复制 .cursor 目录到你的项目
|
|
43
|
+
cp -r .cursor/* /path/to/project/.cursor/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Hook 配置
|
|
47
|
+
|
|
48
|
+
### 基础配置(v1 - 仅 Stop hook)
|
|
49
|
+
|
|
50
|
+
在 `settings.json` 中添加:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"hooks": {
|
|
55
|
+
"Stop": [{
|
|
56
|
+
"matcher": "*",
|
|
57
|
+
"hooks": [{
|
|
58
|
+
"type": "command",
|
|
59
|
+
"command": "node ~/.claude/hooks/learning-end.js"
|
|
60
|
+
}]
|
|
61
|
+
}]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 高级配置(v2 - 包含观察 hooks)
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"hooks": {
|
|
71
|
+
"Stop": [{
|
|
72
|
+
"matcher": "*",
|
|
73
|
+
"hooks": [{
|
|
74
|
+
"type": "command",
|
|
75
|
+
"command": "node ~/.claude/hooks/learning-end.js"
|
|
76
|
+
}]
|
|
77
|
+
}],
|
|
78
|
+
"PreToolUse": [{
|
|
79
|
+
"matcher": "*",
|
|
80
|
+
"hooks": [{
|
|
81
|
+
"type": "command",
|
|
82
|
+
"command": "node ~/.claude/hooks/observe.js pre"
|
|
83
|
+
}]
|
|
84
|
+
}],
|
|
85
|
+
"PostToolUse": [{
|
|
86
|
+
"matcher": "*",
|
|
87
|
+
"hooks": [{
|
|
88
|
+
"type": "command",
|
|
89
|
+
"command": "node ~/.claude/hooks/observe.js post"
|
|
90
|
+
}]
|
|
91
|
+
}]
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 命令
|
|
97
|
+
|
|
98
|
+
| 命令 | 说明 |
|
|
99
|
+
|------|------|
|
|
100
|
+
| `/learn` | 手动提取当前会话的 patterns |
|
|
101
|
+
| `/instinct-status` | 显示所有已学习的 instincts 及置信度 |
|
|
102
|
+
| `/evolve` | 将相关 instincts 聚合为 skills/commands/agents |
|
|
103
|
+
|
|
104
|
+
## 目录结构
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
~/.claude/
|
|
108
|
+
├── skills/
|
|
109
|
+
│ └── learned/ # v1: 直接学习的 skills
|
|
110
|
+
│ ├── error-fix-xyz.md
|
|
111
|
+
│ └── workaround-abc.md
|
|
112
|
+
│
|
|
113
|
+
└── homunculus/ # v2: instinct-based 学习
|
|
114
|
+
├── identity.json # 你的档案
|
|
115
|
+
├── observations.jsonl # 当前会话观察
|
|
116
|
+
├── observations.archive/ # 历史观察
|
|
117
|
+
├── instincts/
|
|
118
|
+
│ ├── personal/ # 自动学习的 instincts
|
|
119
|
+
│ └── inherited/ # 从他人导入的
|
|
120
|
+
└── evolved/
|
|
121
|
+
├── agents/ # 进化出的 agents
|
|
122
|
+
├── skills/ # 进化出的 skills
|
|
123
|
+
└── commands/ # 进化出的 commands
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Pattern 类型
|
|
127
|
+
|
|
128
|
+
| Pattern | 说明 |
|
|
129
|
+
|---------|------|
|
|
130
|
+
| `error_resolution` | 特定错误如何被解决 |
|
|
131
|
+
| `user_corrections` | 用户纠正的行为 |
|
|
132
|
+
| `workarounds` | 框架/库的变通方案 |
|
|
133
|
+
| `debugging_techniques` | 有效的调试方法 |
|
|
134
|
+
| `project_specific` | 项目特定的约定 |
|
|
135
|
+
|
|
136
|
+
## Instinct 置信度(v2)
|
|
137
|
+
|
|
138
|
+
| 分数 | 含义 | 行为 |
|
|
139
|
+
|------|------|------|
|
|
140
|
+
| 0.3 | 尝试性 | 建议但不强制 |
|
|
141
|
+
| 0.5 | 中等 | 在相关时应用 |
|
|
142
|
+
| 0.7 | 强 | 自动批准应用 |
|
|
143
|
+
| 0.9 | 近乎确定 | 核心行为 |
|
|
144
|
+
|
|
145
|
+
## 为什么使用 Stop Hook?
|
|
146
|
+
|
|
147
|
+
> "v1 依赖 skills 进行观察。Skills 是概率性的——触发率约 50-80%。v2 使用 hooks 进行观察(100% 可靠),instincts 作为学习的原子单位。"
|
|
148
|
+
|
|
149
|
+
- **UserPromptSubmit**: 每条消息都运行 → 增加延迟
|
|
150
|
+
- **Stop**: 只在会话结束运行一次 → 轻量级
|
|
151
|
+
|
|
152
|
+
## 相关资源
|
|
153
|
+
|
|
154
|
+
- [The Longform Guide](https://github.com/affaan-m/everything-claude-code) - Continuous learning 章节
|
|
155
|
+
- [Homunculus](https://github.com/humanplane/homunculus) - v2 架构的灵感来源
|
|
156
|
+
|
|
157
|
+
## 许可
|
|
158
|
+
|
|
159
|
+
MIT
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "continuous-learning-bundle",
|
|
3
|
+
"description": "持续学习能力 - 从会话中自动提取可复用的 patterns,保存为 skills 或 instincts,支持进化为更高级结构",
|
|
4
|
+
"version": "2.0.0",
|
|
5
|
+
"includes": {
|
|
6
|
+
"claude": {
|
|
7
|
+
"commands": [
|
|
8
|
+
{ "name": "learn", "path": ".claude/commands/learn.md" },
|
|
9
|
+
{ "name": "instinct-status", "path": ".claude/commands/instinct-status.md" },
|
|
10
|
+
{ "name": "evolve", "path": ".claude/commands/evolve.md" }
|
|
11
|
+
],
|
|
12
|
+
"hooks": [
|
|
13
|
+
{ "name": "learning-end", "type": "Stop", "path": ".claude/hooks/learning-end.js" },
|
|
14
|
+
{ "name": "observe", "type": "PreToolUse|PostToolUse", "path": ".claude/hooks/observe.js" }
|
|
15
|
+
],
|
|
16
|
+
"skills": [
|
|
17
|
+
{ "name": "continuous-learning", "path": ".claude/skills/continuous-learning/" }
|
|
18
|
+
],
|
|
19
|
+
"lib": [
|
|
20
|
+
{ "name": "utils", "path": ".claude/lib/utils.js" },
|
|
21
|
+
{ "name": "learning", "path": ".claude/lib/learning.js" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"cursor": {
|
|
25
|
+
"rules": [
|
|
26
|
+
{ "name": "continuous-learning", "path": ".cursor/rules/continuous-learning.mdc" }
|
|
27
|
+
],
|
|
28
|
+
"hooks": [
|
|
29
|
+
{ "name": "learning-end", "path": ".cursor/hooks/learning-end.js" }
|
|
30
|
+
],
|
|
31
|
+
"skills": [
|
|
32
|
+
{ "name": "continuous-learning", "path": ".cursor/skills/continuous-learning/" }
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"features": {
|
|
37
|
+
"v1": {
|
|
38
|
+
"name": "Learned Skills",
|
|
39
|
+
"description": "简单版 - Stop hook 会话结束评估,直接保存为 skills",
|
|
40
|
+
"storage": "~/.claude/skills/learned/"
|
|
41
|
+
},
|
|
42
|
+
"v2": {
|
|
43
|
+
"name": "Instincts + Evolution",
|
|
44
|
+
"description": "高级版 - PreToolUse/PostToolUse hooks 实时观察,原子级 instincts,支持进化",
|
|
45
|
+
"storage": "~/.claude/homunculus/"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"dependencies": [],
|
|
49
|
+
"conflicts": [],
|
|
50
|
+
"recommended_with": ["shared-memory"]
|
|
51
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Planning Bundle
|
|
2
|
+
|
|
3
|
+
规划和架构设计配置包,提供功能规划和系统架构设计的完整支持。
|
|
4
|
+
|
|
5
|
+
## 包含内容
|
|
6
|
+
|
|
7
|
+
- **Command**: `/plan` - 规划命令,创建实现方案并等待确认
|
|
8
|
+
- **Agent**: `planner` - 功能规划专家子代理
|
|
9
|
+
- **Agent**: `architect` - 系统架构专家子代理
|
|
10
|
+
|
|
11
|
+
## 使用方式
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 安装 Planning bundle
|
|
15
|
+
npx agent-configs install planning-bundle
|
|
16
|
+
|
|
17
|
+
# 或单独安装
|
|
18
|
+
npx agent-configs install plan
|
|
19
|
+
npx agent-configs install planner
|
|
20
|
+
npx agent-configs install architect
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 规划流程
|
|
24
|
+
|
|
25
|
+
1. **需求分析** - 理解需求,列出假设和约束
|
|
26
|
+
2. **架构审查** - 分析现有代码结构,识别影响范围
|
|
27
|
+
3. **步骤分解** - 创建详细的实现步骤
|
|
28
|
+
4. **风险评估** - 识别潜在问题和缓解措施
|
|
29
|
+
5. **等待确认** - 必须等待用户确认后才开始编码
|
|
30
|
+
|
|
31
|
+
## 相关命令
|
|
32
|
+
|
|
33
|
+
- `/plan` - 创建实现计划
|
|
34
|
+
- `/code-review` - 审查实现代码
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "planning-bundle",
|
|
3
|
+
"description": "规划和架构设计 - 功能规划和系统架构的完整配置",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"includes": [
|
|
6
|
+
{ "type": "command", "name": "plan", "path": "commands/plan.md" },
|
|
7
|
+
{ "type": "agent", "name": "planner", "path": "agents/planner.md" },
|
|
8
|
+
{ "type": "agent", "name": "architect", "path": "agents/architect.md" }
|
|
9
|
+
]
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Review Bundle
|
|
2
|
+
|
|
3
|
+
代码审查全套配置包,提供代码质量和安全审查的完整支持。
|
|
4
|
+
|
|
5
|
+
## 包含内容
|
|
6
|
+
|
|
7
|
+
- **Command**: `/code-review` - 代码审查命令,检查质量和安全问题
|
|
8
|
+
- **Skill**: `security-review` - 安全审查检查清单和最佳实践
|
|
9
|
+
- **Agent**: `code-reviewer` - 代码审查专家子代理
|
|
10
|
+
- **Agent**: `security-reviewer` - 安全审查专家子代理
|
|
11
|
+
|
|
12
|
+
## 使用方式
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# 安装 Review bundle
|
|
16
|
+
npx agent-configs install review-bundle
|
|
17
|
+
|
|
18
|
+
# 或单独安装
|
|
19
|
+
npx agent-configs install code-review
|
|
20
|
+
npx agent-configs install security-review
|
|
21
|
+
npx agent-configs install code-reviewer
|
|
22
|
+
npx agent-configs install security-reviewer
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 审查检查项
|
|
26
|
+
|
|
27
|
+
### 安全检查(CRITICAL)
|
|
28
|
+
- 硬编码凭证、API 密钥
|
|
29
|
+
- SQL 注入漏洞
|
|
30
|
+
- XSS 漏洞
|
|
31
|
+
- 缺少输入验证
|
|
32
|
+
|
|
33
|
+
### 代码质量(HIGH)
|
|
34
|
+
- 函数过长(>50 行)
|
|
35
|
+
- 文件过大(>800 行)
|
|
36
|
+
- 嵌套过深(>4 层)
|
|
37
|
+
- 缺少错误处理
|
|
38
|
+
- console.log 语句
|
|
39
|
+
|
|
40
|
+
## 相关命令
|
|
41
|
+
|
|
42
|
+
- `/code-review` - 执行代码审查
|
|
43
|
+
- `/plan` - 规划实现方案
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "review-bundle",
|
|
3
|
+
"description": "代码审查全套 - 代码质量和安全审查的完整配置",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"includes": [
|
|
6
|
+
{ "type": "command", "name": "code-review", "path": "commands/code-review.md" },
|
|
7
|
+
{ "type": "skill", "name": "security-review", "path": "skills/security-review/" },
|
|
8
|
+
{ "type": "agent", "name": "code-reviewer", "path": "agents/code-reviewer.md" },
|
|
9
|
+
{ "type": "agent", "name": "security-reviewer", "path": "agents/security-reviewer.md" }
|
|
10
|
+
]
|
|
11
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: list-sessions
|
|
3
|
+
description: 列出所有可用的会话记忆,支持按时间筛选。
|
|
4
|
+
argument-hint: "[--all|--days <n>]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# List Sessions Command
|
|
8
|
+
|
|
9
|
+
列出当前项目中所有可用的会话记忆。
|
|
10
|
+
|
|
11
|
+
## 用法
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/list-sessions [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 参数选项
|
|
18
|
+
|
|
19
|
+
- **无参数**:显示最近 10 条记忆
|
|
20
|
+
- `--all`:显示所有记忆(不限数量)
|
|
21
|
+
- `--days <n>`:只显示最近 n 天的记忆
|
|
22
|
+
|
|
23
|
+
## 执行步骤
|
|
24
|
+
|
|
25
|
+
### 1. 扫描记忆目录
|
|
26
|
+
|
|
27
|
+
读取 `.claude/memory/sessions/` 目录下的所有 `.md` 文件。
|
|
28
|
+
|
|
29
|
+
### 2. 解析元数据
|
|
30
|
+
|
|
31
|
+
对每个文件,提取:
|
|
32
|
+
- 日期(从文件名)
|
|
33
|
+
- 名称(从文件名)
|
|
34
|
+
- 状态(从内容解析:进行中/已完成)
|
|
35
|
+
- 相对路径
|
|
36
|
+
|
|
37
|
+
### 3. 按时间排序
|
|
38
|
+
|
|
39
|
+
按修改时间倒序排列(最新的在前)。
|
|
40
|
+
|
|
41
|
+
### 4. 生成列表
|
|
42
|
+
|
|
43
|
+
输出格式化的表格。
|
|
44
|
+
|
|
45
|
+
## 输出格式
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
## 可用会话记忆
|
|
49
|
+
|
|
50
|
+
| # | 日期 | 名称 | 状态 | 路径 |
|
|
51
|
+
|---|------|------|------|------|
|
|
52
|
+
| 1 | 2026-01-27 | feature-auth | 进行中 | .claude/memory/sessions/2026-01-27-feature-auth.md |
|
|
53
|
+
| 2 | 2026-01-26 | bug-fix-login | 已完成 | .claude/memory/sessions/2026-01-26-bug-fix-login.md |
|
|
54
|
+
| 3 | 2026-01-25 | refactor-api | 已完成 | .claude/memory/sessions/2026-01-25-refactor-api.md |
|
|
55
|
+
| 4 | 2026-01-24 | setup-project | 已完成 | .claude/memory/sessions/2026-01-24-setup-project.md |
|
|
56
|
+
|
|
57
|
+
💡 使用方式:
|
|
58
|
+
- `/load-session <#>` 或 `/load-session <名称>` 加载
|
|
59
|
+
- 直接 `@.claude/memory/sessions/<文件名>` 引用
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 示例
|
|
63
|
+
|
|
64
|
+
### 示例 1:默认列表
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
用户: /list-sessions
|
|
68
|
+
|
|
69
|
+
AI: ## 可用会话记忆
|
|
70
|
+
|
|
71
|
+
| # | 日期 | 名称 | 状态 | 路径 |
|
|
72
|
+
|---|------|------|------|------|
|
|
73
|
+
| 1 | 2026-01-27 | feature-auth | 进行中 | .claude/memory/sessions/2026-01-27-feature-auth.md |
|
|
74
|
+
| 2 | 2026-01-26 | bug-fix-login | 已完成 | .claude/memory/sessions/2026-01-26-bug-fix-login.md |
|
|
75
|
+
|
|
76
|
+
💡 使用方式:
|
|
77
|
+
- `/load-session 1` 或 `/load-session feature-auth` 加载
|
|
78
|
+
- 直接 `@.claude/memory/sessions/2026-01-27-feature-auth.md` 引用
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 示例 2:筛选最近 3 天
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
用户: /list-sessions --days 3
|
|
85
|
+
|
|
86
|
+
AI: ## 最近 3 天的会话记忆
|
|
87
|
+
|
|
88
|
+
| # | 日期 | 名称 | 状态 | 路径 |
|
|
89
|
+
|---|------|------|------|------|
|
|
90
|
+
| 1 | 2026-01-27 | feature-auth | 进行中 | .claude/memory/sessions/2026-01-27-feature-auth.md |
|
|
91
|
+
| 2 | 2026-01-26 | bug-fix-login | 已完成 | .claude/memory/sessions/2026-01-26-bug-fix-login.md |
|
|
92
|
+
| 3 | 2026-01-25 | refactor-api | 已完成 | .claude/memory/sessions/2026-01-25-refactor-api.md |
|
|
93
|
+
|
|
94
|
+
💡 使用方式:
|
|
95
|
+
- `/load-session <#>` 或 `/load-session <名称>` 加载
|
|
96
|
+
- 直接 `@.claude/memory/sessions/<文件名>` 引用
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 示例 3:无记忆
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
用户: /list-sessions
|
|
103
|
+
|
|
104
|
+
AI: 暂无会话记忆。
|
|
105
|
+
|
|
106
|
+
使用 `/save-session <名称>` 保存当前会话,便于下次继续。
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 状态判断逻辑
|
|
110
|
+
|
|
111
|
+
- **进行中**:文件中包含未完成的待办项(`- [ ]`)或"进行中"部分有内容
|
|
112
|
+
- **已完成**:没有未完成的待办项
|
|
113
|
+
|
|
114
|
+
## 注意事项
|
|
115
|
+
|
|
116
|
+
1. **只显示当前项目的记忆**:不会显示其他项目的记忆文件
|
|
117
|
+
2. **路径可直接引用**:表格中的路径可以直接用 `@` 引用
|
|
118
|
+
3. **默认限制数量**:避免列表过长,默认最多显示 10 条
|
|
119
|
+
4. **按时间排序**:最新的记忆排在最前面
|
|
120
|
+
|
|
121
|
+
## 相关命令
|
|
122
|
+
|
|
123
|
+
- `/save-session` - 保存当前会话
|
|
124
|
+
- `/load-session` - 加载指定会话记忆
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: load-session
|
|
3
|
+
description: 加载之前保存的会话记忆,恢复工作上下文。
|
|
4
|
+
argument-hint: "[name|number|path]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Load Session Command
|
|
8
|
+
|
|
9
|
+
加载之前保存的会话状态,恢复工作上下文。
|
|
10
|
+
|
|
11
|
+
## 用法
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/load-session [name|number|path]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- **无参数**:显示最近 5 个可用记忆,让用户选择
|
|
18
|
+
- **数字参数**:加载列表中对应序号的记忆(如 `/load-session 1`)
|
|
19
|
+
- **名称参数**:模糊匹配文件名(如 `/load-session feature-auth`)
|
|
20
|
+
- **路径参数**:直接加载指定文件(如 `/load-session .claude/memory/sessions/2026-01-27-feature-auth.md`)
|
|
21
|
+
|
|
22
|
+
## 执行步骤
|
|
23
|
+
|
|
24
|
+
### 场景 1:无参数调用
|
|
25
|
+
|
|
26
|
+
当用户只输入 `/load-session` 时:
|
|
27
|
+
|
|
28
|
+
1. 扫描 `.claude/memory/sessions/` 目录
|
|
29
|
+
2. 列出最近 5 个记忆文件
|
|
30
|
+
3. 显示选择列表
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
## 最近的会话记忆
|
|
34
|
+
|
|
35
|
+
| # | 日期 | 名称 | 状态 |
|
|
36
|
+
|---|------|------|------|
|
|
37
|
+
| 1 | 2026-01-27 | feature-auth | 进行中 |
|
|
38
|
+
| 2 | 2026-01-26 | bug-fix-login | 已完成 |
|
|
39
|
+
| 3 | 2026-01-25 | refactor-api | 已完成 |
|
|
40
|
+
|
|
41
|
+
请选择要加载的记忆:
|
|
42
|
+
- 输入序号(如 `1`)
|
|
43
|
+
- 输入名称(如 `feature-auth`)
|
|
44
|
+
- 或使用 `/list-sessions` 查看更多
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 场景 2:有参数调用
|
|
48
|
+
|
|
49
|
+
当用户指定了参数时:
|
|
50
|
+
|
|
51
|
+
1. **解析参数**
|
|
52
|
+
- 数字 → 作为列表序号
|
|
53
|
+
- 名称 → 模糊匹配文件名
|
|
54
|
+
- 路径 → 直接读取文件
|
|
55
|
+
|
|
56
|
+
2. **读取记忆文件**
|
|
57
|
+
- 读取匹配的 `.md` 文件内容
|
|
58
|
+
- 解析元数据(标题、状态、待办等)
|
|
59
|
+
|
|
60
|
+
3. **展示内容摘要**
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
## 加载会话: feature-auth
|
|
64
|
+
|
|
65
|
+
**日期**: 2026-01-27 14:30
|
|
66
|
+
**状态**: 进行中
|
|
67
|
+
|
|
68
|
+
### 上次完成
|
|
69
|
+
- 实现了用户认证模块
|
|
70
|
+
- 完成 JWT token 生成逻辑
|
|
71
|
+
- 解决了 token 刷新问题
|
|
72
|
+
|
|
73
|
+
### 待继续
|
|
74
|
+
- [ ] 实现权限校验中间件
|
|
75
|
+
- [ ] 添加单元测试
|
|
76
|
+
|
|
77
|
+
### 需要的文件
|
|
78
|
+
- `src/auth/jwt.ts`
|
|
79
|
+
- `src/middleware/auth.ts`
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
是否需要我读取这些相关文件?
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
4. **询问后续操作**
|
|
87
|
+
- 是否读取"需要加载的文件"
|
|
88
|
+
- 是否继续待办事项中的第一个任务
|
|
89
|
+
|
|
90
|
+
## 示例
|
|
91
|
+
|
|
92
|
+
### 示例 1:加载最近的记忆
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
用户: /load-session 1
|
|
96
|
+
|
|
97
|
+
AI: ## 加载会话: feature-auth
|
|
98
|
+
|
|
99
|
+
**日期**: 2026-01-27 14:30
|
|
100
|
+
**状态**: 进行中
|
|
101
|
+
|
|
102
|
+
### 上次完成
|
|
103
|
+
- 实现了用户认证模块的基础结构
|
|
104
|
+
- 选择 JWT 方案并完成 token 生成
|
|
105
|
+
- 解决了 token 过期后的刷新问题
|
|
106
|
+
|
|
107
|
+
### 待继续
|
|
108
|
+
- [ ] 实现权限校验中间件
|
|
109
|
+
- [ ] 为认证模块添加单元测试
|
|
110
|
+
|
|
111
|
+
### 关键决策
|
|
112
|
+
- 使用 JWT 而非 Session:因为需要支持微服务架构
|
|
113
|
+
- Token 过期时间设为 1 小时:平衡安全性和用户体验
|
|
114
|
+
|
|
115
|
+
### 相关文件
|
|
116
|
+
- `src/auth/jwt.ts` - JWT 核心逻辑
|
|
117
|
+
- `src/middleware/auth.ts` - 认证中间件
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
需要我读取相关文件吗?或者直接开始第一个待办任务?
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 示例 2:按名称加载
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
用户: /load-session auth
|
|
128
|
+
|
|
129
|
+
AI: 找到匹配的记忆: 2026-01-27-feature-auth.md
|
|
130
|
+
|
|
131
|
+
[展示内容摘要...]
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 示例 3:未找到匹配
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
用户: /load-session xyz
|
|
138
|
+
|
|
139
|
+
AI: 未找到匹配 "xyz" 的会话记忆。
|
|
140
|
+
|
|
141
|
+
可用的记忆:
|
|
142
|
+
| # | 日期 | 名称 |
|
|
143
|
+
|---|------|------|
|
|
144
|
+
| 1 | 2026-01-27 | feature-auth |
|
|
145
|
+
| 2 | 2026-01-26 | bug-fix-login |
|
|
146
|
+
|
|
147
|
+
请使用 `/load-session <序号>` 或 `/load-session <名称>` 加载。
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## 加载后的行为
|
|
151
|
+
|
|
152
|
+
加载记忆后,你应该:
|
|
153
|
+
|
|
154
|
+
1. **记住上下文**:将记忆内容作为当前会话的背景知识
|
|
155
|
+
2. **主动提供帮助**:如果有待办事项,询问是否开始
|
|
156
|
+
3. **读取相关文件**:如果用户同意,读取"需要加载的文件"
|
|
157
|
+
4. **延续之前的风格**:如果记忆中有技术决策,遵循之前的决定
|
|
158
|
+
|
|
159
|
+
## 注意事项
|
|
160
|
+
|
|
161
|
+
1. **不要重复读取**:如果用户已经用 `@` 引用了记忆文件,不需要再次读取
|
|
162
|
+
2. **摘要优先**:先展示摘要,不要一次性输出全部内容
|
|
163
|
+
3. **尊重用户选择**:询问是否需要读取文件,不要自动读取
|
|
164
|
+
4. **处理旧记忆**:如果记忆很旧(超过 7 天),提醒用户内容可能已过时
|
|
165
|
+
|
|
166
|
+
## 相关命令
|
|
167
|
+
|
|
168
|
+
- `/save-session` - 保存当前会话
|
|
169
|
+
- `/list-sessions` - 列出所有可用的会话记忆
|