sumulige-claude 1.3.0 → 1.3.2

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.
Files changed (38) hide show
  1. package/.claude/MEMORY.md +9 -0
  2. package/.claude/commands/audit.md +147 -0
  3. package/.claude/commands/gha.md +136 -0
  4. package/.claude/commands/handoff.md +93 -0
  5. package/.claude/handoffs/INDEX.md +21 -0
  6. package/.claude/handoffs/LATEST.md +76 -0
  7. package/.claude/handoffs/handoff_2026-01-22T13-07-04-757Z.md +76 -0
  8. package/.claude/hooks/auto-handoff.cjs +353 -0
  9. package/.claude/hooks/memory-loader.cjs +208 -0
  10. package/.claude/hooks/memory-saver.cjs +268 -0
  11. package/.claude/rag/skill-index.json +15 -34
  12. package/.claude/sessions/session_2026-01-22T13-07-26-625Z.json +23 -0
  13. package/.claude/settings.json +40 -0
  14. package/.claude/settings.local.json +10 -1
  15. package/.claude/skills/api-tester/SKILL.md +61 -0
  16. package/.claude/skills/api-tester/examples/basic.md +3 -0
  17. package/.claude/skills/api-tester/metadata.yaml +30 -0
  18. package/.claude/skills/api-tester/templates/default.md +3 -0
  19. package/.claude/skills/code-reviewer-123/SKILL.md +61 -0
  20. package/.claude/skills/code-reviewer-123/examples/basic.md +3 -0
  21. package/.claude/skills/code-reviewer-123/metadata.yaml +30 -0
  22. package/.claude/skills/code-reviewer-123/templates/default.md +3 -0
  23. package/.claude/skills/my-skill/SKILL.md +61 -0
  24. package/.claude/skills/my-skill/examples/basic.md +3 -0
  25. package/.claude/skills/my-skill/metadata.yaml +30 -0
  26. package/.claude/skills/my-skill/templates/default.md +3 -0
  27. package/.claude/skills/template/SKILL.md +6 -0
  28. package/.claude/skills/template/metadata.yaml +30 -0
  29. package/.claude/skills/test-skill-name/SKILL.md +61 -0
  30. package/.claude/skills/test-skill-name/examples/basic.md +3 -0
  31. package/.claude/skills/test-skill-name/metadata.yaml +30 -0
  32. package/.claude/skills/test-skill-name/templates/default.md +3 -0
  33. package/CHANGELOG.md +45 -0
  34. package/cli.js +4 -0
  35. package/development/todos/.state.json +3 -1
  36. package/lib/commands.js +51 -0
  37. package/lib/permission-audit.js +255 -0
  38. package/package.json +1 -1
package/.claude/MEMORY.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 2026-01-22
2
+
3
+ ### Session 2026-01-22T13:07:26.622Z
4
+
5
+ - **Duration**: 1 minutes
6
+ - **Project**: sumulige-claude
7
+ - **Memory entries**: 4
8
+ - **TODOs**: 0 active, 0 completed
9
+
1
10
  # 项目增量记忆
2
11
 
3
12
  > 记录最近变更和重要决策
@@ -0,0 +1,147 @@
1
+ ---
2
+ description: Audit approved commands for security risks
3
+ ---
4
+
5
+ # /audit
6
+
7
+ 审计已批准的命令,检测潜在的安全风险。类似 cc-safe 工具。
8
+
9
+ ## 使用方式
10
+
11
+ ```bash
12
+ /audit # 扫描当前项目
13
+ /audit --global # 扫描全局配置
14
+ /audit --fix # 交互式移除危险权限
15
+ /audit --report # 生成详细报告
16
+ ```
17
+
18
+ ## 检测的危险模式
19
+
20
+ ### 🔴 Critical (必须移除)
21
+
22
+ | 模式 | 风险 | 说明 |
23
+ |------|------|------|
24
+ | `rm -rf /` | 系统破坏 | 删除根目录 |
25
+ | `> /dev/sda` | 数据丢失 | 覆写磁盘 |
26
+ | `:(){ :\|:& };:` | Fork 炸弹 | 系统崩溃 |
27
+ | `mkfs` | 数据丢失 | 格式化磁盘 |
28
+ | `dd if=/dev/zero` | 数据丢失 | 覆写设备 |
29
+
30
+ ### 🟠 High (需要审查)
31
+
32
+ | 模式 | 风险 | 说明 |
33
+ |------|------|------|
34
+ | `sudo` | 权限提升 | 管理员权限 |
35
+ | `rm -rf` | 数据丢失 | 递归删除 |
36
+ | `chmod 777` | 安全漏洞 | 过度开放权限 |
37
+ | `docker run --privileged` | 容器逃逸 | 特权容器 |
38
+ | `curl \| sh` | 远程代码执行 | 未验证脚本 |
39
+ | `eval` | 代码注入 | 动态执行 |
40
+
41
+ ### 🟡 Medium (建议审查)
42
+
43
+ | 模式 | 风险 | 说明 |
44
+ |------|------|------|
45
+ | `npm install -g` | 全局污染 | 全局包安装 |
46
+ | `pip install --user` | 环境污染 | 用户级安装 |
47
+ | `git push --force` | 历史丢失 | 强制推送 |
48
+ | `DROP TABLE` | 数据丢失 | 删除数据表 |
49
+
50
+ ## 工作流程
51
+
52
+ ### Step 1: 扫描配置文件
53
+
54
+ 检查以下位置:
55
+ ```
56
+ ~/.claude/settings.local.json # 全局批准
57
+ .claude/settings.local.json # 项目批准
58
+ ~/.claude/projects/*/settings.local.json # 各项目批准
59
+ ```
60
+
61
+ ### Step 2: 模式匹配
62
+
63
+ ```javascript
64
+ const dangerousPatterns = [
65
+ { pattern: /rm\s+-rf\s+\//, level: 'critical', desc: '删除根目录' },
66
+ { pattern: /sudo/, level: 'high', desc: '权限提升' },
67
+ { pattern: /chmod\s+777/, level: 'high', desc: '过度开放权限' },
68
+ { pattern: /--privileged/, level: 'high', desc: '特权容器' },
69
+ { pattern: /curl.*\|\s*sh/, level: 'high', desc: '远程脚本执行' },
70
+ { pattern: /git\s+push\s+--force/, level: 'medium', desc: '强制推送' },
71
+ ];
72
+ ```
73
+
74
+ ### Step 3: 生成报告
75
+
76
+ ```markdown
77
+ # Permission Audit Report
78
+
79
+ **Date**: YYYY-MM-DD HH:mm
80
+ **Scanned**: X files
81
+ **Issues**: Y found
82
+
83
+ ## 🔴 Critical Issues (0)
84
+ None found.
85
+
86
+ ## 🟠 High Risk (2)
87
+
88
+ ### 1. sudo permission
89
+ **Location**: ~/.claude/settings.local.json
90
+ **Pattern**: `Bash(sudo apt install *)`
91
+ **Risk**: 权限提升可能导致系统级变更
92
+
93
+ **Recommendation**:
94
+ 移除此权限,改为手动执行 sudo 命令
95
+
96
+ ### 2. rm -rf permission
97
+ **Location**: .claude/settings.local.json
98
+ **Pattern**: `Bash(rm -rf node_modules)`
99
+ **Risk**: 可能意外删除重要文件
100
+
101
+ **Recommendation**:
102
+ 限制为特定目录,如 `Bash(rm -rf ./node_modules)`
103
+
104
+ ## 🟡 Medium Risk (1)
105
+
106
+ ### 1. git push --force
107
+ **Location**: ~/.claude/settings.local.json
108
+ **Pattern**: `Bash(git push --force)`
109
+ **Risk**: 可能覆盖远程历史
110
+
111
+ ## Summary
112
+
113
+ | Level | Count | Action |
114
+ |-------|-------|--------|
115
+ | 🔴 Critical | 0 | 必须移除 |
116
+ | 🟠 High | 2 | 建议移除 |
117
+ | 🟡 Medium | 1 | 可选审查 |
118
+
119
+ ## Quick Actions
120
+
121
+ ```bash
122
+ # 移除高风险权限
123
+ /audit --fix
124
+
125
+ # 查看具体权限
126
+ cat ~/.claude/settings.local.json | jq '.permissions'
127
+ ```
128
+ ```
129
+
130
+ ---
131
+
132
+ ## CLI 集成
133
+
134
+ 也可通过 `smc audit` 命令运行:
135
+
136
+ ```bash
137
+ smc audit # 扫描当前项目
138
+ smc audit --global # 扫描全局
139
+ smc audit --ci # CI 模式(非零退出码)
140
+ ```
141
+
142
+ ## 最佳实践
143
+
144
+ 1. **定期审计** - 每周运行一次 `/audit`
145
+ 2. **最小权限** - 只批准必要的命令
146
+ 3. **限定范围** - 使用完整路径而非通配符
147
+ 4. **CI 检查** - 在 CI 中运行 `smc audit --ci`
@@ -0,0 +1,136 @@
1
+ ---
2
+ description: Analyze GitHub Actions CI failures
3
+ ---
4
+
5
+ # /gha
6
+
7
+ 分析 GitHub Actions CI 失败,自动检测问题并建议修复方案。
8
+
9
+ ## 使用方式
10
+
11
+ ```bash
12
+ /gha <workflow-url> # 分析指定的 workflow run
13
+ /gha --last # 分析最近失败的 workflow
14
+ /gha --flaky # 检测 flaky tests
15
+ /gha --history # 查看失败历史趋势
16
+ ```
17
+
18
+ ## 工作流程
19
+
20
+ ### Step 1: 获取 Workflow 信息
21
+
22
+ ```bash
23
+ # 获取最近的 workflow runs
24
+ gh run list --limit 10
25
+
26
+ # 获取失败的 run 详情
27
+ gh run view <run-id> --log-failed
28
+ ```
29
+
30
+ ### Step 2: 分析失败原因
31
+
32
+ 检测以下常见问题:
33
+
34
+ | 问题类型 | 检测方式 | 建议 |
35
+ |---------|---------|------|
36
+ | **Flaky Test** | 同一测试随机失败 | 添加重试或修复竞态 |
37
+ | **Timeout** | 超时错误 | 优化性能或增加限制 |
38
+ | **Dependency** | 安装失败 | 检查版本锁定 |
39
+ | **Build Error** | 编译错误 | 检查代码变更 |
40
+ | **Network** | 网络超时 | 添加重试机制 |
41
+ | **Permission** | 权限错误 | 检查 GITHUB_TOKEN |
42
+
43
+ ### Step 3: 生成报告
44
+
45
+ ```markdown
46
+ # GHA Analysis Report
47
+
48
+ ## Workflow: [workflow-name]
49
+ **Run ID**: [run-id]
50
+ **Status**: ❌ Failed
51
+ **Duration**: [time]
52
+ **Triggered by**: [event]
53
+
54
+ ## Failure Summary
55
+
56
+ ### Job: [job-name]
57
+ **Step**: [step-name]
58
+ **Error Type**: [类型]
59
+
60
+ ### Error Log
61
+ ```
62
+ [关键错误日志]
63
+ ```
64
+
65
+ ## Root Cause Analysis
66
+
67
+ 1. **主要原因**: [分析]
68
+ 2. **相关 Commit**: [commit-sha]
69
+ 3. **影响范围**: [范围]
70
+
71
+ ## Recommendations
72
+
73
+ 1. [ ] [建议修复 1]
74
+ 2. [ ] [建议修复 2]
75
+
76
+ ## Quick Fix
77
+
78
+ ```bash
79
+ # 快速修复命令
80
+ [修复命令]
81
+ ```
82
+
83
+ ## Similar Failures
84
+ - [link to similar run 1]
85
+ - [link to similar run 2]
86
+ ```
87
+
88
+ ### Step 4: 可选操作
89
+
90
+ ```bash
91
+ # 重新运行失败的 workflow
92
+ gh run rerun <run-id> --failed
93
+
94
+ # 查看特定 job 日志
95
+ gh run view <run-id> --job <job-id> --log
96
+ ```
97
+
98
+ ---
99
+
100
+ ## 常见问题快速诊断
101
+
102
+ ### Flaky Test 检测
103
+
104
+ ```bash
105
+ # 检查最近 10 次运行中同一测试的失败率
106
+ gh run list --workflow=test.yml --limit 10 --json conclusion,databaseId
107
+ ```
108
+
109
+ ### 依赖问题
110
+
111
+ ```bash
112
+ # 检查 lockfile 变更
113
+ git diff HEAD~1 -- package-lock.json yarn.lock pnpm-lock.yaml
114
+ ```
115
+
116
+ ### 权限问题
117
+
118
+ 检查 workflow 文件中的 permissions:
119
+ ```yaml
120
+ permissions:
121
+ contents: read
122
+ pull-requests: write
123
+ ```
124
+
125
+ ---
126
+
127
+ ## 集成 /fix
128
+
129
+ 如果是代码问题,自动调用 `/fix` 修复:
130
+
131
+ ```bash
132
+ /gha --last # 分析失败
133
+ /fix --build # 修复构建错误
134
+ /test # 本地验证
135
+ /commit # 提交修复
136
+ ```
@@ -0,0 +1,93 @@
1
+ ---
2
+ description: Generate context handoff document for session continuity
3
+ ---
4
+
5
+ # /handoff
6
+
7
+ 生成上下文交接文档,用于会话切换或新对话开始时的上下文传递。
8
+
9
+ ## 使用方式
10
+
11
+ ```bash
12
+ /handoff # 生成交接文档(默认)
13
+ /handoff --save # 保存到 .claude/handoffs/
14
+ /handoff --compact # 生成精简版本
15
+ ```
16
+
17
+ ## 工作流程
18
+
19
+ ### Step 1: 收集当前上下文
20
+
21
+ 分析当前会话,提取以下信息:
22
+
23
+ 1. **任务概述** - 当前正在做什么
24
+ 2. **已完成工作** - 完成了哪些步骤
25
+ 3. **阻塞点** - 遇到了什么问题
26
+ 4. **下一步行动** - 接下来要做什么
27
+ 5. **关键文件** - 涉及的重要文件
28
+
29
+ ### Step 2: 生成交接文档
30
+
31
+ ```markdown
32
+ # Handoff: [任务名称]
33
+
34
+ **Date**: YYYY-MM-DD HH:mm
35
+ **Session**: [session-id]
36
+
37
+ ## Summary
38
+ [一句话描述当前任务]
39
+
40
+ ## Progress
41
+ - [x] 已完成的步骤 1
42
+ - [x] 已完成的步骤 2
43
+ - [ ] 进行中的步骤
44
+
45
+ ## Blockers
46
+ - [阻塞点描述]
47
+ - [需要解决的问题]
48
+
49
+ ## Next Steps
50
+ 1. [下一步行动 1]
51
+ 2. [下一步行动 2]
52
+
53
+ ## Key Files
54
+ | File | Purpose |
55
+ |------|---------|
56
+ | `path/to/file.ts` | [文件作用] |
57
+
58
+ ## Context
59
+ [重要的技术决策或上下文信息]
60
+
61
+ ## Commands to Continue
62
+ ```bash
63
+ # 继续工作的命令
64
+ cd /path/to/project
65
+ # 相关命令...
66
+ ```
67
+ ```
68
+
69
+ ### Step 3: 保存(可选)
70
+
71
+ 如果使用 `--save`,保存到:
72
+ ```
73
+ .claude/handoffs/
74
+ └── handoff-YYYY-MM-DD-HHmm.md
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 最佳实践
80
+
81
+ 1. **定期生成** - 长会话每 30 分钟生成一次
82
+ 2. **上下文过长时** - 使用 `/compact` 后生成 handoff
83
+ 3. **切换任务前** - 保存当前上下文
84
+ 4. **新会话开始** - 读取最近的 handoff 文档
85
+
86
+ ## 与 MEMORY.md 的区别
87
+
88
+ | 特性 | /handoff | MEMORY.md |
89
+ |------|----------|-----------|
90
+ | 目的 | 会话交接 | 长期记忆 |
91
+ | 粒度 | 当前任务 | 项目全局 |
92
+ | 更新频率 | 每次会话 | 重大变更 |
93
+ | 格式 | 结构化文档 | 增量记录 |
@@ -0,0 +1,21 @@
1
+ # Handoffs Index
2
+
3
+ > Auto-generated context preservation documents
4
+ > Updated: 2026-01-22T13:07:04.758Z
5
+
6
+ ---
7
+
8
+ ## Recent Handoffs (1)
9
+
10
+ - [handoff_2026-01-22T13-07-04-757Z.md](./handoff_2026-01-22T13-07-04-757Z.md) - 2026-01-22T13:07:04.758Z
11
+
12
+
13
+ ---
14
+
15
+ ## Latest Handoff
16
+
17
+ See [LATEST.md](./LATEST.md) for the most recent context snapshot.
18
+
19
+ ---
20
+
21
+ *Index maintained by auto-handoff.cjs*
@@ -0,0 +1,76 @@
1
+ # Handoff: Pre-Compact Context Preservation
2
+
3
+ > Auto-generated before context compression
4
+ > Date: 2026-01-22T13:07:04.742Z
5
+ > Session: unknown
6
+ > Conversation: unknown
7
+
8
+ ---
9
+
10
+ ## Session Info
11
+
12
+ - **Project**: sumulige-claude
13
+ - **Version**: 1.3.1
14
+ - **Start Time**: 2026-01-22T13:06:23.872Z
15
+
16
+ ---
17
+
18
+ ## Memory State
19
+
20
+ - **Entries Loaded**: 4
21
+ - **Anchors Modules**: 0
22
+
23
+ ---
24
+
25
+ ## Active TODOs (0)
26
+
27
+ *No active TODOs*
28
+
29
+
30
+ ---
31
+
32
+ ## Recently Modified Files (Last 24h)
33
+
34
+ - `.claude/.session-state.json` (2026-01-22)
35
+ - `.claude/settings.local.json` (2026-01-22)
36
+ - `.claude/settings.json` (2026-01-22)
37
+ - `.claude/hooks/auto-handoff.cjs` (2026-01-22)
38
+ - `.claude/hooks/memory-saver.cjs` (2026-01-22)
39
+ - `.claude/hooks/memory-loader.cjs` (2026-01-22)
40
+ - `.claude/.kickoff-hint.txt` (2026-01-22)
41
+ - `.claude/skills/xlsx/LICENSE.txt` (2026-01-22)
42
+ - `.claude/skills/web-artifacts-builder/LICENSE.txt` (2026-01-22)
43
+ - `.claude/skills/webapp-testing/LICENSE.txt` (2026-01-22)
44
+ - *...and 10 more files*
45
+
46
+
47
+ ---
48
+
49
+ ## Context Preservation Notes
50
+
51
+ **Important**: This handoff was auto-generated before context compaction.
52
+ The following information should be re-loaded after compaction:
53
+
54
+ 1. Read `.claude/MEMORY.md` for recent session context
55
+ 2. Check `development/todos/INDEX.md` for task status
56
+ 3. Review recent git commits for code changes
57
+
58
+ ---
59
+
60
+ ## Recovery Commands
61
+
62
+ ```bash
63
+ # View recent memory
64
+ cat .claude/MEMORY.md | head -100
65
+
66
+ # Check active TODOs
67
+ ls development/todos/active/
68
+
69
+ # View recent changes
70
+ git log --oneline -10
71
+ git status
72
+ ```
73
+
74
+ ---
75
+
76
+ *Auto-generated by auto-handoff.cjs at 2026-01-22T13:07:04.742Z*
@@ -0,0 +1,76 @@
1
+ # Handoff: Pre-Compact Context Preservation
2
+
3
+ > Auto-generated before context compression
4
+ > Date: 2026-01-22T13:07:04.742Z
5
+ > Session: unknown
6
+ > Conversation: unknown
7
+
8
+ ---
9
+
10
+ ## Session Info
11
+
12
+ - **Project**: sumulige-claude
13
+ - **Version**: 1.3.1
14
+ - **Start Time**: 2026-01-22T13:06:23.872Z
15
+
16
+ ---
17
+
18
+ ## Memory State
19
+
20
+ - **Entries Loaded**: 4
21
+ - **Anchors Modules**: 0
22
+
23
+ ---
24
+
25
+ ## Active TODOs (0)
26
+
27
+ *No active TODOs*
28
+
29
+
30
+ ---
31
+
32
+ ## Recently Modified Files (Last 24h)
33
+
34
+ - `.claude/.session-state.json` (2026-01-22)
35
+ - `.claude/settings.local.json` (2026-01-22)
36
+ - `.claude/settings.json` (2026-01-22)
37
+ - `.claude/hooks/auto-handoff.cjs` (2026-01-22)
38
+ - `.claude/hooks/memory-saver.cjs` (2026-01-22)
39
+ - `.claude/hooks/memory-loader.cjs` (2026-01-22)
40
+ - `.claude/.kickoff-hint.txt` (2026-01-22)
41
+ - `.claude/skills/xlsx/LICENSE.txt` (2026-01-22)
42
+ - `.claude/skills/web-artifacts-builder/LICENSE.txt` (2026-01-22)
43
+ - `.claude/skills/webapp-testing/LICENSE.txt` (2026-01-22)
44
+ - *...and 10 more files*
45
+
46
+
47
+ ---
48
+
49
+ ## Context Preservation Notes
50
+
51
+ **Important**: This handoff was auto-generated before context compaction.
52
+ The following information should be re-loaded after compaction:
53
+
54
+ 1. Read `.claude/MEMORY.md` for recent session context
55
+ 2. Check `development/todos/INDEX.md` for task status
56
+ 3. Review recent git commits for code changes
57
+
58
+ ---
59
+
60
+ ## Recovery Commands
61
+
62
+ ```bash
63
+ # View recent memory
64
+ cat .claude/MEMORY.md | head -100
65
+
66
+ # Check active TODOs
67
+ ls development/todos/active/
68
+
69
+ # View recent changes
70
+ git log --oneline -10
71
+ git status
72
+ ```
73
+
74
+ ---
75
+
76
+ *Auto-generated by auto-handoff.cjs at 2026-01-22T13:07:04.742Z*