LAP
Your agents are guessing at APIs. Give them the actual Agent-Native spec. 1500+ API's Ready To-Use skills, Compile any API spec into a lean, agent-native format. 10× smaller. OpenAPI, GraphQL, AsyncAPI, Protobuf, Postman.
Install / Use
/learn @Lap-Platform/LAPQuality Score
Category
Product ManagementSupported Platforms
README
Lean API Platform
Agent-Native API specs. Verified, compressed, ready to install.
<a href="https://pypi.org/project/lapsh/"><img src="https://img.shields.io/pypi/v/lapsh?style=for-the-badge&color=blue" alt="PyPI"></a> <a href="https://github.com/Lap-Platform/lap/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Lap-Platform/lap/ci.yml?branch=main&style=for-the-badge&label=tests" alt="Tests"></a> <a href="https://www.npmjs.com/package/@lap-platform/lapsh"><img src="https://img.shields.io/npm/v/@lap-platform/lapsh?style=for-the-badge&color=blue" alt="npm"></a> <br> <a href="https://github.com/Lap-Platform/lap/tree/main/skills/lap"><img src="https://img.shields.io/badge/Claude%20Code-skill-orange?style=for-the-badge" alt="Claude Code Skill"></a> <a href="https://clawhub.ai/mickmicksh/lap"><img src="https://img.shields.io/badge/OpenClaw-skill-orange?style=for-the-badge" alt="OpenClaw Skill"></a> <a href="https://github.com/Lap-Platform/lap/tree/main/skills/cursor"><img src="https://img.shields.io/badge/Cursor-Rules-black?style=for-the-badge" alt="Cursor Rules"></a> <a href="https://github.com/Lap-Platform/lap/tree/main/skills/codex"><img src="https://img.shields.io/badge/Codex-skill-green?style=for-the-badge" alt="Codex Skill"></a> <br> <a href="https://github.com/Lap-Platform/lap/pulls"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge" alt="PRs Welcome"></a> <a href="https://github.com/Lap-Platform/lap"><img src="https://img.shields.io/badge/%E2%AD%90_Star-this_repo-yellow?style=for-the-badge" alt="Star this repo"></a> <br> <a href="https://lap.sh"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fregistry.lap.sh%2Fv1%2Fstats.json&query=%24.total_apis&label=Registry&suffix=%20APIs&color=blueviolet&style=for-the-badge" alt="APIs in Registry"></a>
Website · Registry · Benchmarks · Docs
Request a Spec · Report a Bug · Request a Feature
</div>Without API documentation, LLM agents hallucinate endpoints, invent parameters, and guess auth flows -- scoring just 0.399 accuracy in blind tests.
LAP fixes this. One command gives your agent a verified, agent-native API spec -- jumping accuracy to 0.860. And because LAP specs are up to 10x smaller than raw OpenAPI, you also save 35% on cost and run 29% faster.
Not minification -- a purpose-built compiler with its own grammar.
Proven in 500 blind runs across 50 APIs
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/benchmark_savings.png"> <source media="(prefers-color-scheme: light)" srcset="assets/light/benchmark_savings.png"> <img alt="88% fewer tokens, 35% lower cost, same accuracy" src="assets/benchmark_savings.png" width="700"> </picture> </p>LAP Lean scored 0.851 (vs 0.825 raw) while using 35% less cost and 29% less time -- same accuracy, far fewer tokens.
Full benchmark report (500 runs, 50 specs, 5 formats) · Benchmark methodology and data
Quick Start
# Set up LAP in your IDE
npx @lap-platform/lapsh init # Claude Code
npx @lap-platform/lapsh init --target cursor # Cursor
npx @lap-platform/lapsh init --target codex # Codex
# Search the registry for an API
npx @lap-platform/lapsh search payment
# Download a spec
npx @lap-platform/lapsh get stripe -o stripe.lap
# Install an API skill
npx @lap-platform/lapsh skill-install stripe
# Or compile your own spec
npx @lap-platform/lapsh compile api.yaml --lean
Use as an Agent Skill
Install the LAP skill so your agent can search, compile, and manage APIs automatically:
Claude Code:
npx @lap-platform/lapsh init
Cursor:
npx @lap-platform/lapsh init --target cursor
Codex (CLI & VS Code extension):
npx @lap-platform/lapsh init --target codex
Codex agents use curl for registry operations (search, get, check) instead of npx -- instant in the sandbox. Skills install to ~/.codex/skills/. Auto-update hooks are pre-configured for when Codex enables its hooks engine (codex_hooks feature flag is currently experimental).
OpenClaw: install from ClawHub or copy manually:
cp -r skills/lap ~/.openclaw/skills/lap
Once installed, agents auto-trigger the skill when working with APIs -- or invoke it directly with /lap. You can also install individual API skills for specific integrations:
npx @lap-platform/lapsh skill-install stripe
# Agent now knows the full Stripe API
Want to get listed? Register as a verified publisher and share your specs and skills with the registry.
# Install globally (npm or pip)
npm install -g @lap-platform/lapsh
pip install lapsh
What You Get
- 📦 Registry — browse and install 1500+ pre-compiled specs at lap.sh
- 🗜️ 5.2× median compression on OpenAPI, up to 39.6× on large specs — 35% cheaper, 29% faster (benchmarks)
- 📐 Typed contracts —
enum(a|b|c),str(uuid),int=10prevent agent hallucination - 🔌 6 input formats — OpenAPI, GraphQL, AsyncAPI, Protobuf, Postman, Smithy
- 🎯 Zero information loss — every endpoint, param, and type constraint preserved
- 🔁 Round-trip — convert back to OpenAPI with
lapsh convert - 🤖 Skill generation —
lapsh skillcreates agent-ready skills from any spec - 🔗 Integrations — LangChain, Context Hub, Python/TypeScript SDKs
How It Works
<p align="center"> <img src="assets/pipeline.png" alt="How LAP works — 5 compression stages" width="800"> </p>Five compression stages, each targeting a different source of token waste:
| Stage | What it does | Savings |
|-------|-------------|--------:|
| Structural removal | Strip YAML scaffolding — paths:, requestBody:, schema: wrappers vanish | ~30% |
| Directive grammar | @directives replace nested structures with flat, single-line declarations | ~25% |
| Type compression | type: string, format: uuid → str(uuid) | ~10% |
| Redundancy elimination | Shared fields extracted once via @common_fields and @type | ~20% |
| Lean mode | Strip descriptions — LLMs infer meaning from well-named parameters | ~15% |
Benchmarks
1,500+ specs · 5,228 endpoints · 4.37M → 423K tokens
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/format_comparison.png"> <source media="(prefers-color-scheme: light)" srcset="assets/light/format_comparison.png"> <img alt="Compression by API format" src="assets/format_comparison.png" width="600"> </picture> </p>| Format | Specs | Median | Best | |--------|------:|-------:|-----:| | OpenAPI | 30 | 5.2× | 39.6× | | Postman | 36 | 4.1× | 24.9× | | Protobuf | 35 | 1.5× | 60.1× | | AsyncAPI | 31 | 1.4× | 39.1× | | GraphQL | 30 | 1.3× | 40.9× |
Verbose formats compress most — they carry the most structural overhead. Already-concise formats like GraphQL still benefit from type deduplication.
The Ecosystem
LAP is more than a compiler:
| Component | What | Command |
|-----------|------|---------|
| Init | Set up LAP in your IDE | lapsh init --target claude |
| Search | Find APIs in the registry | lapsh search payment |
| Get | Download a spec by name | lapsh get stripe |
| Skill Install | Install an API skill | lapsh skill-install stripe --target claude |
| Skill Uninstall | Remove an installed skill | lapsh skill-uninstall stripe |
| Uninstall | Fully remove LAP from your IDE | lapsh uninstall --target claude |
| Check | Check installed skills for updates | lapsh check [--target claude\|cursor\|codex] |
| Diff | Compare installed skill vs registry | lapsh diff stripe |
| Pin / Unpin | Skip or resume update checks | lapsh pin stripe |
| Compiler | Any spec → .lap | lapsh compile api.yaml |
| Skill Generator | Create agent-ready skills from any spec | lapsh skill api.yaml --install |
| API Differ | Detect breaking API changes | lapsh diff old.lap new.lap |
| Round-trip | Convert LAP back to OpenAPI | lapsh convert api.lap -f openapi |
| Publish | Share specs to the registry | lapsh publish api.yaml --provider acme |
Claude Code, Cursor & Codex: The
lapskill is included -- runlapsh initand your agent can search, install, and manage API skills directly. Claude Code and Cursor support auto-update checks via SessionStart hooks. Codex hooks are pre-configured and will activate when thecodex_hooksfeature becomes stable.
Supported Formats
lapsh compile api.yaml # OpenAPI 3.x / Swagger
lapsh compile schema.graphql # GraphQL SDL
lapsh compile events.yaml # AsyncAPI
lapsh compile service.proto # Protobuf / gRPC
lapsh compile collection.json # Postman v2.1
lapsh compile model.smithy # AWS Smithy
Format is auto-detected. Override with -f openapi|graphql|asyncapi|protobuf|postman|smithy.
