‹ 首页

postman-openapi-converter

@lambdatest · 收录于 1 周前 · 上游提交 4 周前★ 社区精选

Convert OpenAPI 3.x or Swagger 2.0 specs (YAML or JSON) into complete, import-ready Postman Collection v2.1 JSON files. Use this skill whenever the user provides or references an OpenAPI spec, Swagger file, openapi.yaml, swagger.json, or uses phrases like "convert my OpenAPI spec", "import swagger to Postman", "turn this spec into a collection", or "generate Postman requests from my API spec". Also triggers when the user pastes YAML or JSON that begins with `openapi:`, `swagger:`, or contains `paths:` with HTTP method keys. Always prefer this skill over the general collection generator when the input is a structured spec file.

适合你,如果经常需要把 API 规范导入 Postman 进行调试或测试

/ 通过 npx 安装 校验哈希
npx oh-my-skill add lambdatest/agent-skills/postman-openapi-converter
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- lambdatest/agent-skills/postman-openapi-converter
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify lambdatest/agent-skills/postman-openapi-converter
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
323GitHub stars
~1.3K上下文体积 · 单文件
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 54824d6

OpenAPI → Postman Collection Converter

Converts OpenAPI 3.x or Swagger 2.0 specs into a valid Postman Collection v2.1.


Step 1 — Detect & Validate Input

Identify the spec version from the input:

  • openapi: 3.x.x → OpenAPI 3
  • swagger: "2.0" → Swagger 2

If the input is truncated or partial, convert what's available and note missing sections.


Step 2 — Extraction Mapping
OpenAPI 3 → Postman

| OpenAPI field | Postman mapping | |---|---| | info.title | Collection name | | info.description | Collection description | | servers[0].url | {{base_url}} variable | | paths.<path>.<method> | One request item per operation | | operationId or summary | Request name | | parameters (path/query/header) | URL path variables, query params, headers | | requestBody.content.application/json.schema | Body (raw JSON), generate example from schema | | responses | Saved example responses | | components.securitySchemes | Collection-level auth | | tags | Folder grouping |

Swagger 2 → Postman

| Swagger field | Postman mapping | |---|---| | host + basePath | {{base_url}} | | paths.<path>.<method> | Request item | | parameters | Query/path/header/body params | | consumes / produces | Content-Type / Accept headers | | securityDefinitions | Collection auth | | tags | Folders |


Step 3 — Generate Example Bodies

For each request with a requestBody or body parameter, generate a realistic example JSON body from the schema:

  • Use property names as keys
  • Infer sensible example values from type + format (e.g., "email" format → "user@example.com", "date-time""2024-01-15T10:30:00Z")
  • For $ref schemas, resolve them inline

Step 4 — Auth Handling

Map security schemes to Postman auth:

| OpenAPI scheme | Postman auth type | |---|---| | http: bearer | bearer with {{token}} | | http: basic | basic with {{username}} / {{password}} | | apiKey: header | apikey header with {{api_key}} | | apiKey: query | apikey query param | | oauth2 | oauth2 (note: requires manual token setup) |

Apply auth at collection level if all endpoints share the same scheme. Override at request level for exceptions.


Step 5 — Build Collection JSON

Use the standard v2.1 structure (same schema as postman-collection-generator skill).

Key differences for spec-converted collections:

  • Always group by tags into folders
  • Include description field on each request from operationId + summary + description
  • Add saved example responses where responses are defined in the spec
"response": [
  {
    "name": "200 OK",
    "status": "OK",
    "code": 200,
    "header": [{ "key": "Content-Type", "value": "application/json" }],
    "body": "{ \"id\": 1, \"name\": \"example\" }",
    "originalRequest": { <copy of the request> }
  }
]

Step 6 — Environment File

Extract all variables into a companion environment:

  • base_url from servers[0].url or host + basePath
  • token, api_key, username, password as empty placeholders
  • Any server variables from servers[0].variables

Step 7 — Output
  1. collection.json — Full Postman Collection v2.1
  2. environment.json — Matching environment file
  3. Conversion summary: number of endpoints converted, folders created, auth type detected, any fields skipped or approximated
  4. Import instructions

Edge Cases
  • $ref chains: Resolve all $ref pointers inline before mapping
  • allOf / oneOf / anyOf: Use the first/primary schema for body generation; note alternatives in description
  • Path parameters: Convert {param} to :param in URL path AND add to variable array in url object
  • Multiple content types: Prefer application/json; note others in request description
  • No operationId: Generate name from METHOD /path (e.g., GET /users/{id}Get User by ID)

Quality Checklist
  • [ ] Every paths entry produces at least one request
  • [ ] Path params use :param format in Postman URL
  • [ ] All $ref resolved — no raw $ref strings in output
  • [ ] Auth tokens are {{variables}}, never hardcoded
  • [ ] JSON output is valid and importable

After Completing the API Design

Once the API design output is delivered, ask the user:

"Would you like me to generate API documentation for this design? (yes/no)"

If the user says yes:

  • Check if the API Documentation skill is available in the installed skills list
  • If the skill is available:
  • Read and follow the instructions in the API Documentation skill
  • Use the API design output above as the input
  • If the skill is NOT available:
  • Inform the user: "It looks like the API Documentation skill isn't installed. You can install it and re-run.

If the user says no:

  • End the task here

按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。