Skip to main content
ClaudeWave
Slash Command1k repo starsupdated 10d ago

skill-update

更新 cc-use-exp 配置体系到最新版本

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/doccker/cc-use-exp/HEAD/.claude/commands/skill-update.md -o ~/.claude/commands/skill-update.md
Then start a new Claude Code session; the slash command loads automatically.

skill-update.md

# cc-use-exp 更新器

更新已安装的 cc-use-exp 配置体系到最新版本。

---

## 执行步骤

### 第 1 步:检查安装状态

```bash
INSTALL_DIR="$HOME/.claude/external/cc-use-exp"

if [ ! -d "$INSTALL_DIR" ]; then
  echo "❌ 未检测到安装"
  echo ""
  echo "请先执行 /skill-install 安装配置体系"
  exit 1
fi

echo "📦 检查更新..."
echo ""

cd "$INSTALL_DIR"

# 检查是否是 Git 仓库
if [ ! -d ".git" ]; then
  echo "❌ 错误:安装目录不是 Git 仓库"
  echo "建议重新安装:/skill-install"
  exit 1
fi
```

### 第 2 步:显示当前版本

```bash
echo "当前版本:"
git log -1 --pretty=format:"%h - %s (%ar)" 2>/dev/null
echo ""
echo ""

# 获取远程更新
git fetch origin main

# 检查是否有更新
LOCAL=$(git rev-parse HEAD)
REMOTE=$(git rev-parse origin/main)

if [ "$LOCAL" = "$REMOTE" ]; then
  echo "✅ 已是最新版本,无需更新"
  exit 0
fi

echo "🔄 发现新版本,准备更新..."
echo ""
```

### 第 3 步:显示变更摘要

```bash
echo "📝 变更摘要:"
echo ""
git log --oneline HEAD..origin/main | head -10
echo ""

# 如果变更超过 10 条,显示提示
CHANGE_COUNT=$(git rev-list --count HEAD..origin/main)
if [ "$CHANGE_COUNT" -gt 10 ]; then
  echo "(共 $CHANGE_COUNT 个变更,仅显示最近 10 个)"
  echo ""
fi
```

### 第 4 步:拉取最新代码

```bash
echo "⬇️  拉取最新代码..."
echo ""

git pull origin main

if [ $? -ne 0 ]; then
  echo "❌ 更新失败"
  echo ""
  echo "可能原因:"
  echo "  1. 网络连接问题"
  echo "  2. 本地有未提交的修改"
  echo "  3. 合并冲突"
  echo ""
  echo "建议:"
  echo "  - 检查网络连接"
  echo "  - 或重新安装:/skill-install"
  exit 1
fi

echo "✓ 代码更新完成"
```

### 第 5 步:重新同步配置

```bash
echo ""
echo "🔧 重新同步配置..."
echo ""

if [ -f "./tools/sync-config.sh" ]; then
  ./tools/sync-config.sh
else
  echo "❌ 错误:找不到同步脚本"
  exit 1
fi
```

### 第 6 步:显示更新结果

```bash
echo ""
echo "✅ 更新完成!"
echo ""
echo "📝 新版本:"
git log -1 --pretty=format:"%h - %s (%ar)"
echo ""
echo ""
echo "🔄 配置已生效,无需重启"
echo ""
echo "💡 提示:"
echo "  - 查看完整变更:cd $INSTALL_DIR && git log"
echo "  - 查看状态:/status"
echo ""
echo "📖 文档:https://github.com/doccker/cc-use-exp"
```

---

## 错误处理

**未安装**:
```bash
if [ ! -d "$INSTALL_DIR" ]; then
  echo "❌ 未检测到安装,请先执行:"
  echo "  /skill-install"
  exit 1
fi
```

**网络错误**:
```bash
if ! git pull origin main; then
  echo "❌ 网络错误,请检查:"
  echo "  1. 网络连接是否正常"
  echo "  2. 是否可以访问 GitHub"
  echo "  3. 是否需要配置代理"
  exit 1
fi
```

**本地修改冲突**:
```bash
# 如果有本地修改,提示用户
if ! git diff-index --quiet HEAD --; then
  echo "⚠️  检测到本地修改"
  echo ""
  echo "建议:"
  echo "  1. 备份本地修改"
  echo "  2. 重新安装:/skill-install"
  exit 1
fi
```

---

## 注意事项

- 更新前会显示变更摘要
- 自动重新同步配置到 `~/.claude/`
- 如果本地有修改,建议重新安装
- 更新后配置立即生效,无需重启

---

## 规则溯源

```
> 📋 本回复遵循:`skill-update` - cc-use-exp 更新器
```
api-design-safetySkill

当设计或修改 REST API 响应结构、处理 API 返回值,或生成 Excel/CSV/PDF/对账文件等下游产物时触发。防止 API 设计缺陷导致的字段错位、类型歧义,以及生成产物时关键字段缺失但静默成功的问题。

api-proxy-safetySkill

网关/代理/WAF/CDN 中间件的安全关键词匹配实现规范,防止纯子串匹配误判正常响应内容中的技术术语(如 Cloudflare、502、error)

async-task-patternSkill

当 API/任务可能执行超过 10 秒(批量数据处理、远程 API 批量调用、全表扫描、跨租户聚合)时触发。防止同步接口被网关 30s 超时切断、用户重复点击触发并发、状态缓存内存泄漏等问题。提供异步任务状态机标准模板。

bash-styleSkill

当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件,或在 Markdown 中编写 bash 代码块时触发。提供 Bash 编写规范。

code-quality-principlesSkill

当编写新模块、设计接口、重构代码或代码审查时触发。提供经典模块化六原则检查清单(大小适中/调用深度/扇入扇出/边界清晰/作用域内聚/可预测性),适用于 PR/Review/新模块设计场景。

external-system-debuggingSkill

涉及浏览器、编辑器、CDN/WAF、IM 平台、操作系统剪贴板、第三方 SaaS 等"外部黑盒系统"的代码编写或 bug 调试时触发。强制先抓真实环境数据再推理,避免连续 2 轮"凭代码推理"的修复 no-op。关键词:粘贴/复制异常、跨平台显示不一致、第三方 API 怪结果、CDN/WAF 拦截、本地复现失败、HTML→MD 转换丢属性。

field-mapping-safetySkill

当重构涉及字段映射(dataIndex、枚举映射、类型转换)时触发。防止字段名推测错误,确保字段映射的正确性。

frontend-devSkill

前端开发规范,包含 Vue 3 编码规范、UI 风格约束、TypeScript 规范等