Agent skill

Sync Template

by tsu-moe in tsu-moe/tsu-stack

Compare or update a project derived from tsu-moe/tsu-stack while preserving application features, identity, configuration, and deployment behavior.

MITAuto-check passedDevelopment

Install Sync Template

skills CLI
$ npx skills add tsu-moe/tsu-stack --skill sync-template -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tsu-moe/tsu-stack sync-template --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tsu-moe/tsu-stack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/sync-template .claude/skills/sync-template && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sync-template
GitHub stars
127
Token cost
~2k tokens
SKILL.md length
830 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Compare or update a project derived from tsu-moe/tsu-stack while preserving application features, identity, configuration, and deployment behavior.

  • Works in 4 steps: Read .tsu-stack.jsonc in the working… → If the file was deleted, inspect its… → If no metadata revision exists, use a… → …
  • Asked to sync tsu-stack
  • SKILL.md covers Establish local state, Resolve template provenance, Resolve the upstream target and Classify and integrate changes, plus 1 more section
  • Calls git and rsync

What it does

Sync Template is an agent skill from tsu-moe/tsu-stack. Compare or update a project derived from tsu-moe/tsu-stack while preserving application features, identity, configuration, and deployment behavior. Use when asked to sync tsu-stack, update the template foundation, or review upstream template changes.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Containers. It works with Docker, TanStack, Vite and Hono. The repository describes itself as: Vite+ (vp) TanStack Start monorepo with shadcn/ui, Paraglide.js (i18n), Hono, oRPC, drizzle-orm, better-auth, Feature-Sliced Design (FSD), and more. Dockerized and opinionated. The licence is MIT.

When your agent uses it

  • Asked to sync tsu-stack
  • Update the template foundation
  • Review upstream template changes

Example prompts

  • “/sync-template”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Read .tsu-stack.jsonc in the working tree. Treat source.commit as the creation base and source.branch as the default upstream branch.
  2. If the file was deleted, inspect its history rather than guessing
  3. If no metadata revision exists, use a verified previous sync record or a real merge base. Check for shallow history before concluding that…
  4. For GitHub-template projects or old projects that never committed metadata, identify the initial project commit with git rev-list…

What it can do on your machine

Read from SKILL.md and the folder at commit ea9af3b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • rsync

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and rsync, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sync Template loads about 2k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 830 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tsu-moe/tsu-stack at commit ea9af3b, republished under its MIT licence (© tsu-moe). 830 words, ~1,971 tokens.

Download SKILL.mdSave it as .claude/skills/sync-template/SKILL.md (or your agent's skills folder).
name
sync-template
description
Compare or update a project derived from tsu-moe/tsu-stack while preserving application features, identity, configuration, and deployment behavior. Use when asked to sync tsu-stack, update the template foundation, or review upstream template changes.

Sync a project with tsu-stack

Integrate relevant changes from https://github.com/tsu-moe/tsu-stack into the current project without replacing project-specific work.

For a comparison request, inspect and report only. For a sync request, prepare a reviewable change on a dedicated branch or isolated worktree. A sync request does not by itself authorize pushing, opening a pull request, publishing packages, deploying, or running production migrations.

Establish local state

  • Read the project AGENTS.md, relevant domain guidance, package scripts, environment schema, and any existing docs/upstream-sync.md record.
  • Record the starting commit, current branch, staged and unstaged changes, and untracked files. Do not silently stash, commit, discard, or copy secret-bearing files.
  • If the checkout is dirty, use an isolated worktree from the relevant committed state unless the requested update depends on uncommitted work. Preserve unrelated changes.
  • Stop and identify the purpose of any existing merge, rebase, cherry-pick, or revert before changing it.
  • Establish relevant baseline checks when practical so pre-existing failures are distinguishable from regressions.

Resolve template provenance

The CLI writes .tsu-stack.jsonc with immutable creation provenance:

json
{
  "source": {
    "repository": "tsu-moe/tsu-stack",
    "branch": "variant/merged-cloudflare",
    "commit": "<40-character SHA>",
    "requestedRef": "variant/merged-cloudflare"
  },
  "variant": "cloudflare"
}

Resolve the comparison base in this order, keeping command output compact:

  1. Read .tsu-stack.jsonc in the working tree. Treat source.commit as the creation base and source.branch as the default upstream branch.

  2. If the file was deleted, inspect its history rather than guessing:

    sh
    git log --all --format=%H -- .tsu-stack.jsonc
    git show <newest-revision-that-still-contains-the-file>:.tsu-stack.jsonc

    Walk revisions from newest to oldest until git show <revision>:.tsu-stack.jsonc succeeds. Use the recovered source.commit, branch, repository, and variant.

  3. If no metadata revision exists, use a verified previous sync record or a real merge base. Check for shallow history before concluding that ancestry is absent.

  4. For GitHub-template projects or old projects that never committed metadata, identify the initial project commit with git rev-list --max-parents=0 HEAD. Infer the likely variant from the generated tree, then use the initial commit timestamp only to bound a small search of the matching upstream branch. Compare compact tree/diff statistics and representative invariant files to validate the candidate.

Creation time is a search hint, not proof. If more than one branch or commit remains plausible, report each candidate, its SHA, and the evidence, then require user confirmation before applying upstream changes. Do not invent a base from dependency versions or a similar date.

The supported CLI branch mapping is:

VariantUpstream branch
separatemain
mergedvariant/merged
cloudflarevariant/merged-cloudflare
cloudflare-d1variant/merged-cloudflare-d1

Resolve the upstream target

  • Use https://github.com/tsu-moe/tsu-stack.git as the canonical source. Do not assume a remote named upstream is correct and do not repoint origin.
  • Fetch the metadata branch unless the user explicitly names another branch, tag, or commit. Resolve the fetched ref to an immutable SHA immediately; do not rely on a moving branch name.
  • Verify that the base is an ancestor of the selected target when they are expected to share history. If the target is older than the base, explain that it represents a rollback and require an explicit rollback request.
  • If the network or remote cannot be verified, label local revisions as cached and do not claim they are the latest upstream state.
Show full SKILL.md (348 more words)Show less

Classify and integrate changes

Inspect the upstream delta from the verified base to the target, including renames and deletions:

sh
git log --oneline <BASE>..<TARGET>
git diff --stat <BASE> <TARGET>
git diff --name-status -M <BASE> <TARGET>

Treat ownership by intent, not directory name:

AreaGuidance
Routes, features, content, branding, and assetsPreserve the project's behavior and custom content.
Framework, routing, server boundaries, shared utilitiesIntegrate relevant upstream fixes at the project's current paths.
Auth, database, migrations, and environment contractsPreserve providers, access rules, data, applied migration history, and deployment identities.
Dependencies, scripts, workspace config, and lockfilesReconcile compatible changes together; retain project-specific requirements and regenerate lockfiles with the pinned toolchain.
UI and stylesReview local changes and preserve accessibility and design decisions.
Instructions and documentationAdd useful upstream guidance without replacing project-specific instructions.

When histories share a real merge base, use a clean dedicated branch and prepare a reviewable normal merge. When histories are unrelated, apply only reviewed changes from the upstream delta and adapt them to the generated project. Never use --allow-unrelated-histories, a blanket copy, rsync --delete, a hard reset, or automatic ours/theirs conflict resolution.

Generated projects intentionally omit template-maintainer files. Do not reintroduce tools/create-tsu-stack, .agents/cli.md, the package release workflow, or maintainer-only CI. Preserve .tsu-stack.jsonc as creation provenance; it should not be rewritten to pretend the project was created from the new target.

Validate and record

  • Review automatically merged files as well as conflicts; check for restored demo content, duplicate implementations, changed project identity, and unexpected generated files.

  • Run the destination project's current format, lint, type, unit, browser, and build checks appropriate to the changed areas. Use disposable local services and never expose secrets or run production migrations.

  • Check unresolved conflicts and whitespace:

    sh
    git diff --check
    git diff --cached --check
    git ls-files -u
  • Update or create docs/upstream-sync.md with the canonical URL, target ref and SHA, date, project starting commit, comparison base and evidence, adopted changes, preserved adaptations, intentional omissions, validation results, and whether the sync is prepared or committed. Keep prior entries so omitted changes can be reconsidered later.

  • A recorded target is not proof that every upstream change was adopted. Do not claim completion before the validated merge or integration commit exists.

© tsu-moe, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/sync-template of tsu-moe/tsu-stack.

Open the folder on GitHubat commit ea9af3b

Compare with similar skills

Sync Template next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sync Template compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sync Template this skilltsu-moe/tsu-stack127—~2kAutomated safety check: PassMIT
Flowfile Build and Environment SetupEdwardvaneechoud/Flowfile373—~7.3kAutomated safety check: NotesMIT
Frontend Build Timing Auditopenops-cloud/openops1.1k—~2.3kAutomated safety check: PassCustom licence
Pwa ReleaseAHS12/thoth-blueprint626—~505Automated safety check: PassGPL-3.0
Vite Flare Starterjezweb/claude-skills1.1k—~2.6kAutomated safety check: PassMIT
Redis Insight Pluginredis/RedisInsight8.9k—~3.5kAutomated safety check: PassMIT

Similar skills

  • Flowfile Build and Environment Setup

    Edwardvaneechoud/Flowfile

    Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.

    373 GitHub stars~7.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Frontend Build Timing Audit

    openops-cloud/openops

    Detects and diagnoses chunk-evaluation timing bugs in the Vite/rolldown production build of react-ui (works-in-dev / broken-in-build i18n regressions, missing UI labels, module-scope t()…

    1.1k GitHub stars~2.3k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Pwa Release

    AHS12/thoth-blueprint

    Safely change Vite, service-worker, offline fallback, cache, Docker, Vercel, or release-distribution behavior.

    626 GitHub stars~505 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Vite Flare Starter

    jezweb/claude-skills

    Scaffold a full-stack Cloudflare app from the vite-flare-starter template — React 19 + Hono + D1+Drizzle + better-auth + Tailwind v4+shadcn/ui + TanStack Query + R2 + Workers AI.

    1.1k GitHub stars~2.6k tokensUpdated 2 days ago
    DatabasesAuto-check passed
  • Redis Insight Plugin

    redis/RedisInsight

    Official

    A skill your agent uses when creating, modifying, debugging, deploying, or testing Redis Insight Workbench visualization plugins, plugin manifests, package.json visualizations, activationMethod…

    8.9k GitHub stars~3.5k tokensUpdated 3 days ago
    DatabasesAuto-check passed
  • Build Px4 macOS

    PX4/PX4-Autopilot

    Build PX4 board firmware on macOS in the px4-dev Docker container, including git worktrees, and stage commit-labeled artifacts without flashing hardware.

    13k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed

Questions about Sync Template

What does Sync Template do?

Compare or update a project derived from tsu-moe/tsu-stack while preserving application features, identity, configuration, and deployment behavior. Sync Template is an agent skill from tsu-moe/tsu-stack. Compare or update a project derived from tsu-moe/tsu-stack while preserving application features, identity, configuration, and deployment behavior.

When should I use Sync Template?

Sync Template fits situations like: asked to sync tsu-stack; update the template foundation; review upstream template changes.

How do I install Sync Template in Claude Code?

Run `npx skills add tsu-moe/tsu-stack --skill sync-template -a claude-code`. Or copy the skill folder (.agents/skills/sync-template in tsu-moe/tsu-stack) into .claude/skills/sync-template in your project. Claude Code loads it when a task matches its description.

How do I install Sync Template in Codex?

Run `npx skills add tsu-moe/tsu-stack --skill sync-template -a codex`. Or copy the skill folder (.agents/skills/sync-template in tsu-moe/tsu-stack) into .agents/skills/sync-template in your project. Codex loads it when a task matches its description.

Can I use Sync Template in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tsu-moe/tsu-stack --skill sync-template -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sync-template, .gemini/skills/sync-template, .github/skills/sync-template and .opencode/skills/sync-template in your project.

What does Sync Template need to run?

Going by SKILL.md and its folder, Sync Template needs the command-line tools its instructions call (git and rsync).

Does Sync Template access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Sync Template safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sync Template use?

Sync Template is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sync Template use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sync Template?

Skills that share tags, products or a category with Sync Template: Flowfile Build and Environment Setup (Edwardvaneechoud/Flowfile, 373 stars), Frontend Build Timing Audit (openops-cloud/openops, 1.1k stars), Pwa Release (AHS12/thoth-blueprint, 626 stars) and Vite Flare Starter (jezweb/claude-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sync Template?

tsu-moe (a GitHub organization) maintains it in tsu-moe/tsu-stack, which has 127 GitHub stars. The repository was last updated on October 2, 2026.

Source: tsu-moe/tsu-stack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.