Agent skill

Agent Info

by LanternOps in LanternOps/breeze

Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows.

AGPL-3.0Auto-check: notesDevelopment

Install Agent Info

skills CLI
$ npx skills add LanternOps/breeze --skill agent-info -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LanternOps/breeze agent-info --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/agent-info .claude/skills/agent-info && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
agent-info
GitHub stars
130
Token cost
~4.7k tokens
SKILL.md length
1,223 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows.

  • Works in 3 steps: Heartbeat (HTTP Polling) → WebSocket (Real-time) → Inventory (HTTP Push)
  • Working on agent code
  • SKILL.md covers Architecture Overview, CLI Commands, Config File (agent.yaml) and Communication Channels, plus 8 more sections
  • Calls make, go and curl; needs JWT_SECRET and BREEZE_API_KEY

What it does

Agent Info is an agent skill from LanternOps/breeze. Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows. Use when working on agent code, debugging agent issues, or understanding how the agent communicates with the API.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. The repository describes itself as: The open-source IT platform that comes with the workers. RMM + PSA in one system, with a governed AI operator built in. The licence is AGPL-3.0.

When your agent uses it

  • Working on agent code
  • Debugging agent issues
  • Understanding how the agent communicates with the API

Example prompts

  • “/agent-info”

Requirements

  • Docker
  • A credential in BREEZE_API_KEY
  • A credential in JWT_SECRET

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Heartbeat (HTTP Polling)
  2. WebSocket (Real-time)
  3. Inventory (HTTP Push)

What it can do on your machine

Read from SKILL.md and the folder at commit 1f72bb7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • go
    • curl
    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and docker, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • JWT_SECRET
    • BREEZE_API_KEY
    • AUTH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Agent Info loads about 4.7k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 1,223 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:209
    make dev-push    (reads .env.dev for defaults)
  • NoteMentions a .env fileSKILL.md:222
    ion 1: API key (recommended)** — Set in `.env.dev`:
  • NoteMentions a .env fileSKILL.md:224
    # .env.dev (gitignored, at repo root)
  • NoteMentions a .env fileSKILL.md:247
    - Secret: `JWT_SECRET` from `.env` (at repo root)
  • NoteMentions a .env fileSKILL.md:255
    # Easiest — uses .env.dev defaults (API key + device ID):
  • NoteMentions a .env fileSKILL.md:323
    │  # reads .env.dev for API key + device ID               │
  • NoteMentions a .env fileSKILL.md:347
    ild & push | `make dev-push` | API key (`.env.dev`) | Upload new binary, trigger agent restart |

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LanternOps/breeze at commit 1f72bb7, republished under its AGPL-3.0 licence (© LanternOps). 1,223 words, ~4,729 tokens.

Download SKILL.mdSave it as .claude/skills/agent-info/SKILL.md (or your agent's skills folder).
name
agent-info
description
Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows. Use when working on agent code, debugging agent issues, or understanding how the agent communicates with the API.

Breeze RMM Agent Reference

The Go agent runs on managed devices (Windows, macOS, Linux) and communicates with the Hono API server.

Architecture Overview

agent/
  cmd/breeze-agent/main.go    # Entry point (cobra CLI)
  agent.yaml                   # Config file (auto-generated on enroll)
  internal/
    config/config.go           # Config loading/saving (viper)
    heartbeat/heartbeat.go     # Main run loop, command dispatch, inventory
    websocket/client.go        # Real-time WebSocket connection
    collectors/                # System data collectors (per-platform)
    remote/
      tools/                   # Command handlers (processes, services, files, etc.)
      desktop/                 # WebRTC remote desktop
    terminal/                  # PTY management (per-platform)
    updater/                   # Self-update mechanism
    scripts/                   # Script execution runner
  pkg/api/client.go            # HTTP client for enrollment

CLI Commands

bash
breeze-agent run                        # Start the agent
breeze-agent enroll <key> --server URL  # Enroll with server
breeze-agent version                    # Print version
breeze-agent status                     # Check enrollment status
breeze-agent --config /path/to/file     # Use custom config

Config File (agent.yaml)

yaml
agent_id: <sha256-hash>
auth_token: brz_<hex-token>
org_id: <uuid>
site_id: <uuid>
server_url: http://localhost:3001
heartbeat_interval_seconds: 60
metrics_interval_seconds: 30
enabled_collectors:
  - hardware
  - software
  - metrics
  - network
  • Location: /etc/breeze/agent.yaml (Linux), /Library/Application Support/Breeze/agent.yaml (macOS), %ProgramData%\Breeze\agent.yaml (Windows)
  • Permissions: Directory 0700, file 0600 (contains auth token)
  • Auth token: brz_ prefix, stored as SHA-256 hash in DB (agentTokenHash column)

Communication Channels

1. Heartbeat (HTTP Polling)
  • POST /api/v1/agents/:id/heartbeat every 60s
  • Sends: CPU, RAM, disk metrics + status + agent version
  • Receives: pending commands, config updates, upgrade instructions
  • Auth: Authorization: Bearer brz_<token>
2. WebSocket (Real-time)
  • ws(s)://server/api/v1/agent-ws/:agentId/ws?token=brz_<token>
  • Receives commands instantly (no polling delay)
  • Sends command results + terminal output
  • Auto-reconnect with exponential backoff (1s initial, 60s max, 0.3 jitter)
  • Ping/pong keepalive: ping every 54s, pong timeout 60s
  • Max message size: 512KB
3. Inventory (HTTP Push)
  • Sent on startup + every 15 minutes
  • PUT /api/v1/agents/:id/software - software inventory
  • PUT /api/v1/agents/:id/disks - disk inventory
  • PUT /api/v1/agents/:id/network - network adapters
  • PUT /api/v1/agents/:id/connections - active connections
  • PUT /api/v1/agents/:id/patches - pending + installed patches
  • PUT /api/v1/agents/:id/eventlogs - event logs (every 5 min)

Command Types

All commands use: {id: string, type: string, payload: map[string]any} Results use: {type: "command_result", commandId: string, status: string, result: any}

Process Management
TypeHandlerPayload
list_processesListProcesses{search, sortBy, sortDir, page, limit}
get_processGetProcess{pid}
kill_processKillProcess{pid}
Service Management
TypeHandlerPayload
list_servicesListServices{search, page, limit}
get_serviceGetService{name}
start_serviceStartService{name}
stop_serviceStopService{name}
restart_serviceRestartService{name}
File Operations
TypeHandlerPayload
file_listListFiles{path}
file_readReadFile{path} (max 1MB)
file_writeWriteFile{path, content, encoding} (text or base64)
file_deleteDeleteFile{path, recursive}
file_mkdirMakeDirectory{path}
file_renameRenameFile{oldPath, newPath}
Terminal (PTY)
TypeHandlerPayload
terminal_startStartTerminal{sessionId, cols, rows}
terminal_dataWriteTerminal{sessionId, data}
terminal_resizeResizeTerminal{sessionId, cols, rows}
terminal_stopStopTerminal{sessionId}

Terminal output streams via WebSocket: {type: "terminal_output", sessionId, data} Terminal commands use term- prefix IDs and skip DB persistence.

Windows-Specific
TypeHandlerPayload
event_logs_listListEventLogs{}
event_logs_queryQueryEventLogs{logName, level, source, eventId, query, page, limit} (query = XPath, exclusive with level/source/eventId)
event_log_getGetEventLogEntry{logName, recordId}
tasks_listListTasks{folder, page, limit}
task_getGetTask{name, path}
task_runRunTask{name, path}
task_enableEnableTask{name, path}
task_disableDisableTask{name, path}
registry_keysListRegistryKeys{hive, path}
registry_valuesListRegistryValues{hive, path}
registry_getGetRegistryValue{hive, path, name}
registry_setSetRegistryValue{hive, path, name, type, data}
registry_deleteDeleteRegistryValue{hive, path, name}
System Commands
TypeHandlerPayload
rebootReboot{delay}
shutdownShutdown{delay}
lockLock{}
collect_softwareinline{}
start_desktopdesktop.SessionManager{sessionId, offer}
stop_desktopdesktop.SessionManager{sessionId}

Enrollment Flow

  1. User runs: breeze-agent enroll <key> --server <url>
  2. Agent collects hardware info via collectors.HardwareCollector
  3. POST /api/v1/agents/enroll with enrollment key + device info
  4. Server returns: {agentId, authToken, orgId, siteId, config}
  5. Agent saves config to agent.yaml with 0600 permissions
  6. Auth token stored as SHA-256 hash in devices.agentTokenHash

Command Execution Flow

API creates command (DB) → dispatches via WebSocket (or heartbeat response)
  → Agent receives {id, type, payload}
  → heartbeat.executeCommand() dispatches to handler
  → Handler returns tools.CommandResult {status, stdout, stderr, error}
  → Result sent via WebSocket AND HTTP POST to /agents/:id/commands/:cmdId/result

Build & Development

bash
cd agent
make run              # Build and run locally
make build-all        # Cross-compile (windows/linux/darwin, amd64/arm64)
go build -o /tmp/breeze-agent-bin ./cmd/breeze-agent/  # Quick build
/tmp/breeze-agent-bin run  # Run built binary (needs 'run' subcommand!)

Key Dependencies

  • github.com/gorilla/websocket - WebSocket client
  • github.com/spf13/cobra - CLI framework
  • github.com/spf13/viper - Configuration management
  • github.com/shirou/gopsutil - System metrics collection
  • github.com/pion/webrtc - Remote desktop (WebRTC)

Platform-Specific Files

Many packages have platform-specific implementations:

  • *_darwin.go - macOS
  • *_linux.go - Linux
  • *_windows.go - Windows
  • *_other.go - Stub for unsupported platforms

Notable: Terminal PTY uses cgo on macOS (pty_darwin.go) for posix_openpt/grantpt/unlockpt/ptsname.

Dev Push (Fast Binary Update)

Bypasses the full release cycle for rapid agent iteration: build → upload → restart in seconds.

Flow
make dev-push    (reads .env.dev for defaults)
  1. Cross-compile binary (queries device OS/arch from API)
  2. Upload binary via POST /api/v1/dev/push (multipart, JWT or API key auth)
  3. API saves to temp dir, computes SHA256, creates ephemeral download URL (5-min TTL)
  4. API sends `dev_update` command to agent via WebSocket
  5. Agent disables auto_update (persisted to config), downloads binary, verifies checksum
  6. Agent backs up current binary, replaces, restarts
Authentication

Dev-push accepts two auth methods (JWT or API key). Prefer the API key — it doesn't expire hourly.

Option 1: API key (recommended) — Set in .env.dev:

bash
# .env.dev (gitignored, at repo root)
BREEZE_API_KEY=brz_XXXX          # from web UI → Settings → API Keys
BREEZE_DEV_DEVICE=<device-uuid>
BREEZE_API_URL=http://localhost:3001

Then just cd agent && make dev-push — no extra args needed.

The dev-push route sends X-API-Key header when the token starts with brz_, Authorization: Bearer otherwise.

Option 2: JWT — For endpoints that don't accept API keys (e.g. /devices/:id/diagnostic-logs):

bash
# Generate a 1-hour JWT token:
./agent/scripts/gen-jwt.sh                    # uses first user in DB
./agent/scripts/gen-jwt.sh todd@olivetech.co  # specific user

# Use it:
export TOKEN=$(./agent/scripts/gen-jwt.sh)
curl -H "Authorization: Bearer $TOKEN" http://localhost:3001/api/v1/devices/<id>/diagnostic-logs

JWT requirements (if generating manually):

  • Library: jose (NOT jsonwebtoken)
  • Algorithm: HS256
  • Secret: JWT_SECRET from .env (at repo root)
  • Required claims: iss: "breeze", aud: "breeze-api"
  • Required fields: sub (real user UUID from users table), email, scope: "system", type: "access"
  • User lookup: docker exec breeze-postgres-dev psql -U breeze -d breeze -t -c "SELECT id, email FROM users LIMIT 3;"
Usage
bash
# Easiest — uses .env.dev defaults (API key + device ID):
cd agent && make dev-push

# Override device or token:
make dev-push DEVICE=<deviceId>
make dev-push AUTH_TOKEN=<jwt-or-api-key>

# Manual — build + push separately:
cd agent
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-X main.version=dev-$(date +%s)" \
  -o bin/breeze-agent-dev ./cmd/breeze-agent
curl -X POST http://localhost:3001/api/v1/dev/push \
  -H "X-API-Key: brz_XXXX" \
  -F "agentId=DEVICE_ID" \
  -F "binary=@bin/breeze-agent-dev"
Command Reference
TypePayloadNotes
dev_update{downloadUrl, checksum, version}Disables auto_update, triggers UpdateFromURL
Key Files
FilePurpose
apps/api/src/routes/devPush.tsUpload endpoint + ephemeral download route
agent/internal/heartbeat/handlers_devupdate.gohandleDevUpdate — disables auto-update, triggers updater
agent/internal/updater/updater.go → UpdateFromURL()Direct URL download (skips version-lookup API)
agent/internal/config/config.go → SaveTo()Persists auto_update flag across restarts
Guard Rails
  • Production disabled: only works when NODE_ENV !== 'production' or DEV_PUSH_ENABLED=true
  • Auto-update disabled: dev_update sets auto_update: false in config to prevent heartbeat from overwriting the dev binary
  • Re-enable: set auto_update: true in agent.yaml or re-enroll the device
  • Ephemeral: download tokens expire after 5 minutes and files auto-cleanup
Show full SKILL.md (502 more words)Show less
Dev Iteration Loop

The intended workflow for debugging/developing agent code: fetch logs → fix code → build & push → check logs.

┌─────────────────────────────────────────────────────────┐
│  1. FETCH LOGS — see what's happening on the agent      │
│                                                         │
│  # Get recent agent logs (shipped from agent → DB)      │
│  GET /api/v1/devices/:id/diagnostic-logs                │
│    ?level=warn,error                                    │
│    ?component=updater                                   │
│    ?search=keyword                                      │
│    ?since=2026-02-15T00:00:00Z                          │
│                                                         │
│  # Or bump log level for more detail (auto-reverts)     │
│  Send `set_log_level` command:                          │
│    {level: "debug", durationMinutes: 30}                │
│                                                         │
│  # Direct DB query for fastest access:                  │
│  psql: SELECT * FROM agent_logs                         │
│    WHERE device_id = '<id>'                             │
│    ORDER BY timestamp DESC LIMIT 50;                    │
├─────────────────────────────────────────────────────────┤
│  2. FIX CODE — edit Go source in agent/internal/...     │
├─────────────────────────────────────────────────────────┤
│  3. BUILD & DEPLOY — push new binary to live agent      │
│                                                         │
│  cd agent && make dev-push                              │
│  # reads .env.dev for API key + device ID               │
│                                                         │
│  Agent restarts with new binary in ~5 seconds.          │
├─────────────────────────────────────────────────────────┤
│  4. CHECK LOGS — verify the fix                         │
│                                                         │
│  GET /api/v1/devices/:id/diagnostic-logs                │
│    ?since=<deploy-time>                                 │
│                                                         │
│  Look for:                                              │
│    - New agent version in logs (dev-<timestamp>)        │
│    - Error/warn messages resolved                       │
│    - Expected behavior in component logs                │
│                                                         │
│  If not fixed → loop back to step 1                     │
└─────────────────────────────────────────────────────────┘

API endpoints used in the loop:

StepEndpointAuthPurpose
Fetch logsGET /api/v1/devices/:id/diagnostic-logsJWT (gen-jwt.sh)Query shipped agent logs with filters
Bump log levelset_log_level command via WSAgentTemporarily increase verbosity
Build & pushmake dev-pushAPI key (.env.dev)Upload new binary, trigger agent restart
Check logsGET /api/v1/devices/:id/diagnostic-logs?since=...JWT (gen-jwt.sh)Verify fix after deploy

Log shipping pipeline: Agent logging package → buffer → POST /api/v1/agents/:id/logs → agent_logs table → queryable via /devices/:id/diagnostic-logs

Filters: ?level=, ?component=, ?search=, ?since=, ?until=, ?page=, ?limit= (max 1000)

Agent Version Management & Upgrades

Release Pipeline
Tag commit (v*) → GitHub Actions builds all platforms → Assets uploaded to GitHub Releases
  → API syncs versions via POST /api/v1/agent-versions/sync-github
  → Registered in `agent_versions` table with download URLs + SHA256 checksums
  → Agents auto-upgrade via heartbeat response `upgradeTo` field
Version Registry (Database)

The agent_versions table tracks each binary per platform/arch/component.

EndpointAuthPurpose
GET /agent-versions/latest?platform=X&arch=YNoneGet latest version info + download URL
GET /agent-versions/:version/download?platform=X&arch=YNoneGet download URL for specific version
POST /agent-versionsSystemManually register a version
POST /agent-versions/sync-github?version=vX.Y.ZSystemSync from GitHub releases
Auto-Upgrade via Heartbeat

On each heartbeat, the API compares the agent's reported version against the latest registered version:

  • Semver builds (e.g. 0.12.0): upgraded when a newer version exists (compareAgentVersions)
  • Dev builds (dev-*): always offered the latest release version (dev versions can't be semver-compared)
  • The heartbeat response includes upgradeTo: "X.Y.Z" which the agent acts on

Key code: apps/api/src/routes/agents/heartbeat.ts lines ~188-198

Self-Update Mechanism (Agent Side)
  1. Agent receives upgradeTo in heartbeat response
  2. Calls GET /api/v1/agent-versions/{version}/download?platform=X&arch=Y to get URL + checksum
  3. Downloads binary from URL (GitHub CDN, S3, or local API)
  4. Verifies SHA256 checksum
  5. Backs up current binary to .backup
  6. Platform-specific restart:
    • Windows: Spawns detached PowerShell script (stop service → copy binary → start service)
    • Linux: systemctl restart breeze-agent
    • macOS: launchctl kickstart -k system/com.breeze.agent
    • Fallback: syscall.Exec() to replace process
  7. On failure, restores from .backup

Key files: agent/internal/updater/updater.go, agent/internal/heartbeat/heartbeat.go

Upgrading from Dev Build to Release

Dev-push sets auto_update: false in the agent config to prevent heartbeat from overwriting dev binaries. To return a device to the release track:

Option 1 — Edit agent config (on the device): Set auto_update: true in agent.yaml, then restart the agent. The next heartbeat will trigger upgrade to latest release.

Option 2 — Re-enroll the device (clean slate).

Note: The compareAgentVersions function returns 0 for dev versions (can't parse dev-* as semver), so the heartbeat has special handling: if agentVersion.startsWith('dev-'), it always sets upgradeTo to the latest release regardless of comparison.

Binary Serving Modes

Controlled by BINARY_SOURCE env var:

ModeBehavior
github (default)Redirects agent to GitHub Releases CDN
local + S3Generates presigned S3 URLs
local (disk)Serves from ./agent/bin/ (or AGENT_BINARY_DIR)
Install Scripts
PlatformScriptBinary LocationService
Linuxagent/scripts/install/install-linux.sh/usr/local/bin/breeze-agentsystemd (breeze-agent.service)
macOSagent/scripts/install/install-darwin.sh/usr/local/bin/breeze-agentlaunchd (com.breeze.agent.plist)
Windowsagent/scripts/install/install-windows.ps1C:\Program Files\Breeze\breeze-agent.exeWindows Service (BreezeAgent)

Dynamic installer endpoint: GET /api/v1/agents/install.sh — detects OS/arch, downloads binary, enrolls, installs service.

Security

  • Agent auth: brz_ token in Authorization: Bearer header
  • Server validates via SHA-256 hash comparison (same pattern as API keys)
  • Rate limited: 120 req/60s per agent via Redis sliding window
  • WebSocket token passed as query parameter, validated on connect
  • Config file restricted to owner-only (0600)
  • Mutating commands are audit-logged with actorType: 'agent'

© LanternOps, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/agent-info of LanternOps/breeze.

Open the folder on GitHubat commit 1f72bb7

Compare with similar skills

Agent Info next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Agent Info compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Agent Info this skillLanternOps/breeze130—~4.7kAutomated safety check: NotesAGPL-3.0
Backend Code Reviewlanggenius/dify158k—~676Automated safety check: PassCustom licence
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Twenty App Entity Developmenttwentyhq/twenty58k—~1.8kAutomated safety check: PassCustom licence
Go Pedantrychromedp/chromedp13k—~3.7kAutomated safety check: PassMIT
Gumroad Prod Consoleantiwork/gumroad9.8k—~2.9kAutomated safety check: NotesMIT

Similar skills

  • Backend Code Review

    langgenius/dify

    Reviews backend code under api/ for concrete, reproducible defects, routes to rule packs for architecture, schema, repositories and SQLAlchemy, and ranks findings from P0 to P3.

    158k GitHub stars~676 tokensUpdated today
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Guides changes to an existing Twenty app: adding or editing objects, layouts, logic functions and front components, with a plan stated before multi-entity edits.

    58k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Gumroad Prod Console

    antiwork/gumroad

    Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.

    9.8k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • LangBot Plugin Development

    langbot-app/LangBot

    Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.

    18k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed

More from LanternOps/breeze

All 14 skills in this repo
  • Agent Log Debugging

    LanternOps/breeze

    A skill your agent uses when debugging agent issues, investigating agent errors, checking agent connectivity, or reviewing agent diagnostic logs.

    130 GitHub stars~1.6k tokensUpdated today
    Auto-check: notes
  • AI Agent

    LanternOps/breeze

    Quick reference for the Breeze RMM AI Agent system architecture, MCP tools, streaming chat, cost tracking, guardrails, and MCP server.

    130 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Breeze Helper

    LanternOps/breeze

    Quick reference for the Breeze Helper Tauri desktop app — architecture, Rust backend commands, React frontend, config files, IPC with the Go agent, helper chat API routes, tool approval flow, and…

    130 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • E2E Coverage

    LanternOps/breeze

    A skill your agent uses when running a broad manual/AI-driven end-to-end verification of Breeze RMM across many merged PRs or commits — "test everything since the last release", release-readiness…

    130 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Feature Delivery

    LanternOps/breeze

    A skill your agent uses when orchestrating Breeze implementation work from this seat — dispatching waves or issue fixes to background sessions, deciding whether an open PR gets merged, handling a…

    130 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Gh Queue

    LanternOps/breeze

    A skill your agent uses when reviewing, triaging, or managing the incoming GitHub backlog on the Breeze repo — PRs, Discussions, AND Issues.

    130 GitHub stars~5k tokensUpdated today
    Auto-check passed

Questions about Agent Info

What does Agent Info do?

Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows. Agent Info is an agent skill from LanternOps/breeze. Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows.

When should I use Agent Info?

Agent Info fits situations like: working on agent code; debugging agent issues; understanding how the agent communicates with the API.

How do I install Agent Info in Claude Code?

Run `npx skills add LanternOps/breeze --skill agent-info -a claude-code`. Or copy the skill folder (.claude/skills/agent-info in LanternOps/breeze) into .claude/skills/agent-info in your project. Claude Code loads it when a task matches its description.

How do I install Agent Info in Codex?

Run `npx skills add LanternOps/breeze --skill agent-info -a codex`. Or copy the skill folder (.claude/skills/agent-info in LanternOps/breeze) into .agents/skills/agent-info in your project. Codex loads it when a task matches its description.

Can I use Agent Info in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LanternOps/breeze --skill agent-info -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-info, .gemini/skills/agent-info, .github/skills/agent-info and .opencode/skills/agent-info in your project.

What does Agent Info need to run?

Going by SKILL.md and its folder, Agent Info needs the command-line tools its instructions call (make, go, curl and docker) and credentials named JWT_SECRET, BREEZE_API_KEY and AUTH_TOKEN. Our summary lists: Docker; A credential in BREEZE_API_KEY; A credential in JWT_SECRET.

Does Agent Info access the network?

SKILL.md contains no URLs. Its commands use curl and docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Agent Info safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Agent Info use?

Agent Info is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Agent Info use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Agent Info?

Skills that share tags, products or a category with Agent Info: Backend Code Review (langgenius/dify, 158k stars), Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars), Twenty App Entity Development (twentyhq/twenty, 58k stars) and Go Pedantry (chromedp/chromedp, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Agent Info?

LanternOps (a GitHub organization) maintains it in LanternOps/breeze, which has 130 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

Source: LanternOps/breeze on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.