Archestra Dev Observability
archestra-ai/archestra
A skill your agent uses when changing Archestra tracing, metrics, OpenTelemetry, Tempo, Grafana, Prometheus, LLM/MCP spans, observability labels, or local observability setup.
Debug the running local stack with traces, logs, and a shared headless browser.
$ npx skills add macro-inc/macro --skill live-debug -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install macro-inc/macro live-debug --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/macro-inc/macro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/live-debug .claude/skills/live-debug && rm -rf skills-srcUse ~/.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/
Install the "live-debug" agent skill from https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debug into .claude/skills/live-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "live-debug", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debugType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add macro-inc/macro --skill live-debug -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install macro-inc/macro live-debug --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macro-inc/macro.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/live-debug .agents/skills/live-debug && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "live-debug" agent skill from https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debug into .agents/skills/live-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "live-debug", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add macro-inc/macro --skill live-debug -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install macro-inc/macro live-debug --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macro-inc/macro.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/live-debug .cursor/skills/live-debug && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "live-debug" agent skill from https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debug into .cursor/skills/live-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "live-debug", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/macro-inc/macro.git --path .claude/skills/live-debug--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add macro-inc/macro --skill live-debug -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install macro-inc/macro live-debug --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macro-inc/macro.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/live-debug .gemini/skills/live-debug && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "live-debug" agent skill from https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debug into .gemini/skills/live-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "live-debug", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install macro-inc/macro live-debugInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add macro-inc/macro --skill live-debug -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/macro-inc/macro.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/live-debug .github/skills/live-debug && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "live-debug" agent skill from https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debug into .github/skills/live-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "live-debug", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add macro-inc/macro --skill live-debug -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install macro-inc/macro live-debug --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macro-inc/macro.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/live-debug .opencode/skills/live-debug && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "live-debug" agent skill from https://github.com/macro-inc/macro/tree/main/.claude/skills/live-debug into .opencode/skills/live-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "live-debug", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
live-debugDebug the running local stack with traces, logs, and a shared headless browser.
Live Debug is an agent skill from macro-inc/macro. Debug the running local stack with traces, logs, and a shared headless browser. Use when investigating a bug in a running service, tracing a request across services, reading service logs, reproducing a frontend issue, or writing/reviewing tracing instrumentation.
Its SKILL.md is about 2.4k 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 DevOps & Cloud, covering Browser automation, Monitoring and alerting and Debugging. It works with Grafana, Model Context Protocol, OpenTelemetry and Prometheus. The repository describes itself as: Macro is a unified workspace for teams: email, chat, docs, tasks, agents, calls, and CRM — @-linked together with shared AI memory. The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit 39f3c91. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
justcurljqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Live Debug loads about 2.4k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 1,157 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Grep, GlobAutomated 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.
The full file from macro-inc/macro at commit 39f3c91, republished under its AGPL-3.0 licence (© macro-inc). 1,157 words, ~2,360 tokens.
.claude/skills/live-debug/SKILL.md (or your agent's skills folder).just run_local and just stack up start the LGTM collector by default and
the agent browser with --with-chrome (both global: one per machine, shared
across instances, left running):
| Endpoint | What |
|---|---|
| http://localhost:3001 | Grafana (anonymous admin) — traces + logs UI |
| http://localhost:3200 | Tempo API — traces |
| http://localhost:3100 | Loki API — service logs |
| http://localhost:9090 | Prometheus API — metrics |
| localhost:4317 / 4318 | OTLP intake (gRPC / HTTP), alias otel-collector |
| http://localhost:9222 | Headless Chrome (CDP) |
--traces off disables the collector; --traces jaeger|datadog swaps it.
All collectors bind 4317/4318 — exactly one runs at a time.
Every Rust service exports spans AND its tracing events (as correlated log
records) over OTLP. The frontend exports browser spans through the proxy and
propagates traceparent, so one trace covers browser → proxy → services.
Wiring happens at stack start: if you start a collector by hand, restart the
stack to pick it up.
The grafana MCP server (.mcp.json / opencode.json / .cursor/mcp.json,
Docker mcp/grafana on the host network) is pointed at this Grafana. Prefer its tools:
query_loki_logs, list_loki_label_values, find_error_pattern_logstempo_traceql-search, tempo_get-trace,
tempo_get-attribute-values, tempo_docs-traceql (proxied from Tempo's
own MCP server; every tempo_* call needs datasourceUid: "tempo")query_prometheus; plus search_dashboards, generate_deeplinkDatasource UIDs are stable: loki, prometheus, tempo, pyroscope.
Typical calls — service names are the binary names (email_service,
document-storage-service); match on route, duration, or any span attribute:
tempo_traceql-search {datasourceUid: "tempo", query: '{resource.service.name="email_service" && status=error}'}
(also '{span.http.route="/documents" && duration>500ms}'), then
tempo_get-trace with the returned trace ID. Searches default to the past
hour; widen with RFC3339 start/end.query_loki_logs {datasourceUid: "loki", logql: '{service_name="email_service"} |= "error"'}
— log lines carry trace_id/span_id for correlation. Discover services
with list_loki_label_values on service_name.Timing quirks: Tempo's search index flushes every ~30s — a trace you just produced is fetchable by ID immediately but may not show in search yet.
Everything above is also plain HTTP: TraceQL search at
http://localhost:3200/api/search?q=<traceql>, trace fetch at
/api/traces/<id>, LogQL at
http://localhost:3100/loki/api/v1/query_range?query=<logql> (start/end
are unix epoch nanoseconds). Use the HTTP form when there is no MCP (pi),
and for bulk retrieval you want to reduce before reading — a full trace can
be 50+ spans, so curl /api/traces/<id> | jq (filter to slow spans, compute
offsets) beats dumping tempo_get-trace output into context. docker compose -p macro logs -f <service> still works for raw stdout, but Loki is queryable
and survives restarts.
Verbosity knobs (set in the shell before just run_local, or per service in
Doppler): RUST_LOG filters console + Loki output; OTEL_TRACE_FILTER
independently filters exported spans (default info). Lowering RUST_LOG
never silences traces.
--with-chrome runs a headless Chrome in Docker with CDP on 9222 (if 9222
doesn't answer, start it: the compose command is in the headless-chrome
comment in docker/docker-compose.yml). The chrome-devtools MCP server
(.mcp.json / opencode.json / .cursor/mcp.json) is already pointed at
it — prefer its tools (navigate, snapshot, click, evaluate, console, network) for browser
work. State (cookies, login) persists across agent sessions until the
container restarts.
https://localhost:8090 (named
instances remap these ports; read the stack summary).chromium.connectOverCDP('http://localhost:9222').
For token-injection and route-interception recipes see
apps/web/docs/playwright-debugging.md.Correlate a browser repro with backend traces: note the time, then search
Tempo for that window — the browser's traceparent means the frontend action
and the Rust handler share one trace ID.
take_snapshot after every navigation or pane change; act
only on uids from the latest snapshot (uid prefixes bump on re-render).
Macro snapshots are huge — split panes duplicate the doc text — so save
big ones to a file (filePath param) and grep them.navigate_page can time out while the SPA actually loaded (cold Vite
compile); follow with wait_for on expected text instead of re-navigating.wait_for matches any text presence, including placeholders. For "AI
finished"-style conditions, poll in evaluate_script for the Stop
button's absence — the only reliable completion signal.fill works on plain inputs but NOT contenteditable: click to focus, then
type_text (Enter splits paragraphs/sends). Combobox token fields need
type → wait for the "N options available" live region → Enter to tokenize.list_console_messages +
list_network_requests (filter xhr/fetch), then get_network_request for
the failing request's body — pairing console error with failing request
localizes the fault in one step.evaluate_script (e.g. query
[contenteditable] strong to confirm an AI edit) — cheaper and more
precise than screenshots.The condensed version is below; the full field-tested guide (routes, every
surface, keyboard model, crash recovery, trace correlation from a network
request's traceparent) is docs/AGENT_GUIDE/.
/app/welcome: "Continue with email" → fill
the email input → "Continue". Locally this may log in with no code prompt;
otherwise the code is in Mailpit. First login auto-creates the user./app/md/<uuid>; a doc-scoped AI chat at
/app/md/<uuid>/chat/<chatId>; split panes give the right pane its own URL
segment (/app/md/<uuid>/channel/<channelId>).value exposes the full body
text, so snapshots double as content verification.Follow CLAUDE.md's tracing rules (err on Result-returning #[instrument],
never level = "info", tracing::error!(error=?e, "msg"), prefer
.inspect_err). Beyond those:
macro_tower_layers; add #[tracing::instrument] to queue consumers,
cross-service client calls, and multi-step business operations — the places
a trace would otherwise go dark.#[instrument(skip(payload), fields(document_id = %id))])
and record the IDs you will actually search by: entity IDs, user IDs,
counts. A span you can't find by ID is a span you can't use.tracing::Span::current().record(...) rather
than emitting a second event.tracing::warn! with fields
beats three unstructured debug!s. Fields, not format strings —
warn!(attempts, "retrying"), not warn!("retrying attempt {attempts}").© macro-inc, 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
Just SKILL.md in .claude/skills/live-debug of macro-inc/macro.
Open the folder on GitHubat commit 39f3c91
Live Debug 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Live Debug this skillmacro-inc/macro | 4.6k | — | ~2.4k | Automated safety check: Notes | AGPL-3.0 | |
| Archestra Dev Observabilityarchestra-ai/archestra | 4.3k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Frontmcp Observabilityagentfront/frontmcp | 146 | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Syncmetapawurb/hotpath-rs | 1.9k | — | ~1.2k | Automated safety check: Notes | MIT | |
| Release Reviewm4r1k/Eneru | 149 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Monitoring Observabilityahmedasmar/devops-claude-skills | 203 | — | ~3.9k | Automated safety check: Pass | None |
archestra-ai/archestra
A skill your agent uses when changing Archestra tracing, metrics, OpenTelemetry, Tempo, Grafana, Prometheus, LLM/MCP spans, observability labels, or local observability setup.
agentfront/frontmcp
A skill your agent uses when adding tracing, structured logging, metrics, or monitoring to a FrontMCP server.
pawurb/hotpath-rs
Sync changes from the hotpath, hotpath-macros and hotpath-drain crates to their meta counterparts (hotpath-meta, hotpath-macros-meta and hotpath-drain-meta).
m4r1k/Eneru
Mandatory pre-release deep review for minor/major releases (X.Y.0 / X.0.0).
ahmedasmar/devops-claude-skills
Monitoring and observability strategy, implementation, and troubleshooting.
Jeffallan/claude-skills
Sets up application monitoring: structured logs, Prometheus metrics, OpenTelemetry tracing, Grafana dashboards, alert rules and load tests with k6 or Artillery.
macro-inc/macro
Interact with the Mintlify REST API to manage deployments, trigger builds, and query documentation site metadata programmatically.
macro-inc/macro
Add or change an in-app feature tour (a view's guided flyover) in the web app.
macro-inc/macro
Define a frontend feature flag with defineFlag and wire its readers.
macro-inc/macro
Run the Macro app on Cursor Cloud and pick up edits. An agent skill from macro-inc/macro.
macro-inc/macro
Wrap a new backend endpoint in the TypeScript SDK (packages/sdk), or record it as skipped.
macro-inc/macro
Enforce hexagonal architecture in the Rust backend. An agent skill from macro-inc/macro.
Categories
Debug the running local stack with traces, logs, and a shared headless browser. Live Debug is an agent skill from macro-inc/macro. Debug the running local stack with traces, logs, and a shared headless browser.
Live Debug fits situations like: investigating a bug in a running service; tracing a request across services; reading service logs; reproducing a frontend issue.
Run `npx skills add macro-inc/macro --skill live-debug -a claude-code`. Or copy the skill folder (.claude/skills/live-debug in macro-inc/macro) into .claude/skills/live-debug in your project. Claude Code loads it when a task matches its description.
Run `npx skills add macro-inc/macro --skill live-debug -a codex`. Or copy the skill folder (.claude/skills/live-debug in macro-inc/macro) into .agents/skills/live-debug in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add macro-inc/macro --skill live-debug -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/live-debug, .gemini/skills/live-debug, .github/skills/live-debug and .opencode/skills/live-debug in your project.
Going by SKILL.md and its folder, Live Debug needs the command-line tools its instructions call (just, curl and jq). Our summary lists: Docker. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob.
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Live Debug 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.
About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Live Debug: Archestra Dev Observability (archestra-ai/archestra, 4.3k stars), Frontmcp Observability (agentfront/frontmcp, 146 stars), Syncmeta (pawurb/hotpath-rs, 1.9k stars) and Release Review (m4r1k/Eneru, 149 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
macro-inc (a GitHub organization) maintains it in macro-inc/macro, which has 4,578 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 7, 2026.
Source: macro-inc/macro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.