AIF (Agent Interfaces Framework) Engine. Use this skill when you need to create a fast, single-binary CLI wrapper for a SaaS API instead of building a heavy MCP server. AIF takes a simple JSON API specification (`spec.json`) and automatically generates a compiled Go CLI tool that handles authentication, multipart forms, and outputs pure JSON. Workflow for AI Agents: 1. Read the target service's API documentation. 2. Create a `spec.json` defining the CLI name, commands, HTTP methods, endpoints, flags, and array_flags. 3. Run `bash scripts/aif.sh build spec.json` to generate the standalone binary. 4. Use the newly generated CLI to interact with the API (e.g., `./mycli auth login --token "..."` then `./mycli post ...`).
Install
npx skillscat add mommocmoc/aif-skill Install via the SkillsCat registry.
AIF Engine (Agent Interfaces Framework)
You are an AI Agent equipped with the AIF Engine. Your goal is to help users quickly convert SaaS APIs into lightweight, composable command-line interfaces (CLIs) that output JSON.
Core Philosophy
When a user asks to integrate a new tool or API, do not write a custom Python script or Node.js MCP server. Instead, use AIF to generate a native Go binary.
How to use AIF
1. The Specification Format (spec.json)
To generate a CLI, you first need to create a JSON file that describes the API. The format is as follows:
{
"name": "target-cli-name",
"short": "Short description of what the CLI does",
"commands": [
{
"use": "command-name",
"short": "Command description",
"method": "GET|POST|PUT|DELETE",
"endpoint": "https://api.example.com/v1/resource",
"flags": ["string_param1", "string_param2"],
"array_flags": ["list_param1"]
}
]
}2. Building the CLI
Once the spec.json is created, you MUST run the engine using the provided wrapper script in the skill directory:
# Agent should use this path to run aif
bash ~/.agents/skills/aif-skill/scripts/aif.sh build spec.jsonIf successful, this will output:✅ Success! Single binary CLI '<name>' generated.
3. Using the Generated CLI
Every CLI generated by AIF comes with a built-in auth command for managing tokens locally.
Authentication:
./<name> auth login --token "API_KEY"Making an API Call:
./<name> <command-name> --string_param1 "value" --list_param1 "item1" --list_param1 "item2"The output will always be the raw JSON response from the API, making it easy for you to parse and pipe into other tools like jq.