Install isplay
The clear path for installing isplay with the agent skill or wiring one adapter manually.
Most teams should use the agent skill. It installs the right pieces for the repo, chooses the adapter, captures the next run, and starts the investigation loop.
Recommended: Agent Skill
Install the skill.
npx skills add combined-ai/isplay --skill isplay-analysis -a codexRestart Codex, then prompt the agent.
Use $isplay-analysis to set up isplay for this repo, choose the right adapter, capture my next run, and return an evidence-bounded RCA report.Manual: Pick One Adapter
Use manual setup when you want exact control over the framework wiring. Start isplay once, install the adapter that matches your runtime, then capture a run.
Start isplay and create a project.
npx isplay start
export ISPLAY_API_URL="<api url shown by isplay start>"
npx isplay projects create --name "Local Agent Lab"
export ISPLAY_PROJECT_ID="<id from JSON>"npm install isplay @isplay/sdk @isplay/adapter-kitUse this for custom frameworks and direct SDK wiring.
npm install isplay @isplay/sdk @isplay/adapter-ai-sdk aiUse this for Vercel AI SDK middleware and tool wrappers.
npm install isplay @isplay/sdk @isplay/adapter-mastra @mastra/core mastraUse this for Mastra workflows, tools, and agent events.
npm install isplay @isplay/sdk @isplay/adapter-langgraph @langchain/langgraphUse this for LangGraph nodes, streams, checkpoints, and tools.
npm install isplay @isplay/sdk @isplay/adapter-openclawUse this for OpenClaw native hooks and fixture decisions.
npm install isplay @isplay/sdk @isplay/adapter-codex
npm install isplay @isplay/sdk @isplay/adapter-claude-codeUse this for managed Codex or Claude Code trace ingestion.
Wire Capture
These are the shared SDK primitives every adapter builds on. Adapter pages show the framework-specific wrapper code.
Initialize the SDK where the agent runs.
import { init } from "@isplay/sdk";
export const isplay = init({
projectId: process.env.ISPLAY_PROJECT_ID!,
baseUrl: process.env.ISPLAY_API_URL,
});Capture the decision point.
await isplay.withRun({ name: "claim-review" }, async () => {
await isplay.annotateContext({
kind: "system_message",
path: "prompt.system",
value: "Prefer policy-grounded answers.",
});
await isplay.checkpoint("before-decision", {
stage: "ready",
});
});Start Analyzing
Once a run exists, use the skill for the investigation loop or inspect the run manually.
Use $isplay-analysis. Find my latest captured run, inspect the context inventory, branch likely hypotheses, replay them, resolve fixture requirements when safe, and return an RCA report with validity labels.npx isplay runs list --project "$ISPLAY_PROJECT_ID"
npx isplay discover run <runId>
npx isplay runs checkpoints <runId>