界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

governance-sync

governance-sync

【开发与工程】Audit or explicitly synchronize Claude and Codex repository governance without overwriting conflicts. Triggers: governance sync, CLAUDE.md, AGENTS.md, instruction mirror.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: governance-sync description: "Audit or explicitly synchronize Claude and Codex repository governance without overwriting conflicts. Triggers: governance sync, CLAUDE.md, AGENTS.md, instruction mirror." user-invocable: true allowed-tools: Read, Bash disable-model-invocation: true kernel: kind: operator version: 1 side_effects: writes_repo confirmation: always

Governance sync

This explicit-only operator audits native repository instructions and can create a missing Claude or Codex adapter from one declared source. It never edits a conflict.

Audit first

Resolve the installed script once. Claude Code and Codex compatibility loading provide CLAUDE_PLUGIN_ROOT; otherwise use the direct relative path from the documented installed skills/governance-sync working directory:

if [ -n "${CLAUDE_PLUGIN_ROOT:-}" ]; then
  KERNEL_GOVERNANCE_SYNC="$CLAUDE_PLUGIN_ROOT/scripts/governance-sync.py"
else
  KERNEL_GOVERNANCE_SYNC="../../scripts/governance-sync.py"
fi
test -f "$KERNEL_GOVERNANCE_SYNC"

Run python3 "$KERNEL_GOVERNANCE_SYNC" audit <root> --json. The audit discovers canonical Git roots, ignores caches, deduplicates linked worktrees, and reports: missing both, Claude-only, AGENTS-only, both identical, generated current, generated stale, incomplete generation, conflict, and scoped .claude states. Generated states are decided from manifest hashes and adapter provenance, not raw file equality. Missing-both is compliant and remains untouched unless init is explicit.

Writes require confirmation

Show the exact repository, source, target, and backup directory. Continue only after the user confirms one command:

python3 "$KERNEL_GOVERNANCE_SYNC" adopt REPO --source CLAUDE.md --backup-dir REPO/.kernel-governance-backups/adopt
python3 "$KERNEL_GOVERNANCE_SYNC" generate REPO --backup-dir REPO/.kernel-governance-backups/generate
python3 "$KERNEL_GOVERNANCE_SYNC" check REPO

AGENTS.md and .claude/CLAUDE.md are also valid sources. The manifest pins the source path, source hash, output, output hash, and generator version. Scoped sources stay where they are; only the missing root-native adapter is generated. A regular file conflict, unrecorded edit, stale hash, malformed manifest, symlink, or existing backup with different content stops the operation. Identical backups are idempotent. Backups stay inside the repository. Use separate BACKUPS/adopt and BACKUPS/generate phases so an approved source update preserves both the pre-adoption state and the adapter it replaces.

Writes are crash-consistent per file: each completed replacement is a whole, fsynced file. An interruption can leave some files current and others stale; check reports that drift without changing anything, and rerunning the write operation converges it. There is no background lock, journal, rollback, or cleanup of unknown temporary files. An existing backup-directory symlink is always rejected before path resolution.

Use python3 "$KERNEL_GOVERNANCE_SYNC" init REPO --backup-dir REPO/.kernel-governance-backups/init only when the user explicitly wants governance created in a repository where both native files are absent.

我的收藏