account-hygiene
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
The Blumira finding lifecycle: status and severity codes, resolution types, list filtering, enriched detail retrieval, assignment, and comment threads.
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill findings --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill findings -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill findings -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill findings -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill findings -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill findings -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill findings -a windsurf -y
name: "Blumira Findings" description: > The Blumira finding lifecycle: status and severity codes, resolution types, list filtering, enriched detail retrieval, assignment, and comment threads. when_to_use: >- When triaging, investigating, assigning, commenting on, or resolving Blumira security detections. Use when: blumira finding, blumira alert, blumira detection, security finding, triage finding, resolve finding, or finding status.
Findings are Blumira's primary security detection unit — they represent threats, suspicious activity, or policy violations detected across your environment. This skill covers the full finding lifecycle from discovery through resolution.
an `/org/*` call scoped to the credential's own organization. With MSP credentials these return 403 or an empty set; use `blumira-msp` and its `blumira_msp_findings_*` equivalents.
resolve *call* is here, but the disposition semantics and their effect on detection tuning are `blumira-resolutions`.
and "detection" are shared vocabulary. Use `huntress-incidents`, `sentinelone-alerts`, `blackpoint-incident-response`, or `cipp-alerts` depending on which platform raised it.
kill, or block action; resolving a finding is a bookkeeping change only. Response happens in the EDR or firewall.
| Status Code | Label | Description | |-------------|-------|-------------| | 10 | Open | New, unreviewed finding | | 20 | In Progress | Under investigation | | 30 | Resolved | Closed with a resolution |
Findings have severity levels (e.g., LOW, MEDIUM, HIGH, CRITICAL) that indicate the potential impact. Always triage CRITICAL and HIGH findings first.
When resolving a finding, you must specify a resolution type:
| Resolution Code | Label | Use When | |----------------|-------|----------| | 10 | Valid | Confirmed real threat, action was taken | | 20 | Not Applicable | Finding doesn't apply to this environment | | 30 | False Positive | Detection was incorrect |
blumira_findings_list status.eq=10 # Open findings only severity.in=HIGH,CRITICAL order_by=-created # Most recent first page_size=25
blumira_findings_get finding_id=<UUID>
blumira_findings_details finding_id=<UUID>
The `details` endpoint returns enriched data including related context, evidence, and recommended actions.
blumira_findings_resolve finding_id=<UUID> resolution_type=10 # Valid notes="Confirmed brute force attempt. Blocked source IP in firewall."
blumira_findings_assign finding_id=<UUID> user_id=<UUID>
blumira_findings_comments_list finding_id=<UUID>
blumira_findings_comments_add finding_id=<UUID> comment="Investigating source IP. Checking firewall logs for correlation."
1. `blumira_findings_list` with `status.eq=10` and `order_by=-severity` 2. Review CRITICAL and HIGH findings first 3. For each finding, use `blumira_findings_details` to get context 4. Assign to an analyst with `blumira_findings_assign` 5. Add investigation notes with `blumira_findings_comments_add`
1. `blumira_findings_get` to retrieve the finding 2. `blumira_findings_details` for enriched context and evidence 3. `blumira_findings_comments_list` to review prior investigation notes 4. Add findings with `blumira_findings_comments_add` 5. Resolve when investigation is complete
1. `blumira_findings_list` with filters matching the batch (e.g., same detection rule) 2. Review a representative sample to confirm the resolution applies 3. Resolve each with `blumira_findings_resolve` and appropriate resolution type 4. Document the rationale in the notes field
blumira_findings_list created.gt=2025-01-01 created.lt=2025-02-01 status.eq=10
**Cause:** Invalid finding ID or finding not accessible in current org scope **Solution:** Verify the finding ID. If using MSP credentials, use `blumira_msp_findings_get` instead.
**Cause:** Resolution type not provided or invalid **Solution:** Provide a valid resolution type: 10 (Valid), 20 (Not Applicable), or 30 (False Positive).
**Cause:** User ID doesn't exist or isn't a member of the organization **Solution:** Use `blumira_users_list` to get valid user IDs.
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.