remove — uninstall project-local harness governance
Remove the files and registrations created by harness:install without disturbing unrelated
Claude settings or project instructions. The deterministic work lives in remove.mjs.
Process
- Inspect the target project for the known install artifacts:
.claude/hooks/goal-gate.mjs, itssettings.jsonregistration,.claude/harness-gate.json,.claude/harness/,.claude/.harness-markers/, the fenced Harness block inCLAUDE.md, and the.gitignoremarker line. - Treat the user's explicit remove/uninstall request as authorization to remove those exact
artifacts. Before using
purgeConventions, say that.claude/conventions/is project-owned and may contain edits, and get explicit confirmation. - Run:
node "<plugin>/skills/remove/remove.mjs" '{ "projectDir": "<abs project root>", "purgeConventions": false }' - Read the JSON report. A malformed
settings.jsonor unmatched CLAUDE markers are preserved and reported for manual cleanup. Never delete them wholesale to force completion. - Verify that the hook registration and known paths are gone and that unrelated settings and CLAUDE.md content remain. Report preserved conventions explicitly.
The operation is idempotent: a second run reports absent rather than failing. The embedded
.claude/harness/ namespace is install-owned and is removed as a unit; conventions are kept
unless purgeConventions is explicitly true.
Related
install— scaffold the project-local governance filespatch— bump the harness plugin's source release versionremove.mjs— deterministic removal and settings/marker cleanup