sync: auto-sync from HOWARD-HOME at 2026-07-20 19:49:11
Author: Howard Enos Machine: HOWARD-HOME Timestamp: 2026-07-20 19:49:11
This commit is contained in:
@@ -19,6 +19,8 @@ Categories (the `[type]` tag): _(none)_ = skill/command execution failure ·
|
||||
|
||||
<!-- Append entries below this line -->
|
||||
|
||||
2026-07-21 | Howard-Home | ps-encoded | EncodedCommand dispatch failed [ctx: agent=fa99e913-1027-4e33-a928-7695e31068e7 resp=Agent not found]
|
||||
|
||||
2026-07-20 | Howard-Home | harness/skill-routing | [correction] Skills being bypassed -- hand-rolling API calls when skills exist (email/mailbox, unifi, others). CLAUDE.md skill-first rule not sufficient as a guardrail. [ctx: ref=CLAUDE.md-skill-first-rule]
|
||||
|
||||
2026-07-20 | Howard-Home | gps-audit | skill call failed: C:claudetools.claudeskillsowncloudscriptsowncloud.py ['usage', '--json'] -- Command '['bash', 'C:claudetools.claudescriptspy.sh', 'C:claudetools.claudeskillsowncloudscriptsowncloud.py', 'usage', '--json']' timed out after 60 seconds
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
# Session: Skill Testing, GPS Audit Aggregator, Skill Routing Enforcement
|
||||
|
||||
## User
|
||||
- **User:** Howard Enos (howard)
|
||||
- **Machine:** Howard-Home
|
||||
- **Role:** tech
|
||||
|
||||
## Session Summary
|
||||
|
||||
Tested 13 skills against live backends using RMM-TEST-MACHINE (Windows 11 Enterprise Eval, AZ Computer Guru / Howard-VM, agent 99d6d692) as the primary test endpoint. All endpoint-facing skills passed: /rmm (remote command dispatch + poll), /rmm-search (agent lookup), /screenconnect (19/19 self-test + live session lookup + backstage command), /datto-edr (status/agents/agent detail/sweep), /bitdefender (81/81 self-test + companies/endpoints), /msp360 (status + fleet data), /mailprotector (auth + domains), /packetdial (NetSapiens API status), /yealink-ymcs (sites), /b2 (auth + buckets), /seafile (Seafile Pro 12.0.19), and /bug-tracker (list/create/comment/close). Tailscale was skipped per Howard -- no vault credentials provisioned and not a priority.
|
||||
|
||||
Updated the ACG tracker (tracker.azcomputerguru.com): closed #19 (datto-edr validated) and #20 (screenconnect validated), filed and closed #88 (tailscale skipped). Posted full test sweep results as a comment on #23 (tracker project).
|
||||
|
||||
Built the GPS backup audit aggregator (projects/gps-rmm-audit/tools/gps-audit.py) for tracker issue #21. The script queries MSP360 (68 plans), Seafile (5 users), and ownCloud (SSH) in one pass and produces a unified per-client backup report with OK/REVIEW/FAIL verdicts. Supports --json, --client, --failed, --skip-owncloud, --skip-datto flags. Tested live: 21 clients tracked, 11 OK, 10 FAIL (matching the known non-backing-up list from backup-map.md). Exit code 1 when any FAIL, ready for scheduled use. MSP360 company name matching required an alias map (Valleywide != Valley Wide, Grabb and != Grabb &, Tedards != Bill Tedards, etc.).
|
||||
|
||||
Howard flagged a recurring problem: skills being bypassed in favor of hand-rolled API calls (email/mailbox, UniFi, others). Added /mailbox and 11 missing skills to SKILL_ROUTING.md, added a concrete "NEVER hand-roll these" API endpoint block list to CLAUDE.md mapping every covered API domain to its skill. Updated the skill-first feedback memory. Filed tracker #89 for enforcement. Also filed tracker #90 for the ACG Website Helpful Links page project (build for Rob handoff).
|
||||
|
||||
## Key Decisions
|
||||
|
||||
- Skipped Tailscale skill testing per Howard -- no vault credentials and not a priority. Closed the tracker issue as skipped rather than leaving it open.
|
||||
- Used an explicit MSP360 alias map instead of purely fuzzy matching for company names. Fuzzy matching missed too many (Valleywide vs Valley Wide, Tedards vs Bill Tedards). The alias map is manually maintained but reliable.
|
||||
- Added a hard "NEVER hand-roll these" block list to CLAUDE.md rather than building a pre-command hook. Howard declined the hook approach -- the routing table and block list are sufficient for now.
|
||||
- GPS audit aggregator skips Datto Workplace by default (--skip-datto) because the API key sees 0 projects. RMM endpoint detection is the only working path until Mike provisions Super Admin scope.
|
||||
|
||||
## Problems Encountered
|
||||
|
||||
- Parallel tool call cancellation: running a Skill call in parallel with a Bash call that errored caused the Skill to be cancelled. Logged as friction. Fix: never pair fragile Bash calls with Skill calls in the same parallel block.
|
||||
- Vault field path for Gitea token: `get-field 'gitea' 'api_token'` returned empty. The correct nested path is `credentials.api.api-token` under `services/gitea`. The tracker.py CLI already uses the correct path.
|
||||
- Gitea repo org: the org is `azcomputerguru` not `acg` (404 on the wrong org).
|
||||
- ownCloud skill is slow (SSH-based) and sometimes runs in background mode. The GPS audit handles this with a 60s timeout and the --skip-owncloud flag.
|
||||
|
||||
## Configuration Changes
|
||||
|
||||
- Created: `projects/gps-rmm-audit/tools/gps-audit.py` -- GPS backup audit aggregator
|
||||
- Modified: `.claude/CLAUDE.md` -- added "NEVER hand-roll these" API endpoint block list
|
||||
- Modified: `.claude/SKILL_ROUTING.md` -- added /mailbox, expanded UniFi triggers, added 11 missing skills
|
||||
- Modified: `.claude/memory/feedback_skill_first_routing.md` -- added specific bypass patterns
|
||||
- Modified: `errorlog.md` -- logged parallel tool friction, tailscale missing creds, skill bypass correction
|
||||
|
||||
## Credentials & Secrets
|
||||
|
||||
- Gitea API token vault path: `services/gitea` -> field `credentials.api.api-token` (not `api_token`)
|
||||
- Vault auto-committed 2 new IMC OpenVPN credential files during sync
|
||||
|
||||
## Infrastructure & Servers
|
||||
|
||||
- RMM-TEST-MACHINE: Windows 11 Enterprise Eval 10.0.22621, agent 99d6d692-99e0-4359-9f9c-f43be89f49e5, AZ Computer Guru / Howard-VM site
|
||||
- ScreenConnect session: a5d867ab-cbf2-4b00-99a0-80b082ec5ddd, CustomProperty3=SC-TEST-RETAG
|
||||
- Datto EDR agent: b98b3ba0-5f82-466f-911a-5a6b24cdbae7, Datto AV enabled, DNS Secure enabled
|
||||
- Tracker: https://tracker.azcomputerguru.com (internal 172.16.3.20:8089)
|
||||
|
||||
## Commands & Outputs
|
||||
|
||||
- `bash .claude/scripts/rmm-search.sh RMM-TEST-MACHINE --online` -- found agent, online
|
||||
- `py .claude/skills/screenconnect/scripts/selftest.py` -- 19/19 passed
|
||||
- `py .claude/skills/bitdefender/scripts/selftest.py` -- 81/81 passed
|
||||
- `py projects/gps-rmm-audit/tools/gps-audit.py --skip-owncloud --skip-datto` -- 21 clients, 11 OK, 10 FAIL
|
||||
- `py .claude/skills/bug-tracker/scripts/tracker.py create/comment/close` -- all functional
|
||||
|
||||
## Pending / Incomplete Tasks
|
||||
|
||||
- GPS audit aggregator: Datto Workplace integration blocked until Mike provisions Super Admin API scope
|
||||
- GPS audit aggregator: could be wired into a scheduled task for daily reporting
|
||||
- Tracker #89: skill-bypass enforcement -- routing table updated, hook deferred
|
||||
- Tracker #90: ACG Helpful Links page -- content planned, HTML build not started
|
||||
- Tracker #21: GPS audit automation -- aggregator built, marked in-progress
|
||||
|
||||
## Reference Information
|
||||
|
||||
- Commit: d1e41f0 -- add GPS backup audit aggregator + enforce skill-first routing
|
||||
- Tracker issues touched: #19 (closed), #20 (closed), #21 (commented), #23 (commented), #88 (filed+closed), #89 (filed), #90 (filed)
|
||||
- GPS audit script: projects/gps-rmm-audit/tools/gps-audit.py
|
||||
- Backup map: projects/gps-rmm-audit/backup-map.md
|
||||
- Master status: projects/gps-rmm-audit/gps-master-status.md
|
||||
Reference in New Issue
Block a user