Quickstart
Connect your agent. Kelet starts finding failure patterns automatically.
Sign up at console.kelet.ai, then copy your API key from Settings → API Keys.
Integrate your agent
Section titled “Integrate your agent”The AI coding skill reads your codebase, maps your agent flows, and wires everything — SDK, sessions, signals, and a one-click link to set up evaluators.
Install the skill:
npx skills add Kelet-ai/skills/plugin marketplace add Kelet-ai/skills/plugin install kelet-integration@kelet-skillsThen tell your agent:
Integrate Kelet into my app
The skill handles the rest: installs the SDK, maps sessions, instruments LLM calls, proposes signals for your specific failure modes, and generates a deeplink to set up automated evaluators.
Run the skill in every repo that contains agent code — backend, frontend, and any downstream services.
-
Get your API key from the Kelet console under Settings → API Keys.
-
Install the SDK:
pip install keletuv add kelet- Configure at the top of your agent entry point:
import osimport kelet
kelet.configure(api_key=os.environ["KELET_API_KEY"])Use KELET_API_KEY env var — don’t hardcode the key.
- Wrap sessions — only needed if you own the agent loop (custom chaining, Temporal, raw SDK calls). Skip this if pydantic-ai, LangChain, or LangGraph orchestrates for you.
async def run_agent(session_id: str, user_id: str):async with kelet.agentic_session(session_id=session_id, user_id=user_id):result = await agent.run(...)return resultIf you skip agentic_session() when you own the loop, spans appear as unlinked individual
traces — no sessions, no RCA.
- Run your agent. Kelet captures every trace immediately. No further changes needed.
-
Get your API key from the Kelet console under Settings → API Keys.
-
Install the SDK and required OTEL peer dependencies:
npm install kelet \@opentelemetry/api \@opentelemetry/instrumentation \@opentelemetry/exporter-trace-otlp-http \@opentelemetry/sdk-trace-base \@opentelemetry/resourcesbun add kelet \@opentelemetry/api \@opentelemetry/instrumentation \@opentelemetry/exporter-trace-otlp-http \@opentelemetry/sdk-trace-base \@opentelemetry/resourcesyarn add kelet \@opentelemetry/api \@opentelemetry/instrumentation \@opentelemetry/exporter-trace-otlp-http \@opentelemetry/sdk-trace-base \@opentelemetry/resourcespnpm add kelet \@opentelemetry/api \@opentelemetry/instrumentation \@opentelemetry/exporter-trace-otlp-http \@opentelemetry/sdk-trace-base \@opentelemetry/resources- Configure at the top of your entry point (before any agent code):
import {configure} from 'kelet';
configure({apiKey: process.env.KELET_API_KEY});- Wrap sessions — callback-based (AsyncLocalStorage):
import {agenticSession} from 'kelet';
const result = await agenticSession({sessionId: session_id, userId: user_id},async () => {return await agent.run(...);});agenticSession is callback-based, not a context manager. The callback’s scope defines the
session boundary.
- Run your agent. Traces appear in the console within seconds.
What happens next
Section titled “What happens next”Open console.kelet.ai after your first run. Traces appear within seconds. Once Kelet sees patterns across sessions, Findings surface with root causes and Prompt Patches.
Next steps
Section titled “Next steps”- How Kelet works — understand the analysis pipeline
- Sessions — when and how to use
agentic_session() - Signals — what signals are and why they matter