LangSmith Trace Debugging
ComposioHQ/awesome-claude-skills
Debugs LangChain and LangGraph agents by pulling recent execution traces with the langsmith-fetch CLI and reporting errors, tool calls, timings and token use.
Builds a new AI agent with Olakai monitoring from the start: CLI login, SDK integration, per-agent KPI configuration and an end-to-end check that data flows.
$ npx skills add andrewyng/context-hub --skill new-project -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install andrewyng/context-hub new-project --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/content/olakai/skills/new-project .claude/skills/new-project && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "new-project" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-project into .claude/skills/new-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "new-project", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-projectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add andrewyng/context-hub --skill new-project -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install andrewyng/context-hub new-project --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/content/olakai/skills/new-project .agents/skills/new-project && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "new-project" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-project into .agents/skills/new-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "new-project", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add andrewyng/context-hub --skill new-project -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install andrewyng/context-hub new-project --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/content/olakai/skills/new-project .cursor/skills/new-project && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "new-project" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-project into .cursor/skills/new-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "new-project", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/andrewyng/context-hub.git --path content/olakai/skills/new-project--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add andrewyng/context-hub --skill new-project -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install andrewyng/context-hub new-project --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/content/olakai/skills/new-project .gemini/skills/new-project && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "new-project" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-project into .gemini/skills/new-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "new-project", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install andrewyng/context-hub new-projectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add andrewyng/context-hub --skill new-project -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .github/skills && cp -r skills-src/content/olakai/skills/new-project .github/skills/new-project && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "new-project" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-project into .github/skills/new-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "new-project", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add andrewyng/context-hub --skill new-project -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install andrewyng/context-hub new-project --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/andrewyng/context-hub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/content/olakai/skills/new-project .opencode/skills/new-project && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "new-project" agent skill from https://github.com/andrewyng/context-hub/tree/main/content/olakai/skills/new-project into .opencode/skills/new-project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "new-project", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
new-projectBuilds a new AI agent with Olakai monitoring from the start: CLI login, SDK integration, per-agent KPI configuration and an end-to-end check that data flows.
Setup begins with the Olakai CLI installed through npm and authenticated with `olakai login`, plus an SDK API key generated per agent from the CLI. The skill stresses that without custom KPIs you only get basic token counts, so each agent should define a few KPIs that answer how you know it is performing well. KPIs belong to one agent and cannot be shared, so every later agent needs its own.
It explains the data path: `customData` sent from the SDK is matched against a CustomDataConfig schema, its fields become context variables, KPI formulas compute from them, and the results come back as `kpiData`. The rules it lists include that only registered CustomDataConfig fields can be used in formulas, formulas are case-insensitive, and NUMBER fields need real numbers rather than strings. Built-in variables such as `Prompt` are always available.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 67dcbeb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmjqpipcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, pip and curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OLAKAI_API_KEYOPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Olakai Agent Project Setup loads about 5k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 1,084 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from andrewyng/context-hub at commit 67dcbeb, republished under its MIT licence (© andrewyng). 1,084 words, ~4,995 tokens.
.claude/skills/new-project/SKILL.md (or your agent's skills folder).This skill guides you through creating a new AI agent that is fully integrated with Olakai for analytics, KPI tracking, and governance.
Before starting, ensure:
npm install -g olakai-cliolakai loginOlakai's core value is tracking business-specific KPIs for your AI agents. Without KPIs, you're tracking events without gaining actionable insights.
What you can measure with KPIs:
Without KPIs configured:
Every agent should have 2-4 KPIs that answer: "How do I know this agent is performing well?"
KPIs created here belong to this specific agent only. If you later create additional agents, each one needs its own KPI definitions — KPIs cannot be shared or reused across agents.
Before diving into implementation, understand how data flows through Olakai:
SDK customData → CustomDataConfig (Schema) → Context Variable → KPI Formula → kpiDataSuccessRate * 100)| Rule | Consequence |
|---|---|
| Only CustomDataConfig fields become variables | Unregistered customData fields are NOT usable in KPIs |
| Formula evaluation is case-insensitive | stepCount, STEPCOUNT, StepCount all work in formulas |
| NUMBER configs need numeric values | Don't send "5" (string), send 5 (number) |
| KPIs are unique per agent | Each KPI belongs to exactly one agent — create separately for each |
| Variable | Type | Description |
|---|---|---|
Prompt | string | The prompt text sent to the LLM |
Response | string | The LLM response text |
Documents count | number | Number of attached documents |
PII detected | boolean | Whether PII was detected |
PHI detected | boolean | Whether PHI was detected |
CODE detected | boolean | Whether code was detected |
SECRET detected | boolean | Whether secrets were detected |
Agentic AI (Multi-step autonomous workflows):
Assistive AI (Interactive chatbots/copilots):
Design your KPIs BEFORE writing any SDK code. This ensures only meaningful data is sent and tracked.
What do stakeholders need to know about this agent?
| Business Question | Field Name | Type | KPI Formula | Aggregation |
|---|---|---|---|---|
| Throughput | ItemsProcessed | NUMBER | ItemsProcessed | SUM |
| Reliability | SuccessRate | NUMBER | SuccessRate * 100 | AVERAGE |
| Error count | SuccessRate | NUMBER | IF(SuccessRate < 1, 1, 0) | SUM |
| Correlation | ExecutionId | STRING | (for filtering only) | - |
// ONLY include fields you'll register as CustomDataConfigs
customData: {
// Business KPIs
ItemsProcessed: number, // Count of items handled
SuccessRate: number, // 0-1 success ratio
// Performance KPIs
StepCount: number, // Number of workflow steps
// Identification (for filtering, not KPIs)
ExecutionId: string, // Correlation ID
}IMPORTANT: Only include fields you will register as CustomDataConfigs. Unregistered fields are stored but cannot be used in KPIs.
The Olakai platform automatically tracks these — do NOT duplicate them:
| Already Tracked | Where | Don't Send As customData |
|---|---|---|
| Session ID | Main payload | sessionId |
| Agent ID | API key association | agentId |
| User email | userEmail parameter | email, userEmail |
| Timestamp | Event metadata | timestamp, createdAt |
| Request time | requestTime parameter | duration, latency |
| Token count | tokens parameter | tokenCount |
| Model | Auto-detected | model, modelName |
| Provider | Client config | provider |
customData is ONLY for:
Every agent MUST belong to a workflow, even if it's the only agent in that workflow.
olakai workflows create --name "Your Workflow Name" --json
# Output: { "id": "wfl_xxx...", "name": "Your Workflow Name" }olakai agents create \
--name "Your Agent Name" \
--description "What this agent does" \
--workflow WORKFLOW_ID \
--with-api-key \
--json
# Returns agent details including apiKey:
# {
# "id": "cmkbteqn501kyjy4yu6p6xrrx",
# "name": "Your Agent Name",
# "workflowId": "wfl_xxx...",
# "apiKey": "sk_agent_xxxxx..." <-- Use this in your SDK
# }Agent-Workflow Hierarchy:
Workflow: "Customer Support Pipeline"
├── Agent: "Ticket Classifier"
├── Agent: "Response Generator"
└── Agent: "Quality Checker"
Workflow: "Document Processing"
└── Agent: "Document Summarizer" ← single-agent workflows are validThis step MUST be completed before Step 3 (SDK Integration). Only fields registered here can be used in KPI formulas.
ONLY create configs for data you'll use in KPIs or for filtering. Don't create configs for data already tracked automatically.
# For numeric fields (can be used in KPI calculations)
olakai custom-data create --agent-id YOUR_AGENT_ID --name "ItemsProcessed" --type NUMBER
olakai custom-data create --agent-id YOUR_AGENT_ID --name "SuccessRate" --type NUMBER
olakai custom-data create --agent-id YOUR_AGENT_ID --name "StepCount" --type NUMBER
# For string fields (for filtering/grouping, not calculations)
olakai custom-data create --agent-id YOUR_AGENT_ID --name "ExecutionId" --type STRING
# Verify all configs are created
olakai custom-data list --agent-id YOUR_AGENT_IDInstead of writing formulas from scratch, use predefined classifier templates:
# List available templates
olakai kpis templates
# Create a classifier KPI from a template
olakai kpis create --name "User Satisfaction" \
--calculator-id classifier --template-id sentiment_scorer \
--scope CHAT --agent-id $AGENT_ID
# Create a time-saved estimator
olakai kpis create --name "Time Saved" \
--calculator-id classifier --template-id time_saved_estimator \
--scope CHAT --agent-id $AGENT_ID# Variable passthrough
olakai kpis create \
--name "Items Processed" \
--agent-id YOUR_AGENT_ID \
--calculator-id formula \
--formula "ItemsProcessed" \
--unit "items" \
--aggregation SUM
# Percentage calculation
olakai kpis create \
--name "Success Rate" \
--agent-id YOUR_AGENT_ID \
--calculator-id formula \
--formula "SuccessRate * 100" \
--unit "%" \
--aggregation AVERAGE
# Conditional counting
olakai kpis create \
--name "Error Count" \
--agent-id YOUR_AGENT_ID \
--calculator-id formula \
--formula "IF(SuccessRate < 1, 1, 0)" \
--unit "errors" \
--aggregation SUM
# Validate formulas before creating
olakai kpis validate --formula "ItemsProcessed" --agent-id YOUR_AGENT_IDInstall dependencies:
npm install @olakai/sdk openaiInitialize and track:
import { olakaiConfig, olakai } from "@olakai/sdk";
import OpenAI from "openai";
// Initialize Olakai
olakaiConfig({
apiKey: process.env.OLAKAI_API_KEY!,
debug: process.env.NODE_ENV === "development",
});
// Create LLM client
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
// Use wrapped client — monitoring happens automatically
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: userPrompt }],
});Agentic workflow with manual event tracking:
taskExecutionId— Cross-Agent Task Correlation. Generate ONEtaskExecutionIdper task and share it across all agents in a multi-agent workflow. This links events from different agents into a single logical task for analytics.
async function runAgent(input: string): Promise<string> {
const startTime = Date.now();
const executionId = crypto.randomUUID();
const taskExecutionId = crypto.randomUUID();
let totalTokens = 0;
let stepCount = 0;
let itemsProcessed = 0;
try {
// Step 1: Planning
stepCount++;
const plan = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: `Plan: ${input}` }],
});
totalTokens += plan.usage?.total_tokens ?? 0;
// Step 2: Process items
const items = parseItems(plan.choices[0].message.content);
for (const item of items) {
stepCount++;
const result = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: `Process: ${item}` }],
});
totalTokens += result.usage?.total_tokens ?? 0;
itemsProcessed++;
}
// Step 3: Summarize
stepCount++;
const summary = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Summarize results" }],
});
totalTokens += summary.usage?.total_tokens ?? 0;
const finalResponse = summary.choices[0].message.content ?? "";
// Track the complete workflow as a single event
// Only send fields that have CustomDataConfigs (from Step 2.3)
olakai("event", "ai_activity", {
prompt: input,
response: finalResponse,
tokens: totalTokens,
requestTime: Date.now() - startTime,
taskExecutionId,
task: "Data Processing & Analysis",
customData: {
ExecutionId: executionId,
StepCount: stepCount,
ItemsProcessed: itemsProcessed,
SuccessRate: 1.0,
},
});
return finalResponse;
} catch (error) {
// Track failed execution — same fields, different values
olakai("event", "ai_activity", {
prompt: input,
response: `Error: ${error instanceof Error ? error.message : "Unknown"}`,
tokens: totalTokens,
requestTime: Date.now() - startTime,
taskExecutionId,
task: "Data Processing & Analysis",
customData: {
ExecutionId: executionId,
StepCount: stepCount,
ItemsProcessed: itemsProcessed,
SuccessRate: 0,
},
});
throw error;
}
}Install dependencies:
pip install olakai-sdk openaiInitialize and track:
import os
from olakaisdk import olakai_config, olakai, OlakaiEventParams
from openai import OpenAI
# Initialize Olakai
olakai_config(os.getenv("OLAKAI_API_KEY"))
# Create OpenAI client
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))Agentic workflow:
import time
import uuid
def run_agent(input_text: str) -> str:
start_time = time.time()
execution_id = str(uuid.uuid4())
task_execution_id = str(uuid.uuid4())
total_tokens = 0
step_count = 0
items_processed = 0
try:
# Your workflow steps here...
step_count += 1
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": input_text}]
)
total_tokens += response.usage.total_tokens
final_response = response.choices[0].message.content
# Track successful execution
olakai("event", "ai_activity", OlakaiEventParams(
prompt=input_text,
response=final_response,
tokens=total_tokens,
requestTime=int((time.time() - start_time) * 1000),
taskExecutionId=task_execution_id,
task="Data Processing & Analysis",
customData={
"ExecutionId": execution_id,
"StepCount": step_count,
"ItemsProcessed": items_processed,
"SuccessRate": 1.0,
}
))
return final_response
except Exception as e:
olakai("event", "ai_activity", OlakaiEventParams(
prompt=input_text,
response=f"Error: {str(e)}",
tokens=total_tokens,
requestTime=int((time.time() - start_time) * 1000),
taskExecutionId=task_execution_id,
task="Data Processing & Analysis",
customData={
"ExecutionId": execution_id,
"StepCount": step_count,
"ItemsProcessed": items_processed,
"SuccessRate": 0,
}
))
raiseFor other languages or custom integrations:
curl -X POST "https://app.olakai.ai/api/monitoring/prompt" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"prompt": "User input here",
"response": "Agent response here",
"app": "your-agent-name",
"task": "Data Processing & Analysis",
"tokens": 1500,
"requestTime": 5000,
"customData": {
"ExecutionId": "abc-123",
"StepCount": 5,
"ItemsProcessed": 10,
"SuccessRate": 1.0
}
}'Always validate your implementation by running a test and inspecting the actual event data.
Execute your agent with test data to generate at least one event.
olakai activity list --agent-id YOUR_AGENT_ID --limit 1 --json
olakai activity get EVENT_ID --jsonCheck customData is present and correct:
olakai activity get EVENT_ID --json | jq '.customData'Check KPIs are numeric (not strings):
olakai activity get EVENT_ID --json | jq '.kpiData'CORRECT — numeric values:
{
"Items Processed": 10,
"Success Rate": 100
}WRONG — string values (broken formula):
{
"Items Processed": "itemsProcessed"
}Fix: olakai kpis update KPI_ID --formula "YourVariable"
WRONG — null values: Fix by verifying:
olakai custom-data list --agent-id ID1. Run agent (generate event)
↓
2. Fetch event: olakai activity get ID --json
↓
3. Check customData present? NO → Fix SDK code
↓
4. Check kpiData numeric? NO → Fix formula
↓
5. Check kpiData not null? NO → Create CustomDataConfig or fix field name
↓
✅ All validations pass — implementation completeBefore deploying to production:
| Category | Operators |
|---|---|
| Arithmetic | +, -, *, / |
| Comparison | <, <=, =, <>, >=, > |
| Logical | AND, OR, NOT |
| Conditional | IF(condition, true_val, false_val), MAP(value, match1, out1, default) |
| Math | ABS, MAX, MIN, AVERAGE, TRUNC |
| Null handling | ISNA(value), ISDEFINED(value), NA() |
--formula "ItemsProcessed" # passthrough
--formula "SuccessRate * 100" # percentage (0-1 to 0-100)
--formula "IF(SuccessRate < 1, 1, 0)" # conditional counting
--formula "IF(PII detected, 1, 0)" # built-in variable
--formula "IF(ISDEFINED(MyField), MyField, 0)" # null-safe
--formula "IF(AND(StepCount > 5, SuccessRate < 0.9), 1, 0)" # compound conditions| Aggregation | Use For | Example |
|---|---|---|
SUM | Totals, counts | Total items processed across all runs |
AVERAGE | Rates, percentages | Average success rate |
Use these predefined task categories for the task field:
| Category | Example Use |
|---|---|
| Research & Intelligence | Competitive intelligence, market research |
| Data Processing & Analysis | Data extraction, statistical analysis |
| Content Development | Blog writing, technical documentation |
| Content Refinement | Editing, proofreading |
| Customer Experience | Complaint resolution, ticket triage |
| Software Development | Code generation, code review, debugging |
| Strategic Planning | Roadmap development, scenario planning |
# CLI Commands
olakai login # Authenticate
olakai workflows create --name "Name" --json # Create workflow
olakai agents create --name "Name" --workflow ID --with-api-key # Register agent
olakai custom-data create --agent-id ID --name X --type NUMBER # Create custom field
olakai kpis create --formula "X" --agent-id ID # Create KPI
olakai activity list --agent-id ID # View events// TypeScript SDK
import { olakaiConfig, olakai } from "@olakai/sdk";
olakaiConfig({ apiKey: process.env.OLAKAI_API_KEY });
olakai("event", "ai_activity", {
prompt: "input",
response: "output",
tokens: 1500,
task: "Data Processing & Analysis",
customData: { StepCount: 3, Success: 1 },
});# Python SDK
from olakaisdk import olakai_config, olakai, OlakaiEventParams
olakai_config(os.getenv("OLAKAI_API_KEY"))
olakai("event", "ai_activity", OlakaiEventParams(
prompt="input",
response="output",
tokens=1500,
task="Data Processing & Analysis",
customData={"StepCount": 3, "Success": 1},
))© andrewyng, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in content/olakai/skills/new-project of andrewyng/context-hub.
Open the folder on GitHubat commit 67dcbeb
Olakai Agent Project Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Olakai Agent Project Setup this skillandrewyng/context-hub | 14k | — | ~5k | Automated safety check: Pass | MIT | |
| LangSmith Trace DebuggingComposioHQ/awesome-claude-skills | 77k | 8 repos | ~2.7k | Automated safety check: Pass | None | |
| Failproof AI SDK IntegrationFailproofAI/failproofai | 5.3k | — | ~6k | Automated safety check: Pass | Custom licence | |
| OmniRoute Cost and Usage CLIdiegosouzapw/OmniRoute | 75k | — | ~693 | Automated safety check: Pass | MIT | |
| Dev BumpNetis/heron | 102 | — | ~983 | Automated safety check: Pass | Apache-2.0 | |
| Langgraph Project Setupsoba-labs/langchain-agent-skills | 107 | — | ~2.4k | Automated safety check: Notes | MIT |
ComposioHQ/awesome-claude-skills
Debugs LangChain and LangGraph agents by pulling recent execution traces with the langsmith-fetch CLI and reporting errors, tool calls, timings and token use.
FailproofAI/failproofai
Helps instrument a custom Python or TypeScript agent to record events for Failproof AI, verify what gets written, and run an evaluator worker that scores the runs.
diegosouzapw/OmniRoute
View cost breakdowns, token usage, and call logs from the CLI. Filter by provider, model, or date range. Export usage reports and inspect per-connection…
Netis/heron
Bump Heron version via the VERSION-file SSOT. An agent skill from Netis/heron.
soba-labs/langchain-agent-skills
Initialize and configure LangGraph projects with proper structure, langgraph.json configuration, environment variables, and dependency management.
agentsope/SkillAlchemy
Enhancement-overlay skill — the DECISION + WIRING layer for LM observability that the single-backend skills [[langsmith]], [[phoenix]], [[mlflow]] do NOT cover.
andrewyng/context-hub
Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.
andrewyng/context-hub
Guides building Tavily integrations for web search, URL extraction, site crawling and AI-assisted research in Python or JavaScript agent and RAG projects.
andrewyng/context-hub
Helps choose between Bloc and Cubit in Flutter and sets defaults for packages, lifecycle, widget binding and tests.
andrewyng/context-hub
Sequences parts-mcp tool calls for finding, pricing and checking availability of electronic components, including BOM processing and datasheet navigation.
andrewyng/context-hub
Adds Olakai monitoring to an existing LLM application with minimal code changes, then configures custom KPIs so the dashboard tracks business outcomes instead of just token counts.
andrewyng/context-hub
Collects reusable Playwright patterns for logging in during end-to-end tests: password forms, OAuth redirects, saved browser state and TOTP two-factor codes.
Works with
Categories
Builds a new AI agent with Olakai monitoring from the start: CLI login, SDK integration, per-agent KPI configuration and an end-to-end check that data flows. Setup begins with the Olakai CLI installed through npm and authenticated with `olakai login`, plus an SDK API key generated per agent from the CLI. The skill stresses that without custom KPIs you only get basic token counts, so each agent should define a few KPIs that answer how you know it is performing well.
Olakai Agent Project Setup fits situations like: starting a new agent that should report KPIs to Olakai from day one; defining custom data fields and KPI formulas for an agent's events; debugging why a KPI shows no value after events are sent.
Run `npx skills add andrewyng/context-hub --skill new-project -a claude-code`. Or copy the skill folder (content/olakai/skills/new-project in andrewyng/context-hub) into .claude/skills/new-project in your project. Claude Code loads it when a task matches its description.
Run `npx skills add andrewyng/context-hub --skill new-project -a codex`. Or copy the skill folder (content/olakai/skills/new-project in andrewyng/context-hub) into .agents/skills/new-project in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add andrewyng/context-hub --skill new-project -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/new-project, .gemini/skills/new-project, .github/skills/new-project and .opencode/skills/new-project in your project.
Going by SKILL.md and its folder, Olakai Agent Project Setup needs the command-line tools its instructions call (npm, jq, pip and curl) and credentials named OLAKAI_API_KEY and OPENAI_API_KEY. Our summary lists: npm, to install the Olakai CLI; An Olakai login through the CLI; A per-agent API key generated with the CLI.
SKILL.md contains no URLs. Its commands use npm, pip and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Olakai Agent Project Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Olakai Agent Project Setup: LangSmith Trace Debugging (ComposioHQ/awesome-claude-skills, 77k stars), Failproof AI SDK Integration (FailproofAI/failproofai, 5.3k stars), OmniRoute Cost and Usage CLI (diegosouzapw/OmniRoute, 75k stars) and Dev Bump (Netis/heron, 102 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
andrewyng (a GitHub user) maintains it in andrewyng/context-hub, which has 13,973 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on May 31, 2026.
Source: andrewyng/context-hub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.