Agent Skills
› google/ax
› sync-contract
sync-contract
GitHub用于在代码变更后同步更新AGENTS.md和SKILL.md等契约文档,确保文件路径、函数名及配置等信息与代码保持一致。
触发场景
代码变更完成前
需要验证文档准确性时
安装
npx skills add google/ax --skill sync-contract -g -y
SKILL.md
Frontmatter
{
"name": "sync-contract",
"description": "End-of-change pass that brings AGENTS.md and skills\/ back in step with the code. Load after any code change, before declaring done; it is the last step of the Definition of done."
}
Sync the agent contract with the code
AGENTS.md and skills/*/SKILL.md quote facts about the tree: file paths,
function names, versions, flag defaults, CI steps. Code changes silently
invalidate them. Run this diff-driven procedure before declaring a task done.
1. Inspect what changed
git diff --name-only origin/main...HEAD # or: git status --short for uncommitted work
2. Find which contract docs mention what you changed
- Search
AGENTS.mdandskills/for the file paths, package names, CLI flags, or exported symbols touched in your diff. - Check by area:
- Package layout, CLI subcommands, CI steps (
.github/workflows/go.yml),Makefile,go.mod, orCONTRIBUTING.md→ checkAGENTS.md. - Any domain listed in the
AGENTS.mdSkills table (for example,internal/substrate,internal/guest,internal/metadata,ate-system/atenet-routeraddresses, or E2E setup →skills/substrate/SKILL.md) → check that skill'sSKILL.md.
- Package layout, CLI subcommands, CI steps (
3. Per-document checklist
For each document you opened:
- Every path it names exists (
lsit). - Every function/const/flag it names still exists under that name.
- Every number it states (file counts, package counts, versions) is re-derived, not trusted.
- Every "only place that…" / "no X exists" statement is re-checked across the tree, not just in the changed file.
- Removed behaviour is removed from the doc; renamed behaviour is renamed.
- New behaviour that a future agent would get wrong without being told is added — as a fact with its location, not as advice.
- Prefer a pointer ("see
go.mod") over copying a value that changes often.
4. Quick structural check
Run this one-liner whenever AGENTS.md or skills/ was touched:
# Verify symlinks and that every skills/<name>/SKILL.md is indexed in AGENTS.md
test -L CLAUDE.md && test -L GEMINI.md && \
for d in skills/*/; do
s=$(basename "$d")
test -f "$d/SKILL.md" && grep -q "\`/$s\`" AGENTS.md || echo "MISSING: $s"
done
版本历史
- b82f57e 当前 2026-11-02 09:36


