qa-postman
[Testing] Postman MCP collections — create, configure, verify, and export collections with proper variables, auth, and endpoints
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
[Testing] Postman MCP collections — create, configure, verify, and export collections with proper variables, auth, and endpoints
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
[Testing] Review test cases for quality, determinism, completeness, data validity, coverage gaps, duplication, live environment verification, and behavioral triangulation against docs + live + source. Delegates browser verification to qa-testing-expert; triangulation to ba-system-analyzer.
[Testing] Autonomous test coverage gap analysis and generation — identifies missing test cases, generates enriched CSV test cases, validates P0 cases via browser, and reports improvements. Single-agent counterpart to /qa-coverage-generation.
Repo/tracker routing library for the vc-fix plugin — decides which external product repo owns a bug (client vs platform), whether the fix delivers as a direct PR, a fork-PR, or an upstream issue, and which VCS/tracker host to talk to. Used by /qa-fix and /project-init. Self-contained — no dependency on the ci/ directory.
Build, launch, smoke-test, and health-check the vc-mcp-testing-module agentic QA tooling repo. Use when asked to run, start, verify, smoke-test, or sanity-check this repo's tooling — env:check, @td() resolution, suite manifest sync, critical-UI-scope, seed dry-run, GraphQL fixture validation — or before running regression.
[QA Methodology] Triage a completed regression run's failures: collect each FAIL + its evidence (trace, screenshots, console, network) + failing CSV row, dedup + flag flaky, classify each into real-product-bug vs test-defect (bad steps / bad assertion / stale test data / stale test) vs flaky/env/known, live-verify the real ones, then route test-defects to /qa-review-tests --fix and draft bug reports. Detect-classify-verify-report only — never files a tracker ticket, never triggers /qa-fix.
Run VirtoCommerce x-module BenchmarkDotNet suites (the XAPI targets configured in perf.benchmark.xapiTargets) and turn two runs into a machine-readable performance verdict. Use to check whether a change regressed allocations or time across two revisions of this module's own source, between this module's override and the upstream stock path, or across an upstream before/after. Advisory only — never a CI gate.
| name | qa-postman |
| description | [Testing] Postman MCP collections — create, configure, verify, and export collections with proper variables, auth, and endpoints |
| argument-hint | create <purpose> | env <profile> | verify <collection> | export <collection> | list | examples |
| disable-model-invocation | true |
Author Postman collections via Postman MCP with correct variable scoping, authentication, endpoint construction, and request chaining. Execution happens outside the MCP — via Newman CLI, Postman CLI, the Postman desktop/web app, or Postman Monitors.
Problem this solves: Agents create broken Postman collections because they hardcode URLs, forget auth tokens, misuse variable scopes, or build requests with wrong body formats. This skill is the single source of truth for how to use Postman MCP tools correctly.
The Postman MCP does NOT execute collections. There is no
runCollectiontool. To execute, export and run with Newman/Postman CLI, or schedule via a Postman Monitor (createMonitor— full toolset). Use theverifymode below to validate collection content before handing off to a runner.
Read the relevant file before invoking the matching Postman MCP tools.
| File | When to read |
|---|---|
| mcp-tools.md | Always first — tool inventory, workspace ID, collection ID formats, model: "full" rule |
| variables-and-environments.md | Before createEnvironment/putEnvironment or whenever you set/get a variable |
| collections-and-requests.md | Before createCollection/createCollectionRequest — schema, auth flow, chaining patterns |
| graphql-authoring.md | Before any GraphQL request — links to canonical graphql-schema.md and graphql-test-cases-runner.md |
| test-data-fixtures.md | Before authoring values into bodies — @td() resolver, test-data/aliases.json, fixture conventions |
| execution.md | After authoring — verify checklist + Newman/Postman CLI/Monitor + endpoint quick-reference |
| common-mistakes.md | When something doesn't work — 15-item catalog |
| examples.md | Copy-paste-ready collection + environment payloads |
| Argument | Description |
|---|---|
create <purpose> | Create a new collection for a specific purpose (e.g., create catalog CRUD, create auth testing) |
env <profile> | Create a Postman environment from .env variables for a profile (qa, staging, full) |
verify <collection> | Fetch the full collection payload (getCollection model=full) and audit it: schema, auth at every request, test scripts, variable usage |
export <collection> | Output a Newman/Postman-CLI-ready run command for a collection + environment pair (the MCP cannot execute collections directly) |
list | List all collections and environments in the workspace |
examples | Show copy-paste-ready examples for common Postman MCP operations |
At minimum: mcp-tools.md. Read the others on demand based on what you're authoring (REST → collections-and-requests; GraphQL → graphql-authoring; fixture-driven values → test-data-fixtures).
If a tool you expect appears unavailable, call getEnabledTools first — the MCP runs in minimal mode (40 tools) by default and may not expose every tool from the full set (116 tools).
8bd7a5b3-73e5-4414-a9c9-d59018b44079 (team workspace)getWorkspaces({ type: "team" }) if uncertain, or ask the usergetCollections({ workspace, name: "<filter>" }) — substring match by namegetEnvironments({ workspace }) — check if the target environment existsReading a collection's full content takes a separate call:
getCollection({ collectionId, model: "full" }). The default response is a lightweight collection map (metadata + recursive itemRefs only).
See variables-and-environments.md. Map .env → Postman env values, mark passwords/tokens as type: "secret", always include an empty authToken (the auth request's test script populates it).
See collections-and-requests.md. Every collection MUST include:
info.schema{{authToken}}auth: { type: "noauth" }Resolve fixture values via test-data-fixtures.md (@td() resolver, test-data/aliases.json). For GraphQL bodies, verify field names against graphql-schema.md before writing — see graphql-authoring.md.
Every request must have URL using {{baseUrl}}, proper headers, and a test script with at least a status-code assertion.
See execution.md §2. getCollection({ collectionId, model: "full" }) then run the audit checklist.
The MCP cannot execute collections. See execution.md §3 for Newman, Postman CLI, Monitor, and UI options.
createCreates a purpose-built collection. Patterns ready to copy in examples.md:
For test data seeding — use /qa-seed-data instead. It provides entity dependency ordering, API request bodies, batch patterns, and seed profiles. It delegates all Postman mechanics back to this skill's reference files.
envCreates a Postman environment from .env variables. See variables-and-environments.md §3.
| Profile | Variables Included |
|---|---|
qa | URLs (BACK_URL, FRONT_URL), credentials (ADMIN, USER), store config |
staging | URLs (VIRTO_START_BACK, VIRTO_START_FRONT), same credentials |
full | All variables from both profiles |
verifygetCollections({ workspace, name: "<filter>" }) → resolve the collection IDgetCollection({ collectionId, model: "full" }) → fetch full payloadexportgetCollections({ workspace }) → find the collection (capture its uid, format <OWNER>-<UUID>)getEnvironments({ workspace }) → find the matching environment (capture its uid)listgetCollections({ workspace }) + getEnvironments({ workspace }). Quick inventory check.
examplesRead and output examples.md.
| Agent | Role |
|---|---|
qa-backend-expert | Primary — authors API/GraphQL collections, then hands them off to Newman/Postman CLI for execution |
qa-testing-expert | Uses collections for interactive debugging |
test-management-specialist | References collections for test planning |
{{baseUrl}}, {{frontUrl}} from environment variables@td() + aliases.json) or seed via APItype: secretprocess.env at runtime (populated by config.js from .env.${TEST_ENV} + .env.local; default TEST_ENV=vcst)graphql-schema.md before authoringpm.collectionVariables.set() for entity IDs from chained requestspm.environment.get() for credentials and URLsinfo.schema must be "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"info.name minLength is 18bd7a5b3-73e5-4414-a9c9-d59018b44079 (VirtoPlatform)runCollection does NOT exist — execute via Newman, Postman CLI, Postman Monitor, or the Postman UI<OWNER>-<UUID> for getCollection/putCollection/duplicateCollection; bare UUID for createCollectionRequest/updateCollectionRequestgetCollection returns a collection map by default — pass model: "full" to get the complete v2.1.0 payload