Files
claudetools/session-logs/2026-06/2026-06-23-howard-screenconnect-skill-addon-clarify.md
Howard Enos e175c3d8f1 sync: auto-sync from HOWARD-HOME at 2026-06-23 20:52:42
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-23 20:52:42
2026-06-23 20:53:10 -07:00

8.0 KiB

User

  • User: Howard Enos (howard)
  • Machine: Howard-Home
  • Role: tech

Session Summary

Sharpened the screenconnect skill to make its end goal explicit and verified that the GuruRMM addon-integration plan it serves is fully mapped in the project docs. The driving clarification from Howard: ScreenConnect is meant to surface on the GuruRMM Integrations Center / "addons page" as a per-partner, bring-your-own alternative to GuruConnect — a partner already paying for ScreenConnect (and not wanting GuruConnect) wires in their own licensed instance as the remote-access backend. The skill is the verified connector prototype that will port into the RMM server.

Reviewed the existing plan surface before writing anything. Found the integration is already well-mapped across four docs: SPEC-024-screenconnect-auto-deploy.md (Mike, 2026-06-02 — the deploy mechanics: per-partner instance config, c0..c7 slot mapping, scope toggles, dispatch), RMM_THOUGHTS.md Feature 7 (Howard, 2026-06-21 — parameterized deploy + post-install control), RMM_THOUGHTS.md Refinement 7a (Mike, 2026-06-21 — ScreenConnect as a per-partner App Center entry, generalized to a "Remote Access" category), and FEATURE_ROADMAP.md Integrations Center (the unified addons UI, P1). Conclusion: Mike already covered the plan; no need to ask him to re-explain. The single missing piece was the explicit positioning that ScreenConnect is an alternative to GuruConnect (choose-your-provider), not an add-on layered on top of it.

Made two doc edits to fill that gap. (1) In the skill's SKILL.md, replaced the thin "Future: GuruRMM integration (Raw idea)" stub with a "Why this skill exists" section stating the addon end goal, the GuruConnect-alternative positioning, what the skill proves/ports into the server (build_installer_url + the control methods), and pointers to all four mapped docs. (2) In guru-rmm/docs/RMM_THOUGHTS.md Refinement 7a, added a bullet making the GuruConnect-alternative framing explicit (Remote Access category = choose-your-provider slot; GuruConnect default, ScreenConnect/TeamViewer/AnyDesk as paid BYO alternatives).

Handled the submodule edit with branch isolation because the guru-rmm submodule was checked out on another work item's branch (fix/software-uninstall-polish). Delivered the RMM_THOUGHTS change on an isolated branch off origin/main (docs/rmm-thoughts-sc-guruconnect-alt, commit 894074c, pushed) via a worktree placed in the scratchpad (outside the repo, to avoid /save's git add -A sweep and the Windows worktree-lock issues a prior session hit). Committed the parent-repo skill edit (4673983). Filed a coord todo for Mike to merge the new branch (2da21d76). Confirmed the prior SC doc branch docs/rmm-thoughts-sc-feature7 (4f10149) is already merged into origin/main, so it is no longer dangling. Ran the skill selftest as a regression check: 12/12 passed.

Key Decisions

  • Did NOT ask Mike to explain the addon plan — verified it is already mapped (he authored SPEC-024 and Refinement 7a). Only the GuruConnect-alternative positioning was missing, which is Howard's own authoritative clarification, so it was safe to write directly rather than escalate.
  • Filed the GuruConnect-alternative clarification under Refinement 7a (the App Center / addons-page surface) rather than Feature 7 (the deploy/control mechanics), because the BYO-vs-GuruConnect choice is a UI/surface concern, not a mechanics concern.
  • Delivered the submodule doc change on an isolated branch off origin/main, not onto the fix/software-uninstall-polish branch the submodule happened to be sitting on — committing onto another work item's feature branch would entangle unrelated changes.
  • Branched off origin/main (not the local checkout) because the local branch's RMM_THOUGHTS.md was 180 lines behind origin/main; origin/main is the complete, canonical base and already contained Feature 7 + Refinement 7a.
  • Placed the throwaway worktree in the session scratchpad (outside C:\claudetools) so /save's git add -A cannot sweep it and to sidestep the Windows file-lock removal failure the 2026-06-21 session encountered with an in-repo worktree.
  • Logged the session under root session-logs/ (not a single project) because the work spans the parent-repo skill, the guru-rmm submodule, and the coord API.

Problems Encountered

  • The guru-rmm submodule was on another work item's branch (fix/software-uninstall-polish) with its RMM_THOUGHTS.md 180 lines behind origin/main. Resolved by not touching the live checkout at all — created an isolated worktree/branch off origin/main for the doc edit, leaving the submodule on its original branch untouched.

Configuration Changes

Parent repo (C:\claudetools), committed 4673983:

  • .claude/skills/screenconnect/SKILL.md — replaced "Future: GuruRMM integration (Raw idea)" stub with a "Why this skill exists: the GuruRMM addon integration" section (end goal, GuruConnect-alternative positioning, what ports to the server, pointers to SPEC-024 / Feature 7 / Refinement 7a / Integrations Center).

guru-rmm submodule, branch docs/rmm-thoughts-sc-guruconnect-alt, commit 894074c (pushed, off origin/main af3445b):

  • docs/RMM_THOUGHTS.md — added a bullet to Refinement 7a clarifying ScreenConnect is the BYO alternative to GuruConnect (choose-your-provider Remote Access slot).

No files deleted. Scratch worktree removed post-push; submodule left on fix/software-uninstall-polish.

Credentials & Secrets

No new credentials. The screenconnect skill continues to load its API secret from the SOPS vault msp-tools/screenconnect.sops.yaml field credentials.api_secret (never hardcoded); auth is the CTRLAuthHeader (raw secret, no "Basic" prefix) + Origin header.

Infrastructure & Servers

  • ScreenConnect instance: https://computerguru.screenconnect.com; RESTful API Manager extension GUID 2d558935-686a-4bd0-9991-07539f5fe749.
  • Coord API: http://172.16.3.30:8001/api/coord.
  • gururmm Gitea remote: https://git.azcomputerguru.com/azcomputerguru/gururmm.git.

Commands & Outputs

  • Skill selftest (regression after doc edits): cd .claude/skills/screenconnect && CLAUDETOOLS_ROOT=C:/claudetools bash ../../scripts/py.sh scripts/selftest.py -> 12/12 passed, 0 failed.
  • Submodule branch base verification: git branch -r --contains origin/docs/rmm-thoughts-sc-feature7 listed origin/main -> prior branch 4f10149 already merged.
  • Coord todo: coord.py todo add ... --user mike --project gururmm -> id 2da21d76-15a9-4ab5-9a9a-073af23ffdee.

Pending / Incomplete Tasks

  • Mike to merge submodule branch docs/rmm-thoughts-sc-guruconnect-alt (894074c) into gururmm main (merge = deploy). Tracked by coord todo 2da21d76.
  • The ScreenConnect addon integration itself remains Raw — needs Mike's go before building. Next step when greenlit: /shape-spec to fold Feature 7 + Refinement 7a + SPEC-024 into the Integrations Center as the per-partner "Remote Access" provider slot.
  • Still-open SC item from prior work: the ACG instance's RESTful API Manager extension does not expose a full-fleet inventory method (GetSessions/GetAllSessions/GetSessionGroups); needs Mike to extend the extension for true inventory sync. By-name lookup works post-install.

Reference Information

  • Parent commit: 4673983 (screenconnect skill clarification).
  • Submodule branch/commit: docs/rmm-thoughts-sc-guruconnect-alt / 894074c (off origin/main af3445b).
  • Coord todo: 2da21d76-15a9-4ab5-9a9a-073af23ffdee (user=mike, project=gururmm).
  • Prior (already-merged) SC doc branch: docs/rmm-thoughts-sc-feature7 / 4f10149.
  • Mapped-plan docs: projects/msp-tools/guru-rmm/docs/specs/SPEC-024-screenconnect-auto-deploy.md, .../docs/RMM_THOUGHTS.md (Feature 7, Refinement 7a), .../docs/FEATURE_ROADMAP.md (Integrations Center), .../docs/GURU_CONNECT_INTEGRATION.md.
  • Skill path: .claude/skills/screenconnect/ (SKILL.md, scripts/{sc.py,sc_client.py,selftest.py}, references/api-reference.md).