Files
claudetools/session-logs/2026-06-08-mike-syncro-billing-skills-rmm-thoughts.md
Mike Swanson 41450301dc sync: auto-sync from GURU-5070 at 2026-06-08 06:50:14
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-08 06:50:14
2026-06-08 06:50:19 -07:00

5.7 KiB

Syncro billing (Wolkin #32369) + skills global-deploy fix + RMM Thoughts backlog

User

  • User: Mike Swanson (mike)
  • Machine: GURU-5070
  • Role: admin

Session Summary

Continuation after the Wolkin Law printer fix (logged separately in clients/wolkin/session-logs/2026-06-07-mike-wolkin-clientfiles-printshare.md). Three threads: billed the Wolkin ticket, fixed a fleet-wide skills-deployment gap, and stood up an "RMM Thoughts" idea backlog with a rewired feature-request flow.

Billed Syncro #32369 (Wolkin, Robert). Non-prepaid customer. Posted a hidden internal resolution note, a public success note (client emailed), a 3.5h Emergency Remote labor line (product 26184 @ $225/hr remote-emergency override of the $262.50 onsite default), and created invoice 1650601747 ($787.50, verified). Then a second hidden note for Winter to add 2 ZeroTier Monthly Subscriptions @ $2/mo to recurring billing, surfaced to #bot-alerts. Discovered the /syncro command (a slash command, not a skills/ dir) is the authoritative Syncro flow and uses add_line_item directly (NOT timer_entry — the command overrides the older time-entry-protocol standard).

Fixed a skills-deployment gap. The global ~/.claude/skills/ was EMPTY on GURU-5070 (likely wiped during a Mac sync) — that is where Claude Code loads invocable skills (syncro, agy, grok, coord, etc.); the repo .claude/skills/ was intact but never deployed to global. sync.sh deploys commands to global (Phase 5b) but not skills. Added Phase 5c to sync.sh mirroring .claude/skills/ -> ~/.claude/skills/ (idempotent, soft-fail), so a wipe self-heals on the next sync fleet-wide. Manually deployed the 19 skills now; coord-broadcast + todo so other machines re-pull.

Stood up "RMM Thoughts". Mike wants one shared GuruRMM idea backlog (Mike + Howard) with a pipeline: Thought (Raw) -> Discuss -> Spec (/shape-spec) -> Roadmap -> Build. Renamed the parked-notes doc to projects/msp-tools/guru-rmm/docs/RMM_THOUGHTS.md, added the backlog header + how-to-add + status legend (3 existing thoughts: alert- lifecycle redesign, tiered telemetry cadence, MSP360 deep-link button). Earlier parked the MSP360 console deep-link idea (Feature 3) after verifying the URL pattern. Saved a feedback memory so all sessions route ideas there. Rewired /feature-request: it now captures a request into RMM Thoughts at Status: Raw + notifies Mike, instead of auto- generating a full SPEC + roadmap entry (that heavy work is now /shape-spec, decision-gated).

Key Decisions

  • Syncro emergency billing: 26184 at qty=actual hours, price_retail overridden to $225 for remote (vs onsite $262.50 default), per the /syncro skill non-prepaid rule.
  • sync.sh is the right home for skills deployment (mirrors the commands deploy), so the fix is durable + automatic for every machine, not a one-off manual copy.
  • /feature-request rewired to feed RMM Thoughts (Raw), not auto-spec — aligns with the new pipeline where spec/roadmap are decision-gated downstream stages.

Problems Encountered

  • post-bot-alert.sh returned 400 (invalid JSON) on a message containing an em-dash / $ — the helper does not escape those into its JSON. Sanitized ASCII message worked. Minor helper bug to fix later.
  • Laptop-side Add-Printer (Wolkin, prior thread) failed with SMB error 67 / RPC 1702; Mike completed it manually. (Captured in the printshare log.)
  • MSP360 deep-link: we store provider_specific_id = MSP360 PlanId, but the console URL needs the ComputerHid (different GUID) — capture gap recorded in RMM_THOUGHTS Feature 3.

Configuration Changes

  • .claude/scripts/sync.sh — added Phase 5c (skills -> global deploy).
  • .claude/commands/feature-request.md — rewired to RMM Thoughts capture flow.
  • .claude/memory/feedback_rmm_thoughts_backlog.md (new) + MEMORY.md pointer.
  • projects/msp-tools/guru-rmm/docs/RMM_THOUGHTS.md — renamed from PARKED_alert-lifecycle-and-telemetry-cadence.md, restructured as the backlog (gururmm commits 9ea20c6 Feature 3, da49f1f backlog header).
  • ~/.claude/skills/ — 19 skills deployed (global, machine-local).

Credentials & Secrets

  • Syncro API (mike): key baked in /syncro command + vault msp-tools/syncro.sops.yaml (credentials.credential). No new secrets.

Infrastructure & Servers

  • Syncro: computergurusyncromsp.com; ticket #32369 id 112000321, customer 796910 (Wolkin, Robert); invoice 1650601747; product 26184 (Emergency, $262.50 onsite default).
  • Coord API 172.16.3.30:8001; GuruRMM 172.16.3.30:3001.

Commands & Outputs

  • Invoice verify: 26184, qty 3.5, $225 -> total $787.50.
  • Skills: ls ~/.claude/skills 0 -> 19 dirs. sync.sh Phase 5c "Global skills already current".
  • Coord: broadcast 8a6b03fb (ALL_SESSIONS), todos 59b5d542 (skills), 4a089618 (msp360 deep-link).
  • gururmm commits: 9ea20c6, 6bdd8fc (rename), da49f1f (RMM_THOUGHTS header).

Pending / Incomplete Tasks

  • Syncro #32369 status still "New" — Mike to decide if it moves to Invoiced.
  • Wolkin: confirm Julie prints a real test page; disable Bidirectional Support if driver UI balks; consolidate the 3 Wolkin client slugs (wolkin / wolkin-law / rswolkin).
  • post-bot-alert.sh JSON-escaping bug (em-dash/$ -> 400).
  • RMM Thoughts: 3 thoughts at Status: Raw/Discussed awaiting decision to spec.
  • Jupiter VM ACG-DWP-X-BB no-DHCP (paused, DHCP-vs-static decision).

Reference Information

  • RMM Thoughts backlog: projects/msp-tools/guru-rmm/docs/RMM_THOUGHTS.md.
  • Memory: .claude/memory/feedback_rmm_thoughts_backlog.md, .claude/memory/feedback_stream_of_thought_design.md.
  • MSP360 console deep-link template: https://mspbackups.com/AP/Computers/%7B<ComputerHid>%7D?sidepanel=backup&tab=backup-plans.