Skill Sync
Overview
This skill guides the agent to maintain proper synchronization across all model directories after any modifications to skills, agents, or prompts. It ensures consistency between different model-specific files (AGENTS.md, CLAUDE.md, GEMINI.md) and provides comprehensive validation checklists to verify that all installations remain synchronized.
Objective
Ensure that any modifications to skills, agents, or prompts are properly propagated to all relevant model directories (.github/, .claude/, .codex/, .gemini/). The agent must understand when synchronization is needed, what files require updates, and how to validate that synchronization is complete and correct.
This skill works in tandem with the automated sync.sh script: the agent uses this skill for manual, surgical updates during development, while users can run make sync for bulk automated synchronization.
When Synchronization Is Needed
Synchronization is required after:
- Modifying a skill: Updating SKILL.md content, frontmatter, conventions, examples, or dependencies
- Creating a new skill: Adding a new skill directory and SKILL.md file
- Deleting a skill: Removing a skill from the skills/ directory
- Modifying AGENTS.md: Changing skills list, description, workflows, or any frontmatter
- Modifying prompts: Updating or creating context prompts in prompts/ directory
- Changing meta-skills: Modifications to skill-creation, agent-creation, prompt-creation, process-documentation, critical-partner, conventions, or a11y
Synchronization Targets
Model Directories to Update
When modifying skills, update these directories if they exist:
.github/skills/ (GitHub Copilot)
.claude/skills/ (Claude)
.codex/skills/ (Codex)
.gemini/skills/ (Gemini)
Model-Specific Files to Update
When modifying AGENTS.md, update these files if they exist:
AGENTS.md (root)
CLAUDE.md (for Claude Desktop)
GEMINI.md (for Google AI Studio)
Note: GitHub Copilot and Codex use only AGENTS.md and do not require separate files.
Synchronization Workflows
Workflow 1: After Modifying a Skill
- Identify the modified skill (e.g.,
skills/typescript/SKILL.md)
- Check which model directories exist (.github, .claude, .codex, .gemini)
- For each existing model directory:
- Remove the old skill directory
- Copy the updated skill directory from
skills/
- Validate that all copies are identical
- Suggest running
make sync if multiple skills were modified
Example:
# Manual sync for single skill modification
rm -rf .github/skills/typescript
rm -rf .claude/skills/typescript
rm -rf .codex/skills/typescript
rm -rf .gemini/skills/typescript
cp -R skills/typescript .github/skills/
cp -R skills/typescript .claude/skills/
cp -R skills/typescript .codex/skills/
cp -R skills/typescript .gemini/skills/
# Or use automated sync
make sync
Workflow 2: After Creating a New Skill
- Verify the new skill follows skill-creation standards
- Check which model directories exist
- For each existing model directory:
- Copy the new skill directory from
skills/
- If the skill is a meta-skill, update META_SKILLS in install.sh
- Update README.md Skills Table with the new skill entry
- Validate that all installations include the new skill
Workflow 3: After Modifying AGENTS.md
- Identify changes in frontmatter (name, description, skills list)
- Update AGENTS.md (always exists)
- If CLAUDE.md exists:
- Update the source comment at the top
- Update the content to match AGENTS.md
- If GEMINI.md exists:
- Update the source comment at the top
- Update the content to match AGENTS.md
- Validate consistency across all three files
Example CLAUDE.md structure:
<!-- This file is generated from AGENTS.md -->
<!-- Do not edit manually. Update AGENTS.md and run sync -->
[Content identical to AGENTS.md]
Workflow 4: After Modifying Prompts
- Identify the modified prompt in
prompts/
- Prompts are typically not copied to model directories
- Verify prompt follows prompt-creation standards
- Update README.md if prompt structure or naming changed
Workflow 5: Bulk Synchronization
When multiple skills or files are modified:
- Inform the user about the automated sync option
- Suggest running:
make sync
- The sync script will:
- Detect all installed model directories
- Remove old skills/ directories
- Copy current skills/ to all models
- Display colored status output
Validation Checklist
After synchronization, verify:
File Consistency
Frontmatter Compliance
Meta-Skills Verification
External Projects
Edge Cases
No Model Directories Installed
If no model directories exist (.github, .claude, .codex, .gemini):
- Skip synchronization steps
- Only validate skill/agent structure and compliance
- Inform user that sync will occur when models are installed
Partial Installation
If only some model directories exist:
- Synchronize only to existing directories
- Document which models are installed
- Suggest running
make setup to install additional models
Sync Script vs Manual Sync
- Use sync script (
make sync): After bulk changes, git pull, or multiple skill updates
- Use manual sync: For surgical updates during active development, when verifying specific skill propagation
Conflicting Changes
If model directory content differs from skills/:
- Always prioritize skills/ as the source of truth
- Remove old content completely before copying
- Document discrepancies if they indicate configuration drift
References
1---2name: skill-sync-33description: Maintains synchronization across model directories after modifying skills, agents, or prompts. Ensures consistency between AGENTS.md, CLAUDE.md, GEMINI.md. Trigger: After creating or modifying any skill, agent, or prompt to synchronize changes across all model directories.4---5
6# Skill Sync
7
8## Overview
9
10This skill guides the agent to maintain proper synchronization across all model directories after any modifications to skills, agents, or prompts. It ensures consistency between different model-specific files (AGENTS.md, CLAUDE.md, GEMINI.md) and provides comprehensive validation checklists to verify that all installations remain synchronized.
11
12## Objective
13
14Ensure that any modifications to skills, agents, or prompts are properly propagated to all relevant model directories (.github/, .claude/, .codex/, .gemini/). The agent must understand when synchronization is needed, what files require updates, and how to validate that synchronization is complete and correct.
15
16This skill works in tandem with the automated `sync.sh` script: the agent uses this skill for manual, surgical updates during development, while users can run `make sync` for bulk automated synchronization.
17
18---
19
20## When Synchronization Is Needed
21
22Synchronization is required after:
23
241. **Modifying a skill**: Updating SKILL.md content, frontmatter, conventions, examples, or dependencies
252. **Creating a new skill**: Adding a new skill directory and SKILL.md file
263. **Deleting a skill**: Removing a skill from the skills/ directory
274. **Modifying AGENTS.md**: Changing skills list, description, workflows, or any frontmatter
285. **Modifying prompts**: Updating or creating context prompts in prompts/ directory
296. **Changing meta-skills**: Modifications to skill-creation, agent-creation, prompt-creation, process-documentation, critical-partner, conventions, or a11y
30
31---
32
33## Synchronization Targets
34
35### Model Directories to Update
36
37When modifying skills, update these directories if they exist:
38
39- `.github/skills/` (GitHub Copilot)
40- `.claude/skills/` (Claude)
41- `.codex/skills/` (Codex)
42- `.gemini/skills/` (Gemini)
43
44### Model-Specific Files to Update
45
46When modifying AGENTS.md, update these files if they exist:
47
48- `AGENTS.md` (root)
49- `CLAUDE.md` (for Claude Desktop)
50- `GEMINI.md` (for Google AI Studio)
51
52**Note**: GitHub Copilot and Codex use only AGENTS.md and do not require separate files.
53
54---
55
56## Synchronization Workflows
57
58### Workflow 1: After Modifying a Skill
59
601. Identify the modified skill (e.g., `skills/typescript/SKILL.md`)
612. Check which model directories exist (.github, .claude, .codex, .gemini)
623. For each existing model directory:
63 - Remove the old skill directory
64 - Copy the updated skill directory from `skills/`
654. Validate that all copies are identical
665. Suggest running `make sync` if multiple skills were modified
67
68**Example**:
69
70```bash
71# Manual sync for single skill modification
72rm -rf .github/skills/typescript
73rm -rf .claude/skills/typescript
74rm -rf .codex/skills/typescript
75rm -rf .gemini/skills/typescript
76
77cp -R skills/typescript .github/skills/
78cp -R skills/typescript .claude/skills/
79cp -R skills/typescript .codex/skills/
80cp -R skills/typescript .gemini/skills/
81
82# Or use automated sync
83make sync
84```
85
86### Workflow 2: After Creating a New Skill
87
881. Verify the new skill follows skill-creation standards
892. Check which model directories exist
903. For each existing model directory:
91 - Copy the new skill directory from `skills/`
924. If the skill is a meta-skill, update META_SKILLS in install.sh
935. Update README.md Skills Table with the new skill entry
946. Validate that all installations include the new skill
95
96### Workflow 3: After Modifying AGENTS.md
97
981. Identify changes in frontmatter (name, description, skills list)
992. Update AGENTS.md (always exists)
1003. If CLAUDE.md exists:
101 - Update the source comment at the top
102 - Update the content to match AGENTS.md
1034. If GEMINI.md exists:
104 - Update the source comment at the top
105 - Update the content to match AGENTS.md
1065. Validate consistency across all three files
107
108**Example CLAUDE.md structure**:
109
110```markdown
111<!-- This file is generated from AGENTS.md -->
112<!-- Do not edit manually. Update AGENTS.md and run sync -->
113
114[Content identical to AGENTS.md]
115```
116
117### Workflow 4: After Modifying Prompts
118
1191. Identify the modified prompt in `prompts/`
1202. Prompts are typically not copied to model directories
1213. Verify prompt follows prompt-creation standards
1224. Update README.md if prompt structure or naming changed
123
124### Workflow 5: Bulk Synchronization
125
126When multiple skills or files are modified:
127
1281. Inform the user about the automated sync option
1292. Suggest running: `make sync`
1303. The sync script will:
131 - Detect all installed model directories
132 - Remove old skills/ directories
133 - Copy current skills/ to all models
134 - Display colored status output
135
136---
137
138## Validation Checklist
139
140After synchronization, verify:
141
142### File Consistency
143
144- [ ] All modified skills exist in every model directory (.github, .claude, .codex, .gemini)
145- [ ] Skill content is identical across all model directories
146- [ ] No outdated or orphaned skill directories remain
147- [ ] AGENTS.md, CLAUDE.md, and GEMINI.md have matching content (except source comments)
148
149### Frontmatter Compliance
150
151- [ ] Modified skills use `dependencies` for external libraries (with version ranges)
152- [ ] Modified skills use `skills` for internal skill references
153- [ ] AGENTS.md uses `skills` for skill references (never `dependencies`)
154- [ ] All referenced skills actually exist in skills/ directory
155
156### Meta-Skills Verification
157
158- [ ] If a new meta-skill was added, update META_SKILLS in install.sh
159- [ ] Meta-skills list in install.sh: skill-creation, agent-creation, prompt-creation, process-documentation, critical-partner, conventions, a11y, skill-sync
160
161### External Projects
162
163- [ ] Consider if external projects using this framework need notification
164- [ ] Update sync.sh if synchronization logic changed
165- [ ] Update scripts/templates/uninstall.sh if new directories were added
166
167---
168
169## Edge Cases
170
171### No Model Directories Installed
172
173If no model directories exist (.github, .claude, .codex, .gemini):
174
175- Skip synchronization steps
176- Only validate skill/agent structure and compliance
177- Inform user that sync will occur when models are installed
178
179### Partial Installation
180
181If only some model directories exist:
182
183- Synchronize only to existing directories
184- Document which models are installed
185- Suggest running `make setup` to install additional models
186
187### Sync Script vs Manual Sync
188
189- **Use sync script** (`make sync`): After bulk changes, git pull, or multiple skill updates
190- **Use manual sync**: For surgical updates during active development, when verifying specific skill propagation
191
192### Conflicting Changes
193
194If model directory content differs from skills/:
195
196- Always prioritize skills/ as the source of truth
197- Remove old content completely before copying
198- Document discrepancies if they indicate configuration drift
199
200---
201
202## References
203
204- [scripts/sync.sh](../../scripts/sync.sh): Automated synchronization script
205- [scripts/install.sh](../../scripts/install.sh): META_SKILLS definition and installation logic
206- [skill-creation](../skill-creation/SKILL.md): Standards for creating new skills
207- [Makefile](../../Makefile): Available sync and clean commands