Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/jhlee0409/claude-plugins/openapi-parsernpx skills add jhlee0409/claude-plugins --skill openapi-parsergit clone --depth 1 https://github.com/jhlee0409/claude-pluginsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00020 | $0.02057 |
| Opus 5 | $0.00010 | $0.01028 |
| Sonnet 5 | $0.00004 | $0.00411 |
| Haiku 4.5 | $0.00002 | $0.00206 |
Grade A, and why
openapi-parser scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 280 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenAPI Parser
Parse OpenAPI specifications and extract structured endpoint information for code generation.
EXECUTION INSTRUCTIONS
When this skill is invoked, Claude MUST perform these steps in order:
Step 1: Load Specification
Determine source type:
- If source starts with
http://orhttps://→ Remote URL - Otherwise → Local file
For Remote URL:
- Use
WebFetchtool to fetch the content - Extract JSON from response
- If 404 → Error:
❌ Spec not found at URL - If other error → Error:
❌ Failed to fetch: <error>
For Local File:
- Use
Readtool to read the file - If
.yamlor.ymlextension → Parse as YAML - If
.jsonextension or no extension → Parse as JSON - If file not found → Error:
❌ File not found: <path> - If parse error → Error:
❌ Invalid format: <error>
Step 2: Validate Specification
Check for valid OpenAPI/Swagger structure:
-
Version Check:
- If has
openapifield (e.g., "3.0.0", "3.1.0") → OpenAPI 3.x - If has
swaggerfield (e.g., "2.0") → Swagger 2.0 - If neither → Error:
❌ Not a valid OpenAPI/Swagger spec
- If has
-
Required Fields:
- Must have
infoobject withtitleandversion - Must have
pathsobject - If missing → Error:
❌ Missing required field: <field>
- Must have
-
Report:
📄 OpenAPI: <title> v<version> Spec version: <openapi/swagger version> Endpoints: <count>
Step 3: Convert Swagger 2.0 (if needed)
If Swagger 2.0, convert to OpenAPI 3.0 format internally:
| Swagger 2.0 | OpenAPI 3.0 |
|---|---|
definitions |
components.schemas |
parameters (body) |
requestBody |
produces/consumes |
content with media types |
securityDefinitions |
components.securitySchemes |
Step 4: Extract Metadata
Extract and store:
{
"title": "<info.title>",
"version": "<info.version>",
"description": "<info.description or null>",
"servers": ["<server urls>"],
"specVersion": "<openapi or swagger version>"
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 280 lines · 20 tokens per session scan A 97072f6e5acb
openapi-parser is a skill published in the GitHub repository jhlee0409/claude-plugins (4 stars, last pushed 7mo ago), licensed MIT. It adds 20 tokens to every session and 2,057 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
datamodel-code-generator
Use this skill when the user wants Python data models, Pydantic models, dataclasses, TypedDicts, msgspec structs, or type-safe Python classes generated from OpenAPI, AsyncAPI, JSON Schema, GraphQL, JSON/YAML/CSV sample data, MCP tool schemas, Protocol Buffers, XML Schema, Apache Avro, or existing Python model objects.…
preserved_skill
previous skill.
model-compatibility
Model family compatibility matrix covering loaders, resolutions, samplers, CFG, VAE, ControlNet, and LoRA compatibility for SD 1.5, SDXL, Flux, SD3, and video models.
comfyui-node-registry
Authoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI.
flux-txt2img
Build Flux txt2img workflows with Flux.1 Dev (SRPO), Flux 2 Klein 9B, Turbo LoRAs, FluxGuidance, and DualCLIPLoader patterns.
civitai
Discover Civitai models with the BUILT-IN downloadmodel action:"searchcivitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).