spec-kitty-sync-plugin
Spec Kitty Sync Plugin
You are an active administrator for the Spec-Driven Development framework. This skill handles both initial setup and ongoing updates, ensuring the CLI, templates, plugin, and agent environments are all in sync.
Key principle: This project maintains two layers of knowledge:
- Upstream content (auto-synced from spec-kitty CLI) — command templates, rules, mission configs
- Custom augmented knowledge (hand-maintained) — best practices, safety guidance, workflow notes, project-specific conventions
The sync must NEVER overwrite custom augmented knowledge. Instead, the agent reviews upstream changes and intelligently reconciles them with existing custom content.
Visual References
- Update flow: See
sync-plugin-flow.mmd - Initial install flow: See
init-install-flow.mmd
Execution Protocol
CRITICAL RULE: Do not simulate these steps. You must invoke the bash commands and read their outputs.
Step 0: Detect Mode (Init vs Update)
Check if .kittify/ exists in the project root:
test -d .kittify && echo "UPDATE" || echo "INIT"
- INIT mode: First-time setup. Use
spec-kitty init .(no--force). - UPDATE mode: Refresh existing setup. Use
spec-kitty init . --force.
Step 1: Install or Upgrade the CLI
Install or update the spec-kitty-cli package:
pip install --upgrade spec-kitty-cli
Confirm the installed version:
spec-kitty --version
Step 2: Initialize or Refresh Templates
Pull the latest command templates, mission configs, and scripts into .kittify/:
INIT mode (first time):
spec-kitty init . --ai windsurf
This creates .kittify/, .windsurf/workflows/, mission configs, and git hooks.
UPDATE mode (existing project):
spec-kitty init . --ai windsurf --force
This refreshes existing templates without affecting project-specific configs.
Step 3: Sync to Spec-Kitty Plugin (Automated)
Convert the refreshed .kittify/ templates into distributable plugin components inside plugins/spec-kitty-plugin/:
python3 plugins/spec-kitty-plugin/skills/spec-kitty-agent/scripts/sync_configuration.py
This generates skills, rules, and templates that agents can consume.
IMPORTANT: This step ONLY touches auto-generated files (14 command skill SKILL.md files, rules, templates). It does NOT touch custom skills listed below.
Step 3b: Review & Reconcile Custom Knowledge (Agent-Reviewed)
This is the intelligence step. After the automated sync, you MUST review what changed and reconcile with custom augmented skills.
3b.1: Identify What Changed
Compare the new .kittify/ content against what was there before:
git diff --stat -- .kittify/ .windsurf/ ../../
Summarize the key changes for the user (new commands, removed commands, changed templates, updated mission configs).
3b.2: Review Custom Skills
The following contain custom augmented knowledge that is NOT generated by sync_configuration.py. They MUST be reviewed for staleness after every upstream update:
Custom Skills (in skills/, never touched by sync):
| Custom Skill | Contains | Review For |
|---|---|---|
skills/spec-kitty-workflow/SKILL.md |
End-to-end workflow guide, safety steps, best practices | New commands/phases added upstream, safety guidance still accurate |
skills/spec-kitty-sync-plugin/SKILL.md |
This skill (meta) | Script paths still valid, new sync features |
skills/spec-kitty-agent/SKILL.md |
Agent config sync, combined lifecycle | New agent configs, changes to sync scripts |
AUGMENTED.md Files (in skills/*/references/, adjacent to auto-synced SKILL.md — never overwritten):
| Augmented File | Contains | Review For |
|---|---|---|
skills/spec-kitty-merge/references/AUGMENTED.md |
Pre-merge safety protocol, branch protection awareness, kitty-specs conflict resolution | New merge flags, changed CLI behavior |
skills/spec-kitty-implement/references/AUGMENTED.md |
Worktree discipline, commit hygiene, dependency management | New implement flags, changed validation rules |
skills/spec-kitty-review/references/AUGMENTED.md |
Batch review protocol, review standards, dependency verification | New review commands, changed lane logic |
For each custom skill:
- Read the current content
- Compare against the new upstream
.kittify/command templates - Check if any new features, commands, or workflow changes require updates
- Check if any existing custom guidance references deprecated features
3b.3: Propose Updates (Never Overwrite)
If changes are needed in custom skills:
- ADD new sections for new upstream features
- UPDATE references to renamed or changed commands
- PRESERVE all custom best practices, safety guidance, and project-specific notes
- FLAG any conflicts between upstream changes and custom guidance for user review
Present proposed changes to the user in diff format before applying them.
3b.4: Protected Files Checklist & Escalation Taxonomy
Before completing the sync, verify these files were NOT deleted or corrupted:
.agent/rules/constitution.md(symlinked from.kittify/memory/).agent/rules/standard-workflow-rules.md.agent/rules/01_PROCESS/*(policy files).agent/rules/02_OPERATIONS/*.agent/rules/03_TECHNICAL/*
test -f .agent/rules/constitution.md && echo "constitution OK" || echo "MISSING!"
ls .agent/rules/01_PROCESS/ .agent/rules/02_OPERATIONS/ .agent/rules/03_TECHNICAL/ 2>/dev/null | head -20
Escalation Taxonomy (Missing Data Response)
If ANY protected file is missing or ls returns an error, trigger the Escalation Taxonomy:
- Stop: Do not proceed to Step 4 (Bridging).
- Alert:
🚨 PROTECTED FILE MISSING 🚨 - Explain: State which file is missing (e.g., "constitution.md was deleted during update").
- Recommend: "We must restore this file from git history before bridging plugins."
- Draft: Ask the user for permission to run
git checkout -- <file>.
Step 4: Deploy to Agent Environments (Interactive)
ASK THE USER before deploying:
Which plugins should I install/update?
- Only spec-kitty-plugin (just the updated spec-kitty commands)
- All plugins (full ecosystem sync across all 80+ plugins)
If spec-kitty-plugin only:
Invoke the npx skills installer targeted specifically at plugins/spec-kitty-plugin:
npx skills add ./plugins/spec-kitty-plugin --force
If all plugins:
Invoke the npx skills installer across the entire plugins/ directory:
npx skills add ./plugins/ --force
Step 5: Confirmation
Inform the user:
- Whether this was an INIT or UPDATE
- Which CLI version is now installed
- How many skills/rules/templates were synced (auto-generated)
- What changed in the upstream update (key diff summary)
- Whether any custom skills needed reconciliation (and what was proposed)
- Whether all protected files are intact
- Which plugins were bridged to which agents
- That they must Reload their Window (or restart the agent session) to see the new commands