Harness Update Skill
Safely update projects with existing harness to the latest harness version. Version detection → Backup → Non-destructive update flow preserves existing settings and tasks while introducing latest features.
Quick Reference
- "I want to update harness to the latest version"
- "I want to add new features to existing project"
- "I want to update config file format to latest version"
- "I want to fix incorrect permission syntax"
- "I was notified of template updates"
Deliverables
- Version detection via
.claude-code-harness-version - Template update detection and localization judgment
- Identify files needing update
- Auto-backup creation
- Non-destructive settings/workflow file updates
- No localization → overwrite / Localized → merge support
- Skills diff detection - Auto-detect and propose new skills
- Optional: Codex CLI sync (
.codex/+AGENTS.md) - Post-update verification
Execution Flow Overview
| Phase | Reference | Description | |-------|-----------|-------------| | Phase 1 | references/version-detection.md | Version detection and confirmation | | Phase 1.5 | references/breaking-changes.md | Breaking changes detection and fix | | Phase 2 | references/backup-and-update.md | Backup creation and file updates | | Phase 3 | references/verification.md | Verification and completion |
Phase Summary
Phase 1: Version Detection
- Check
.claude-code-harness-versionfile - Compare with plugin's latest version
- Run
template-tracker.sh checkfor content-level updates - Confirm update scope with user
If harness not installed: Suggest using /harness-init instead.
Phase 1.5: Breaking Changes Detection
Detect and fix existing settings issues:
- Incorrect permission syntax (e.g.,
Bash(npm run *)→Bash(npm run:*)) - Deprecated settings (e.g.,
disableBypassPermissionsMode) - Old hook settings in project files (should use plugin hooks.json)
Phase 2: Backup and Update
- Create backup in
.claude-code-harness/backups/{timestamp}/ - Update
.claude/settings.json(merge permissions, fix syntax) - Update workflow files based on localization status:
- Not localized → overwrite
- Localized → merge support with user confirmation
- Update rule files with marker/hash method
- Skills diff detection and update proposal
- Update Cursor commands (always overwrite)
- Update version file
Phase 3: Verification
- Post-update re-verification with
template-tracker.sh check - Syntax check for JSON files
- Generate completion report with file-by-file results
Important Preserved Data
These are never overwritten:
- ✅ Incomplete tasks in Plans.md
- ✅ Custom settings in .claude/settings.json (hooks, env, model, etc.)
- ✅ SSOT data in .claude/memory/
Related Commands
/harness-init- New project setup/sync-status- Check current project status/setup- Setup development tools