一键导入
latitude-agent-review
Review Hermes Latitude traces, multi-tenant Orgo fleet coverage (project-per-customer, OTEL), and telemetry insights.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review Hermes Latitude traces, multi-tenant Orgo fleet coverage (project-per-customer, OTEL), and telemetry insights.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Set up AgentCard MCP for Hermes.
Manage prepaid virtual Visa cards for AI agents with AgentCard. Create cards, check balances, view credentials, pay for things, shop and check out at merchants like DoorDash, close cards, manage plans, and get support. Use when the user wants to create or manage virtual payment cards for AI agents, pay for online purchases, shop on their behalf, set up agent spending, or configure card billing and limits.
Use when diagnosing, comparing, or tuning an AI agent's context window, token budget, output reserve, automatic compaction threshold, or provider-specific context cap. Separates model capability from route limits and client bookkeeping, verifies live metadata before editing config, and prevents unsafe fake context-length overrides.
Use when choosing Hermes vs Claude Code / Codex / Grok Build for coding work, wiring multi-CLI specialist setup, or diagnosing specialist auth/availability on Dewey.
Class-level workflow for configuring Hermes Agent messaging gateway platforms, especially QR/managed onboarding flows such as Telegram.
Use Orgo cloud computers via CLI and MCP.
| name | latitude-agent-review |
| description | Review Hermes Latitude traces, multi-tenant Orgo fleet coverage (project-per-customer, OTEL), and telemetry insights. |
| version | 0.3.8 |
| author | Hermes |
| metadata | {"hermes":{"tags":["Latitude","Observability","Telemetry","Analysis","Orgo","MultiTenant"]}} |
Use this skill to review Hermes Agent activity through Latitude telemetry and turn raw traces into operational insight. It does not replace source-of-truth inspection of files, apps, or live systems; Latitude tells you what happened in observed runs, not whether the outside world is currently correct. Prefer the Latitude MCP server when available; fall back to the terminal tool with the latitude CLI only when MCP tools are missing.
Also use for multi-tenant fleet coverage: "are Momentum VMs in Latitude?", "should we add everything?", project-per-customer layout, OTEL resource conventions, Orgo computer × Latitude service audits. Full procedure: references/orgo-fleet-coverage.md. For new customer project + install (including thin pilots when Nick asks): references/hermes-otel-backfill.md (plugin path preferred for Telegram pilots).
references/customer-adoption-analysis.md; report strict confirmed-use and broader telemetry counts separately.mcp__latitude__listProjects, mcp__latitude__listTraces, mcp__latitude__listTraceSpans, mcp__latitude__getTraceSpan, mcp__latitude__queryAnalytics, and mcp__latitude__querySpans.mcp__latitude__listProjects.LATITUDE_API_KEY in .env or environment; LATITUDE_BASE_URL only for a self-hosted Latitude API.terminal tool with date -u +%Y-%m-%dT%H:%M:%SZ before constructing explicit fromIso / toIso ranges.Canonical path: use mcp__latitude__listProjects to get the project slug, then use Latitude MCP analytics and trace tools to collect evidence, and synthesize a short findings list with trace IDs, span IDs, metric values, and confidence labels. If the user referred to "what we just did," also use session_search for conversation history when available; if history is absent, state the scope you inferred and proceed from recent Latitude traces.
Fleet coverage path: follow references/orgo-fleet-coverage.md (Orgo inventory + service aggregation + gap report). Do not answer "is the fleet on Latitude?" from memory.
New-customer / pilot setup path: follow references/hermes-otel-backfill.md (latitude projects create + plugin or OTEL bootstrap + verify traces list). Never put customers into dewey. Files alone often leave the UI on "Waiting for first trace."
references/openrouter-cost-attribution.md: reconcile OpenRouter key-level billed usage with estimated Latitude trace costs; reprice token categories from the live model catalog; detect shared keys, provider double-attribution, and runaway cached context.references/orgo-fleet-coverage.md: multi-tenant project-per-customer model, OTEL resource convention, Orgo×Latitude coverage audit, sampling, rollout order (Momentum 2026-07 snapshot).references/customer-adoption-analysis.md: distinguish provisioned, emitting, user-active, operationally used, and production adoption; validate service filters; decompose flagship/cron concentration; attribute signals by service.references/hermes-otel-backfill.md: project create; plugin path vs OTel-only; empty UI; smoke test + hermes chat -Q; OTel pins (anthropic 0.61.0); X-Latitude-Project; env quoting; host terminal gateway-kill guard; Budgetdog example.references/monitors-and-signal-triage.md: flat CreateMonitorBody, dry-run false positive, fleet monitor pack, escalating signal triage, shallow-span fallback to conversation.references/latitude-signals-best-practices.md: official-doc-grounded guidance for signals, saved searches, monitors, annotations, capture, and default thresholds.references/implementation-patterns.md: API auth, flat monitor create (not nested rule), inline monitor fallbacks, metric units, capture summaries, validation.references/dewey-telemetry-durability.md: durable editable-package patches, metric units, API-key vs OAuth saved-search behavior.mcp__latitude__listProjects: list project slugs.mcp__latitude__listTraces: newest trace rows, session IDs, cost, tokens, errors.mcp__latitude__getTrace: trace metadata and captured conversation, if stored.mcp__latitude__listTraceSpans: span timeline and tool/model sequence.mcp__latitude__getTraceSpan: full span payload when captured.mcp__latitude__queryAnalytics: aggregate metrics by model, provider, tool, status.mcp__latitude__querySpans: drill into individual error or slow spans.mcp__latitude__listSignals: existing signal definitions and occurrences.session_search: recover prior chat context when the user references it.terminal: current UTC time or CLI fallback.references/orgo-fleet-coverage.md first.
0b. If Nick wants Latitude set up for a customer, follow references/hermes-otel-backfill.md.
traces list (smoke or hermes chat -Q); Nick told spend starts at $0 until traffic (tokens may still count).Resolve scope.
momentumclaw, budgetdog, etc.), never default customer traffic into dewey.session_search only for missing conversational context.Establish the recent trace set.
{"projectSlug":"<slug>","limit":10,"sortBy":"startTime","sortDirection":"desc"}
Call mcp__latitude__listTraces with those parameters. Record trace IDs, session IDs, models, providers, token totals, costs, duration, and error counts.
Read the run shape, not just the headline row.
{"projectSlug":"<slug>","traceId":"<traceId>"}
Call mcp__latitude__listTraceSpans for the relevant trace IDs. Build a timeline: LLM request, tool call, LLM request, tool call, final response. Use mcp__latitude__getTraceSpan only when span content is needed and latitude.captured.content is true.
Run targeted aggregates.
references/openrouter-cost-attribution.md. Separate key-level billed usage, Latitude's estimated trace cost, and a repriced trace estimate. Check costIsEstimated, successful provider spans, current model-catalog rates, and shared-key reuse. Do not sum trace-level provider rows when abandoned fallback spans cause full-trace double attribution.{
"projectSlug":"<slug>",
"body":{
"stream":"traces",
"breakdown":"model",
"metric":{"kind":"count"},
"range":{"fromIso":"<start>Z","toIso":"<end>Z"},
"limit":20
}
}
Repeat with metric:{"kind":"errorRate"}, metric:{"kind":"sum","field":"cost"}, and for spans use stream:"spans", breakdown:"status" or breakdown:"operation".
Separate telemetry artifacts from real failures.
llm_request abandoned before post_llm_call and llm_request superseded by retry as retry/fallback telemetry until proved otherwise.statusCode:"error" or nonzero tool failure clusters as stronger evidence of real agent failure.If implementing resources, follow the implementation checklist.
name, target, severity, trigger, metric, condition). Nested rule from list responses → 400 Invalid input. See references/monitors-and-signal-triage.md.--dry-run is not schema-safe: nested-rule bodies can dry-run OK and still 400 on live create. Confirm with live create + monitors list.signals listTraces → map service to computer → traces get conversation when listSpans is shallow.id:null). signals monitor may also 400 under API-key — leave flagger active.queryAnalytics (cost dollars, duration seconds, tokens count).references/implementation-patterns.md.Convert observations into actionable insights. Use this order: user-visible failures, runaway cost/context, slow spans, brittle tool routing, missing observability. Include confidence labels: high when supported by repeated aggregates, moderate when supported by a few traces, low when inferred from sparse data.
If creating or updating a skill, distill the observed workflow.
Use skill_view for relevant existing skills, then save the new procedure with skill_manage. Do not include private trace IDs in the skill body unless they are necessary examples; keep trace IDs in the final report instead.
skill_manage reports success and the skill has a short frontmatter description under 60 characters.getTrace may return conversation: []; use spans and session history instead of inventing missing content.getTraceSpan may show empty toolInput / toolOutput when latitude.captured.content is false. That is a capture policy limit, not proof the tool had no arguments.errorRate can be misleading when every run includes an abandoned fallback span. Inspect span statusMessage before calling a run failed.listTools can be very large and truncated. Prefer queryAnalytics for bounded summaries.chat spans before making claims about the final answering model. Abandoned fallback spans can make trace-level provider analytics assign the same full trace cost to multiple providers; never sum those provider rows without span-level reconciliation.costIsEstimated:true means Latitude is not billing truth. For OpenRouter, compare direct key usage and reprice token categories using the current public model catalog; cached reads and writes are discounted, not free.timeToFirstTokenNs: 0 often means not captured, not instant streaming.serviceNames vs Orgo computer inventory.filters.serviceNames and verify every returned row's serviceNames; unknown singular keys may be silently ignored and return unrelated traces.queryAnalytics count with getTraceAnalytics raw traces and getUsersOverview sessions/users before publishing totals.hermes-* services; say so explicitly.OTEL_* is not definitive if Latitude already shows that service; confirm with a fresh interaction after instrumentation changes.dewey or other customers' projects.rule JSON into create fails; use flat CreateMonitorBody.openai.chat span does not mean no tools — read conversation from traces get.provision.ts) can install Latitude via OTel .pth + ~/.hermes/.latitude.json (project default momentumclaw) fail-open. Prefer that over hand-copying Dewey LATITUDE_* packs onto large fleets. OpenClaw-only product APIs will not emit hermes-* services.monitors list on the customer project; zero monitors is a separate action pack..latitude.json present ≠ instrumented: still need gateway-venv OTel packages, latitude_bootstrap.pth, and a live gateway; see references/hermes-otel-backfill.md.start_new_session and re-check port.hermes-* services only.pgrep/logs.send_test_trace.py), enable latitude-telemetry-hermes + LATITUDE_PROJECT in gateway env, restart on the VM, force one hermes chat -Q turn, then traces list. Hard-refresh the UI..env values with spaces break source (e.g. user names) and can leave gateway without Latitude env.For review-only work, run one bounded mcp__latitude__queryAnalytics count over the chosen project and time range, then cite at least one returned trace ID or span status in the final insight. The review worked only if the final answer contains evidence-backed implications, not just raw telemetry.
For implementation work, also verify resource read-back and unit correctness:
latitude traces list --project-slug <slug> returns ≥1 item before telling Nick "it's live".