askill
copilot-sync

copilot-syncSafety 85Repository

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.

0 stars
1.2k downloads
Updated 2/9/2026

Package Files

Loading files...
SKILL.md

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.mdMain instructions
Background Workflow.github/BACKGROUND_WORKFLOW.mdMulti-agent docs
Copilot Config.github/copilot/Copilot settings
VS Code Settings.vscode/Settings, extensions, MCP config
Copilot Ignore.copilotignoreFiles excluded from Copilot
Git Attributes.gitattributesLine endings and file handling
Pre-commit Config.pre-commit-config.yamlSecret detection (gitleaks)
Worktree Helperscripts/worktree-helper.ps1Git worktree utilities
PRP FrameworkPRPs/Templates & docs
Style Guidedocs/STYLE_GUIDE.mdDoc standards

Options

OptionDescriptionDefault
-TargetPathPath to target codebaseRequired
-DryRunPreview only, no changesFalse
-NoBackupSkip creating backupsFalse
-ForceSkip 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

Install

Download ZIP
Requires askill CLI v1.0+β–Ά

AI Quality Score

88/100Analyzed 2/24/2026

Well-structured skill with comprehensive workflow, clear triggers, detailed options table, backup/recovery section, and practical examples. The skill provides actionable steps with PowerShell commands, validation logic, and error handling. Tags improve discoverability. Minor concern: hardcoded template path in examples, but overall excellent quality.

85
90
85
90
90

Metadata

Licenseunknown
Version-
Updated2/9/2026
Publisherfgarofalo56

Tags

githubgithub-actionspromptingsecuritytesting