update-harness

Checks and updates a repository's PoP harness against the upstream source via git merge or managed reinstall.

1|1|Updated Jul 6, 2026
One-click install
npx skills add https://github.com/gabesan21/project-of-projects --skill update-harness-gabesan21
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: update-harness
Source: https://github.com/gabesan21/project-of-projects/tree/main/.agents/skills/update-harness
Command: npx skills add https://github.com/gabesan21/project-of-projects --skill update-harness-gabesan21

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Repositories using the PoP workflow fall behind the original project-of-projects source over time, and updating them manually risks overwriting user content or silently discarding local edits. This Skill detects the repository's harness format, checks freshness against the upstream source, and applies updates safely with human confirmation. ## Core Features & Use Cases - Format Detection: Distinguishes between a full fork (git merge path), an included repo with a managed harness (reinstall via pop_install_unirepo.py), and repos that do not use PoP at all. - Freshness Check: Compares the recorded content_sha in pop/.unirepo-harness.json against the source, or fetches upstream commits for forks, and reports whether the harness is current. - Safe Update with Drift Reporting: Warns about locally modified managed files before updating, merges upstream changes for forks without touching user content, and stops on conflicts for human decision. - Use Case: You maintain several standalone repos with installed PoP harnesses. Ask the agent to check whether a repo's harness fell behind, review the pending upstream changes, and confirm a managed reinstall that leaves your specs, roadmap, and notes intact. ## Quick Start Check whether this repository's PoP harness is up to date with the original project-of-projects source and update it if it fell behind.

Frequently Asked Questions about update-harness

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

FAQPage Schema
How do I update a PoP harness in my repository?▼

Run the update-harness skill, which detects your repo's format first. Forks update through git merge with the upstream remote, while included repos update through a managed reinstall using pop_install_unirepo.py, always after your confirmation.

How do I check if my PoP harness is out of date?▼

For included repos, the skill compares the content_sha in pop/.unirepo-harness.json against the source's sha from pop_install_unirepo.py --sha. For forks, it fetches the upstream remote and lists commits in HEAD..upstream/main.

Will updating the harness overwrite my own files?▼

No. Forks update via git merge, and upstream only carries harness files, so your projects, notes, and memory are untouched. Managed reinstalls only overwrite the managed set recorded in the previous inventory.

What happens if I edited managed harness files locally?▼

Local modifications inside the managed set are treated as drift. The skill shows a git diff --stat of those files and reports them before updating, since the update discards them by design but never silently.

Can I update a harness installed from a different language source?▼

A differing sha can mean the source differs from the one that installed the harness. Reinstalling from the public repository over a harness installed from another-language source switches the entire harness language, so the skill stops and asks for confirmation first.