account-hygiene
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
Reconciling a client's Bitwarden subscription against its real membership: Password Manager and Secrets Manager seats and autoscale limits from the subscription, member counts by status, invites that never completed, revoked members still listed, and the figures to check against
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill license-reconciliation --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill license-reconciliation -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill license-reconciliation -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill license-reconciliation -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill license-reconciliation -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill license-reconciliation -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill license-reconciliation -a windsurf -y
name: "Bitwarden License Reconciliation" description: > Reconciling a client's Bitwarden subscription against its real membership: Password Manager and Secrets Manager seats and autoscale limits from the subscription, member counts by status, invites that never completed, revoked members still listed, and the figures to check against the MSP's billing agreement. Read-only; seat changes happen in the Admin Console. when_to_use: >- When checking whether a client is paying for the right number of Bitwarden seats, preparing a renewal or true-up, or explaining an autoscale charge. Use when: bitwarden seats, bitwarden license count, bitwarden billing, bitwarden subscription, autoscale seats, unused bitwarden seats, or bitwarden true-up.
MSPs resell or manage Bitwarden seats and bill clients for them. Drift creeps in from both sides: invites that were never accepted, leavers who were revoked but not removed, and autoscale quietly adding seats. This skill compares `bitwarden_subscription_get` with `bitwarden_members_list` and produces numbers the MSP can check against its own agreement or invoice.
Both tools are read tier in Conduit; no admin grant is needed. The plugin cannot change seats or autoscale limits; an owner does that in the Admin Console under Billing > Subscription.
`bitwarden_subscription_get` returns:
storage.
accounts, with their own autoscale limits.
An autoscale limit that is empty or null means Bitwarden may keep adding seats as members join. That is the usual source of a surprise invoice.
`bitwarden_members_list` gives each member's `status`: Revoked (-1), Invited (0), Accepted (1), Confirmed (2), Staged (3). Which of these occupy a paid seat is Bitwarden's rule, not this plugin's: the occupied-seat figure on the Admin Console billing page is the authority. Report the counts by status and let that page settle the arithmetic.
1. Call `bitwarden_subscription_get`. Record Password Manager seats and the autoscale limit; record Secrets Manager seats and service accounts if present. 2. Call `bitwarden_members_list`. If the response is `truncated`, stop and report that the member count is partial; a seat reconciliation on a cut list is wrong by definition. 3. Count members by `status`. 4. Flag:
but unused.
purchased seats.
person who never finished onboarding or a seat held for no one.
client whether they should be removed. 5. Compare the purchased seats with the quantity on the MSP's billing agreement for this client (from the PSA or distributor plugin, if one is connected) and note any mismatch.
A small table: purchased seats, autoscale limit, members by status, and the agreement quantity if known. Then a list of actions, each for a person: remove these revoked members, chase or cancel these invites, set an autoscale limit, adjust the agreement.
separately from people. Do not add them to the Password Manager seat comparison.
numbers disagree by one. Re-run both calls together if the totals look off by a small amount.
seats; look for near-duplicate emails before declaring the count right.
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.