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.