account-hygiene
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
Reviewing who can sign in to the Cove Management Console for each customer and with which role, spotting leavers and over-privileged accounts, and reading the user-action audit log (cove_audit_actions_list, admin-gated in Conduit and needing an Administrator API user in Cove) to
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill access-review --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill access-review -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill access-review -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill access-review -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill access-review -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill access-review -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill access-review -a windsurf -y
name: "Cove Console Access Review" description: > Reviewing who can sign in to the Cove Management Console for each customer and with which role, spotting leavers and over-privileged accounts, and reading the user-action audit log (cove_audit_actions_list, admin-gated in Conduit and needing an Administrator API user in Cove) to see who changed devices, retention, users or customers. when_to_use: >- When someone runs a quarterly access review of the backup console, offboards a technician, or needs to know who changed or deleted something in Cove. Use when: cove users, cove access review, cove roles, backup console access, cove audit log, who deleted backup, who changed retention, technician offboarding, or cove superuser.
Backup console access is high-value: a console user can delete devices, change retention, or restore data to another machine. MSPs review it each quarter, after a technician leaves, and when a client's security questionnaire asks who can reach their backups. These tools only read. Remove or change users in the Cove console.
| Tool | Conduit tier | Cove role needed | |------|--------------|------------------| | `cove_users_list` | read | Supporter | | `cove_user_roles_list` | read | Supporter | | `cove_audit_actions_list` | **admin-gated**: only Conduit members with the admin tier can call it | Administrator or SuperUser. Other roles get error 13501. |
`cove_users_list` returns names and email addresses of your staff and your customers' staff. Keep the output with the people doing the review.
If the user is not a Conduit admin, or the connected API user is a Supporter, do the user and role review and say plainly that the audit log part needs both a Conduit admin and an Administrator API user.
1. `cove_auth_context_get` for the root `PartnerId`. 2. `cove_partners_list` with `fetch_recursively: true` and `fields: [0, 1]` to get every customer ID and name. 3. `cove_users_list` with `partner_ids`: the root plus the customers to review, at most 100 IDs per call. Split larger trees into batches. 4. `cove_user_roles_list` to name the roles. 5. Flag, in this order:
who can justify it.
needs only Supporter unless someone uses the audit log.
reviewer gives you.
customer's.
6. Report one row per user: customer, login, name, email, role, and the flag that applies. Users with no flag go in a count, not the table.
1. Run steps 1 to 4 above for the whole tree. 2. Find every account that matches the leaver's name or email, at every customer level. MSP staff often have logins at several end customers. 3. If the audit log is available, call `cove_audit_actions_list` for the last 30 days with `user_id` set to each matching account, to see what they did before leaving. 4. List the accounts to remove. Removal happens in the console.
`cove_audit_actions_list` needs `from` and `to` as Unix seconds. Narrow it:
| Argument | Use | |----------|-----| | `partner_id` | Actions performed in this customer | | `entity_partner_id` | Actions on things owned by this customer | | `include_all_sub_partners` | Include every sub-customer | | `user_id` | Actions by one console user | | `entity` | e.g. `Account` (device), `AccountProfile`, `Partner`, `User`, `Product` | | `operation` | e.g. `Remove`, `Delete`, `Modify`, `Add`, `PasswordReset` | | `result` | `Succeeded` or `Restricted` | | `count_limit` | 1 to 1000, default 100 | | `reverse_order` | `true` for newest first |
Common questions:
the window the device disappeared in.
`entity: "Product"`, `operation: "Modify"`.
If the result reaches `count_limit`, there may be more. Split the window in half and query each part instead of reporting a partial list as complete.
below Administrator. A Conduit permission denial is a different message and means the Conduit member is below the admin tier. Tell the user which one happened.
the name typed when they were created.
is unconfirmed, so do not rely on it to show per-customer roles.
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.