harness-upgrade

Upgrade stale harness projects to the current plugin layout non-destructively.

Updated May 15, 2026
One-click install
npx skills add https://github.com/Alan-IFT/harness-kit --skill harness-upgrade-alan-ift
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: harness-upgrade
Source: https://github.com/Alan-IFT/harness-kit/tree/main/skills/harness-upgrade
Command: npx skills add https://github.com/Alan-IFT/harness-kit --skill harness-upgrade-alan-ift

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Projects initialized with an older harness-kit version drift out of sync with the current plugin layout: scripts live in the wrong directory, pre-commit hooks point at dangling paths, and settings carry unsubstituted placeholder tokens. This Skill migrates such projects to the current layout without destroying user customizations, then proves the result with a green verify_all run. ## Core Features & Use Cases - Non-destructive, idempotent migration: moves scripts to .harness/scripts/, rewires hook paths in .claude/settings.json, and regenerates verify_all while preserving custom B.* checks via marker-based splicing. - Dry-run preview with gated apply: parses machine-readable plan records, presents every planned change, and applies only after explicit user confirmation. - Dangling hook repair: detects and fixes broken Stop hook errors and literal {{...}} placeholder tokens left by older versions. - Use Case: A project shows Stop hook error: No such file or directory every turn after a plugin update. Run this Skill to re-land current scripts, rewire the hook paths, and confirm with a passing verify_all. ## Quick Start Ask the AI to upgrade this project's old harness setup to the current plugin version with a dry-run preview first.

Frequently Asked Questions about harness-upgrade

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upgrade an old harness-kit project to the latest version?▼

Run the harness-upgrade skill in the project root. It locates the plugin template cache, previews all changes via a dry-run plan, and applies the migration only after you confirm, finishing with a verify_all run.

How to fix Stop hook error No such file or directory in Claude Code?▼

This dangling hook error means the pre-commit or Stop hook points at a script path that no longer exists. The upgrade skill re-lands the current scripts, rewires hook paths, and repairs literal placeholder tokens to the OS-picked command.

Does harness-upgrade overwrite my custom verify_all checks?▼

No. Custom B.* checks inside clean HARNESS:B-CUSTOM markers are spliced verbatim into the regenerated file. If markers are missing and the block looks customized, the run halts and asks for explicit confirmation before overwriting.

What is the difference between harness-upgrade and harness-adopt?▼

harness-upgrade targets projects that already have harness assets on an old layout. harness-adopt is for projects with no harness setup at all, and harness-init is for brand-new empty projects.

Why does harness-upgrade refuse to run on a dirty git tree?▼

A clean working tree preserves the git reset rollback path for all tracked edits. Commit or stash your changes first; the two untracked surfaces, the pre-commit hook and settings.json, are protected by timestamped .bak backups.