Mirroir Onboard
jfarcand/mirroir-mcp
Onboard a consumer web app to mirroir's .mirroir/ dotfile by EXPLORING the running app (chrome-devtools-mcp) — derive real selectors from the accessibility tree, exercise each surface's primary…
Open or return Logfire project pages, live views, trace links, and Explore pages in the Codex browser without querying telemetry first.
$ npx skills add pydantic/skills --skill logfire-ui -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pydantic/skills logfire-ui --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/pydantic/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/logfire-ui .claude/skills/logfire-ui && 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 "logfire-ui" agent skill from https://github.com/pydantic/skills/tree/main/skills/logfire-ui into .claude/skills/logfire-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logfire-ui", 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/pydantic/skills/tree/main/skills/logfire-uiType 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 pydantic/skills --skill logfire-ui -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pydantic/skills logfire-ui --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/logfire-ui .agents/skills/logfire-ui && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "logfire-ui" agent skill from https://github.com/pydantic/skills/tree/main/skills/logfire-ui into .agents/skills/logfire-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logfire-ui", 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 pydantic/skills --skill logfire-ui -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pydantic/skills logfire-ui --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/logfire-ui .cursor/skills/logfire-ui && 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 "logfire-ui" agent skill from https://github.com/pydantic/skills/tree/main/skills/logfire-ui into .cursor/skills/logfire-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logfire-ui", 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/pydantic/skills.git --path skills/logfire-ui--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 pydantic/skills --skill logfire-ui -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pydantic/skills logfire-ui --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/logfire-ui .gemini/skills/logfire-ui && 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 "logfire-ui" agent skill from https://github.com/pydantic/skills/tree/main/skills/logfire-ui into .gemini/skills/logfire-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logfire-ui", 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 pydantic/skills logfire-uiInstalls 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 pydantic/skills --skill logfire-ui -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pydantic/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/logfire-ui .github/skills/logfire-ui && 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 "logfire-ui" agent skill from https://github.com/pydantic/skills/tree/main/skills/logfire-ui into .github/skills/logfire-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logfire-ui", 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 pydantic/skills --skill logfire-ui -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pydantic/skills logfire-ui --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/logfire-ui .opencode/skills/logfire-ui && 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 "logfire-ui" agent skill from https://github.com/pydantic/skills/tree/main/skills/logfire-ui into .opencode/skills/logfire-ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logfire-ui", 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.
logfire-uiOpen or return Logfire project pages, live views, trace links, and Explore pages in the Codex browser without querying telemetry first.
Logfire UI is an agent skill from pydantic/skills, published by the product's own GitHub organization. Open or return Logfire project pages, live views, trace links, and Explore pages in the Codex browser without querying telemetry first. Use this skill when the user asks to "open in Logfire", "show in the live view", "open Explore", "open the UI", "show in Codex", "use the browser", "give me a link", or asks for a Logfire GUI/browser/live-view presentation of a project, time range, service, span, trace, log, or filter. If "show" or "view" wording is ambiguous, ask whether the user wants a UI view or query analysis.
Its SKILL.md is about 2.9k 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 Testing & QA. It works with Model Context Protocol, Playwright and Chrome DevTools. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 238d971. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Logfire UI loads about 2.9k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 1,658 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 found no risky patterns in SKILL.md.
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.
The full file from pydantic/skills at commit 238d971, republished under its MIT licence (© pydantic). 1,658 words, ~2,899 tokens.
.claude/skills/logfire-ui/SKILL.md (or your agent's skills folder).Use this skill for direct Logfire UI, browser, live-view, link, and Explore-page requests.
Keep progress updates quiet. Do not narrate why this skill was selected, restate routing rules, quote local instructions, explain token scope, or announce routine helper calls. If an update is needed, use one short sentence focused on the action, such as "Opening Logfire with the error filter."
After opening Logfire, do not run or narrate an extra page-state check unless the browser appears stuck, asks for login, or the user explicitly asked you to verify the page.
In Codex Desktop, use the Browser plugin's Codex in-app browser (iab) and the currently selected tab whenever possible.
Browser access is indirect: do not expect a browser-named MCP tool. If the Browser plugin is listed as available, load the browser:browser skill and use its Node REPL js / mcp__node_repl__js bootstrap to bind agent.browsers.get("iab"). If js is not visible, use tool discovery for node_repl js before declaring the in-app browser unavailable.
Do not use agent-browser, chrome-devtools, mcp__chrome_devtools__*, mcp__playwright__*, macOS open, xdg-open, standalone Playwright/Chromium, a shell-launched browser, web preview cards, or a newly created external browser window unless the user explicitly asks for an external browser. Do not create a new in-app tab when a Logfire live view is already selected and can be updated in place.
Only report the in-app browser unavailable after the Browser plugin is not listed or its skill cannot be loaded, the Node REPL js execution tool is unavailable after tool discovery, or the Browser skill bootstrap fails before navigation starts. Then return the clean Logfire URL and explain that the in-app browser could not be controlled. Treat chrome-devtools, Playwright MCP, standalone Playwright, and web preview cards as "Browser unavailable", not as fallbacks. Do not silently fall back to any external or dedicated browser window.
For project-level or aggregate UI requests, open or return Logfire directly by URL.
Do not query telemetry first:
query_run.Only query first when the user asks to open a specific unknown item that must be found first, such as "open the slowest trace" or "open the latest error trace".
If the request is ambiguous, such as "show recent errors" or "view logs", ask whether the user wants Logfire opened in the UI or a query analysis in chat. Do not do both unless the user explicitly asks for both.
For UI requests without an explicit organization/project, first try to resolve the canonical project URL through Logfire MCP auth/current-project metadata. Use a project-link or current-project helper if the available MCP server exposes one. This is project discovery, not telemetry querying.
If the MCP can resolve exactly one current project, use that project URL. If it cannot resolve a project, resolves multiple candidates, or returns an auth/error state, ask the user for the organization/project or full Logfire project URL.
Do not infer the project URL from LOGFIRE_BASE_URL, LOGFIRE_URL, exporter config, repository names, or localhost reachability. Env/config values can identify the Logfire platform/API base, but they do not by themselves identify the target organization/project.
project_logfire_ui_link(project=project) with the default clean-link behavior to derive the canonical project URL. This is a URL discovery helper, not a telemetry query.project_logfire_ui_link(project=project, query=query, since=since, until=until, handoff=True) when opening the link immediately in Codex Browser. Use the default clean-link behavior when returning a durable or shareable URL. If the user provides an existing clean Logfire project URL and asks for handoff, parse its project, q, since, and until values and pass them through this tool.trace_id, call project_logfire_link(trace_id=trace_id, project=project, handoff=True) when opening the link immediately in Codex Browser. Use the default clean-link behavior when returning a durable or shareable URL.query, since, and until through project_logfire_ui_link when useful. If manually assembling a clean URL, URL-encode q, since, and until.If a Logfire project live view is already open in Codex Browser, use the JSON command bridge. This is the only supported in-app interaction model because it updates the view without a full document reload and shows the user that the agent is actively changing the page.
Do not try to use page-global JavaScript APIs from Codex Browser. The only supported agent control surface is the JSON command input.
For Codex Browser / iab, fill the Logfire live view agent command input with a JSON patch such as {"q":"level='error'","last":"1h","since":null,"until":null} and press Enter. The hidden submit button is only a form target; do not skip this path just because the button is not visibly clickable.
Use direct URL/search-param updates only when the bridge form input is not present or cannot be submitted. Do not update the URL directly when the bridge form is available.
When using the direct URL fallback and the browser control surface permits page-script URL updates, update window.history and dispatch a popstate event. Use pushState for meaningful user-visible navigation and replaceState for cleanup or retries. If in-page URL updates are unavailable, fall back to opening the clean URL.
Do not mutate an /api/auth/handoff?ticket=... URL. Handoff URLs are single-use entry points only; after the redirect, control the final clean project URL.
Live view search parameters:
q: SQL-like Logfire filter expression, for example level='error', kind='span', or service_name='api'. URL-encode this when constructing a URL string.last: rolling live window, such as 5m, 1h, 14d, or a millisecond number. Use this for live mode and remove since/until.since and until: fixed historical window as ISO 8601 timestamps. Use these for a bounded time range and remove last.env: deployment environment filter. Use repeated env parameters for multiple environments. Omit it for all environments.traceId and spanId: focus a specific trace/span when known. Clear stale focus parameters such as traceId, spanId, focusTraceId, and focusTraceTimestamp when changing the main query or time range unless the user asked to preserve the focused record.When the MCP link tools support handoff: bool = False, use handoff=True only for a URL that will be opened immediately in the browser. A handoff URL is short-lived, single-use, and bound to the destination minted by the platform.
/api/auth/handoff?ticket=... URL. Do not add query params to it, rewrite it, persist it, quote it in docs, or treat it as shareable.handoff: false, use its url value as the clean fallback URL. Mention reason only when it helps the user understand why the browser may still ask for login, such as API-key auth or a need to re-authenticate.handoff, call the link tool normally and use the clean URL.project_logfire_ui_link and let the platform mint the ticket for that destination.When opening a Logfire handoff URL in Codex Browser, keep the durable clean URL for the same destination as a fallback. If needed, call the same link tool with handoff=False before reporting a browser-open failure.
Use the Browser skill's in-app browser workflow and bound the navigation attempt. Do not wait for networkidle, websocket completion, or a fully quiet live-view page. If waiting after navigation, wait only for URL commit, the final clean project URL, or a visible Logfire page signal.
If the browser remains on a grey about:blank screen or the browser navigation call times out, stop waiting and return the clean URL. Describe this as the browser open stalling before navigation, not as a Logfire auth failure. Do not expose the consumed or expired handoff URL.
Do not recover from Codex Browser stalls by launching a separate browser window. Return the clean URL unless the user explicitly asks you to try an external browser.
q=kind%3D%27span%27q=kind%3D%27log%27q=is_exception%3Dtrueq=level%3D%27error%27service_name='api'For "open the Logfire live view for spans in starter-project for the last hour in Codex":
starter-project Logfire URL directly.q=kind%3D%27span%27.since=<one-hour-ago> and until=<now>.For "find the slowest trace and open it", use the query workflow only to identify the trace, then use project_logfire_link(trace_id=trace_id, project=project, handoff=True) and open that link.
For "change the open live view to the last hour of errors", submit {"q":"level='error'","last":"1h","since":null,"until":null} through the Logfire live view agent command input; do not mint a new handoff URL.
Do not try to pass MCP auth tokens into the browser or Logfire UI. Never put bearer, API, read, or write tokens in URL query parameters, fragments, pasted browser instructions, logs, or notes. MCP/tool authentication and browser web sessions are separate security contexts.
For immediately opened UI links, prefer the platform handoff described above. If handoff is unavailable, fall back to the clean URL and explain the specific fallback reason when useful. A missing browser cookie may require normal browser login; a stale MCP OAuth connection requires MCP re-authentication instead.
© pydantic, MIT. 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 skills/logfire-ui of pydantic/skills.
Open the folder on GitHubat commit 238d971
Logfire UI 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 |
|---|---|---|---|---|---|---|
| Logfire UI this skillpydantic/skills | 140 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Mirroir Onboardjfarcand/mirroir-mcp | 245 | — | ~4.4k | Automated safety check: Notes | Apache-2.0 | |
| Record E2E Giflablup/backend.ai-webui | 133 | — | ~907 | Automated safety check: Notes | LGPL-3.0 | |
| Chrome Devtoolstech-leads-club/agent-skills | 7k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Nix Chrome Devtools MCPsrid/emanote | 963 | 1 repos | ~271 | Automated safety check: Pass | Custom licence | |
| Sap Sac Test Automationsecondsky/sap-skills | 462 | — | ~4.2k | Automated safety check: Pass | GPL-3.0 |
jfarcand/mirroir-mcp
Onboard a consumer web app to mirroir's .mirroir/ dotfile by EXPLORING the running app (chrome-devtools-mcp) — derive real selectors from the accessibility tree, exercise each surface's primary…
lablup/backend.ai-webui
Record Playwright e2e tests as one GIF per test case (video → ffmpeg palette GIF) and return a markdown table for a PR description.
tech-leads-club/agent-skills
Browser debugging, performance profiling, and automation via Chrome DevTools MCP.
srid/emanote
chrome-devtools-mcp launcher — a single bash script that resolves Playwright's bundled Chrome-for-Testing and Node.js directly through Nix.
secondsky/sap-skills
SAP Analytics Cloud (SAC) automated testing skill for designing capability-gated browser discovery and deterministic Playwright test suites for SAC stories, dashboards, reports, planning workflows…
sugarforever/01coder-agent-skills
Publish Markdown articles to Zsxq (知识星球) as drafts. An agent skill from sugarforever/01coder-agent-skills.
pydantic/skills
Monitor hosts, Docker containers, Kubernetes clusters, database/queue/cache servers, and cloud-provider metrics with Pydantic Logfire — no application code required.
pydantic/skills
Query and analyze Logfire telemetry data — traces, logs, spans, metrics, summaries, and SQL results.
pydantic/skills
Extend Pydantic AI agents with batteries-included capabilities from pydantic-ai-harness -- Code Mode (collapse many tool calls into one sandboxed Python execution), a filesystem and shell…
pydantic/skills
Build AI agents with Pydantic AI — tools, capabilities (including on-demand loading), structured output, streaming, testing, and multi-agent patterns.
pydantic/skills
Run offline Python (pydanticevals) or Node.js (logfire/evals) evaluations and review them in Logfire.
pydantic/skills
Add Pydantic Logfire observability to application code — traces, logs, metrics, and AI/agent spans.
Categories
Open or return Logfire project pages, live views, trace links, and Explore pages in the Codex browser without querying telemetry first. Logfire UI is an agent skill from pydantic/skills, published by the product's own GitHub organization. Open or return Logfire project pages, live views, trace links, and Explore pages in the Codex browser without querying telemetry first.
Logfire UI fits situations like: the user asks to open in Logfire; show in the live view; use the browser; asks for a Logfire GUI/browser/live-view presentation of a project.
Run `npx skills add pydantic/skills --skill logfire-ui -a claude-code`. Or copy the skill folder (skills/logfire-ui in pydantic/skills) into .claude/skills/logfire-ui in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pydantic/skills --skill logfire-ui -a codex`. Or copy the skill folder (skills/logfire-ui in pydantic/skills) into .agents/skills/logfire-ui 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 pydantic/skills --skill logfire-ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/logfire-ui, .gemini/skills/logfire-ui, .github/skills/logfire-ui and .opencode/skills/logfire-ui in your project.
SKILL.md names no scripts, command-line tools or credentials: Logfire UI is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Logfire UI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k 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 Logfire UI: Mirroir Onboard (jfarcand/mirroir-mcp, 245 stars), Record E2E Gif (lablup/backend.ai-webui, 133 stars), Chrome Devtools (tech-leads-club/agent-skills, 7k stars) and Nix Chrome Devtools MCP (srid/emanote, 963 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pydantic (a GitHub organization, an official publisher) maintains it in pydantic/skills, which has 140 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 1, 2026.
Source: pydantic/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.