[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-braintrust-braintrust-design-eval-instrumentation":3,"mdc-co7abm-key":38,"related-org-braintrust-braintrust-design-eval-instrumentation":410,"related-repo-braintrust-braintrust-design-eval-instrumentation":577},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":33,"sourceUrl":36,"mdContent":37},"braintrust-design-eval-instrumentation","design trace and evaluation dataset schemas","Design the trace and eval-dataset schema for an LLM app or agent, and wire the system to emit it. Use when deciding what to log, designing a trace schema, setting up tracing or observability before evals, or when failures cannot be debugged or sliced from existing traces — covering inputs, outputs, spans for tool and LLM calls, state changes, metadata, resolved configuration, serving path, tool manifest, per-item status, attachments, and subgroup variables. Do not use to decide what the evidence should mean, or to write scorers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"braintrust","Braintrust","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fbraintrust.png","braintrustdata",[13,17,20,23,26],{"name":14,"slug":15,"type":16},"Tracing","tracing","tag",{"name":18,"slug":19,"type":16},"Observability","observability",{"name":21,"slug":22,"type":16},"Datasets","datasets",{"name":24,"slug":25,"type":16},"Evals","evals",{"name":9,"slug":8,"type":16},7,"https:\u002F\u002Fgithub.com\u002Fbraintrustdata\u002Feval-library","2026-08-20T03:53:37.274703",null,0,[],{"repoUrl":28,"stars":27,"forks":31,"topics":34,"description":35},[],"Braintrust eval skills library","https:\u002F\u002Fgithub.com\u002Fbraintrustdata\u002Feval-library\u002Ftree\u002FHEAD\u002Fskills\u002Fbraintrust-design-eval-instrumentation","---\nname: braintrust-design-eval-instrumentation\ndescription: >-\n  Design the trace and eval-dataset schema for an LLM app or agent, and wire the system to emit\n  it. Use when deciding what to log, designing a trace schema, setting up tracing or\n  observability before evals, or when failures cannot be debugged or sliced from existing\n  traces — covering inputs, outputs, spans for tool and LLM calls, state changes, metadata,\n  resolved configuration, serving path, tool manifest, per-item status, attachments, and\n  subgroup variables. Do not use to decide what the evidence should mean, or to write scorers.\n---\n\n# Design and wire eval instrumentation\n\nContract: `references\u002Finteraction-contract.md`. Calibration, templates, provenance: `references\u002Ftrace-schema.md`.\n\n## Trigger\n\n- \"What should we log?\" \u002F \"Design a trace schema.\" \u002F \"Set up tracing before evals.\"\n- Failures that cannot be reconstructed, scored, or sliced after the fact.\n- An evidence map with signals nothing currently records.\n\n## Do\n\n1. Work backward from each required decision to the fields needed to reconstruct it. Rule: **if\n   a variable matters to interpretation or a release decision, it needs a field.**\n2. Design the record shape and the span tree **together** (`reference.md`) — one span per LLM\n   call, tool call, and scorer call, nested to mirror actual control flow.\n3. Add the four fields always discovered too late: the **raw input artifact**, a **per-item\n   status** kept separate from the score, the **fully resolved config** including serving path and\n   tool manifest, and a **stable grouping key** on every trace that belongs to a larger unit of\n   work — a conversation, session, or thread.\n4. Mark each field required or optional with its retention and privacy handling, and scrub\n   sensitive values at emission rather than in post-processing.\n5. Verify by round trip: run one item, open the trace, confirm you could diagnose a seeded\n   failure from it alone. Fix the instrumentation, not the eval, if you cannot.\n\n## Avoid\n\n- Do not log sensitive data because it might be useful someday — every field is a retention\n  commitment.\n- Do not confuse chain-of-thought collection with behavioral evidence.\n- Do not let the score double as the status field.\n- Do not decide what the evidence *means* here.\n\n## Check\n\n- A past real failure is reconstructable, scoreable, sliceable, and attributable to the module\n  that first erred, from these fields alone.\n- Every stratification variable in the dataset plan exists as a field.\n- Status separate from score; resolved config present; raw artifact attached for non-text.\n- Privacy, PII handling, and retention stated per sensitive field.\n\n## Risk\n\n- Missing fields make later questions permanently unanswerable — you cannot retroactively log a\n  subgroup variable, offline or in production.\n- Mis-nested spans look complete while making root-cause attribution impossible.\n- Renamed provider options are dropped silently; without the resolved config, \"the feature\n  didn't help\" and \"it never applied\" are indistinguishable.\n\n## Braintrust\n\nOf the four objects (`references\u002Fplatform-mechanics.md` §1), this stage owns **traces** — the one\neverything else consumes, and the only one you cannot backfill.\n\nField placement decides what the platform can ever do: scores in native `scores` (0–1);\ntokens\u002Flatency\u002Fcost in **native metrics**, or they cannot be charted or gated on; slicing\nvariables in record `metadata`, or subgroup analysis needs re-labeling; scorer name\u002Fversion in\nspan metadata; raw non-text input as a span **Attachment** (`input.audio = Attachment(...)`),\nwhich renders inline so \"listen to the actual clip\" is one click. Note experiments surface\nattachments more prominently than datasets — if human review of raw artifacts is part of the\nloop, make an experiment the review surface.\n\n**A stratum not in metadata is a stratum you cannot report**, with no retroactive fix. Include\n`scenario_id` wherever items are variants of one scenario, so clustered standard errors stay\ncomputable.\n\nInstrumentation also fixes the **evaluation scopes available later**. Evaluators run against a\nspan, a trace, or a **group** of traces joined by a metadata key — so multi-turn behavior is only\nmeasurable if something like `conversation_id`, `session_id`, or `thread_id` was emitted at the\ntime. Same no-retroactive-fix rule as any other stratum, with a sharper edge: a grouping key that\nis present but **inconsistently populated** is worse than one that is absent, because group-scoped\nevaluation will silently drop the traffic where it is null and report a confident number over the\nremainder. Assert its coverage the way you assert any other transform invariant.\n",{"data":39,"body":40},{"name":4,"description":6},{"type":41,"children":42},"root",[43,52,75,82,102,108,186,192,223,229,252,258,276,280,300,342,360],{"type":44,"tag":45,"props":46,"children":48},"element","h1",{"id":47},"design-and-wire-eval-instrumentation",[49],{"type":50,"value":51},"text","Design and wire eval instrumentation",{"type":44,"tag":53,"props":54,"children":55},"p",{},[56,58,65,67,73],{"type":50,"value":57},"Contract: ",{"type":44,"tag":59,"props":60,"children":62},"code",{"className":61},[],[63],{"type":50,"value":64},"references\u002Finteraction-contract.md",{"type":50,"value":66},". Calibration, templates, provenance: ",{"type":44,"tag":59,"props":68,"children":70},{"className":69},[],[71],{"type":50,"value":72},"references\u002Ftrace-schema.md",{"type":50,"value":74},".",{"type":44,"tag":76,"props":77,"children":79},"h2",{"id":78},"trigger",[80],{"type":50,"value":81},"Trigger",{"type":44,"tag":83,"props":84,"children":85},"ul",{},[86,92,97],{"type":44,"tag":87,"props":88,"children":89},"li",{},[90],{"type":50,"value":91},"\"What should we log?\" \u002F \"Design a trace schema.\" \u002F \"Set up tracing before evals.\"",{"type":44,"tag":87,"props":93,"children":94},{},[95],{"type":50,"value":96},"Failures that cannot be reconstructed, scored, or sliced after the fact.",{"type":44,"tag":87,"props":98,"children":99},{},[100],{"type":50,"value":101},"An evidence map with signals nothing currently records.",{"type":44,"tag":76,"props":103,"children":105},{"id":104},"do",[106],{"type":50,"value":107},"Do",{"type":44,"tag":109,"props":110,"children":111},"ol",{},[112,123,143,176,181],{"type":44,"tag":87,"props":113,"children":114},{},[115,117],{"type":50,"value":116},"Work backward from each required decision to the fields needed to reconstruct it. Rule: ",{"type":44,"tag":118,"props":119,"children":120},"strong",{},[121],{"type":50,"value":122},"if\na variable matters to interpretation or a release decision, it needs a field.",{"type":44,"tag":87,"props":124,"children":125},{},[126,128,133,135,141],{"type":50,"value":127},"Design the record shape and the span tree ",{"type":44,"tag":118,"props":129,"children":130},{},[131],{"type":50,"value":132},"together",{"type":50,"value":134}," (",{"type":44,"tag":59,"props":136,"children":138},{"className":137},[],[139],{"type":50,"value":140},"reference.md",{"type":50,"value":142},") — one span per LLM\ncall, tool call, and scorer call, nested to mirror actual control flow.",{"type":44,"tag":87,"props":144,"children":145},{},[146,148,153,155,160,162,167,169,174],{"type":50,"value":147},"Add the four fields always discovered too late: the ",{"type":44,"tag":118,"props":149,"children":150},{},[151],{"type":50,"value":152},"raw input artifact",{"type":50,"value":154},", a ",{"type":44,"tag":118,"props":156,"children":157},{},[158],{"type":50,"value":159},"per-item\nstatus",{"type":50,"value":161}," kept separate from the score, the ",{"type":44,"tag":118,"props":163,"children":164},{},[165],{"type":50,"value":166},"fully resolved config",{"type":50,"value":168}," including serving path and\ntool manifest, and a ",{"type":44,"tag":118,"props":170,"children":171},{},[172],{"type":50,"value":173},"stable grouping key",{"type":50,"value":175}," on every trace that belongs to a larger unit of\nwork — a conversation, session, or thread.",{"type":44,"tag":87,"props":177,"children":178},{},[179],{"type":50,"value":180},"Mark each field required or optional with its retention and privacy handling, and scrub\nsensitive values at emission rather than in post-processing.",{"type":44,"tag":87,"props":182,"children":183},{},[184],{"type":50,"value":185},"Verify by round trip: run one item, open the trace, confirm you could diagnose a seeded\nfailure from it alone. Fix the instrumentation, not the eval, if you cannot.",{"type":44,"tag":76,"props":187,"children":189},{"id":188},"avoid",[190],{"type":50,"value":191},"Avoid",{"type":44,"tag":83,"props":193,"children":194},{},[195,200,205,210],{"type":44,"tag":87,"props":196,"children":197},{},[198],{"type":50,"value":199},"Do not log sensitive data because it might be useful someday — every field is a retention\ncommitment.",{"type":44,"tag":87,"props":201,"children":202},{},[203],{"type":50,"value":204},"Do not confuse chain-of-thought collection with behavioral evidence.",{"type":44,"tag":87,"props":206,"children":207},{},[208],{"type":50,"value":209},"Do not let the score double as the status field.",{"type":44,"tag":87,"props":211,"children":212},{},[213,215,221],{"type":50,"value":214},"Do not decide what the evidence ",{"type":44,"tag":216,"props":217,"children":218},"em",{},[219],{"type":50,"value":220},"means",{"type":50,"value":222}," here.",{"type":44,"tag":76,"props":224,"children":226},{"id":225},"check",[227],{"type":50,"value":228},"Check",{"type":44,"tag":83,"props":230,"children":231},{},[232,237,242,247],{"type":44,"tag":87,"props":233,"children":234},{},[235],{"type":50,"value":236},"A past real failure is reconstructable, scoreable, sliceable, and attributable to the module\nthat first erred, from these fields alone.",{"type":44,"tag":87,"props":238,"children":239},{},[240],{"type":50,"value":241},"Every stratification variable in the dataset plan exists as a field.",{"type":44,"tag":87,"props":243,"children":244},{},[245],{"type":50,"value":246},"Status separate from score; resolved config present; raw artifact attached for non-text.",{"type":44,"tag":87,"props":248,"children":249},{},[250],{"type":50,"value":251},"Privacy, PII handling, and retention stated per sensitive field.",{"type":44,"tag":76,"props":253,"children":255},{"id":254},"risk",[256],{"type":50,"value":257},"Risk",{"type":44,"tag":83,"props":259,"children":260},{},[261,266,271],{"type":44,"tag":87,"props":262,"children":263},{},[264],{"type":50,"value":265},"Missing fields make later questions permanently unanswerable — you cannot retroactively log a\nsubgroup variable, offline or in production.",{"type":44,"tag":87,"props":267,"children":268},{},[269],{"type":50,"value":270},"Mis-nested spans look complete while making root-cause attribution impossible.",{"type":44,"tag":87,"props":272,"children":273},{},[274],{"type":50,"value":275},"Renamed provider options are dropped silently; without the resolved config, \"the feature\ndidn't help\" and \"it never applied\" are indistinguishable.",{"type":44,"tag":76,"props":277,"children":278},{"id":8},[279],{"type":50,"value":9},{"type":44,"tag":53,"props":281,"children":282},{},[283,285,291,293,298],{"type":50,"value":284},"Of the four objects (",{"type":44,"tag":59,"props":286,"children":288},{"className":287},[],[289],{"type":50,"value":290},"references\u002Fplatform-mechanics.md",{"type":50,"value":292}," §1), this stage owns ",{"type":44,"tag":118,"props":294,"children":295},{},[296],{"type":50,"value":297},"traces",{"type":50,"value":299}," — the one\neverything else consumes, and the only one you cannot backfill.",{"type":44,"tag":53,"props":301,"children":302},{},[303,305,311,313,318,320,326,328,333,334,340],{"type":50,"value":304},"Field placement decides what the platform can ever do: scores in native ",{"type":44,"tag":59,"props":306,"children":308},{"className":307},[],[309],{"type":50,"value":310},"scores",{"type":50,"value":312}," (0–1);\ntokens\u002Flatency\u002Fcost in ",{"type":44,"tag":118,"props":314,"children":315},{},[316],{"type":50,"value":317},"native metrics",{"type":50,"value":319},", or they cannot be charted or gated on; slicing\nvariables in record ",{"type":44,"tag":59,"props":321,"children":323},{"className":322},[],[324],{"type":50,"value":325},"metadata",{"type":50,"value":327},", or subgroup analysis needs re-labeling; scorer name\u002Fversion in\nspan metadata; raw non-text input as a span ",{"type":44,"tag":118,"props":329,"children":330},{},[331],{"type":50,"value":332},"Attachment",{"type":50,"value":134},{"type":44,"tag":59,"props":335,"children":337},{"className":336},[],[338],{"type":50,"value":339},"input.audio = Attachment(...)",{"type":50,"value":341},"),\nwhich renders inline so \"listen to the actual clip\" is one click. Note experiments surface\nattachments more prominently than datasets — if human review of raw artifacts is part of the\nloop, make an experiment the review surface.",{"type":44,"tag":53,"props":343,"children":344},{},[345,350,352,358],{"type":44,"tag":118,"props":346,"children":347},{},[348],{"type":50,"value":349},"A stratum not in metadata is a stratum you cannot report",{"type":50,"value":351},", with no retroactive fix. Include\n",{"type":44,"tag":59,"props":353,"children":355},{"className":354},[],[356],{"type":50,"value":357},"scenario_id",{"type":50,"value":359}," wherever items are variants of one scenario, so clustered standard errors stay\ncomputable.",{"type":44,"tag":53,"props":361,"children":362},{},[363,365,370,372,377,379,385,387,393,395,401,403,408],{"type":50,"value":364},"Instrumentation also fixes the ",{"type":44,"tag":118,"props":366,"children":367},{},[368],{"type":50,"value":369},"evaluation scopes available later",{"type":50,"value":371},". Evaluators run against a\nspan, a trace, or a ",{"type":44,"tag":118,"props":373,"children":374},{},[375],{"type":50,"value":376},"group",{"type":50,"value":378}," of traces joined by a metadata key — so multi-turn behavior is only\nmeasurable if something like ",{"type":44,"tag":59,"props":380,"children":382},{"className":381},[],[383],{"type":50,"value":384},"conversation_id",{"type":50,"value":386},", ",{"type":44,"tag":59,"props":388,"children":390},{"className":389},[],[391],{"type":50,"value":392},"session_id",{"type":50,"value":394},", or ",{"type":44,"tag":59,"props":396,"children":398},{"className":397},[],[399],{"type":50,"value":400},"thread_id",{"type":50,"value":402}," was emitted at the\ntime. Same no-retroactive-fix rule as any other stratum, with a sharper edge: a grouping key that\nis present but ",{"type":44,"tag":118,"props":404,"children":405},{},[406],{"type":50,"value":407},"inconsistently populated",{"type":50,"value":409}," is worse than one that is absent, because group-scoped\nevaluation will silently drop the traffic where it is null and report a confident number over the\nremainder. Assert its coverage the way you assert any other transform invariant.",{"items":411,"total":576},[412,428,446,460,474,490,504,516,530,538,550,562],{"slug":413,"name":413,"fn":414,"description":415,"org":416,"tags":417,"stars":425,"repoUrl":426,"updatedAt":427},"troubleshoot-braintrust-mcp","configure and troubleshoot Braintrust MCP servers","This plugin auto-configures a \"braintrust\" MCP server. If you can't see it or reach it, activate this skill\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[418,419,422],{"name":9,"slug":8,"type":16},{"name":420,"slug":421,"type":16},"Debugging","debugging",{"name":423,"slug":424,"type":16},"MCP","mcp",18,"https:\u002F\u002Fgithub.com\u002Fbraintrustdata\u002Fbraintrust-claude-plugin","2026-07-12T08:36:13.889274",{"slug":429,"name":429,"fn":430,"description":431,"org":432,"tags":433,"stars":27,"repoUrl":28,"updatedAt":445},"braintrust-analyze-eval-experiment","analyze LLM and agent eval experiments","Analyze completed LLM or agent eval experiments using uncertainty-aware and decision-relevant methods. Use to audit run completeness and pairing, calculate confidence intervals, run paired comparisons, report wins, losses, and ties, incorporate run-to-run variance, handle multiple comparisons, inspect subgroup performance, and test fragility to favorable slices. Use when results already exist and someone asks what they mean, whether a difference is real, or which model won. Do not use to design an experiment that has not yet collected results.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[434,437,438,439,442],{"name":435,"slug":436,"type":16},"Analysis","analysis",{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},"LLM","llm",{"name":443,"slug":444,"type":16},"Statistics","statistics","2026-08-20T03:53:01.13806",{"slug":447,"name":447,"fn":448,"description":449,"org":450,"tags":451,"stars":27,"repoUrl":28,"updatedAt":459},"braintrust-attribute-multi-variable-change","attribute performance changes to multiple variables","Attribute an observed change when several things moved at once — model plus prompt plus tools, a provider migration, a framework upgrade, or a vendor swap that bundles serving stack with model. Use when asked which part of a change caused the result, when a comparison's arms differ in more than one way, when a treatment has no uniform implementation across vendors, or when a serving-stack difference is confounded with a model difference. Do not use for a clean single-variable comparison, or to design an experiment that has not yet run.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[452,453,454,455,456],{"name":435,"slug":436,"type":16},{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"name":457,"slug":458,"type":16},"Performance","performance","2026-08-20T03:53:40.036077",{"slug":461,"name":461,"fn":462,"description":463,"org":464,"tags":465,"stars":27,"repoUrl":28,"updatedAt":473},"braintrust-build-eval-dataset","create and manage LLM eval datasets","Create, edit, audit, or compare eval datasets for LLM applications and agents, including target-population definition, case sourcing from production traces, stratified sampling, label provenance and label audits, expected values as constraints for open-ended tasks, dev\u002Ftest splits, contamination and leakage controls, headroom checks, refresh policy, and datasheets. Use when working on the content or lifecycle of an eval dataset. Do not use for sample-size or power calculations, scorer implementation, or open-ended adversarial failure discovery.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[466,469,470,471,472],{"name":467,"slug":468,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},"2026-08-20T03:53:33.304815",{"slug":475,"name":475,"fn":476,"description":477,"org":478,"tags":479,"stars":27,"repoUrl":28,"updatedAt":489},"braintrust-define-eval-objective","define LLM evaluation objectives","Create, edit, or audit an eval objective by working backward from a product decision to the target outcome, construct, population, intended claim, and verification-versus-validation questions. Use when a team is unsure what an eval should establish, asks \"what are we actually trying to measure,\" \"is this eval measuring the right thing,\" \"does this benchmark support our claim,\" or needs to turn a product goal into an eval objective and state which claims are out of scope. Do not use to select detailed metrics, design datasets, or implement scorers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[480,481,482,483,486],{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"name":484,"slug":485,"type":16},"Product Management","product-management",{"name":487,"slug":488,"type":16},"Strategy","strategy","2026-08-20T03:53:00.07097",{"slug":491,"name":491,"fn":492,"description":493,"org":494,"tags":495,"stars":27,"repoUrl":28,"updatedAt":503},"braintrust-define-eval-release-gate","configure release gates for LLM applications","Create, edit, audit, or apply release gates for LLM applications and agents. Use to combine minimum meaningful improvement, statistical significance, regression rate, subgroup consistency, worst-run stability, all-attempts reliability, safety upper bounds, latency, and cost into an explicit ship-or-hold policy, to turn metrics into a CI gate, or to explain why a candidate failed a gate and what evidence would justify reconsideration. Do not use for general result analysis without a deployment decision.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[496,497,498,501,502],{"name":467,"slug":468,"type":16},{"name":9,"slug":8,"type":16},{"name":499,"slug":500,"type":16},"CI\u002FCD","ci-cd",{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},"2026-08-20T03:53:15.686158",{"slug":505,"name":505,"fn":506,"description":507,"org":508,"tags":509,"stars":27,"repoUrl":28,"updatedAt":515},"braintrust-deploy-evaluator","deploy evaluators to Braintrust","Take a validated scorer or classifier from definition to running instrument in Braintrust — scope selection, inline testing before saving, saving as an evaluator, attaching an online-scoring rule, activating it for new traffic, and backfilling history with a rewind. Use when a scorer needs to actually run against production logs, when an online-scoring rule needs to be created or changed, or when historical traces need scoring. Do not use to decide what the scorer should measure, to write its rubric, or to establish that it agrees with human judgment.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[510,511,514],{"name":9,"slug":8,"type":16},{"name":512,"slug":513,"type":16},"Deployment","deployment",{"name":24,"slug":25,"type":16},"2026-08-20T03:53:32.558937",{"slug":517,"name":517,"fn":518,"description":519,"org":520,"tags":521,"stars":27,"repoUrl":28,"updatedAt":529},"braintrust-design-eval-experiment","design controlled LLM eval experiments","Design or audit controlled eval experiments for model, prompt, retrieval, tool, guardrail, or agent-architecture changes. Use before data collection to state directional and minimum-effect hypotheses, name independent, dependent, and control variables including the serving environment and tool surface, choose paired designs, set repetitions and allocation, distinguish exploratory from confirmatory comparisons, and pre-specify stopping, exclusion, multiplicity, and analysis rules. Do not use primarily to analyze results already collected.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[522,523,524,527,528],{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":525,"slug":526,"type":16},"Experiments","experiments",{"name":440,"slug":441,"type":16},{"name":487,"slug":488,"type":16},"2026-08-20T03:53:36.534554",{"slug":4,"name":4,"fn":5,"description":6,"org":531,"tags":532,"stars":27,"repoUrl":28,"updatedAt":29},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[533,534,535,536,537],{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"slug":539,"name":539,"fn":540,"description":541,"org":542,"tags":543,"stars":27,"repoUrl":28,"updatedAt":549},"braintrust-design-eval-metric-bundle","create multi-objective evaluation metric bundles","Create, edit, audit, or compare a multi-objective eval metric bundle covering product quality, safety, reliability, latency, and cost. Use to choose metrics for an eval, define a goodness bundle, distinguish optimization metrics from non-regression guardrails, expose tradeoffs, audit a KPI or single composite score for Goodhart and metric-gaming risk, or answer \"what should improve and what must not regress.\" Do not use to design trace schemas, build datasets, or implement scoring methods.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[544,545,546,547,548],{"name":467,"slug":468,"type":16},{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"name":457,"slug":458,"type":16},"2026-08-20T03:53:16.078609",{"slug":551,"name":551,"fn":552,"description":553,"org":554,"tags":555,"stars":27,"repoUrl":28,"updatedAt":561},"braintrust-design-human-eval-review","design human evaluation and review workflows","Design or audit human evaluation workflows and golden datasets for LLM applications and agents. Use to set up expert review, select review cases, write reviewer instructions, assign raters, capture rationales and confidence, measure inter-rater agreement with kappa or alpha, adjudicate disagreements, and preserve reviewed examples with provenance as a versioned reference set. Do not use to elicit the criteria or rubric in the first place, to validate a scorer once reference labels exist, or to implement the scorer.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[556,557,558,559,560],{"name":467,"slug":468,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},"2026-08-20T03:53:36.900129",{"slug":563,"name":563,"fn":564,"description":565,"org":566,"tags":567,"stars":27,"repoUrl":28,"updatedAt":575},"braintrust-discover-agent-failures","identify and classify agent failure modes","Search open-endedly for unanticipated agent failure modes and convert them into a named taxonomy and durable regression items. Use for requests to find out what goes wrong, surface unknown or silent failures, do error analysis over traces, cluster and triage production failures, or build a failure taxonomy — where the goal is discovering modes nobody thought to test rather than measuring a predefined criterion. Produces datasets and taxonomies, not headline scores. Do not use for adversarial attacks against a threat model, or to measure a known criterion.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[568,569,570,571,572],{"name":467,"slug":468,"type":16},{"name":9,"slug":8,"type":16},{"name":420,"slug":421,"type":16},{"name":24,"slug":25,"type":16},{"name":573,"slug":574,"type":16},"Triage","triage","2026-08-20T03:53:00.423941",27,{"items":578,"total":633},[579,587,595,603,611,619,625],{"slug":429,"name":429,"fn":430,"description":431,"org":580,"tags":581,"stars":27,"repoUrl":28,"updatedAt":445},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[582,583,584,585,586],{"name":435,"slug":436,"type":16},{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"name":443,"slug":444,"type":16},{"slug":447,"name":447,"fn":448,"description":449,"org":588,"tags":589,"stars":27,"repoUrl":28,"updatedAt":459},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[590,591,592,593,594],{"name":435,"slug":436,"type":16},{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"name":457,"slug":458,"type":16},{"slug":461,"name":461,"fn":462,"description":463,"org":596,"tags":597,"stars":27,"repoUrl":28,"updatedAt":473},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[598,599,600,601,602],{"name":467,"slug":468,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"slug":475,"name":475,"fn":476,"description":477,"org":604,"tags":605,"stars":27,"repoUrl":28,"updatedAt":489},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[606,607,608,609,610],{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"name":484,"slug":485,"type":16},{"name":487,"slug":488,"type":16},{"slug":491,"name":491,"fn":492,"description":493,"org":612,"tags":613,"stars":27,"repoUrl":28,"updatedAt":503},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[614,615,616,617,618],{"name":467,"slug":468,"type":16},{"name":9,"slug":8,"type":16},{"name":499,"slug":500,"type":16},{"name":24,"slug":25,"type":16},{"name":440,"slug":441,"type":16},{"slug":505,"name":505,"fn":506,"description":507,"org":620,"tags":621,"stars":27,"repoUrl":28,"updatedAt":515},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[622,623,624],{"name":9,"slug":8,"type":16},{"name":512,"slug":513,"type":16},{"name":24,"slug":25,"type":16},{"slug":517,"name":517,"fn":518,"description":519,"org":626,"tags":627,"stars":27,"repoUrl":28,"updatedAt":529},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[628,629,630,631,632],{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"name":525,"slug":526,"type":16},{"name":440,"slug":441,"type":16},{"name":487,"slug":488,"type":16},24]