.claude/skills/feature-map/SKILL.md
Maintain the canonical LangWatch feature map (/feature-map.json). Use when adding features, APIs, MCP tools, CLI commands, or skills — to update the central registry and keep surfaces in sync.
npx skillsauth add langwatch/langwatch feature-mapInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are maintaining /feature-map.json — the canonical information architecture for LangWatch. Every platform feature is defined here with its surfaces (how it's accessed) and sync state (how code and platform relate). All implementations (sidebar, docs, skills, MCP tools) derive from this map.
The hierarchy represents the product's mental model, not the code structure:
observability/ — Tracing, Analytics, User Events, Annotations
evaluations/ — Experiments, Online Evaluation (includes guardrails via code)
agent-simulations/ — Scenarios, Runs
prompt-management/ — Prompts, Prompt Playground
library/ — Agents, Workflows, Evaluators, Datasets
settings/ — Model Providers
as_guardrail=True), not a separate concept.Each feature has two main access paths:
code — developer writes files in their project (SDK, CLI, skill)platform — no-code via UI or MCP tools (UI route, MCP tool, platform skill)Plus cross-cutting:
api — REST/Hono API endpoint namespace (used by both code and platform)docs — canonical documentation URLFields point to namespaces, not individual methods. E.g., "python": "langwatch.experiment" means the whole experiment module, not just init().
How code and platform relate for each feature:
| sync value | meaning | example |
|---|---|---|
| null | separate or one-mode only | annotations (platform only) |
| "bidirectional" | code ↔ platform, synced | prompts (via prompt sync) |
| "code-to-platform" | code generates, platform displays | tracing, experiments |
| "platform-to-code" | platform configures, code consumes | — (none currently) |
plannedSync captures known future intent (e.g., scenarios will become "bidirectional").
langwatch/src/app/api/ — each [[...route]]/app.ts is a Hono app
langwatch/src/app/api/traces/[[...route]]/app.tslangwatch/src/app/api/scenarios/[[...route]]/app.tslangwatch/src/app/api/prompts/[[...route]]/app.tslangwatch/src/app/api/evaluators/[[...route]]/app.tslangwatch/src/app/api/dataset/[[...route]]/langwatch/src/app/api/analytics/langwatch/src/app/api/model-providers/[[...route]]/langwatch/src/pages/api/langwatch/src/server/api/routers/ registered in langwatch/src/server/api/root.tslangwatch/src/utils/routes.ts — projectRoutes object has every page routelangwatch/src/components/MainMenu.tsx — sections: Observe, Evaluate, Librarylangwatch/src/utils/featureIcons.tsmcp-server/src/index.ts — every server.tool() callmcp-server/src/tools/*.tstypescript-sdk/src/cli/index.tstypescript-sdk/src/cli/commands/login + prompt subcommands (init, create, add, remove, list, sync, pull, push)python-sdk/src/langwatch/__init__.py (top-level exports), modules: experiment, evaluation, dataset, evaluators, prompts, dspytypescript-sdk/src/index.ts — LangWatch class with .prompts, .experiments, .evaluations, .evaluators, .datasets, .traces@langwatch/scenario (TS) / langwatch-scenario (Python)skills/*/SKILL.mdfetch_langwatch_docs MCP tool, index at https://langwatch.ai/docs/llms.txtfetch_scenario_docs MCP tool, index at https://langwatch.ai/scenario/llms.txtfeature-map.jsonidsurfaces.api with the route namespacemcp-server/src/index.tssurfaces.platform.mcp arrayskills/{name}/SKILL.mdsurfaces.code.skill (for code-path skills) or surfaces.platform.skill (for platform-path skills)typescript-sdk/src/cli/commands/surfaces.code.cli arraysurfaces.code.sdk with the namespaceplannedSync to syncplannedSync for future planssync appropriatelyAfter any change, verify:
api value corresponds to a route in langwatch/src/app/api/ or langwatch/src/pages/api/mcp tool name appears in mcp-server/src/index.tsskill name has a skills/{name}/SKILL.mdcli command exists in typescript-sdk/src/cli/ui route exists in langwatch/src/utils/routes.tsplannedSync for future intent)$ARGUMENTS
development
Add LangWatch tracing and observability to your code. Use for both onboarding (instrument an entire codebase) and targeted operations (add tracing to a specific function or module). Supports Python and TypeScript with all major frameworks.
tools
Test your AI agent with simulation-based scenarios. Covers writing scenario test code (Scenario SDK), creating platform scenarios (CLI or MCP), and red teaming for security vulnerabilities. Auto-detects whether to use code or platform approach based on context.
testing
Test that your AI agent stays observational and doesn't give prescriptive advice in regulated domains (healthcare, finance, legal). Creates scenario tests for boundary enforcement and red team tests for adversarial probing. Use when your agent advises but must not prescribe.
tools
Write scenario tests that verify your CLI tool is usable by AI agents. Ensures commands work non-interactively, provide clear output, and don't hang on prompts. Use when you want to prove your CLI is agent-friendly.