AgentSkillsCN

sync-templates

通过交互式合并,在脚手架模板与保险库模板之间实现双向同步

SKILL.md
--- frontmatter
name: sync-templates
description: Bidirectional sync between scaffold templates and vault templates with interactive merge
disable-model-invocation: true
allowed-tools: Read, Write, Glob, Bash(diff *), AskUserQuestion

Sync Templates

Synchronize templates between the engine scaffold and your vault. Shows diffs and prompts for each changed file.

Workflow

1. Load Configuration

Use sub-skill: _sub/fetch/get-config

Extract vault_path as $VAULT.

2. Define Template Pairs

Compare these locations:

Scaffold (Engine)Vault (User)
scaffold/00_Brain/Systemic/Templates/Captive/*.md$VAULT/00_Brain/Systemic/Templates/Captive/*.md
scaffold/00_Brain/Systemic/Templates/Periodic/*.md$VAULT/00_Brain/Systemic/Templates/Periodic/*.md
scaffold/03_Resources/_Templates/para/*.md$VAULT/03_Resources/_Templates/para/*.md

3. Compare Each Template

For each template file, determine its sync status:

StatusConditionAction
IdenticalFiles match exactlySkip (report as synced)
Scaffold onlyFile exists only in scaffoldPrompt: copy to vault?
Vault onlyFile exists only in vaultPrompt: copy to scaffold?
DifferentBoth exist but differShow diff, prompt for direction

4. Interactive Merge (Per-File)

For each file that differs, present the diff and ask:

code
📄 Templates/Captive/today.md

--- scaffold (engine)
+++ vault (user)
[diff output]

Choose action:
- ← Pull (vault → scaffold) - bring user customizations to engine
- → Push (scaffold → vault) - apply engine updates to vault
- Skip - leave both unchanged

Use AskUserQuestion with options:

  • ← Pull - Copy from vault to scaffold
  • → Push - Copy from scaffold to vault
  • Skip - No action for this file

5. Execute Actions

For each user decision:

  • Pull: Copy $VAULT/.../file.mdscaffold/.../file.md
  • Push: Copy scaffold/.../file.md$VAULT/.../file.md
  • Skip: No file operation

6. Report Summary

Show final summary:

code
Template Sync Complete

✓ Synced: 5 files (identical)
← Pulled: 2 files (vault → scaffold)
→ Pushed: 1 file (scaffold → vault)
⊘ Skipped: 1 file

Notes

  • This is a development skill for engine maintenance
  • Always shows diffs before making changes
  • Never overwrites without user confirmation
  • Use after modifying templates in either location to keep them in sync