account-hygiene
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
New-hire setup in Jamf Pro: user records and how to avoid duplicates, scoping a new Mac's serial to a computer PreStage enrollment for Automated Device Enrollment, assigning computers and mobile devices to a user, building, department, and site, and adding Macs to static groups
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill user-onboarding --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill user-onboarding -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill user-onboarding -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill user-onboarding -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill user-onboarding -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill user-onboarding -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill user-onboarding -a windsurf -y
name: "Jamf Pro User Onboarding" description: > New-hire setup in Jamf Pro: user records and how to avoid duplicates, scoping a new Mac's serial to a computer PreStage enrollment for Automated Device Enrollment, assigning computers and mobile devices to a user, building, department, and site, and adding Macs to static groups so the right policies and profiles apply. when_to_use: >- When a client has a new starter who needs a Mac, iPhone, or iPad, when a device needs to be reassigned to a different user, or when a Mac must be scoped to a PreStage before it ships. Use when: jamf new hire, onboard user jamf, assign mac to user, prestage enrollment, automated device enrollment, add serial to prestage, reassign device, jamf static group.
Onboarding in Jamf Pro has three jobs. Get the new Mac to enroll with the client's configuration at Setup Assistant (PreStage scoping). Record who the device belongs to (user and location assignment). Put it in the groups that scope the client's apps and settings. All of the changes here are write tier and non-destructive.
| Thing | Tools | |-------|-------| | Jamf users (who devices are assigned to) | `jamf_search_users`, `jamf_get_user`, `jamf_create_user`, `jamf_update_user` | | Computer PreStages (ADE profiles) | `jamf_list_computer_prestages`, `jamf_add_serials_to_computer_prestage` | | Mobile PreStages | `jamf_list_mobile_device_prestages` (read only, no serial scoping tool) | | Location ids | `jamf_list_buildings`, `jamf_list_departments`, `jamf_list_sites` | | Assignment | `jamf_assign_computer`, `jamf_assign_mobile_device` | | Groups | `jamf_list_computer_groups`, `jamf_get_computer_group`, `jamf_add_computers_to_static_group` |
1. **Find or create the user.** `jamf_search_users` by `email` and `username` first. Only if nothing matches, `jamf_create_user` with `username` (match the IdP username), `realname`, `email`, and `position`. 2. **Scope the serial before the Mac is unboxed.** `jamf_list_computer_prestages` to find the client's PreStage, then `jamf_add_serials_to_computer_prestage` with `prestageId` and `serialNumbers`. Serials must already be in Apple Business Manager and assigned to this Jamf instance, or Jamf rejects them. 3. **After enrollment, assign the Mac.** `jamf_search_computers` with `serialNumber` to get the computer id. Resolve `departmentId`, `buildingId`, and `siteId` with the list tools, then `jamf_assign_computer` with the id and only the fields you want to set. 4. **Group it.** `jamf_list_computer_groups` to find the client's onboarding or department static group, then `jamf_add_computers_to_static_group`. 5. Report back: user id, PreStage name, computer id, assigned fields, and groups.
Mobile devices have no serial-scoping tool here. The client's Apple Business Manager default assignment usually handles PreStage selection. After enrollment, `jamf_search_mobile_devices` by `serialNumber`, then `jamf_assign_mobile_device` with the user fields.
1. `jamf_search_users` for the new owner (create if missing). 2. `jamf_assign_computer` or `jamf_assign_mobile_device` with the new `username`, `realName`, `email`, and location ids. 3. If the old owner left the company, run the leaver steps in `jamf-device-offboarding` for their other devices.
`jamf_update_user` reads the current record and changes only the fields you pass (`username`, `realname`, `email`, `phone`, `position`, `managedAppleId`). Use it for name changes and new job titles. It does not touch device assignments.
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: wyre-ai.github.io/msp-claude-plugins
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
1Password MCP fundamentals through Conduit: the region plus two independent credential halves (Events Reporting token, Users API…
How to review a departing or departed user's 1Password footprint with the read-only tools: confirm the seat is suspended, find…
Triage of 1Password sign-in attempts for one client account: pulling the sign-in feed over a window, grouping failures by user,…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership,…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.