同步上下文工具Skill sync-context

此技能用于自动化同步CLAUDE.md和GEMINI.md文件,确保文档上下文一致性。通过@import模式实现自动更新,支持状态检查、初始化和强制重新生成。关键词:文件同步、上下文管理、DevOps工具、自动化脚本、CLAUDE、GEMINI。

DevOps 0 次安装 0 次浏览 更新于 3/11/2026

name: sync-context description: 同步CLAUDE.md到GEMINI.md并检查上下文漂移 argument-hint: [–status] [–init] [–force] allowed-tools: Read, Write, Glob, Bash

同步上下文命令

检查并同步CLAUDE.md(真相源)和GEMINI.md之间的上下文。

用法

/google-ecosystem:sync-context [选项]

参数

示例

同步策略

该命令实现**@import模式**:

# GEMINI.md
@CLAUDE.md

## Gemini特定覆盖
{覆盖内容}

通过此模式,GEMINI.md自动保持同步,因为它通过Gemini的memport系统直接导入CLAUDE.md

执行

步骤1:解析参数

mode="status"  # 默认

case "$1" in
  --status) mode="status" ;;
  --init)   mode="init" ;;
  --force)  mode="force" ;;
esac

步骤2:检查先决条件

# 检查CLAUDE.md是否存在
if [ ! -f "CLAUDE.md" ]; then
  echo "错误:CLAUDE.md未找到"
  echo "首先创建CLAUDE.md - 它是真相源"
  exit 1
fi

步骤3:确定同步状态

# 创建同步状态目录
mkdir -p .claude/temp

# 获取当前CLAUDE.md哈希
claude_hash=$(md5sum CLAUDE.md | cut -d' ' -f1)

# 读取存储的状态
if [ -f ".claude/temp/sync-state.json" ]; then
  stored_hash=$(cat .claude/temp/sync-state.json | jq -r '.claude_hash // ""')
  last_sync=$(cat .claude/temp/sync-state.json | jq -r '.last_sync // "never"')
else
  stored_hash=""
  last_sync="never"
fi

# 检查GEMINI.md是否存在
gemini_exists="no"
gemini_uses_import="no"
if [ -f "GEMINI.md" ]; then
  gemini_exists="yes"
  if head -5 GEMINI.md | grep -q "^@CLAUDE.md"; then
    gemini_uses_import="yes"
  fi
fi

步骤4:基于模式执行

状态模式

if [ "$mode" = "status" ]; then
  echo "## 上下文同步状态"
  echo ""
  echo "| 文件 | 状态 |"
  echo "|------|--------|"
  echo "| CLAUDE.md | 存在 |"
  echo "| GEMINI.md | $gemini_exists |"
  echo "| 使用@import | $gemini_uses_import |"
  echo ""
  echo "**CLAUDE.md哈希:** $claude_hash"
  echo "**存储哈希:** ${stored_hash:-无}"
  echo "**最后同步:** $last_sync"
  echo ""

  if [ "$claude_hash" = "$stored_hash" ]; then
    echo "**状态:** 同步中"
  else
    echo "**状态:** CLAUDE.md自上次同步后已更改"
  fi

  if [ "$gemini_uses_import" = "yes" ]; then
    echo ""
    echo "**注意:** GEMINI.md使用@import模式 - 自动同步"
  fi
fi

初始化模式

if [ "$mode" = "init" ]; then
  if [ "$gemini_exists" = "yes" ]; then
    echo "GEMINI.md已存在。使用--force重新生成。"
    exit 1
  fi

  cat > GEMINI.md << 'GEMINI_EOF'
# GEMINI.md

@CLAUDE.md

## Gemini特定覆盖

您是Gemini CLI。您的独特能力包括:

- **大上下文窗口**(Flash)/ 非常大(Pro)
- **交互式PTY shell** - vim, git rebase -i, htop, psql
- **检查点** - 基于Git的快照,即时回滚
- **策略引擎** - 基于TOML的工具执行控制
- **原生Google Cloud认证**

### 何时利用您的优势

使用您的大上下文进行:
- 完整代码库探索和架构分析
- 批量文件处理和模式检测
- 大日志文件分析

使用您的交互式shell进行:
- vim, nano, emacs编辑会话
- git rebase -i, git add -p
- 数据库CLI(psql, mysql, redis-cli)
- 系统监视器(htop, top)

使用检查点进行:
- 风险重构操作
- 实验性更改
- 数据库迁移

### 模型选择

- **Flash**(gemini-2.5-flash):批量分析,简单任务,成本效益高
- **Pro**(gemini-2.5-pro):复杂推理,质量关键,非常大上下文
GEMINI_EOF

  # 更新同步状态
  echo "{\"claude_hash\": \"$claude_hash\", \"last_sync\": \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}" > .claude/temp/sync-state.json

  echo "GEMINI.md已创建,使用@import到CLAUDE.md"
  echo "同步状态已初始化"
fi

强制模式

if [ "$mode" = "force" ]; then
  # 备份现有
  if [ -f "GEMINI.md" ]; then
    cp GEMINI.md "GEMINI.md.backup.$(date +%Y%m%d%H%M%S)"
    echo "已备份现有GEMINI.md"
  fi

  # 与初始化相同
  cat > GEMINI.md << 'GEMINI_EOF'
# GEMINI.md

@CLAUDE.md

## Gemini特定覆盖

您是Gemini CLI。您的独特能力包括:

- **大上下文窗口**(Flash)/ 非常大(Pro)
- **交互式PTY shell** - vim, git rebase -i, htop, psql
- **检查点** - 基于Git的快照,即时回滚
- **策略引擎** - 基于TOML的工具执行控制
- **原生Google Cloud认证**

### 何时利用您的优势

使用您的大上下文进行:
- 完整代码库探索和架构分析
- 批量文件处理和模式检测
- 大日志文件分析

使用您的交互式shell进行:
- vim, nano, emacs编辑会话
- git rebase -i, git add -p
- 数据库CLI(psql, mysql, redis-cli)
- 系统监视器(htop, top)

使用检查点进行:
- 风险重构操作
- 实验性更改
- 数据库迁移

### 模型选择

- **Flash**(gemini-2.5-flash):批量分析,简单任务,成本效益高
- **Pro**(gemini-2.5-pro):复杂推理,质量关键,非常大上下文
GEMINI_EOF

  # 更新同步状态
  echo "{\"claude_hash\": \"$claude_hash\", \"last_sync\": \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}" > .claude/temp/sync-state.json

  echo "GEMINI.md已重新生成,使用@import到CLAUDE.md"
  echo "同步状态已更新"
fi

输出示例

状态检查

## 上下文同步状态

| 文件 | 状态 |
| --- | --- |
| CLAUDE.md | 存在 |
| GEMINI.md | 是 |
| 使用@import | 是 |

**CLAUDE.md哈希:** a1b2c3d4e5f6
**存储哈希:** a1b2c3d4e5f6
**最后同步:** 2025-11-30T12:00:00Z

**状态:** 同步中

**注意:** GEMINI.md使用@import模式 - 自动同步

初始化成功

GEMINI.md已创建,使用@import到CLAUDE.md
同步状态已初始化

注意

  • CLAUDE.md始终是真相源
  • GEMINI.md应使用@import模式以实现自动同步
  • 同步状态存储在.claude/temp/sync-state.json
  • 使用–force时自动创建备份
  • @import模式意味着GEMINI.md始终与CLAUDE.md同步