Skip to content
Back to skills

kalibr

ASecurity

Ship agents that fix themselves. Kalibr learns what's working as your agents run in production and routes them around failures, degradations, and cost spikes before you know they're happening.

  • 31 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
ai-agentspythongobashreacttestingdebugginggitapi

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add kalibr-ai/kalibr-sdk-python --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of kalibr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for kalibr
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/kalibr-ai-kalibr/badge)](https://www.skillsdirectory.com/skills/kalibr-ai-kalibr)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: kalibr
description: Ship agents that fix themselves. Kalibr learns what's working as your agents run in production and routes them around failures, degradations, and cost spikes before you know they're happening.
version: 0.2.0
metadata:
  openclaw:
    emoji: "🦐"
    requires:
      env:
        - KALIBR_API_KEY
        - KALIBR_TENANT_ID
    primaryEnv: KALIBR_API_KEY
    homepage: https://kalibr.systems
---

# Kalibr β€” agents that fix themselves

Kalibr lets agents choose the optimal model + tools for any task, across any modality, as they run in production.

You define candidate execution paths β€” model + tools + parameters. Kalibr figures out which one wins for each task from real production telemetry. When a path degrades at 3am, your agents are already on the next best path. No alerts. No debugging. No you.

## When to use this

- User is building agents and asks about reliability, failover, or model selection
- User's agent is failing because a model provider is degraded or down
- User wants different tasks routed to different models automatically
- User is hardcoding `model="gpt-4o"` and wants something that adapts
- User asks about production monitoring, cost optimization, or agent routing
- User asks how to stop agents from breaking when a provider has an outage
- User is building multimodal agents and wants unified optimization across text, voice, and image
- User wants to route HuggingFace models based on production outcomes

## Install

```bash
pip install kalibr
```

Get credentials at https://dashboard.kalibr.systems/settings

```bash
export KALIBR_API_KEY="your-api-key"
export KALIBR_TENANT_ID="your-tenant-id"
```

### Install via OpenClaw

```bash
openclaw plugins install @kalibr/openclaw
```

## Quick start

```python
from kalibr import Router

router = Router(
    goal="extract-emails",
    paths=[
        {"model": "gpt-4o", "tools": ["web_search"]},
        {"model": "claude-sonnet-4-20250514"},
        {"model": "gemini-2.0-flash", "params": {"temperature": 0.2}},
    ]
)

response = router.completion(
    messages=[{"role": "user", "content": "Extract emails from this page..."}]
)

# This is how Kalibr learns β€” tell it what worked
router.report(success="@" in response.choices[0].message.content)
```

Kalibr routes the full execution path β€” model + tools + parameters β€” not just the model. After ~20 outcomes it knows what's winning. After 50 it's locked in and adapting.

## Auto-reporting

Skip manual reporting β€” define success inline:

```python
router = Router(
    goal="extract-emails",
    paths=["gpt-4o", "claude-sonnet-4-20250514", "gemini-2.0-flash"],
    success_when=lambda output: "@" in output,
)

# Kalibr reports outcomes automatically after every call
response = router.completion(messages=[...])
```

## How it's different

**OpenRouter / LiteLLM routing**: Model proxy. Routes based on price, speed, availability. Doesn't know if the response was actually good for your task.

**Fallback systems** (LangChain ModelFallbackMiddleware): Reactive. Waits for a failure, then tries the next model. You already lost that request.

**Kalibr**: Learns from your actual production telemetry β€” per task, per path. Routes to what's working before anything breaks. 10% canary traffic keeps testing alternatives so Kalibr catches degradation before your users do.

## Works with

- **LangChain / LangGraph**: `pip install langchain-kalibr` β€” drop-in ChatModel
- **CrewAI**: Pass `ChatKalibr` as any agent's `llm`
- **OpenAI Agents SDK**: Drop-in replacement
- **Any Python code that calls an LLM**
- **HuggingFace**: Any of 17 task types across every modality

## How it works

Kalibr captures telemetry on every agent run β€” latency, success, cost, provider status. It uses Thompson Sampling to balance exploration (trying paths) vs. exploitation (using the best). 10% canary traffic keeps testing alternatives so Kalibr catches degradation before your users do.

Success rate always dominates. Kalibr never sacrifices quality for cost.

## Links

- Dashboard: https://dashboard.kalibr.systems
- Docs: https://kalibr.systems/docs
- GitHub: https://github.com/kalibr-ai/kalibr-sdk-python
- PyPI: https://pypi.org/project/kalibr/

Files in this skill

  • .env.example2.5 KB
  • AGENTS.md16 KB
  • CHANGELOG.md10.9 KB
  • CODE_OF_CONDUCT.md747 B
  • CONTRIBUTING.md5.4 KB
  • PUBLISH_INSTRUCTIONS.txt257 B
  • SECURITY.md746 B
  • SKILL.md4.1 KB
  • examples/basic_agent.py5 KB
  • examples/basic_example.py1.4 KB
  • examples/cross_vendor.py3.9 KB
  • examples/outcome_routing.py3.1 KB
  • kalibr/__init__.py6.2 KB
  • kalibr/__main__.py110 B
  • kalibr/agents_sync.py3.2 KB
  • kalibr/capsule_middleware.py3.1 KB
  • kalibr/client.py9.5 KB
  • kalibr/collector.py13.8 KB
  • kalibr/context.py4.7 KB
  • kalibr/cost_adapter.py5.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.