[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-pydantic-logfire-setup":3,"mdc-xxff0e-key":32,"related-org-pydantic-logfire-setup":476,"related-repo-pydantic-logfire-setup":585},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":30,"mdContent":31},"logfire-setup","set up Pydantic Logfire observability","Entry point for Pydantic Logfire — an observability, monitoring, and evals platform. Use this skill when the user asks to \"set up Logfire\", \"add Logfire to my project\", \"get me set up properly with Logfire\", \"send as much data as would be useful\", mentions Logfire without a specific scope, or their request spans more than one of instrumenting application code \u002F monitoring infrastructure \u002F evaluating AI behavior. If the request is clearly scoped to exactly one of those, fetch that specific skill directly instead of this one — this skill exists to route, not to duplicate their content.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"pydantic","Pydantic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fpydantic.png",[12,16,19],{"name":13,"slug":14,"type":15},"Observability","observability","tag",{"name":17,"slug":18,"type":15},"Monitoring","monitoring",{"name":20,"slug":21,"type":15},"Logfire","logfire",95,"https:\u002F\u002Fgithub.com\u002Fpydantic\u002Fskills","2026-09-03T07:48:43.034559",null,3,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":25},[],"https:\u002F\u002Fgithub.com\u002Fpydantic\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Flogfire-setup","---\nname: logfire-setup\ndescription: Entry point for Pydantic Logfire — an observability, monitoring, and evals platform. Use this skill when the user asks to \"set up Logfire\", \"add Logfire to my project\", \"get me set up properly with Logfire\", \"send as much data as would be useful\", mentions Logfire without a specific scope, or their request spans more than one of instrumenting application code \u002F monitoring infrastructure \u002F evaluating AI behavior. If the request is clearly scoped to exactly one of those, fetch that specific skill directly instead of this one — this skill exists to route, not to duplicate their content.\n---\n\n# Set Up Logfire\n\nLogfire is an observability platform built on OpenTelemetry, with several distinct product surfaces. This skill authenticates, orients, and routes you to the specific skill for the surface you actually need — don't try to cover install\u002Finstrument\u002Fverify detail from within this file.\n\nKeep the user informed with short updates, but proceed through ordinary, reversible setup without asking approval — no clean tree, branch, commits, or plan needed, and no commands the user could run only because you chose not to. Pause only for: browser auth, a genuinely ambiguous app\u002Fproject after inspection, materially increasing production telemetry or cost, deploy\u002Finfra changes, or destructive\u002Funrelated work — then ask one concrete question. Never report a check, a score, or a run as verified without having actually confirmed it in this session.\n\n## Step 1: Authenticate and Select the Exact Project\n\nAuth comes first because everything after it depends on having a valid, confirmed connection to the exact right Logfire project: instrumenting or inspecting the repo before that is either wasted if the connection turns out wrong, or worse, ends up silently wired to the wrong project. Do not open, read, or run any project file until `whoami` confirms you're authenticated to the right project — nothing about this step requires knowing what's in the repo yet.\n\nCheck first — `uvx logfire --non-interactive whoami` (JS: `npx logfire whoami`) — and skip to Step 2 if it already reports the right project and region. Otherwise, full command sequence, flags, and gotchas (the `--non-interactive` requirement, why `auth` won't open a browser for you, the `LOGFIRE_TOKEN`-vs-credentials-file conflict, token-file safety): [Authenticate and Select the Exact Project](..\u002Flogfire-instrumentation\u002Freferences\u002Fauth.md).\n\n## Step 2: Understand the Repo\n\nRead `AGENTS.md`\u002F`CLAUDE.md`\u002F`README.md` and skim the language, runtime, and package manager. Then match what you find against the table below to decide what to fetch next:\n\n| Surface | Covers | Skill |\n|---------|--------|-------|\n| App instrumentation | Traces, logs, metrics, and AI\u002Fagent spans from application code — Python, JavaScript\u002FTypeScript, Rust, or any OpenTelemetry language | [`logfire-instrumentation`](..\u002Flogfire-instrumentation\u002FSKILL.md) |\n| Infrastructure monitoring | Hosts, Docker, Kubernetes, database\u002Fqueue\u002Fcache servers, cloud-provider metrics — no application code | [`logfire-infrastructure`](..\u002Flogfire-infrastructure\u002FSKILL.md) |\n| Evals | Score AI\u002Fagent output against test-case datasets with `pydantic_evals` | [`logfire-evals`](..\u002Flogfire-evals\u002FSKILL.md) |\n| Querying telemetry | Search traces\u002Flogs\u002Fspans\u002Fmetrics, summarize errors, find root cause | [`logfire-query`](https:\u002F\u002Fpydantic.dev\u002F.well-known\u002Fagent-skills\u002Flogfire-query\u002FSKILL.md) |\n| Live UI | Open project pages, the live view, trace links, or the Explore page in a browser | [`logfire-ui`](https:\u002F\u002Fpydantic.dev\u002F.well-known\u002Fagent-skills\u002Flogfire-ui\u002FSKILL.md) |\n| Feature flags | Runtime-managed variables (`logfire.var()`, `logfire.template_var()`) | no dedicated skill yet — see the product's own docs |\n| AI Gateway | Spend caps, failover, and routing for model calls (`logfire gateway`) | no dedicated skill yet — see the product's own docs |\n\n- No specific scope given (e.g. \"set up Logfire in this repo end to end\")? Default to `logfire-instrumentation` for ordinary application code. Incidental Docker, Kubernetes, infrastructure, or eval files do not expand the initial setup: get one representative application service to verified first data, then offer the matching additional skill(s). If the repository is clearly infrastructure-only, route directly to `logfire-infrastructure` instead.\n- A request already scoped to one surface (\"monitor my Postgres server\", \"set up evals for this agent\") → fetch that skill directly, skipping the rest of this table.\n- Genuinely ambiguous between two adjacent surfaces (e.g. \"watch my Postgres\" could mean Collector-level infrastructure metrics or app-level query instrumentation)? Ask one clarifying question rather than guessing — loading the wrong skill wastes the user's time reading instructions for a job they didn't ask for.\n\n## Step 3: Fetch the Right Skill(s)\n\nFetch the skill(s) identified in Step 2 now, for the actual install\u002Finstrument\u002Fverify steps. Each one's own authenticate step still runs its own `whoami` check first — that's what confirms it's the same project and region resolved here, not an assumption carried over — and only then skips the rest of its auth commands. They're independently fetchable on purpose, so this composes whether someone reaches a specific skill through this hub or on its own.\n\nNever print, log, hard-code, commit, or echo a token, in any of these skills, at any point. The one exception — reading `.logfire\u002Flogfire_credentials.json`'s `token` key programmatically to hand a non-native-SDK application its write token, never to display it — is in [auth.md](..\u002Flogfire-instrumentation\u002Freferences\u002Fauth.md#if-the-calling-skill-needs-a-write-token-not-just-a-cli-session).\n",{"data":33,"body":34},{"name":4,"description":6},{"type":35,"children":36},"root",[37,46,52,57,64,78,132,138,166,396,430,436,448],{"type":38,"tag":39,"props":40,"children":42},"element","h1",{"id":41},"set-up-logfire",[43],{"type":44,"value":45},"text","Set Up Logfire",{"type":38,"tag":47,"props":48,"children":49},"p",{},[50],{"type":44,"value":51},"Logfire is an observability platform built on OpenTelemetry, with several distinct product surfaces. This skill authenticates, orients, and routes you to the specific skill for the surface you actually need — don't try to cover install\u002Finstrument\u002Fverify detail from within this file.",{"type":38,"tag":47,"props":53,"children":54},{},[55],{"type":44,"value":56},"Keep the user informed with short updates, but proceed through ordinary, reversible setup without asking approval — no clean tree, branch, commits, or plan needed, and no commands the user could run only because you chose not to. Pause only for: browser auth, a genuinely ambiguous app\u002Fproject after inspection, materially increasing production telemetry or cost, deploy\u002Finfra changes, or destructive\u002Funrelated work — then ask one concrete question. Never report a check, a score, or a run as verified without having actually confirmed it in this session.",{"type":38,"tag":58,"props":59,"children":61},"h2",{"id":60},"step-1-authenticate-and-select-the-exact-project",[62],{"type":44,"value":63},"Step 1: Authenticate and Select the Exact Project",{"type":38,"tag":47,"props":65,"children":66},{},[67,69,76],{"type":44,"value":68},"Auth comes first because everything after it depends on having a valid, confirmed connection to the exact right Logfire project: instrumenting or inspecting the repo before that is either wasted if the connection turns out wrong, or worse, ends up silently wired to the wrong project. Do not open, read, or run any project file until ",{"type":38,"tag":70,"props":71,"children":73},"code",{"className":72},[],[74],{"type":44,"value":75},"whoami",{"type":44,"value":77}," confirms you're authenticated to the right project — nothing about this step requires knowing what's in the repo yet.",{"type":38,"tag":47,"props":79,"children":80},{},[81,83,89,91,97,99,105,107,113,115,121,123,130],{"type":44,"value":82},"Check first — ",{"type":38,"tag":70,"props":84,"children":86},{"className":85},[],[87],{"type":44,"value":88},"uvx logfire --non-interactive whoami",{"type":44,"value":90}," (JS: ",{"type":38,"tag":70,"props":92,"children":94},{"className":93},[],[95],{"type":44,"value":96},"npx logfire whoami",{"type":44,"value":98},") — and skip to Step 2 if it already reports the right project and region. Otherwise, full command sequence, flags, and gotchas (the ",{"type":38,"tag":70,"props":100,"children":102},{"className":101},[],[103],{"type":44,"value":104},"--non-interactive",{"type":44,"value":106}," requirement, why ",{"type":38,"tag":70,"props":108,"children":110},{"className":109},[],[111],{"type":44,"value":112},"auth",{"type":44,"value":114}," won't open a browser for you, the ",{"type":38,"tag":70,"props":116,"children":118},{"className":117},[],[119],{"type":44,"value":120},"LOGFIRE_TOKEN",{"type":44,"value":122},"-vs-credentials-file conflict, token-file safety): ",{"type":38,"tag":124,"props":125,"children":127},"a",{"href":126},"..\u002Flogfire-instrumentation\u002Freferences\u002Fauth.md",[128],{"type":44,"value":129},"Authenticate and Select the Exact Project",{"type":44,"value":131},".",{"type":38,"tag":58,"props":133,"children":135},{"id":134},"step-2-understand-the-repo",[136],{"type":44,"value":137},"Step 2: Understand the Repo",{"type":38,"tag":47,"props":139,"children":140},{},[141,143,149,151,157,158,164],{"type":44,"value":142},"Read ",{"type":38,"tag":70,"props":144,"children":146},{"className":145},[],[147],{"type":44,"value":148},"AGENTS.md",{"type":44,"value":150},"\u002F",{"type":38,"tag":70,"props":152,"children":154},{"className":153},[],[155],{"type":44,"value":156},"CLAUDE.md",{"type":44,"value":150},{"type":38,"tag":70,"props":159,"children":161},{"className":160},[],[162],{"type":44,"value":163},"README.md",{"type":44,"value":165}," and skim the language, runtime, and package manager. Then match what you find against the table below to decide what to fetch next:",{"type":38,"tag":167,"props":168,"children":169},"table",{},[170,194],{"type":38,"tag":171,"props":172,"children":173},"thead",{},[174],{"type":38,"tag":175,"props":176,"children":177},"tr",{},[178,184,189],{"type":38,"tag":179,"props":180,"children":181},"th",{},[182],{"type":44,"value":183},"Surface",{"type":38,"tag":179,"props":185,"children":186},{},[187],{"type":44,"value":188},"Covers",{"type":38,"tag":179,"props":190,"children":191},{},[192],{"type":44,"value":193},"Skill",{"type":38,"tag":195,"props":196,"children":197},"tbody",{},[198,225,251,283,311,338,372],{"type":38,"tag":175,"props":199,"children":200},{},[201,207,212],{"type":38,"tag":202,"props":203,"children":204},"td",{},[205],{"type":44,"value":206},"App instrumentation",{"type":38,"tag":202,"props":208,"children":209},{},[210],{"type":44,"value":211},"Traces, logs, metrics, and AI\u002Fagent spans from application code — Python, JavaScript\u002FTypeScript, Rust, or any OpenTelemetry language",{"type":38,"tag":202,"props":213,"children":214},{},[215],{"type":38,"tag":124,"props":216,"children":218},{"href":217},"..\u002Flogfire-instrumentation\u002FSKILL.md",[219],{"type":38,"tag":70,"props":220,"children":222},{"className":221},[],[223],{"type":44,"value":224},"logfire-instrumentation",{"type":38,"tag":175,"props":226,"children":227},{},[228,233,238],{"type":38,"tag":202,"props":229,"children":230},{},[231],{"type":44,"value":232},"Infrastructure monitoring",{"type":38,"tag":202,"props":234,"children":235},{},[236],{"type":44,"value":237},"Hosts, Docker, Kubernetes, database\u002Fqueue\u002Fcache servers, cloud-provider metrics — no application code",{"type":38,"tag":202,"props":239,"children":240},{},[241],{"type":38,"tag":124,"props":242,"children":244},{"href":243},"..\u002Flogfire-infrastructure\u002FSKILL.md",[245],{"type":38,"tag":70,"props":246,"children":248},{"className":247},[],[249],{"type":44,"value":250},"logfire-infrastructure",{"type":38,"tag":175,"props":252,"children":253},{},[254,259,270],{"type":38,"tag":202,"props":255,"children":256},{},[257],{"type":44,"value":258},"Evals",{"type":38,"tag":202,"props":260,"children":261},{},[262,264],{"type":44,"value":263},"Score AI\u002Fagent output against test-case datasets with ",{"type":38,"tag":70,"props":265,"children":267},{"className":266},[],[268],{"type":44,"value":269},"pydantic_evals",{"type":38,"tag":202,"props":271,"children":272},{},[273],{"type":38,"tag":124,"props":274,"children":276},{"href":275},"..\u002Flogfire-evals\u002FSKILL.md",[277],{"type":38,"tag":70,"props":278,"children":280},{"className":279},[],[281],{"type":44,"value":282},"logfire-evals",{"type":38,"tag":175,"props":284,"children":285},{},[286,291,296],{"type":38,"tag":202,"props":287,"children":288},{},[289],{"type":44,"value":290},"Querying telemetry",{"type":38,"tag":202,"props":292,"children":293},{},[294],{"type":44,"value":295},"Search traces\u002Flogs\u002Fspans\u002Fmetrics, summarize errors, find root cause",{"type":38,"tag":202,"props":297,"children":298},{},[299],{"type":38,"tag":124,"props":300,"children":304},{"href":301,"rel":302},"https:\u002F\u002Fpydantic.dev\u002F.well-known\u002Fagent-skills\u002Flogfire-query\u002FSKILL.md",[303],"nofollow",[305],{"type":38,"tag":70,"props":306,"children":308},{"className":307},[],[309],{"type":44,"value":310},"logfire-query",{"type":38,"tag":175,"props":312,"children":313},{},[314,319,324],{"type":38,"tag":202,"props":315,"children":316},{},[317],{"type":44,"value":318},"Live UI",{"type":38,"tag":202,"props":320,"children":321},{},[322],{"type":44,"value":323},"Open project pages, the live view, trace links, or the Explore page in a browser",{"type":38,"tag":202,"props":325,"children":326},{},[327],{"type":38,"tag":124,"props":328,"children":331},{"href":329,"rel":330},"https:\u002F\u002Fpydantic.dev\u002F.well-known\u002Fagent-skills\u002Flogfire-ui\u002FSKILL.md",[303],[332],{"type":38,"tag":70,"props":333,"children":335},{"className":334},[],[336],{"type":44,"value":337},"logfire-ui",{"type":38,"tag":175,"props":339,"children":340},{},[341,346,367],{"type":38,"tag":202,"props":342,"children":343},{},[344],{"type":44,"value":345},"Feature flags",{"type":38,"tag":202,"props":347,"children":348},{},[349,351,357,359,365],{"type":44,"value":350},"Runtime-managed variables (",{"type":38,"tag":70,"props":352,"children":354},{"className":353},[],[355],{"type":44,"value":356},"logfire.var()",{"type":44,"value":358},", ",{"type":38,"tag":70,"props":360,"children":362},{"className":361},[],[363],{"type":44,"value":364},"logfire.template_var()",{"type":44,"value":366},")",{"type":38,"tag":202,"props":368,"children":369},{},[370],{"type":44,"value":371},"no dedicated skill yet — see the product's own docs",{"type":38,"tag":175,"props":373,"children":374},{},[375,380,392],{"type":38,"tag":202,"props":376,"children":377},{},[378],{"type":44,"value":379},"AI Gateway",{"type":38,"tag":202,"props":381,"children":382},{},[383,385,391],{"type":44,"value":384},"Spend caps, failover, and routing for model calls (",{"type":38,"tag":70,"props":386,"children":388},{"className":387},[],[389],{"type":44,"value":390},"logfire gateway",{"type":44,"value":366},{"type":38,"tag":202,"props":393,"children":394},{},[395],{"type":44,"value":371},{"type":38,"tag":397,"props":398,"children":399},"ul",{},[400,420,425],{"type":38,"tag":401,"props":402,"children":403},"li",{},[404,406,411,413,418],{"type":44,"value":405},"No specific scope given (e.g. \"set up Logfire in this repo end to end\")? Default to ",{"type":38,"tag":70,"props":407,"children":409},{"className":408},[],[410],{"type":44,"value":224},{"type":44,"value":412}," for ordinary application code. Incidental Docker, Kubernetes, infrastructure, or eval files do not expand the initial setup: get one representative application service to verified first data, then offer the matching additional skill(s). If the repository is clearly infrastructure-only, route directly to ",{"type":38,"tag":70,"props":414,"children":416},{"className":415},[],[417],{"type":44,"value":250},{"type":44,"value":419}," instead.",{"type":38,"tag":401,"props":421,"children":422},{},[423],{"type":44,"value":424},"A request already scoped to one surface (\"monitor my Postgres server\", \"set up evals for this agent\") → fetch that skill directly, skipping the rest of this table.",{"type":38,"tag":401,"props":426,"children":427},{},[428],{"type":44,"value":429},"Genuinely ambiguous between two adjacent surfaces (e.g. \"watch my Postgres\" could mean Collector-level infrastructure metrics or app-level query instrumentation)? Ask one clarifying question rather than guessing — loading the wrong skill wastes the user's time reading instructions for a job they didn't ask for.",{"type":38,"tag":58,"props":431,"children":433},{"id":432},"step-3-fetch-the-right-skills",[434],{"type":44,"value":435},"Step 3: Fetch the Right Skill(s)",{"type":38,"tag":47,"props":437,"children":438},{},[439,441,446],{"type":44,"value":440},"Fetch the skill(s) identified in Step 2 now, for the actual install\u002Finstrument\u002Fverify steps. Each one's own authenticate step still runs its own ",{"type":38,"tag":70,"props":442,"children":444},{"className":443},[],[445],{"type":44,"value":75},{"type":44,"value":447}," check first — that's what confirms it's the same project and region resolved here, not an assumption carried over — and only then skips the rest of its auth commands. They're independently fetchable on purpose, so this composes whether someone reaches a specific skill through this hub or on its own.",{"type":38,"tag":47,"props":449,"children":450},{},[451,453,459,461,467,469,475],{"type":44,"value":452},"Never print, log, hard-code, commit, or echo a token, in any of these skills, at any point. The one exception — reading ",{"type":38,"tag":70,"props":454,"children":456},{"className":455},[],[457],{"type":44,"value":458},".logfire\u002Flogfire_credentials.json",{"type":44,"value":460},"'s ",{"type":38,"tag":70,"props":462,"children":464},{"className":463},[],[465],{"type":44,"value":466},"token",{"type":44,"value":468}," key programmatically to hand a non-native-SDK application its write token, never to display it — is in ",{"type":38,"tag":124,"props":470,"children":472},{"href":471},"..\u002Flogfire-instrumentation\u002Freferences\u002Fauth.md#if-the-calling-skill-needs-a-write-token-not-just-a-cli-session",[473],{"type":44,"value":474},"auth.md",{"type":44,"value":131},{"items":477,"total":584},[478,495,506,518,530,542,548,557,571],{"slug":479,"name":479,"fn":480,"description":481,"org":482,"tags":483,"stars":22,"repoUrl":23,"updatedAt":494},"building-pydantic-ai-agents","build AI agents with Pydantic AI","Build AI agents with Pydantic AI — tools, capabilities (including on-demand loading), structured output, streaming, testing, and multi-agent patterns. Use when the user mentions Pydantic AI, imports pydantic_ai, or asks to build an AI agent, add tools\u002Fcapabilities, defer capability loading, stream output, define agents from YAML, or test agent behavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[484,487,490,491],{"name":485,"slug":486,"type":15},"Agents","agents",{"name":488,"slug":489,"type":15},"LLM","llm",{"name":9,"slug":8,"type":15},{"name":492,"slug":493,"type":15},"Python","python","2026-08-05T05:36:25.389247",{"slug":282,"name":282,"fn":496,"description":497,"org":498,"tags":499,"stars":22,"repoUrl":23,"updatedAt":505},"evaluate Python agent code with Logfire","Evaluate Python AI\u002Fagent code against a dataset of test cases using pydantic_evals, and review results in Logfire's Datasets & Experiments UI. Also covers redirecting an existing Braintrust Eval() suite to Logfire with no code changes. Use this skill whenever the user asks to \"set up evals\", \"add an evaluation\", \"test my agent against cases\", \"write a dataset of test cases\", \"score my LLM output\", \"add an LLM judge\", \"check tool-call correctness\", \"send Braintrust evals to Logfire\", \"migrate from Braintrust\", or mentions pydantic_evals, Braintrust, Datasets & Experiments, or evaluating AI\u002Fagent behavior against known inputs. The `pydantic_evals` workflow is Python-only; the Braintrust redirect also supports TypeScript suites, env-vars-only. Both are for scoring DEFINED test cases offline — not for instrumenting live production traffic (use `logfire-instrumentation` for that) and not for infrastructure monitoring (use `logfire-infrastructure`).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[500,502,503,504],{"name":258,"slug":501,"type":15},"evals",{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":492,"slug":493,"type":15},"2026-09-03T07:48:42.409632",{"slug":250,"name":250,"fn":507,"description":508,"org":509,"tags":510,"stars":22,"repoUrl":23,"updatedAt":517},"monitor infrastructure metrics with Logfire","Monitor hosts, Docker containers, Kubernetes clusters, database\u002Fqueue\u002Fcache servers, and cloud-provider metrics with Pydantic Logfire — no application code required. Use this skill whenever the user asks to \"monitor my host\u002Fserver\u002FVM\", \"monitor my Docker containers\", \"monitor my Kubernetes cluster\", \"send infrastructure metrics to Logfire\", \"watch my database\u002FPostgres\u002FRedis\u002FMongoDB\u002FKafka\", \"collect cloud metrics\" (AWS\u002FGCP), or mentions the OpenTelemetry Collector in the context of Logfire. This is infrastructure only — for instrumenting APPLICATION CODE (traces, logs, AI\u002Fagent spans) use the logfire-instrumentation skill instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[511,514,515,516],{"name":512,"slug":513,"type":15},"Infrastructure","infrastructure",{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-09-03T07:48:50.066951",{"slug":224,"name":224,"fn":519,"description":520,"org":521,"tags":522,"stars":22,"repoUrl":23,"updatedAt":529},"instrument applications with Pydantic Logfire","Add Pydantic Logfire observability to application code — traces, logs, metrics, and AI\u002Fagent spans. Use when the user asks to add or configure Logfire, observability, tracing, logging, or monitoring; maximize useful telemetry; or understand what an app is doing. Supports Python, JavaScript\u002FTypeScript, Rust, and major AI agent frameworks including Pydantic AI, OpenAI Agents SDK, Claude Agent SDK, LangChain, LangGraph, CrewAI, AutoGen, and Google ADK. For infrastructure-only monitoring (hosts, Docker, Kubernetes, databases, or cloud metrics with no app-code changes), use `logfire-infrastructure`. For evaluating AI\u002Fagent behavior against test datasets, use `logfire-evals`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[523,526,527,528],{"name":524,"slug":525,"type":15},"Engineering","engineering",{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-09-03T07:26:53.684135",{"slug":310,"name":310,"fn":531,"description":532,"org":533,"tags":534,"stars":22,"repoUrl":23,"updatedAt":541},"query and analyze Logfire telemetry","Query and analyze Logfire telemetry data — traces, logs, spans, metrics, summaries, and SQL results. Use this skill when the user asks to \"query logfire\", \"search traces\", \"find logs\", \"query data\", \"search spans\", \"look up errors in logfire\", \"get metrics from logfire\", \"analyze telemetry\", \"summarize errors\", \"find root cause\", or add Logfire querying capabilities to code. Do not use this skill for direct Logfire UI, browser, live-view, Explore-page, or link-opening requests; use logfire-ui instead. If \"show\" or \"view\" wording is ambiguous, ask whether the user wants a UI view or query analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[535,538,539,540],{"name":536,"slug":537,"type":15},"Data Analysis","data-analysis",{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-16T05:59:18.201951",{"slug":4,"name":4,"fn":5,"description":6,"org":543,"tags":544,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[545,546,547],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":337,"name":337,"fn":549,"description":550,"org":551,"tags":552,"stars":22,"repoUrl":23,"updatedAt":556},"navigate Logfire project pages","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\u002Fbrowser\u002Flive-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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[553,554,555],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-16T05:59:17.66486",{"slug":8,"name":8,"fn":558,"description":559,"org":560,"tags":561,"stars":22,"repoUrl":23,"updatedAt":570},"model and validate data with Pydantic","Pydantic is a Python data validation and serialization library, based on type hints. Use this skill whenever you need to do relatively complex data modeling using Pydantic, e.g. when adding constraints, defining a model hierarchy with subclasses, etc.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[562,565,566,567],{"name":563,"slug":564,"type":15},"Data Modeling","data-modeling",{"name":9,"slug":8,"type":15},{"name":492,"slug":493,"type":15},{"name":568,"slug":569,"type":15},"Validation","validation","2026-07-23T06:05:52.745966",{"slug":572,"name":572,"fn":573,"description":574,"org":575,"tags":576,"stars":22,"repoUrl":23,"updatedAt":583},"pydantic-ai-harness","extend Pydantic AI agents with capabilities","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, sub-agents, planning, context compaction, and more. Use when the user mentions pydantic-ai-harness, CodeMode, Monty, code mode, or tool sandboxing, when they want first-party filesystem\u002Fshell\u002Fsub-agent\u002Fplanning\u002Fcompaction capabilities for a Pydantic AI agent, when they want an agent to run agent-written Python, or when a Pydantic AI agent would benefit from orchestrating multiple tool calls in a single sandboxed script.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[577,578,581,582],{"name":485,"slug":486,"type":15},{"name":579,"slug":580,"type":15},"Code Execution","code-execution",{"name":9,"slug":8,"type":15},{"name":492,"slug":493,"type":15},"2026-07-30T05:28:54.443013",9,{"items":586,"total":584},[587,594,601,608,615,622,628],{"slug":479,"name":479,"fn":480,"description":481,"org":588,"tags":589,"stars":22,"repoUrl":23,"updatedAt":494},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[590,591,592,593],{"name":485,"slug":486,"type":15},{"name":488,"slug":489,"type":15},{"name":9,"slug":8,"type":15},{"name":492,"slug":493,"type":15},{"slug":282,"name":282,"fn":496,"description":497,"org":595,"tags":596,"stars":22,"repoUrl":23,"updatedAt":505},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[597,598,599,600],{"name":258,"slug":501,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":492,"slug":493,"type":15},{"slug":250,"name":250,"fn":507,"description":508,"org":602,"tags":603,"stars":22,"repoUrl":23,"updatedAt":517},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[604,605,606,607],{"name":512,"slug":513,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":224,"name":224,"fn":519,"description":520,"org":609,"tags":610,"stars":22,"repoUrl":23,"updatedAt":529},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[611,612,613,614],{"name":524,"slug":525,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":310,"name":310,"fn":531,"description":532,"org":616,"tags":617,"stars":22,"repoUrl":23,"updatedAt":541},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[618,619,620,621],{"name":536,"slug":537,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":623,"tags":624,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[625,626,627],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":337,"name":337,"fn":549,"description":550,"org":629,"tags":630,"stars":22,"repoUrl":23,"updatedAt":556},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[631,632,633],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15}]