From desktop-manager
Surgical edits to the desktop-manager machine profile without re-running full onboarding. Use when a single field changed — e.g. user upgraded distro, switched from X11 to Wayland, swapped GPU, changed sudo policy, added a service to watch, recorded a new hardware quirk. Reads and writes `$CLAUDE_USER_DATA/desktop-manager/profile.json`. Triggers on phrases like "update desktop profile", "I switched to wayland", "add a quirk", "change sudo mode".
How this skill is triggered — by the user, by Claude, or both
Slash command
/desktop-manager:update-profileThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
For one-off field changes against an existing profile. If the user wants a wholesale re-profile, run `/desktop-manager:onboard` instead.
For one-off field changes against an existing profile. If the user wants a wholesale re-profile, run /desktop-manager:onboard instead.
PLUGIN_DATA_DIR="${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/desktop-manager"
PROFILE_FILE="$PLUGIN_DATA_DIR/profile.json"
If $PROFILE_FILE doesn't exist, point the user at /desktop-manager:onboard and stop. Don't bootstrap a partial profile from this skill.
$ARGUMENTS is parsed as <field-path> [new-value]. Examples:
desktop.session_type waylandpolicies.sudo_mode passwordlesspackaging.preferred_for_gui_apps flatpakservices_of_interest +bluetooth (append)services_of_interest -bluetooth (remove)quirks +"AMDGPU resets randomly under heavy load" (append free-form)hardware.gpu (no value → re-detect just this field via lspci -k)If no arguments, show the user the current profile and ask which field they want to change.
Load $PROFILE_FILE. If version doesn't match what this plugin understands (currently 1), refuse and tell the user to re-onboard.
Resolve the field. Walk the JSON path. If the path doesn't exist, reject with the closest sibling suggestion — don't silently create new top-level fields.
Compute the new value:
+value on a list field → append (deduplicate).-value on a list field → remove.onboard's table and propose the result.Diff and confirm. Show old value, new value. Wait for explicit user confirmation.
Write. Update last_profiled to now (UTC ISO-8601). chmod 600 "$PROFILE_FILE".
Tell the user what changed and which commands are affected. For example, if desktop.session_type flipped to wayland, mention that troubleshoot-hardware will now use wlr-randr instead of xrandr.
See lib/PROFILE.md for the full schema. All fields in there are user-editable except version, which is owned by the plugin.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin desktop-managerGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.