Files
claudetools/.grok/skills/b2/SKILL.md
Mike Swanson 6de0ce6098 sync: auto-sync from GURU-5070 at 2026-06-03 11:52:45
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-03 11:52:45
2026-06-03 11:52:52 -07:00

3.5 KiB

name, description
name description
b2 Manage Arizona Computer Guru's (ACG) Backblaze B2 storage account via the B2 Native API v3. Talks to the LIVE production B2 account (accountId 46f69bc61163, region us-west-001) that holds the per-client MSP360/CloudBerry backup destinations. List buckets and application keys, list files / file versions, compute per-bucket stored size, and produce the headline storage-cost report (the mspbackups storage-cost calc). Provision buckets and scoped backup keys and delete buckets/keys (all destructive ops are gated behind --confirm). Read-only by default. Invoke for: "backblaze", "b2", "b2 storage", "bucket", "storage cost", "backup storage", "mspbackups storage", "list buckets b2".

Grok skill. This maps to the shared skill in .claude/skills/b2/SKILL.md.

Read .claude/skills/b2/SKILL.md (first use GrepAI via search_tool + use_tool (grepai__grepai_search etc.) for semantic context lookup per the GrepAI-first rule in CLAUDE.md, .grok/README.md, and .grok/skills/context/SKILL.md; only fall back to read_file if full verbatim content is needed for editing/review) and follow it exactly, adapting for Grok's tools:

  • Use run_terminal_command (with Git Bash mapping via .grok/skills/windows-bash/SKILL.md or full "C:\Program Files\Git\bin\bash.exe" + PATH export as per harness and .grok/hooks/) to run the Python CLI in .claude/skills/b2/scripts/b2.py (use py per identity.json, with CLAUDETOOLS_ROOT or derived from identity).
  • Use spawn_subagent for any delegation.
  • For searches/context: always prefer search_tool + use_tool for MCP tools (grepai__* primary for code/wiki/session logs).
  • Destructive subcommands remain gated behind --confirm exactly as in the source.
  • Obey CLAUDE.md (Grok loads it as always-in project rules), .grok/README.md, use GrepAI-first before any direct file tools.

The full details — running the CLI, credentials (always via vault.sh or 1password skill, never hardcoded), cache model, safety gating, common commands (status, buckets, files, usage/cost, create/delete with --confirm), prefix purge/lifecycle mechanism, storage cost calc ($0.00695/GB decimal, mspbackups), account structure (12 buckets, keys), and references — are in the source .claude/skills/b2/SKILL.md (and its scripts/ and references/).

Invoke via the documented commands (e.g. py .../b2.py status, $B2 usage --json, gated deletes/purges), using the Grok terminal tool. The skill talks to the live B2 account — treat writes conservatively.

For MSP backups machine removal (e.g. "remove SBS from mspbackups" for glaztech):

  • First, context load via GrepAI + .grok/skills/context/SKILL.md (wiki/clients/glaztech.md, clients/glaztech/, RMM mspbackups, .claude/memory/ mspbackups refs, account structure in source).
  • List buckets/keys/files for the machine (often per-client MSP360 prefix like MBS-/CBB_SBS/ or in MSPBackups20200311 / ACG-GLAZTECH).
  • Use gated delete-key (for the machine's backup key), delete-prefix (for the SBS/ machine prefix to schedule lifecycle purge), or delete-bucket if decommissioning the whole destination --confirm.
  • Follow prefix purge/lifecycle exactly (dry-run without --confirm, commit with, wait ~24-48h for B2 lifecycle, verify with bucket-size, cleanup rule with lifecycle-remove).
  • Update client docs, session log, memory as needed after.

See also: .grok/skills/1password/SKILL.md for secrets if needed, the mspbackups context in memory/wiki, .grok/agents/backup.md , .grok/skills/context/SKILL.md (has explicit MSP + glaztech + SBS example).