Python stdlib scripts for the YApi OpenAPI (no Java/Docker/MCP) — search interfaces, query details, and sync/upsert one interface's docs from a YApi-native payload (often converted from OpenAPI).

Apache-2.0Auto-check passedBackend & APIs

Install Yapi Skill

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill yapi-skill -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins yapi-skill --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/yyykf/spellbook-skills/skills/yapi-skill .claude/skills/yapi-skill && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
yapi-skill
GitHub stars
1.2k
Token cost
~2k tokens
SKILL.md length
846 words
Files
8 (incl. scripts, references)
Skills in repo
686
Repo updated
First seen
Licence
Apache-2.0

At a glance

Python stdlib scripts for the YApi OpenAPI (no Java/Docker/MCP) — search interfaces, query details, and sync/upsert one interface's docs from a YApi-native payload (often converted from OpenAPI).

  • Works in 5 steps: Decide the Target (Search or Query… → Execute the Query → Build a YApi-native payload → …
  • Tasks that involve OpenAPI specifications
  • SKILL.md covers Overview, Prerequisites, Workflow and Write / Sync Workflow, plus 3 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Yapi Skill is an agent skill from hashgraph-online/awesome-codex-plugins. Python stdlib scripts for the YApi OpenAPI (no Java/Docker/MCP) — search interfaces, query details, and sync/upsert one interface's docs from a YApi-native payload (often converted from OpenAPI). Read-modify-write with dry-run preview; creates/updates only — never deletes, preserves manual edits; no source-code parsing or full re-import.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `references/initialization.md`, `scripts/common.py` and `scripts/getInterfaceDetail.py`).

It sits in Backend & APIs, covering OpenAPI specifications and Containers. It works with OpenAPI, Python, Model Context Protocol and Docker. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve OpenAPI specifications
  • Tasks that involve Containers

Example prompts

  • “/yapi-skill”

Requirements

  • Python 3
  • Docker

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Decide the Target (Search or Query Details)
  2. Execute the Query
  3. Build a YApi-native payload
  4. Dry-run (preview, no write)
  5. Apply (after confirmation)

What it can do on your machine

Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 6 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Yapi Skill loads about 2k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 846 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 846 words, ~2,033 tokens.

Download SKILL.mdSave it as .claude/skills/yapi-skill/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
yapi-skill
description
Python stdlib scripts for the YApi OpenAPI (no Java/Docker/MCP) — search interfaces, query details, and sync/upsert one interface's docs from a YApi-native payload (often converted from OpenAPI). Read-modify-write with dry-run preview; creates/updates only — never deletes, preserves manual edits; no source-code parsing or full re-import.

Yapi Search and Query Skill

Overview

You can directly use Python scripts to call the Yapi API, search for Yapi interfaces to locate the interfaceId, or get detailed information of a specific interface (request parameters, response body, description in Markdown). Prefer using this skill instead of starting the yapi-mcp-server (Java/Docker).

Beyond reading, this skill can also write: sync (upsert) a single interface's docs into YApi from a YApi-native payload — typically converted from an OpenAPI contract. Writing is read-modify-write (only managed fields are overwritten; existing writable fields are re-sent to best-preserve un-managed content like mock / test cases / status — verified end-to-end: up is merge semantics, fields not sent are preserved), dry-run by default (a preview artifact is written to a file; only a compact summary is printed), and never deletes (YApi's OpenAPI has no delete endpoint).

Core principle: Configure environment -> choose search / query / sync as needed -> for sync, convert to a payload, dry-run to preview, then apply.

Announce at start: "I am using the yapi-skill to search/query or sync Yapi interface details."

Prerequisites

This skill depends on a local configuration file (base_url + projectId -> token). If you haven't initialized it, don't know how to get the token, or need to switch between multiple environments, please read first:

  • skills/yapi-skill/references/initialization.md

Configuration paths support the following override methods:

  • Environment variable: YAPI_SKILL_CONFIG=/path/to/config.json
  • Single command execution: --config /path/to/config.json (takes effect for searchInterfaces.py / getInterfaceDetail.py)

For Windows users, if the python3 command is not available, try using py -3 or python.

Workflow

Step 1: Decide the Target (Search or Query Details)

Determine whether you need to first find a specific interface (using the search function) or if you already have the specific interface ID or URL to query the detailed information.

Step 2: Execute the Query

Use this when you already know the specific interface URL or the projectId and interfaceId.

bash
python3 skills/yapi-skill/scripts/getInterfaceDetail.py \
  --url 'http://yapi.example.com/project/1650/interface/api/414469' \
  --format markdown

Description:

  • --url supports directly pasting the interface page URL (the script will automatically parse projectId/interfaceId).
  • --format supports json (for secondary processing) and markdown (for readability).
  • It also supports --projectId + --interfaceId (when you already have the IDs).

Security warning: The Markdown output may contain example request headers/example values from the interface definition (e.g., Authorization example). Please sanitize it yourself before sharing it externally.

Scenario B: Search for Interfaces (Locate interfaceId)

Use this when you only know the interface keyword or path.

bash
python3 skills/yapi-skill/scripts/searchInterfaces.py --keyword login --format markdown

Common parameters:

  • By default, it searches all projects in the project_tokens of the configuration file. (Use --projectName to narrow the scope).
  • --projectName: Fuzzy filter by project name (Optional).
  • --keyword: Fuzzy search by interface title (Optional).
  • --path: Fuzzy search by interface path (Optional).
  • --format json|markdown: Defaults to json.
  • --config <path>: Specify the configuration file path (Overrides default path, Optional).

Write / Sync Workflow

Use this to push an interface's docs into YApi from a contract (e.g. OpenAPI). The scripts are source-agnostic primitives; deciding which interfaces to sync is your job.

Safety rules (always):

  • Only touch interfaces you explicitly target — one interface per upsertInterface.py call. Never enumerate-and-sync a whole spec blindly.
  • Dry-run first (the default). Read the field-level diff from the preview artifact, show it to the user, get confirmation, then re-run with --apply.
  • Creates/updates only — YApi's OpenAPI cannot delete. up is read-modify-write and re-sends existing writable fields to best-preserve un-managed content (mock, test cases, status — verified end-to-end: up merges, so fields not sent are preserved); remove stale interfaces manually in the YApi UI.
Show full SKILL.md (287 more words)Show less
Step 1: Build a YApi-native payload

If the source is OpenAPI, convert one operation to a payload file (large schemas stay in files, off your context):

bash
python3 skills/yapi-skill/scripts/openapiToYapiPayload.py \
  --spec /path/to/preview-merged.json --path /admin/ad/campaign/create --method post \
  --out .yapi-sync/payload-create.json
  • JSON spec only; use a dereferenced/"merged" doc (no remaining $ref/allOf).
  • It prints the operation's tag — pass it as --category in Step 2/3.
  • For non-OpenAPI sources, hand-write the payload JSON with YApi-native fields: title, path, method, req_query, req_headers, req_params, req_body_other, res_body, markdown.
Step 2: Dry-run (preview, no write)
bash
python3 skills/yapi-skill/scripts/upsertInterface.py \
  --projectId 1650 --payload .yapi-sync/payload-create.json --category '广告投放计划'
  • Probes YApi by path+method: 1 match → update, 0 → create, multiple → stops and asks for an explicit --interfaceId.
  • Writes a preview artifact (full final payload + field-level diff) and prints a compact summary. Open the artifact to review what markdown/schema will be overwritten.
Step 3: Apply (after confirmation)
bash
python3 skills/yapi-skill/scripts/upsertInterface.py \
  --projectId 1650 --payload .yapi-sync/payload-create.json --category '广告投放计划' --apply
  • Update keeps the interface's existing category (no moving). Create places it under --category (auto-created if missing).

Quick Reference

PurposeCommandKey Parameters
Get Detailspython3 scripts/getInterfaceDetail.py--url or --projectId/--interfaceId
Search Interfacespython3 scripts/searchInterfaces.py--keyword, --path, --projectName
Convert OpenAPI→payloadpython3 scripts/openapiToYapiPayload.py--spec, --path, --method, --out
Sync (upsert) interfacepython3 scripts/upsertInterface.py--projectId, --payload, --category, --apply

Common Mistakes

Incomplete initialization configuration

  • Problem: Missing token or environment info causes request failure.
  • Fix: Read skills/yapi-skill/references/initialization.md first to complete configuration.

Sharing unsanitized Markdown

  • Problem: Leaking sensitive example data (e.g., real Tokens or passwords).
  • Fix: Manually remove sensitive content from Markdown before sharing.

Syncing interfaces you didn't intend to

  • Problem: Pushing every path in a big merged spec overwrites unrelated interfaces (and their manual edits).
  • Fix: Target only explicitly-decided interfaces, one upsert call each; review the dry-run diff before --apply.

Expecting delete or full re-import

  • Problem: YApi's OpenAPI token cannot delete, and a full re-import clobbers manual edits.
  • Fix: This skill only creates/updates per-interface via read-modify-write; delete stale interfaces manually in the YApi UI.

Example

bash
# Search for interfaces
python3 skills/yapi-skill/scripts/searchInterfaces.py --keyword submit_order --format markdown

# Get interface details
python3 skills/yapi-skill/scripts/getInterfaceDetail.py --url 'http://yapi.example.com/project/123/interface/api/456' --format markdown

© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in plugins/yyykf/spellbook-skills/skills/yapi-skill of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • references/initialization.md
  • scripts/common.py
  • scripts/getInterfaceDetail.py
  • scripts/init_config.py
  • scripts/openapiToYapiPayload.py
  • scripts/searchInterfaces.py
  • scripts/upsertInterface.py

Open the folder on GitHubat commit 78497e5

Compare with similar skills

Yapi Skill next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Yapi Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Yapi Skill this skillhashgraph-online/awesome-codex-plugins1.2k—~2kAutomated safety check: PassApache-2.0
Mock Serverscalar/scalar16k—~1.2kAutomated safety check: PassMIT
Kingdee MCP DevWaHaiLong/KingdeeMCP103—~853Automated safety check: PassMIT
API Contract Testingsecondsky/claude-skills227—~977Automated safety check: PassMIT
Spring Boot Project Creatorgiuseppe-trisciuoglio/developer-kit355—~3.4kAutomated safety check: NotesMIT
Unraiddinglebear-ai/unraid135—~5.4kAutomated safety check: NotesMIT

Similar skills

  • Mock Server

    scalar/scalar

    Build, customize, and troubleshoot OpenAPI mock servers with @scalar/mock-server, including x-handler, x-seed, authentication, and Docker.

    16k GitHub stars~1.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Kingdee MCP Dev

    WaHaiLong/KingdeeMCP

    Knowledge base for the Kingdee MCP Dev Squad. An agent skill from WaHaiLong/KingdeeMCP.

    103 GitHub stars~853 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • API Contract Testing

    secondsky/claude-skills

    Verifies API contracts between services using consumer-driven contracts, schema validation, and tools like Pact.

    227 GitHub stars~977 tokensUpdated 9 days ago
    Backend & APIsAuto-check passed
  • Spring Boot Project Creator

    giuseppe-trisciuoglio/developer-kit

    Creates and scaffolds a new Spring Boot project (3.x or 4.x) by downloading from Spring Initializr, generating package structure (DDD or Layered architecture), configuring JPA, SpringDoc OpenAPI…

    355 GitHub stars~3.4k tokensUpdated 27 days ago
    Backend & APIsAuto-check: notes
  • Unraid

    dinglebear-ai/unraid

    This skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check…

    135 GitHub stars~5.4k tokensUpdated 4 days ago
    DevOps & CloudAuto-check: notes
  • Unraid

    dinglebear-ai/unraid

    Query and monitor an Unraid NAS/homelab server — array health, disk temperatures, Docker containers, virtual machines, system metrics, notifications, alerts, shares, UPS status, log files, network…

    135 GitHub stars~2.8k tokensUpdated 4 days ago
    DevOps & CloudAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 686 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated today
    Auto-check passed
  • Manuscript Engagement Analytics

    hashgraph-online/awesome-codex-plugins

    Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…

    1.2k GitHub stars~875 tokensUpdated today
    Auto-check passed

Questions about Yapi Skill

What does Yapi Skill do?

Python stdlib scripts for the YApi OpenAPI (no Java/Docker/MCP) — search interfaces, query details, and sync/upsert one interface's docs from a YApi-native payload (often converted from OpenAPI). Yapi Skill is an agent skill from hashgraph-online/awesome-codex-plugins. Python stdlib scripts for the YApi OpenAPI (no Java/Docker/MCP) — search interfaces, query details, and sync/upsert one interface's docs from a YApi-native payload (often converted from OpenAPI).

When should I use Yapi Skill?

Yapi Skill fits situations like: tasks that involve OpenAPI specifications; tasks that involve Containers.

How do I install Yapi Skill in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill yapi-skill -a claude-code`. Or copy the skill folder (plugins/yyykf/spellbook-skills/skills/yapi-skill in hashgraph-online/awesome-codex-plugins) into .claude/skills/yapi-skill in your project. Claude Code loads it when a task matches its description.

How do I install Yapi Skill in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill yapi-skill -a codex`. Or copy the skill folder (plugins/yyykf/spellbook-skills/skills/yapi-skill in hashgraph-online/awesome-codex-plugins) into .agents/skills/yapi-skill in your project. Codex loads it when a task matches its description.

Can I use Yapi Skill in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill yapi-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/yapi-skill, .gemini/skills/yapi-skill, .github/skills/yapi-skill and .opencode/skills/yapi-skill in your project.

What does Yapi Skill need to run?

Going by SKILL.md and its folder, Yapi Skill needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3; Docker.

Does Yapi Skill access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Yapi Skill safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Yapi Skill use?

Yapi Skill is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Yapi Skill use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.

What are the alternatives to Yapi Skill?

Skills that share tags, products or a category with Yapi Skill: Mock Server (scalar/scalar, 16k stars), Kingdee MCP Dev (WaHaiLong/KingdeeMCP, 103 stars), API Contract Testing (secondsky/claude-skills, 227 stars) and Spring Boot Project Creator (giuseppe-trisciuoglio/developer-kit, 355 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Yapi Skill?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.