Install
openclaw skills install @j3ffyang/sync-config-with-sampleSync a production config file (e.g. hyprland.lua.gpd) against the latest upstream sample (e.g. hyprland.lua.260917) by copying only reference info/URL comments while preserving the user's actual configuration. Use when the user drops a freshly downloaded sample alongside a live config, mentions keeping the newest sample as the diff baseline, or wants only real config differences to remain visible in diff.
openclaw skills install @j3ffyang/sync-config-with-sampleThe user keeps a production config (live ~/.config/... file, archived in this repo with a device suffix like .gpd) next to the latest upstream sample (freshly re-downloaded from the project's GitHub repo, named with a date, e.g. .260917). The sample is the baseline: the only acceptable diff is the user's real configuration — never reference noise, never lost config.
-- See https://... links, wording of explanatory comments that upstream rewrote. These are safe to adopt verbatim from the sample.diff: the only remaining hunks must be real config differences (user's values vs sample's), with zero reference/URL noise.*.gpd = this device's live config) and the sample (dated *.2609xx).diff hyprland.lua.<device> hyprland.lua.<date>
For each hunk, classify into one of three buckets:
A diffed line may look like config but really be an upstream rename, deprecation, or fixed typo. Determine the truth before deciding:
hyprwm/Hyprland), the wiki page behind the reference URL.hyprctl version, pacman -Q <pkg>. If the rename landed after the installed release, keep the old name — it works now and the compat shim usually accepts it after upgrade too.Use edit with exact unique oldString matches. Take wording verbatim from the sample (whitespace included). Only touch reference lines — if an edit's oldString overlaps config code, split the edit or re-classify.
diff hyprland.lua.<device> hyprland.lua.<date>.Concrete classification from a real run:
Configuring/Basics/... and Configuring/Advanced-and-Cool/... to lowercase configuring/core/... etc. — 15 comment hunks (monitors, autostart, env-vars, permissions, variables, tearing, animations, workspace-rules, dwindle/master/scrolling layouts, devices, binds, window/workspace-rules).fileManager = "thunar", menu = "wofi --show drun", the active hl.on("hyprland.start") block (fcitx5, waybar, hypridle, hyprsunset), hl.env("XCURSOR_THEME", "Adwaita"), hyprsunset +500/-500 binds, the SCREENSHOTS block.dampening vs damping on a spring hl.curve. Found upstream PR hyprwm/Hyprland#15993 — a deliberate rename ("It IS a breaking change") merged Aug 29 2026 with a compat shim accepting the old dampening. Installed version here was hyprland 0.56.2 (Aug 5 2026), old enough that damping was not yet recognized. Decision: keep dampening — works on the installed release and remains accepted after upgrade; stays as a legitimate config diff.