lambdatest/api-ai-augmented
> Designs AI-powered API features, LLM tool/function definitions, MCP server tool schemas, natural language to API conversion, and agentic API workflows. Use whenever the user asks about "AI calling my API", "function calling schema", "tool definition for LLM", "MCP tools", "natural language API", "AI agent", "let Claude use my API", "OpenAI function calling", "Anthropic tool use", "API agent workflow", "LLM plugin", "AI integration", "RAG with my API", or "chatbot that calls my API".
npx skills add https://github.com/LambdaTest/agent-skills --skill api-ai-augmented
Design LLM tool definitions, agentic workflows, and natural language API interfaces.
{
"name": "search_products",
"description": "Search for products by keyword, category, or price range. Use when the user wants to find, browse, or compare products.",
"input_schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query keywords"
},
"category": {
"type": "string",
"enum": ["electronics", "clothing", "books", "home"],
"description": "Optional category filter"
},
"min_price": { "type": "number", "description": "Minimum price in USD" },
"max_price": { "type": "number", "description": "Maximum price in USD" },
"limit": { "type": "integer", "default": 10, "description": "Max results to return" }
},
"required": ["query"]
}
}
{
"type": "function",
"function": {
"name": "create_order",
"description": "Create a new order for a user. Use when the user wants to purchase a product. Always confirm product and quantity before calling.",
"parameters": {
"type": "object",
"properties": {
"product_id": { "type": "string", "description": "The product ID to order" },
"quantity": { "type": "integer", "minimum": 1, "description": "Quantity to order" },
"shipping_address": {
"type": "object",
"properties": {
"street": { "type": "string" },
"city": { "type": "string" },
"country": { "type": "string" }
},
"required": ["street", "city", "country"]
}
},
"required": ["product_id", "quantity", "shipping_address"]
}
}
}
{
"name": "get_build_status",
"description": "Get the status of a HyperExecute test job. Use when the user asks about test results, job status, or CI build outcomes.",
"inputSchema": {
"type": "object",
"properties": {
"job_id": { "type": "string", "description": "The HyperExecute job ID" }
},
"required": ["job_id"]
}
}
> 🔗 Real-World Integration — TestMu AI HyperExecute
> Build MCP tools that let AI agents query and control test jobs via the HyperExecute API.
> Docs: https://www.testmuai.com/support/api-doc/?key=hyperexecute
required if the API truly needs them.enum instead of string for fixed-choice fields.User: "Get me the status of my last 3 test builds"
Agent plan:
1. call list_jobs(limit=3, sort="created_at:desc")
→ returns [{id: "job_1", status: "passed"}, {id: "job_2", status: "failed"}, ...]
2. call get_job_details(job_id="job_2") // dig into the failed one
→ returns task breakdown, error logs
3. Synthesize: "Your last 3 builds: job_1 passed, job_2 failed (2 of 15 tasks failed on Chrome/Win10), job_3 passed."
Build this mapping for any domain:
| Natural language intent | API call |
|------------------------|---------|
| "Find hotels in Paris" | GET /hotels/search?location=Paris |
| "Book a room for 2 nights" | POST /bookings |
| "Cancel my reservation" | POST /bookings/{id}/cancel |
| "Show my past orders" | GET /orders?user=me&sort=date:desc |
| "Is the API working?" | GET /health/ready |
Minimal ai-plugin.json:
{
"schema_version": "v1",
"name_for_human": "My API",
"name_for_model": "my_api",
"description_for_human": "Access my service's data and actions.",
"description_for_model": "Use this plugin to search, create, update and delete resources in My API. Always prefer specific endpoints over generic ones. Confirm destructive actions with the user first.",
"auth": { "type": "oauth" },
"api": { "type": "openapi", "url": "https://api.example.com/openapi.json" }
}
Take lambdatest/api-ai-augmented from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.