Add SDK skills, Hubble agents, and correct the cloud-api reference#4
Add SDK skills, Hubble agents, and correct the cloud-api reference#4heemanshoe wants to merge 4 commits into
Conversation
New plugins modeled on Plaud's embedded-skills pattern (when-to-use, prerequisites, hosted-doc links, reference files, definition-of-done): - hubble-device-sdk: firmware integration for BLE 5.0+ chips (Zephyr, FreeRTOS/TI, ESP-IDF, bare metal), onboarding, encryption modes, radio-to-cloud verification - hubble-mobile-sdk: Gateway SDK for iOS/Android background BLE gateways (permissions, background tasks, privacy controls) - hubble-gateway-sdk: Linux/Raspberry Pi gateway service and the hubble_gateway Python library hubble-cloud-api skill regrounded in cloud/platform-api/openapi.yaml (the api.hubble.com spec): real scope names (read-devices style), full v2 registration body (eid_rotation, names/tags, key_format), set_-prefixed PATCH fields, Hubble-generated webhook secrets, start/end packet params with platform-tag-only filtering, days/ time_interval metrics params, new billing endpoints, and removal of fabricated fields (dev_eui, X-RateLimit headers, per-item batch statuses). Bundled OpenAPI spec replaced with the real one. pyhubblenetwork added as a prerequisite/verification tool across the device, gateway, mobile, and cloud-api skills. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AfsFXKAz1H8cbELwMmapp3
- hubble-firmware-engineer: device flashing (Zephyr/FreeRTOS/ESP-IDF) through beaconing, or gateway bring-up (Linux service, Python library, mobile SDK), with layer-by-layer pyhubblenetwork debugging - hubble-api-engineer: Cloud API onboarding and data in/out (scoped keys, v2 registration, webhooks, packet streaming, metrics) Both route through the marketplace skills for authoritative steps. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AfsFXKAz1H8cbELwMmapp3
The explicit "agents" array in plugin.json suppressed component discovery: the plugin installed with Agents (0). Removing the key lets the loader auto-discover agents/ (verified: Agents (2)). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AfsFXKAz1H8cbELwMmapp3
PR SummaryMedium Risk Overview hubble-cloud-api documentation is rewritten to match the Platform API/OpenAPI: Root README and marketplace.json document and register all five plugins. Reviewed by Cursor Bugbot for commit c5fd617. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit c5fd617. Configure here.
An empty Continuation-Token only means "done" for bounded queries. On an open /packets stream it means "caught up": keep the last non-empty token, honor Retry-After, and poll again. The reference snippet and examples broke on empty, which would silently stop live ingestion (PR #4 review). - api-reference.md: split the pattern into fetch_bounded and tail_stream - SKILL.md: pagination steps now distinguish bounded vs open - examples.md: stream_packets is explicitly bounded (end defaults to now); PacketMonitor pins its start timestamp so a caught-up first poll can't advance the window and skip packets Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AfsFXKAz1H8cbELwMmapp3

New skill plugins
Each SKILL.md is a lean router: when-to-use, prerequisites checklist, links to hosted docs, reference files for the heavy detail, and a definition-of-done. The skills cross-reference each other so an agent that lands on the wrong SDK gets routed.
New agents plugin
hubble-cloud-api skill regrounded in the real spec
The old reference drifted from the actual API. This rewrites it against
cloud/platform-api/openapi.yaml(the api.hubble.com surface). Highlights:read-devices/write-devicesstyle, notdevices:readeid_rotation,names/tagsarrays,install_locations,key_format=hex, AES-128-EAXset_-prefixed fields; batch responses return device objects, not per-item statusesstart/endin unix seconds, platform-tag-onlyfilter_tags,TERRESTRIAL/SATELLITEnetwork types, continuation-token semantics, 30-day retentiondev_eui, devicestatus,X-RateLimit-*headers, 207 responsespyhubblenetwork is now a prerequisite/verification tool across all four skills.
Verification
Drove the real surface end to end with the
claudeCLI:plugin validatepasses on the marketplace and all 5 plugins, localmarketplace add+installregisters every component (Skills (1)each,Agents (2)for hubble-agents), and uninstall/remove restores cleanly. That run caught the agent-discovery bug fixed in the third commit: an explicitagentskey in plugin.json suppressed discovery, so the plugin installed with zero agents.🤖 Generated with Claude Code
https://claude.ai/code/session_01AfsFXKAz1H8cbELwMmapp3