Claude-skill-registry copilot-sync

Synchronize GitHub Copilot configuration files (agents, prompts, skills, instructions) from github-copilot-base template to existing codebases. Creates backups before overwriting. Use when updating Copilot configuration, syncing Copilot files, or bringing a project up to date. Triggers on sync copilot, update copilot, copilot sync, sync configuration.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/copilot-sync" ~/.claude/skills/majiayu000-claude-skill-registry-copilot-sync && rm -rf "$T"
manifest: skills/data/copilot-sync/SKILL.md
source content

Copilot Sync Skill

Synchronize GitHub Copilot configuration files from the base template to existing codebases.


Triggers

Activate this skill when user mentions:

  • "sync copilot", "copilot sync"
  • "update copilot files", "update copilot configuration"
  • "sync copilot config", "sync configuration"
  • "bring project up to date with copilot"
  • "#copilot-sync"

Description

The Copilot Sync skill synchronizes all Copilot-related files from the

github-copilot-base
template to an existing codebase:

  1. Agents - All
    .github/agents/*.md
    files
  2. Prompts - All
    .github/prompts/*.prompt.md
    files
  3. Skills - All
    .github/skills/*/
    directories
  4. Instructions -
    .github/copilot-instructions.md
  5. PRP Framework -
    PRPs/
    templates
  6. Supporting Docs - Background workflow, style guides

Key Features:

  • 💾 Automatic backups before overwriting
  • 👁️ Dry-run mode for previewing changes
  • ✅ Validation of target repository
  • 📊 Detailed sync statistics

Workflow Steps

1. Gather Information

Collect the following using

ask_user
:

QuestionPurposeValidation
Target pathCodebase to sync toMust exist, must be Git repo
Dry run?Preview changes firstYes/No

2. Validate Target

# Check path exists
if (-not (Test-Path $TargetPath -PathType Container)) {
    Write-Error "Path does not exist"
}

# Check it's a Git repository
if (-not (Test-Path (Join-Path $TargetPath ".git"))) {
    Write-Error "Not a Git repository"
}

3. Execute Sync

Dry Run (Preview):

$TemplateRepo = "E:\Repos\HouseGarofalo\github-copilot-base"
& "$TemplateRepo\scripts\sync-copilot.ps1" -TargetPath $TargetPath -DryRun

Apply Changes:

$TemplateRepo = "E:\Repos\HouseGarofalo\github-copilot-base"
& "$TemplateRepo\scripts\sync-copilot.ps1" -TargetPath $TargetPath

Force (No Prompts):

& "$TemplateRepo\scripts\sync-copilot.ps1" -TargetPath $TargetPath -Force

4. Post-Sync Guidance

After sync, guide user to:

  1. Review copilot-instructions.md - Add project-specific context
  2. Check backups - In
    .copilot-backup/
    folder
  3. Commit changes:
    git add .github PRPs docs
    git commit -m "chore: sync Copilot configuration from github-copilot-base"
    

5. Output Summary

Provide completion summary with:

  • Files synced count
  • New files count
  • Backups created
  • Next steps

What Gets Synced

CategoryPathDescription
Agents
.github/agents/
44+ custom agents
Prompts
.github/prompts/
50+ prompt files
Skills
.github/skills/
80+ skill definitions
Chat Modes
.github/chatmodes/
Chat mode configs
Instructions
.github/copilot-instructions.md
Main instructions
Background Workflow
.github/BACKGROUND_WORKFLOW.md
Multi-agent docs
Copilot Config
.github/copilot/
Copilot settings
VS Code Settings
.vscode/
Settings, extensions, MCP config
Copilot Ignore
.copilotignore
Files excluded from Copilot
Git Attributes
.gitattributes
Line endings and file handling
Pre-commit Config
.pre-commit-config.yaml
Secret detection (gitleaks)
Worktree Helper
scripts/worktree-helper.ps1
Git worktree utilities
PRP Framework
PRPs/
Templates & docs
Style Guide
docs/STYLE_GUIDE.md
Doc standards

Options

OptionDescriptionDefault
-TargetPath
Path to target codebaseRequired
-DryRun
Preview only, no changesFalse
-NoBackup
Skip creating backupsFalse
-Force
Skip confirmation promptsFalse

Backup & Recovery

Backup Location:

<target>\.copilot-backup\
├── .github\
│   ├── copilot-instructions.md.<timestamp>.backup
│   └── agents\*.backup
└── PRPs\*.backup

Restore a File:

Copy-Item "<backup_file>" "<original_path>" -Force

Error Handling

ErrorResolution
Path doesn't existProvide valid path
Not a Git repoInitialize with
git init
Permission deniedCheck write access
Backup failedUse
-NoBackup
or check disk space

Prerequisites

  • Git installed
  • Target must be an existing Git repository
  • Write access to target directory

Example

User: #copilot-sync E:\Repos\MyOrg\my-project

Copilot: 🔄 Copilot Sync

Validating target... ✅
Target is a Git repository... ✅

Would you like to preview changes first?
> Yes

📋 Dry Run:
   Would sync: 150 files
   New: 45 | Updated: 105

Apply changes?
> Yes

Syncing... ✅
Backing up existing files... ✅

🎉 Sync Complete!
   Files synced: 150
   Backups: .copilot-backup/

Next steps:
1. Review .github/copilot-instructions.md
2. Commit changes

Related