Follow-up to #8 / PR #11.
#8 shipped install-time divergence detection scoped to /add-orchestrator (per Eugene's ruling: a working version for the one bundle that hit the failures, framework-wide deferred). PR #11 added a read-only --check mode + wired the three-state comparison into the overwrite prompt — but only for the eight skills add-orchestrator bundles.
The general problem
Every plugin that copies skill templates into an agent repo has the same gap. /add-canon, /add-pipeline, /add-project-management, and any future installer copy templates/<skill>.md -> .claude/skills/<skill>/SKILL.md with the same overwrite/skip/cancel-with-no-comparison flow. The three signals #8 defined are universal:
Scope of this follow-up
Decide (maintainer/Eugene call) whether this belongs as:
- a shared helper every
add-* installer can call (a small templates/-relative version+diff comparator, DRY'd out of add-orchestrator's Check-mode section), and/or
- a framework-level doctor (
/plugin-doctor or similar) that sweeps every installed skill against its authoring bundle across all installers.
Reuse from #11 that should generalize verbatim: the numeric-per-component version compare, the canon-doctor PASS/WARN/FAIL report shape + one-line fleet verdict, and the "equal-version is the only clean customization diff" caveat.
Constraints to keep from #8: stateless (no new on-disk skill registry), and the check should feed the back-flow — a fleet-wide installed > bundled list is the marketplace's back-port worklist (ties to #5's Item 2).
Filed by trinity-pm as the deferred framework-wide half of #8.
Follow-up to #8 / PR #11.
#8 shipped install-time divergence detection scoped to
/add-orchestrator(per Eugene's ruling: a working version for the one bundle that hit the failures, framework-wide deferred). PR #11 added a read-only--checkmode + wired the three-state comparison into the overwrite prompt — but only for the eight skills add-orchestrator bundles.The general problem
Every plugin that copies skill templates into an agent repo has the same gap.
/add-canon,/add-pipeline,/add-project-management, and any future installer copytemplates/<skill>.md->.claude/skills/<skill>/SKILL.mdwith the same overwrite/skip/cancel-with-no-comparison flow. The three signals #8 defined are universal:installed < bundled-> upgrade availableinstalled > bundled-> back-port candidate (the one that went unnoticed for weeks in add-orchestrator: bundle ships stale copies of sync-fleet-to-head (v1.0<1.4) and profile-fleet (v1.4<1.6) — back-port + close the field-hardening back-flow gap #5)installed == bundledbut content differs -> local customization to surface before overwriteScope of this follow-up
Decide (maintainer/Eugene call) whether this belongs as:
add-*installer can call (a smalltemplates/-relative version+diff comparator, DRY'd out of add-orchestrator's Check-mode section), and/or/plugin-doctoror similar) that sweeps every installed skill against its authoring bundle across all installers.Reuse from #11 that should generalize verbatim: the numeric-per-component version compare, the canon-doctor PASS/WARN/FAIL report shape + one-line fleet verdict, and the "equal-version is the only clean customization diff" caveat.
Constraints to keep from #8: stateless (no new on-disk skill registry), and the check should feed the back-flow — a fleet-wide
installed > bundledlist is the marketplace's back-port worklist (ties to #5's Item 2).Filed by trinity-pm as the deferred framework-wide half of #8.