sync-with-template

Synchronize derived projects with an upstream template using git subtree.

5|1|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/a-scolan/c4-template --skill sync-with-template
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: sync-with-template
Source: https://github.com/a-scolan/c4-template/tree/main/.github/skills/sync-with-template
Command: npx skills add https://github.com/a-scolan/c4-template --skill sync-with-template

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Syncing derived projects with their upstream templates can be error-prone and tedious. This Skill codifies bidirectional improvements between a derived project and the central template using git subtree, ensuring alignment while preserving project context.

Core Features & Use Cases

  • Template synchronization: Push generic improvements (skills, copilot instructions, shared specs) to the upstream template using subtree operations.
  • Project isolation: Prevents pushing project-specific files to the template.
  • Quality checks: Enforces abstraction steps to remove local references before pushing.

Quick Start

On a derived project, create a branch from c4-template/main, cherry-pick generic files, push a PR to the template, and then pull updates back into the project using git subtree.

Frequently Asked Questions about sync-with-template

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

FAQPage Schema
How do I synchronize a derived project with an upstream template using git subtree?▼

Template synchronization pushes generic improvements like skills, instructions, and shared specs to the upstream template using git subtree. It applies across projects that adopt the template while keeping project-specific files out.

How do I prevent project-specific files from being pushed to a shared git template?▼

To prevent project-specific files from being pushed to a shared git template, the workflow enforces an abstraction step that removes local references before pushing. This ensures only generic assets are synchronized upstream.

Do I need any special git dependencies to pull template updates into a derived project?▼

You do not need special git dependencies to pull template updates into a derived project. This synchronization process requires only standard Git commands to manage subtree operations.

What is the standard workflow for pushing generic improvements back to a project template?▼

The standard workflow for pushing generic improvements back to a project template involves creating a branch from the template main, cherry-picking generic files, and submitting a pull request upstream before pulling updates back locally.

Why does pushing local references to a shared template cause synchronization errors?▼

Pushing local references to a shared template causes synchronization errors because it breaks project isolation. The template requires an abstraction step to remove local context before pushing to ensure only generic assets are shared.

Can I use git subtree to bidirectionally sync shared specs between derived projects and a central template?▼

Yes, you can use git subtree to bidirectionally sync shared specs between derived projects and a central template. This method codifies bidirectional improvements ensuring alignment while preserving project context.