sumulige-claude 1.0.11 → 1.1.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.
@@ -0,0 +1,191 @@
1
+ ---
2
+ name: test-workflow
3
+ description: Automated testing workflow that combines Playwright testing, Slack GIF recording, and test report generation. Use when user mentions "测试"、"test"、"Playwright" or asks for QA/testing workflows. Automatically generates: (1) Test execution with Playwright, (2) Slack-optimized GIF of test process, (3) Screenshot at each verification point, (4) Markdown test report with embedded screenshots.
4
+
5
+ see_also:
6
+ - webapp-testing
7
+ - slack-gif-creator
8
+ - doc-coauthoring
9
+ ---
10
+
11
+ # Test Workflow - 自动化测试工作流
12
+
13
+ 完整的测试工作流技能,整合 Playwright 测试、GIF 录制和测试报告生成。
14
+
15
+ ## 默认行为
16
+
17
+ 当用户说"测试 xxx"时,自动执行完整流程:
18
+
19
+ ```
20
+ 用户输入 → 测试执行 → GIF录制 → 截图 → 测试报告
21
+ ```
22
+
23
+ **无需用户明确说明** - 只要提到"测试"就默认包含所有能力。
24
+
25
+ ---
26
+
27
+ ## 📋 工作流程
28
+
29
+ ### 阶段 1: 理解测试需求
30
+
31
+ 向用户确认测试范围:
32
+ ```
33
+ 我将对 [目标] 进行自动化测试,包括:
34
+ 1. Playwright 测试执行
35
+ 2. 测试过程 GIF 录制 (Slack 优化)
36
+ 3. 验证点截图
37
+ 4. Markdown 测试报告
38
+
39
+ 测试范围:[确认测试场景]
40
+ ```
41
+
42
+ ### 阶段 2: 执行测试 (Playwright)
43
+
44
+ ```python
45
+ from playwright.sync_api import sync_playwright
46
+ from PIL import Image
47
+ import io
48
+ import json
49
+
50
+ # 配置
51
+ GIF_SIZE = (128, 128) # Slack emoji 尺寸
52
+ SCREENSHOT_DIR = "./test_screenshots"
53
+ FRAMES = [] # 用于 GIF 的帧
54
+
55
+ def capture_frame(page):
56
+ """捕获一帧用于 GIF"""
57
+ screenshot = page.screenshot()
58
+ img = Image.open(io.BytesIO(screenshot))
59
+ img_resized = img.resize(GIF_SIZE)
60
+ return img_resized
61
+
62
+ # 测试执行
63
+ with sync_playwright() as p:
64
+ browser = p.chromium.launch(headless=True)
65
+ page = browser.new_page()
66
+
67
+ # 执行测试步骤,每步捕获
68
+ # ... 测试逻辑 ...
69
+
70
+ browser.close()
71
+ ```
72
+
73
+ ### 阶段 3: 生成 GIF (Slack 优化)
74
+
75
+ ```python
76
+ # GIF 规格 (Slack 要求)
77
+ - 尺寸: 128x128 (emoji) 或 480x480 (message)
78
+ - FPS: 10-20
79
+ - 颜色: 48-64 种
80
+ - 时长: < 3 秒
81
+
82
+ FRAMES[0].save(
83
+ "test_process.gif",
84
+ save_all=True,
85
+ append_images=FRAMES[1:],
86
+ duration=100, # 10fps
87
+ optimize=True,
88
+ colors=48
89
+ )
90
+ ```
91
+
92
+ ### 阶段 4: 生成测试报告 (Markdown)
93
+
94
+ ```markdown
95
+ # 测试报告 - [功能名称]
96
+
97
+ ## 测试概述
98
+ - 测试时间: 2026-01-15 14:30
99
+ - 测试人员: AI Automation
100
+ - 测试环境: Chrome / localhost:3000
101
+
102
+ ## 测试过程
103
+ ![测试过程](test_process.gif)
104
+
105
+ ## 测试用例
106
+
107
+ ### 用例 1: 用户登录
108
+ **预期**: 用户成功登录
109
+ **实际**: ✅ 通过
110
+ **截图**:
111
+ ![登录成功](screenshots/login.png)
112
+
113
+ ### 用例 2: 数据验证
114
+ **预期**: 显示用户数据
115
+ **实际**: ✅ 通过
116
+ **截图**:
117
+ ![数据显示](screenshots/data.png)
118
+
119
+ ## 测试结果
120
+ | 用例 | 状态 | 说明 |
121
+ |------|------|------|
122
+ | 用户登录 | ✅ | 正常跳转 |
123
+ | 数据验证 | ✅ | 数据正确 |
124
+
125
+ ## 总结
126
+ - 通过: 2/2
127
+ - 失败: 0
128
+ - 测试结论: PASS
129
+ ```
130
+
131
+ ---
132
+
133
+ ## 🎯 触发条件
134
+
135
+ **自动触发场景** (无需用户详细说明):
136
+
137
+ | 用户说 | 解释 |
138
+ |--------|------|
139
+ | "测试登录功能" | 完整流程 |
140
+ | "用 Playwright 测试" | 完整流程 |
141
+ | "test the checkout" | 完整流程 |
142
+ | "跑一下测试" | 完整流程 |
143
+
144
+ **Claude 应主动执行**,不要问用户是否需要 GIF 或报告。
145
+
146
+ ---
147
+
148
+ ## 📦 输出文件
149
+
150
+ ```
151
+ test_output/
152
+ ├── test_process.gif # Slack GIF
153
+ ├── test_report.md # 测试报告
154
+ └── screenshots/
155
+ ├── step1_login.png
156
+ ├── step2_data.png
157
+ └── step3_result.png
158
+ ```
159
+
160
+ ---
161
+
162
+ ## ⚙️ 配置选项
163
+
164
+ 用户可以自定义规格:
165
+
166
+ ```python
167
+ # 用户可以指定
168
+ - GIF 尺寸: 默认 128x128,可选 480x480
169
+ - 截图格式: 默认 PNG
170
+ - 报告格式: 默认 Markdown,可选 HTML
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 🔗 关联技能
176
+
177
+ 本技能协调以下技能:
178
+
179
+ - **webapp-testing**: Playwright 测试执行
180
+ - **slack-gif-creator**: GIF 生成和优化
181
+ - **doc-coauthoring**: 报告文档结构
182
+
183
+ ---
184
+
185
+ ## 💡 设计理念
186
+
187
+ **"说测试,就要全套"**
188
+
189
+ 用户不应该需要说明"我要 GIF"、"我要报告"、"我要截图"。
190
+
191
+ 提到"测试" = 默认包含所有输出。
@@ -0,0 +1,69 @@
1
+ # 开发任务标题
2
+
3
+ > **类型**: 💻 Develop | 实现/编码/重构
4
+ > **状态**: 进行中
5
+ > **优先级**: P0/P1/P2
6
+ > **创建时间**: YYYY-MM-DD
7
+
8
+ ---
9
+
10
+ ## 📋 任务描述
11
+
12
+ 简要描述开发目标和需求。
13
+
14
+ ---
15
+
16
+ ## ✅ 子任务清单
17
+
18
+ ### 第一阶段
19
+ - [ ] 任务1.1
20
+ - [ ] 任务1.2
21
+
22
+ ### 第二阶段
23
+ - [ ] 任务2.1
24
+ - [ ] 任务2.2
25
+
26
+ ---
27
+
28
+ ## 🎯 验收标准
29
+
30
+ - [ ] 功能正常运行
31
+ - [ ] 无 TypeScript 错误
32
+ - [ ] 无 ESLint 警告
33
+ - [ ] 通过测试验证
34
+
35
+ ---
36
+
37
+ ## 📁 关键文件
38
+
39
+ | 文件 | 说明 | 状态 |
40
+ |------|------|------|
41
+ | `path/to/file` | 文件说明 | 🔴 待实现 |
42
+ | `path/to/file` | 文件说明 | 🟡 进行中 |
43
+ | `path/to/file` | 文件说明 | 🟢 已完成 |
44
+
45
+ ---
46
+
47
+ ## 🔗 依赖任务
48
+
49
+ - 前置任务:[任务名]
50
+ - 后续任务:[任务名]
51
+
52
+ ---
53
+
54
+ ## 📝 开发日志
55
+
56
+ ### YYYY-MM-DD
57
+ - 进度记录
58
+
59
+ ---
60
+
61
+ ## 🧪 测试说明
62
+
63
+ ```bash
64
+ # 运行测试
65
+ npm test
66
+
67
+ # 本地验证
68
+ npm run dev
69
+ ```
@@ -0,0 +1,64 @@
1
+ # 研究任务标题
2
+
3
+ > **类型**: 📊 Research | 调研/设计/探索
4
+ > **状态**: 进行中
5
+ > **优先级**: P0/P1/P2
6
+ > **创建时间**: YYYY-MM-DD
7
+
8
+ ---
9
+
10
+ ## 📋 任务描述
11
+
12
+ 简要描述研究目标和背景。
13
+
14
+ ---
15
+
16
+ ## 🎯 研究目标
17
+
18
+ 1. 目标一
19
+ 2. 目标二
20
+ 3. 目标三
21
+
22
+ ---
23
+
24
+ ## 🔍 研究方法
25
+
26
+ - [ ] 文献调研
27
+ - [ ] 技术方案对比
28
+ - [ ] 原型验证
29
+ - [ ] 风险评估
30
+
31
+ ---
32
+
33
+ ## 📊 研究成果
34
+
35
+ ### 调研发现
36
+
37
+ 1. 发现一
38
+ 2. 发现二
39
+
40
+ ### 推荐方案
41
+
42
+ | 方案 | 优点 | 缺点 | 推荐度 |
43
+ |------|------|------|--------|
44
+ | 方案A | | | ⭐⭐⭐ |
45
+ | 方案B | | | ⭐⭐ |
46
+
47
+ ---
48
+
49
+ ## 📁 相关文件
50
+
51
+ - 调研文档:
52
+ - 技术文档:
53
+
54
+ ---
55
+
56
+ ## 🔗 依赖任务
57
+
58
+
59
+
60
+ ---
61
+
62
+ ## 📝 备注
63
+
64
+ 记录研究过程中的重要发现和决策点。
@@ -0,0 +1,96 @@
1
+ # 测试任务标题
2
+
3
+ > **类型**: 🧪 Test | 测试/验证/QA
4
+ > **状态**: 进行中
5
+ > **优先级**: P0/P1/P2
6
+ > **创建时间**: YYYY-MM-DD
7
+ > **相关开发任务**: [链接到开发任务]
8
+
9
+ ---
10
+
11
+ ## 📋 任务描述
12
+
13
+ 描述测试范围和目标。
14
+
15
+ ---
16
+
17
+ ## 🎯 测试范围
18
+
19
+ | 功能/模块 | 测试类型 | 优先级 |
20
+ |----------|----------|--------|
21
+ | 模块A | 功能测试 | P0 |
22
+ | 模块B | 集成测试 | P1 |
23
+ | 模块C | 回归测试 | P2 |
24
+
25
+ ---
26
+
27
+ ## ✅ 测试用例
28
+
29
+ ### 功能测试
30
+
31
+ | 用例ID | 用例描述 | 步骤 | 预期结果 | 状态 |
32
+ |--------|----------|------|----------|------|
33
+ | T001 | 描述 | 步骤 | 预期 | ⬜ |
34
+
35
+ ### 边界测试
36
+
37
+ | 用例ID | 用例描述 | 步骤 | 预期结果 | 状态 |
38
+ |--------|----------|------|----------|------|
39
+ | T101 | 描述 | 步骤 | 预期 | ⬜ |
40
+
41
+ ---
42
+
43
+ ## 🐛 问题记录
44
+
45
+ | ID | 问题描述 | 严重程度 | 状态 | 修复方案 |
46
+ |----|----------|----------|------|----------|
47
+ | B001 | | 🔴高/🟡中/🟢低 | ⬜ | |
48
+
49
+ ---
50
+
51
+ ## 📁 测试文件
52
+
53
+ | 文件 | 说明 |
54
+ |------|------|
55
+ | `path/to/test` | 测试文件 |
56
+ | `/tmp/screenshots/` | 截图目录 |
57
+
58
+ ---
59
+
60
+ ## 🧪 测试命令
61
+
62
+ ```bash
63
+ # 运行测试
64
+ npm test
65
+
66
+ # Playwright E2E
67
+ npx playwright test
68
+
69
+ # 手动测试 URL
70
+ http://localhost:3000/test-page
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 📝 测试结果
76
+
77
+ ### 测试统计
78
+
79
+ - 总用例数: 0
80
+ - 通过: 0
81
+ - 失败: 0
82
+ - 跳过: 0
83
+ - 通过率: 0%
84
+
85
+ ### 回归测试
86
+
87
+ - 上次通过率: 0%
88
+ - 本次通过率: 0%
89
+ - 变化: 0%
90
+
91
+ ---
92
+
93
+ ## 🔗 关联问题
94
+
95
+ - 相关 Bug: [链接]
96
+ - 相关需求: [链接]
@@ -27,8 +27,8 @@
27
27
  }
28
28
  ],
29
29
  "metadata": {
30
- "version": "1.0.10",
31
- "generated_at": "2026-01-14T18:29:51.539Z",
30
+ "version": "1.0.11",
31
+ "generated_at": "2026-01-15T08:24:34.719Z",
32
32
  "skill_count": 1,
33
33
  "categories": {
34
34
  "tools": {
package/.versionrc ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "types": [
3
+ { "type": "feat", "section": "Added" },
4
+ { "type": "fix", "section": "Fixed" },
5
+ { "type": "chore", "hidden": false },
6
+ { "type": "docs", "section": "Changed", "hidden": false },
7
+ { "type": "style", "hidden": true },
8
+ { "type": "refactor", "section": "Changed" },
9
+ { "type": "perf", "section": "Changed" },
10
+ { "type": "test", "hidden": false }
11
+ ],
12
+ "commitUrlFormat": "https://github.com/sumulige/sumulige-claude/commits/{{hash}}",
13
+ "compareUrlFormat": "https://github.com/sumulige/sumulige-claude/compare/{{previousTag}}...{{currentTag}}",
14
+ "issueUrlFormat": "https://github.com/sumulige/sumulige-claude/issues/{{id}}",
15
+ "bumpFiles": [
16
+ {
17
+ "filename": "package.json",
18
+ "type": "json"
19
+ }
20
+ ],
21
+ "skip": {
22
+ "tag": true,
23
+ "commit": false
24
+ }
25
+ }
package/AGENTS.md CHANGED
@@ -29,7 +29,7 @@ Usage notes:
29
29
 
30
30
  <skill>
31
31
  <name>api-tester</name>
32
- <description></description>
32
+ <description>API testing and HTTP request validation tool for REST/GraphQL endpoints</description>
33
33
  <location>project</location>
34
34
  </skill>
35
35
 
@@ -105,6 +105,12 @@ Usage notes:
105
105
  <location>project</location>
106
106
  </skill>
107
107
 
108
+ <skill>
109
+ <name>test-workflow</name>
110
+ <description>Automated testing workflow that combines Playwright testing, Slack GIF recording, and test report generation. Use when user mentions "测试"、"test"、"Playwright" or asks for QA/testing workflows. Automatically generates: (1) Test execution with Playwright, (2) Slack-optimized GIF of test process, (3) Screenshot at each verification point, (4) Markdown test report with embedded screenshots.</description>
111
+ <location>project</location>
112
+ </skill>
113
+
108
114
  <skill>
109
115
  <name>theme-factory</name>
110
116
  <description>Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.</description>
package/CHANGELOG.md CHANGED
@@ -1,9 +1,88 @@
1
- # Changelog
1
+ ## [Unreleased] (2026-01-15)
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ ### Features
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
+ - kickoff creates tasks in backlog (d1a6f958)
6
+ - add 'help' command as alias (697d5ef2)
7
+ - add --check-update flag to sync command (b8ab1131)
8
+ - add version update check (stage 1 & 2) (dd116a75)
9
+ - add safety options to smc template command (74441b8f)
10
+ - upgrade todo-manager to v2.0 with R-D-T lifecycle (16e8f7ea)
11
+ - add test-workflow skill and enhance CLI commands (972a6762)
12
+
13
+ ### 📝 Documentation
14
+
15
+ - add Q4 for version update flow (16c43298)
16
+ - add Q3 for smc template vs sync comparison (346e9a6e)
17
+
18
+ ### 🧹 Chores
19
+
20
+ - **release**: 1.1.0 (ba1afd24)
21
+
22
+ ## [1.1.0](https://github.com/sumulige/sumulige-claude/compare/v1.0.11...v1.1.0) (2026-01-15)
23
+
24
+
25
+ ### Changed
26
+
27
+ * sync documentation with v1.0.11 ([b00c509](https://github.com/sumulige/sumulige-claude/commits/b00c50928038bf8a4a655e81712420cd3294935d))
28
+
29
+
30
+ * add standard-version for automated releases ([32522fa](https://github.com/sumulige/sumulige-claude/commits/32522fa912dd26a4540cba10532c24d4e29e6daf))
31
+
32
+
33
+ ### Added
34
+
35
+ * add test-workflow skill and enhance CLI commands ([972a676](https://github.com/sumulige/sumulige-claude/commits/972a6762411c5f863d9bfa3e360df7dc7f379aab))
36
+
37
+ ## [1.0.11] - 2026-01-15
38
+
39
+ ### Added
40
+ - Complete test suite with 78 tests across 5 modules
41
+ - Version-aware migration system (`lib/migrations.js`)
42
+ - `smc migrate` command for manual migration
43
+ - Auto-migration of old hooks format on `smc sync`
44
+ - Code simplifier integration
45
+
46
+ ### Changed
47
+ - Modularized codebase for better maintainability
48
+
49
+ ### Fixed
50
+ - Test coverage improvements
51
+
52
+ ## [1.0.10] - 2026-01-15
53
+
54
+ ### Added
55
+ - Conversation logger Hook (`conversation-logger.cjs`)
56
+ - Automatic conversation recording to `DAILY_CONVERSATION.md`
57
+ - Date-grouped conversation history
58
+
59
+ ### Fixed
60
+ - Auto-migration for old hooks format
61
+
62
+ ## [1.0.9] - 2026-01-15
63
+
64
+ ### Fixed
65
+ - Clean up stale session entries
66
+
67
+ ## [1.0.8] - 2026-01-14
68
+
69
+ ### Added
70
+ - Skill Marketplace system with external repository support
71
+ - Auto-sync mechanism via GitHub Actions (daily schedule)
72
+ - 6 new marketplace commands: `list`, `install`, `sync`, `add`, `remove`, `status`
73
+ - Claude Code native plugin registry (`.claude-plugin/marketplace.json`)
74
+ - Skill categorization system (7 categories)
75
+ - Development documentation (`docs/DEVELOPMENT.md`)
76
+ - Marketplace user guide (`docs/MARKETPLACE.md`)
77
+
78
+ ### Changed
79
+ - Refactored CLI into modular architecture (`lib/` directory)
80
+ - Streamlined README with dedicated documentation files
81
+
82
+ ## [1.0.7] - 2026-01-13
83
+
84
+ ### Changed
85
+ - Project template updates
7
86
 
8
87
  ## [1.0.6] - 2026-01-14
9
88
 
@@ -15,9 +15,12 @@
15
15
  | 功能 | 描述 |
16
16
  |------|------|
17
17
  | **多 Agent 协作** | 5个专业化 Agent(Conductor/Architect/Builder/Reviewer/Librarian)分工协作 |
18
+ | **技能市场** | 发现、安装和同步外部技能(v1.0.8 新增) |
18
19
  | **技能系统** | 可复用的 Claude Skills 管理(安装/创建/依赖检查) |
20
+ | **版本迁移** | 自动检测并迁移旧格式项目(v1.0.11 新增) |
19
21
  | **项目模板** | 一键部署完整的 Claude Code 项目配置 |
20
22
  | **TODO 管理** | 按优先级分组的 AI 自动维护任务系统 |
23
+ | **测试套件** | 78 个测试用例覆盖核心模块(v1.0.11 新增) |
21
24
  | **ThinkingLens** | 对话追踪和增量记忆系统 |
22
25
 
23
26
  ### Agent 角色说明
@@ -52,10 +55,36 @@ sumulige-claude/
52
55
  ├── lib/ # ⭐ 核心库模块(v1.0.6+ 重构)
53
56
  │ ├── commands.js # 命令实现(~700 行)
54
57
  │ ├── config.js # 配置管理(~70 行)
58
+ │ ├── marketplace.js # 技能市场功能(v1.0.8 新增)
59
+ │ ├── migrations.js # 版本迁移系统(v1.0.11 新增)
55
60
  │ └── utils.js # 公共工具函数(~60 行)
56
61
 
57
62
  ├── config/ # ⭐ 默认配置(v1.0.6+ 新增)
58
- └── defaults.json # 默认配置文件
63
+ ├── defaults.json # 默认配置文件
64
+ │ └── skill-categories.json # 技能分类(v1.0.8 新增)
65
+
66
+ ├── scripts/ # ⭐ 自动化脚本(v1.0.8 新增)
67
+ │ ├── sync-external.mjs # 外部技能同步引擎
68
+ │ └── update-registry.mjs # 市场注册表生成器
69
+
70
+ ├── tests/ # ⭐ 测试套件(v1.0.11 新增)
71
+ │ ├── *.test.js # 单元测试(78 tests)
72
+ │ ├── fixtures/ # 测试夹具
73
+ │ ├── mocks/ # Mock 数据
74
+ │ └── README.md # 测试文档
75
+
76
+ ├── docs/ # ⭐ 开发文档(v1.0.8 新增)
77
+ │ ├── DEVELOPMENT.md # 开发指南
78
+ │ └── MARKETPLACE.md # 技能市场指南
79
+
80
+ ├── .claude-plugin/ # ⭐ Claude Code 插件(v1.0.8 新增)
81
+ │ └── marketplace.json # 技能市场注册表
82
+
83
+ ├── .github/ # CI/CD 配置(v1.0.8 新增)
84
+ │ └── workflows/
85
+ │ └── sync-skills.yml # 每日技能同步
86
+
87
+ ├── sources.yaml # 外部技能源配置(v1.0.8 新增)
59
88
 
60
89
  ├── development/ # 开发任务管理
61
90
  │ └── todos/ # TODO 任务系统(GTD 风格)
@@ -131,7 +160,8 @@ sumulige-claude/
131
160
  smc (sumulige-claude 简写)
132
161
  ├── init # 初始化配置 (~/.claude/config.json)
133
162
  ├── status # 查看状态(Agents/Skills/Tasks)
134
- ├── sync # 同步配置到项目
163
+ ├── sync # 同步配置到项目(自动执行迁移)
164
+ ├── migrate # 手动执行项目迁移(v1.0.11 新增)
135
165
  ├── template [path] # 部署项目模板
136
166
  ├── kickoff # Manus 风格项目规划启动
137
167
 
@@ -140,6 +170,13 @@ smc (sumulige-claude 简写)
140
170
  ├── skill:check [name] # 检查技能依赖
141
171
  ├── skill:install <src> # 安装外部技能
142
172
 
173
+ ├── marketplace:list # 列出市场技能(v1.0.8 新增)
174
+ ├── marketplace:install # 安装市场技能
175
+ ├── marketplace:sync # 同步外部技能源
176
+ ├── marketplace:add # 添加技能源
177
+ ├── marketplace:remove # 移除技能源
178
+ ├── marketplace:status # 查看市场状态
179
+
143
180
  └── agent <task> # 启动 Agent 编排
144
181
  ```
145
182
 
@@ -226,4 +263,4 @@ smc (sumulige-claude 简写)
226
263
 
227
264
  ---
228
265
 
229
- *Generated: 2026-01-13*
266
+ *Generated: 2026-01-15*