← ClaudeAtlas

harness-updatelisted

Use when asked to update the harness, pull the latest template/guardrail changes, or sync a project with the agent-harness repo. Works in any project previously scaffolded from an agent-harness template.
ryan75195/dotnet-agent-harness · ★ 2 · AI & Automation · score 66
Install: claude install-skill ryan75195/dotnet-agent-harness
# Harness Update Pull the latest agent-harness template changes into this project. Scripts do the deterministic work; you do the judgment. Updates touch ONLY harness-owned files (declared in the template's harness-manifest.json) — never the user's app code. ## Flow ### 1. Read the stamp Read `.harness.json` in the project root. **Missing stamp → backfill:** ask which template the project came from (cli / etl-api / expo-app) and roughly when it was scaffolded. Resolve the repo (step 2), find a plausible commit (`git -C $repo log --format='%H %ad' --date=short -- <templateDir>` around that date; when unsure use the OLDEST plausible commit — too-old means more files flagged for manual merge, which is safe; too-new silently skips updates). Then write the stamp with the plugin's write-stamp script pointed at that commit: ```powershell git -C $repo checkout <commit> --quiet & "${CLAUDE_PLUGIN_ROOT}/scripts/write-stamp.ps1" -ProjectDir . -Template <template> -ProjectName <name from the project's .sln/app.json> -RepoPath $repo git -C $repo checkout main --quiet ``` For expo projects pass `-BundleId` read from `app.config.js`/`app.json`. Confirm the rename map in the written stamp matches reality (search the project for the renamed values). ### 2. Compute the update manifest ```powershell $manifestPath = Join-Path $env:TEMP 'harness-update-manifest.json' & "${CLAUDE_PLUGIN_ROOT}/scripts/get-update.ps1" -OutFile $manifestPath ``` Read the manifest. If `files` is empty, report "a