eyrsync

Reconcile AI client configuration and permissions against official documentation and runtime evidence.

1|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/peregrinus879/eyragents --skill eyrsync-peregrinus879
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eyrsync
Source: https://github.com/peregrinus879/eyragents/tree/main/.agents/skills/eyrsync
Command: npx skills add https://github.com/peregrinus879/eyragents --skill eyrsync-peregrinus879

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI coding clients like Claude Code, Codex, OpenCode, and Hermes Agent change their configuration keys, permission rules, hooks, and skill formats with every release, causing a personal harness to silently drift from documented behavior. This Skill systematically compares your deployed configuration against official docs, release notes, version-matched source code, and runtime evidence so drift is detected and classified instead of accumulating unnoticed. ## Core Features & Use Cases - Four-tool evidence reconciliation: Compares Claude Code, Codex, OpenCode, and Hermes Agent configuration against official documentation, changelogs, local reference clones, and observed runtime behavior, with explicit evidence levels per claim. - Access policy auditing: Reconciles the cross-tool permission matrix in docs/access.md cell by cell, covering read/write scope, sandbox coverage, hook dispatch, and credential paths without broadening grants to force parity. - Reference lifecycle management: Inventories declared quarry clones, verifies GitHub repository identity against pinned node IDs, and performs preservation-first refresh and URL migration via scripts/update-references.sh. - Use Case: After a Claude Code release changes hook payload fields, run this Skill to identify every affected gate and plugin, classify each difference as drift or deliberate policy, apply approved fixes through the develop workflow, and verify with make canary. ## Quick Start Ask the agent to run an eyrsync pass reconciling all four AI clients against their latest releases and update the access matrix and maintenance ledger with any drift found.

Frequently Asked Questions about eyrsync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I keep Claude Code and Codex configuration in sync with new releases?

Run a reconciliation pass that reads each tool's changelog since its last verified baseline, compares deployed settings and hook payloads against official docs, and classifies each difference as drift, deliberate policy, or an evidence gap. Approved changes are applied through the develop workflow and verified with make canary.

How do I audit AI agent permissions across multiple tools?

Use the access reconciliation procedure: work through decision, matrix, implementation, official semantics, and evidence for each area such as workspace access, shell, network, and credential paths. Keep separate read and write rows per tool and never broaden grants just to force parity.

Can this verify Claude Code behavior from source code?

No. Claude Code's CLI implementation is proprietary, so the Skill uses its public changelog, official documentation, and controlled runtime probes as evidence, and explicitly never labels Claude Code as source-verified. Codex, OpenCode, and Hermes have open-source releases that can be inspected.

What happens when a reference clone is missing or stale?

Missing and stale references are reported separately with a next action. New clones require explicit approval of URL and destination, and refreshes use a dry-run preview followed by a preservation-first update that verifies GitHub repository identity against the pinned node ID.

When should I run a configuration reconciliation pass?

Run it when a managed tool makes a major release, when a release changes a named interface such as a permission rule or hook event, before structural changes to the packages, when sources disagree, or periodically when no trigger has fired for a while.