Install
$ agentstack add skill-vrallev-agent-skills-sync-custom-skills ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Sync Custom Skills
Overview
Synchronize skill directories from a Git repository into the personal Codex skills directory. Also synchronize the repository's RALF_AGENTS.md with the personal Codex AGENTS.md file. Existing personal skills and a personal AGENTS.md that do not have repository counterparts are intentionally ignored and must not be deleted.
Workflow
- Require the user to provide the Git repository path that hosts the custom skills, for example
~/dev/agent-skills. - Use
$CODEX_HOME/skillsas the personal skills directory and$CODEX_HOME/AGENTS.mdas the personal instructions file whenCODEX_HOMEis set. Otherwise use~/.codex/skillsand~/.codex/AGENTS.md. - Run a preview first when the user asks to inspect changes:
python3 /scripts/sync_custom_skills.py ~/dev/agent-skills --dry-run
- Run the sync:
python3 /scripts/sync_custom_skills.py ~/dev/agent-skills
- If the script copies a personal skill or personal
AGENTS.mdback into the repository, inspectgit status --shortandgit diffafterward. Do not commit those repository changes unless the user asks.
Sync Rules
- Discover repository skills by finding directories that contain
SKILL.md. - Install each repository skill as a direct child of the personal skills directory, using the skill name from
SKILL.mdfrontmatter when present. - If a personal skill does not exist, copy the repository skill into the personal skills directory.
- If both skill directories have identical file contents, do nothing.
- If contents differ, compare recency:
- Repository recency is the Unix timestamp of the most recent Git commit that updated that skill directory.
- Personal-skill recency is the newest file modification timestamp inside the personal skill directory.
- If the personal skill is newer, copy it back into the repository.
- Otherwise, copy the repository skill into the personal skills directory.
- Ignore personal skills that are not present in the repository.
- When the repository contains
RALF_AGENTS.md, synchronize it with the personal CodexAGENTS.mdusing the same content comparison, recency, and direction rules as skill directories. - Repository recency for
RALF_AGENTS.mdis the Unix timestamp of its most recent Git commit. Personal recency is the modification timestamp ofAGENTS.md. - If
RALF_AGENTS.mdis absent from the repository, leave the personalAGENTS.mduntouched.
The script refuses to overwrite a repository skill or RALF_AGENTS.md from the personal directory when that repository path has uncommitted changes, unless --allow-dirty-repo-overwrite is passed.
Script
Use scripts/sync_custom_skills.py for the actual synchronization. It accepts:
repo: required path to the Git repository containing custom skills.--home-skills-dir: optional override for the personal skills directory. The personalAGENTS.mdis resolved as a sibling of this directory.--dry-run: report actions without changing files.--allow-dirty-repo-overwrite: permit home-to-repo copies even when the repo skill is dirty.--verbose: print additional discovery and timestamp detail.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vRallev
- Source: vRallev/agent-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.