@liangjie559567/ultrapower 5.0.17 → 5.0.18
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/.claude-plugin/plugin.json +1 -1
- package/docs/CLAUDE.md +1 -1
- package/package.json +1 -1
- package/skills/ax-analyze-error/SKILL.md +0 -1
- package/skills/ax-context/SKILL.md +0 -1
- package/skills/ax-decompose/SKILL.md +0 -1
- package/skills/ax-draft/SKILL.md +0 -1
- package/skills/ax-evolution/SKILL.md +0 -1
- package/skills/ax-evolve/SKILL.md +0 -1
- package/skills/ax-export/SKILL.md +0 -1
- package/skills/ax-implement/SKILL.md +0 -1
- package/skills/ax-knowledge/SKILL.md +0 -1
- package/skills/ax-reflect/SKILL.md +0 -1
- package/skills/ax-review/SKILL.md +0 -1
- package/skills/ax-rollback/SKILL.md +0 -1
- package/skills/ax-status/SKILL.md +0 -1
- package/skills/ax-suspend/SKILL.md +0 -1
- package/skills/omc-doctor/SKILL.md +63 -0
- package/skills/omc-setup/SKILL.md +34 -0
- package/skills/release/SKILL.md +37 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultrapower",
|
|
3
3
|
"description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution. Combines superpowers' TDD/debugging discipline with OMC's multi-agent execution capabilities.",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.18",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jesse Vincent & oh-my-claudecode contributors"
|
|
7
7
|
},
|
package/docs/CLAUDE.md
CHANGED
package/package.json
CHANGED
package/skills/ax-draft/SKILL.md
CHANGED
|
@@ -24,6 +24,53 @@ npm view @liangjie559567/ultrapower version 2>/dev/null || echo "Latest: (unavai
|
|
|
24
24
|
- 已安装版本 != 最新版本:警告——插件已过时
|
|
25
25
|
- 存在多个版本:警告——缓存陈旧
|
|
26
26
|
|
|
27
|
+
### 第一步 bis:检查 npm-cache 复用问题
|
|
28
|
+
|
|
29
|
+
检查插件缓存目录标注的版本号与实际内容是否一致:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node -e "
|
|
33
|
+
const p=require('path'),f=require('fs'),h=require('os').homedir();
|
|
34
|
+
const d=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');
|
|
35
|
+
const b=p.join(d,'plugins','cache','omc','ultrapower');
|
|
36
|
+
try {
|
|
37
|
+
const vs=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));
|
|
38
|
+
if(!vs.length){console.log('No cache versions found');process.exit();}
|
|
39
|
+
const latest=vs[vs.length-1];
|
|
40
|
+
const pkgPath=p.join(b,latest,'package.json');
|
|
41
|
+
if(f.existsSync(pkgPath)){
|
|
42
|
+
const pkg=JSON.parse(f.readFileSync(pkgPath,'utf-8'));
|
|
43
|
+
if(pkg.version!==latest){
|
|
44
|
+
console.log('MISMATCH: dir='+latest+' pkg.version='+pkg.version);
|
|
45
|
+
console.log('CAUSE: npm-cache reuse (semver range satisfied old version)');
|
|
46
|
+
} else {
|
|
47
|
+
console.log('OK: version matches ('+latest+')');
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
console.log('WARN: package.json not found in cache/'+latest);
|
|
51
|
+
}
|
|
52
|
+
} catch(e){console.log('Error:',e.message);}
|
|
53
|
+
"
|
|
54
|
+
|
|
55
|
+
# 检查 npm-cache 中存储的 semver 范围
|
|
56
|
+
node -e "
|
|
57
|
+
const p=require('path'),f=require('fs'),h=require('os').homedir();
|
|
58
|
+
const d=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');
|
|
59
|
+
const npmCachePkg=p.join(d,'plugins','npm-cache','package.json');
|
|
60
|
+
if(f.existsSync(npmCachePkg)){
|
|
61
|
+
const pkg=JSON.parse(f.readFileSync(npmCachePkg,'utf-8'));
|
|
62
|
+
const dep=pkg.dependencies&&pkg.dependencies['@liangjie559567/ultrapower'];
|
|
63
|
+
console.log('npm-cache range:',dep||'(not found)');
|
|
64
|
+
} else {
|
|
65
|
+
console.log('npm-cache: not present (normal for fresh installs)');
|
|
66
|
+
}
|
|
67
|
+
"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**诊断**:
|
|
71
|
+
- `MISMATCH: dir=X pkg.version=Y`:严重错误——npm-cache 复用导致旧内容被安装到新版本目录
|
|
72
|
+
- npm-cache range 显示旧版本范围(如 `^5.0.11`):警告——下次安装仍会复用旧缓存
|
|
73
|
+
|
|
27
74
|
### 第二步:检查 settings.json 中的旧版 hook
|
|
28
75
|
|
|
29
76
|
读取 `~/.claude/settings.json`(用户级)和 `./.claude/settings.json`(项目级),检查是否存在包含以下条目的 `"hooks"` 键:
|
|
@@ -109,6 +156,7 @@ ls -la ~/.claude/skills/ 2>/dev/null
|
|
|
109
156
|
| 检查项 | 状态 | 详情 |
|
|
110
157
|
|-------|--------|---------|
|
|
111
158
|
| 插件版本 | OK/WARN/CRITICAL | ... |
|
|
159
|
+
| npm-cache 复用 | OK/WARN/CRITICAL | ... |
|
|
112
160
|
| 旧版 Hook (settings.json) | OK/CRITICAL | ... |
|
|
113
161
|
| 旧版脚本 (~/.claude/hooks/) | OK/WARN | ... |
|
|
114
162
|
| CLAUDE.md | OK/WARN/CRITICAL | ... |
|
|
@@ -150,6 +198,21 @@ rm -f ~/.claude/hooks/stop-continuation.sh
|
|
|
150
198
|
node -e "const p=require('path'),f=require('fs'),d=process.env.CLAUDE_CONFIG_DIR||p.join(require('os').homedir(),'.claude'),b=p.join(d,'plugins','cache','omc','ultrapower');try{f.rmSync(b,{recursive:true,force:true});console.log('Plugin cache cleared. Restart Claude Code to fetch latest version.')}catch{console.log('No plugin cache found')}"
|
|
151
199
|
```
|
|
152
200
|
|
|
201
|
+
### 修复:npm-cache 复用(插件内容是旧版本)
|
|
202
|
+
|
|
203
|
+
症状:插件缓存目录版本号与 `package.json` 内 `version` 字段不一致。
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# 完整清洁重装(必须同时清除 npm-cache)
|
|
207
|
+
claude plugin uninstall ultrapower
|
|
208
|
+
rm -rf ~/.claude/plugins/npm-cache # 关键:清除 semver 范围缓存
|
|
209
|
+
rm -rf ~/.claude/plugins/cache/ultrapower
|
|
210
|
+
claude plugin marketplace update ultrapower
|
|
211
|
+
claude plugin install ultrapower
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
> ⚠️ 仅清除插件缓存不够——npm-cache 中的 `^` semver 范围会导致安装器继续复用旧内容。
|
|
215
|
+
|
|
153
216
|
### 修复:陈旧缓存(多个版本)
|
|
154
217
|
```bash
|
|
155
218
|
# 仅保留最新版本(跨平台)
|
|
@@ -365,6 +365,23 @@ EOF
|
|
|
365
365
|
node -e "const p=require('path'),f=require('fs'),h=require('os').homedir(),d=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude'),b=p.join(d,'plugins','cache','omc','ultrapower');try{const v=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));if(v.length<=1){console.log('Cache is clean');process.exit()}v.slice(0,-1).forEach(x=>{f.rmSync(p.join(b,x),{recursive:true,force:true})});console.log('Cleared',v.length-1,'stale cache version(s)')}catch{console.log('No cache directory found (normal for new installs)')}"
|
|
366
366
|
```
|
|
367
367
|
|
|
368
|
+
### 如果插件内容是旧版本(npm-cache 复用问题)
|
|
369
|
+
|
|
370
|
+
**症状**:插件缓存目录标注为新版本号,但实际内容是旧版本(`package.json` 中 `version` 字段不匹配)。
|
|
371
|
+
|
|
372
|
+
**原因**:`~/.claude/plugins/npm-cache/package.json` 使用 `^` semver 范围,Claude Code 安装器判断旧缓存满足范围后直接复用,不重新下载。
|
|
373
|
+
|
|
374
|
+
**完整清洁重装**:
|
|
375
|
+
```bash
|
|
376
|
+
claude plugin uninstall ultrapower
|
|
377
|
+
rm -rf ~/.claude/plugins/npm-cache # 关键:必须清除 npm-cache
|
|
378
|
+
rm -rf ~/.claude/plugins/cache/ultrapower
|
|
379
|
+
claude plugin marketplace update ultrapower
|
|
380
|
+
claude plugin install ultrapower
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
> ⚠️ 仅清除插件缓存不够,必须同时清除 `npm-cache`。
|
|
384
|
+
|
|
368
385
|
## 步骤 3.6:检查更新
|
|
369
386
|
|
|
370
387
|
如果有新版本可用,通知用户:
|
|
@@ -712,6 +729,23 @@ EOF
|
|
|
712
729
|
node -e "const p=require('path'),f=require('fs'),h=require('os').homedir(),d=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude'),b=p.join(d,'plugins','cache','omc','ultrapower');try{const v=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));if(v.length<=1){console.log('Cache is clean');process.exit()}v.slice(0,-1).forEach(x=>{f.rmSync(p.join(b,x),{recursive:true,force:true})});console.log('Cleared',v.length-1,'stale cache version(s)')}catch{console.log('No cache directory found (normal for new installs)')}"
|
|
713
730
|
```
|
|
714
731
|
|
|
732
|
+
### 如果插件内容是旧版本(npm-cache 复用问题)
|
|
733
|
+
|
|
734
|
+
**症状**:插件缓存目录标注为新版本号,但实际内容是旧版本(`package.json` 中 `version` 字段不匹配)。
|
|
735
|
+
|
|
736
|
+
**原因**:`~/.claude/plugins/npm-cache/package.json` 使用 `^` semver 范围,Claude Code 安装器判断旧缓存满足范围后直接复用,不重新下载。
|
|
737
|
+
|
|
738
|
+
**完整清洁重装**:
|
|
739
|
+
```bash
|
|
740
|
+
claude plugin uninstall ultrapower
|
|
741
|
+
rm -rf ~/.claude/plugins/npm-cache # 关键:必须清除 npm-cache
|
|
742
|
+
rm -rf ~/.claude/plugins/cache/ultrapower
|
|
743
|
+
claude plugin marketplace update ultrapower
|
|
744
|
+
claude plugin install ultrapower
|
|
745
|
+
```
|
|
746
|
+
|
|
747
|
+
> ⚠️ 仅清除插件缓存不够,必须同时清除 `npm-cache`。
|
|
748
|
+
|
|
715
749
|
## 步骤 3.6:检查更新
|
|
716
750
|
|
|
717
751
|
如果有新版本可用,通知用户:
|
package/skills/release/SKILL.md
CHANGED
|
@@ -26,9 +26,11 @@ description: ultrapower 的自动化发布工作流
|
|
|
26
26
|
- `src/__tests__/installer.test.ts`(预期版本)
|
|
27
27
|
- `.claude-plugin/plugin.json`
|
|
28
28
|
- `.claude-plugin/marketplace.json`(`"version"` 和 `"source.version"` 两处)
|
|
29
|
+
- `docs/CLAUDE.md`(`<!-- OMC:VERSION:X.Y.Z -->`)
|
|
29
30
|
- `README.md`(版本徽章和标题)
|
|
30
31
|
|
|
31
32
|
> ⚠️ `marketplace.json` 是安装器读取的入口,版本不同步会导致用户始终安装旧版本。
|
|
33
|
+
> ⚠️ `docs/CLAUDE.md` 是 `/ultrapower:omc-setup` 下载的模板,版本不同步会导致用户安装后显示旧版本号。
|
|
32
34
|
|
|
33
35
|
### 2. 运行测试
|
|
34
36
|
```bash
|
|
@@ -79,6 +81,7 @@ gh release create v<version> --title "v<version> - <title>" --notes "<release no
|
|
|
79
81
|
| `src/__tests__/installer.test.ts` | `expect(VERSION).toBe('X.Y.Z')` |
|
|
80
82
|
| `.claude-plugin/plugin.json` | `"version": "X.Y.Z"` |
|
|
81
83
|
| `.claude-plugin/marketplace.json` | `"version": "X.Y.Z"` 和 `"source": { "version": "X.Y.Z" }` |
|
|
84
|
+
| `docs/CLAUDE.md` | `<!-- OMC:VERSION:X.Y.Z -->` |
|
|
82
85
|
| `README.md` | 标题 + 版本徽章 |
|
|
83
86
|
|
|
84
87
|
## 语义化版本
|
|
@@ -156,6 +159,40 @@ claude plugin uninstall ultrapower
|
|
|
156
159
|
claude plugin install ultrapower
|
|
157
160
|
```
|
|
158
161
|
|
|
162
|
+
### 安装后插件内容是旧版本(npm-cache 复用)
|
|
163
|
+
|
|
164
|
+
症状:插件缓存目录标注为新版本号(如 `5.0.17/`),但 `package.json` 内的 `version` 字段仍是旧版本(如 `5.0.11`)。
|
|
165
|
+
|
|
166
|
+
原因:`~/.claude/plugins/npm-cache/package.json` 中存储了 semver 范围(如 `"^5.0.11"`),Claude Code 安装器判断旧缓存满足该范围,直接复用旧文件而不重新下载。
|
|
167
|
+
|
|
168
|
+
验证:
|
|
169
|
+
```bash
|
|
170
|
+
cat ~/.claude/plugins/npm-cache/package.json
|
|
171
|
+
# 如果看到 "^5.0.11" 之类的旧版本范围,即为此问题
|
|
172
|
+
cat ~/.claude/plugins/cache/ultrapower/ultrapower/5.0.17/package.json
|
|
173
|
+
# 如果 version 字段不是 5.0.17,确认是 npm-cache 复用导致
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
修复(完整清洁重装):
|
|
177
|
+
```bash
|
|
178
|
+
# 1. 卸载插件
|
|
179
|
+
claude plugin uninstall ultrapower
|
|
180
|
+
|
|
181
|
+
# 2. 清除 npm-cache(关键!仅清除插件缓存不够)
|
|
182
|
+
rm -rf ~/.claude/plugins/npm-cache
|
|
183
|
+
|
|
184
|
+
# 3. 清除插件缓存
|
|
185
|
+
rm -rf ~/.claude/plugins/cache/ultrapower
|
|
186
|
+
|
|
187
|
+
# 4. 刷新 marketplace 缓存
|
|
188
|
+
claude plugin marketplace update ultrapower
|
|
189
|
+
|
|
190
|
+
# 5. 重新安装(此时会强制从 npm 下载最新版)
|
|
191
|
+
claude plugin install ultrapower
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
> ⚠️ 仅执行步骤 3(清除插件缓存)不够——npm-cache 仍会导致安装器复用旧内容。必须同时清除 npm-cache。
|
|
195
|
+
|
|
159
196
|
## 路由触发
|
|
160
197
|
|
|
161
198
|
发布流程完成后调用 `next-step-router`:
|