Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions skills/sdlc-agentic-pipeline/references/config-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ Ready-to-fill templates are in `references/templates/`:
| `github` | Repos, branches, PRs, reviews, workflow dispatch | Bearer PAT | `GITHUB_OWNER`, `GITHUB_REPO` |
| `sonarqube` | Quality gate, issues, coverage, hotspots | Bearer token | `SONAR_PROJECT_KEY` |
| `semgrep` | Local static analysis, security scanning | App token env | — |
| `terraform` | Infrastructure as Code (ECS provisioning, Option B) | — | — |
| `postman` | API testing, collection runs | Bearer API key (HTTP) | — |

JFrog is configured as a service (REST API) in `<project-root>/.env` + GitHub Actions secrets/variables,
not as an MCP server. ECS config is also in `<project-root>/.env`.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ File: `.codeartsdoer/tool-selections.json`

**Q1 — MCP Servers & Services**: GitHub, Jira, SonarCloud, Semgrep, JFrog Artifactory, Huawei Cloud ECS, None
**Q2 — SDD**: SDD Toolkit (Huawei Built-in), OpenSpec (coming soon), None
**Q3 — TDD**: Playwright CLI (E2E), Postman (API), Newman (API), Jest (Unit JS/TS), Pytest (Unit Python), JUnit (Unit Java), Vitest (Unit JS/TS Vite), None
**Q3 — TDD**: Playwright CLI (E2E browser testing), Postman (Interactive API testing via MCP), Newman (CLI collection runner for CI/CD — auto-selected with Postman), Jest (Unit testing JS/TS), Pytest (Unit testing Python), JUnit (Unit testing Java), Vitest (Unit testing JS/TS Vite), None (Skip TDD)
**Q4 — DDD**: Context Mapper, EventStorming, Structurizr, None

### Selection Rules
Expand All @@ -45,9 +45,10 @@ File: `.codeartsdoer/tool-selections.json`
3. Non-contiguous selection valid
4. "None" takes precedence if selected alongside other items
5. Built-in utility skills never mentioned
6. **Auto-select (post-processing)**: After Q3 returns, if Postman is selected but Newman is NOT, the PM Agent automatically adds Newman to the selections before writing `tool-selections.json`. Newman's option label is "(auto-selected with Postman)" so users know it will be included. The user sees Newman in the post-selection summary as "(auto-selected via Postman)" and can confirm or reject.

### Post-Selection Summary
Print selected/skipped items, pipeline impact, and dependency warnings. Ask: "Proceed with these selections?" (Yes/No).
Print selected/skipped items (including auto-selected Newman if Postman chosen), pipeline impact, and dependency warnings. Ask: "Proceed with these selections?" (Yes/No).

---

Expand All @@ -60,7 +61,7 @@ Print selected/skipped items, pipeline impact, and dependency warnings. Ask: "Pr
| JFrog | Huawei ECS | Deployment has no image source |
| Huawei ECS | JFrog | No Docker image to deploy |
| Playwright | GitHub | E2E tests run against local working directory only |
| Postman | Newman | Postman monitors can't reach localhost APIs |

| DDD tools | SDD | Domain model used directly without formal spec |
| Any TDD tool | GitHub | Tests not version-controlled via PRs |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ For each selected methodology tool, verify/install/connect/smoke-test:
|------|--------|---------|------------|
| SDD Toolkit | N/A (built-in) | N/A | N/A |
| OpenSpec | `openspec --version` | `npm install -g @fission-ai/openspec@latest` | `openspec list` |
| Postman | N/A (MCP) | N/A | `postman MCP list workspaces` |
| Postman | N/A (MCP) | Copy `references/templates/SKILL.md` to `.codeartsdoer/skills/postman/SKILL.md` | `postman MCP list workspaces` |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
postman search workspaces --help
postman MCP list workspaces --help

Repository: CodeArtsAgent/CodeArtsSkills

Length of output: 252


🌐 Web query:

Postman CLI search workspaces command documentation

💡 Result:

The Postman CLI includes a dedicated command to search for workspaces, which is part of its broader search functionality. The command to search for workspaces is: postman search workspaces This command allows you to search for workspaces by name or keyword [1][2]. In addition to searching, the Postman CLI provides separate workspace management commands for CI/CD pipelines, such as postman workspace prepare (to validate local elements) and postman workspace push (to synchronize local elements with the Postman cloud) [3][4][5]. Note that these workspace management commands are distinct from the search commands [2]. For a complete reference of all available Postman CLI commands, you can consult the official Postman CLI documentation [1][6].

Citations:


🌐 Web query:

Postman CLI MCP list workspaces command documentation

💡 Result:

There is no specific "Postman CLI" command for listing workspaces within the Model Context Protocol (MCP). The Postman CLI and the Postman MCP Server are distinct tools with different purposes [1][2][3]. The Postman CLI is a standalone terminal application used for tasks such as running collections, monitoring APIs, and synchronizing local files with Postman cloud [3]. It does not natively implement MCP [3]. The Postman MCP Server is a separate integration that allows AI agents and IDEs (such as Cursor, Claude, or VS Code) to interact with Postman resources [1][2][4]. Within the Postman MCP Server, the tool to list workspaces is defined as list_workspaces [5][6]. To use the list_workspaces tool: 1. Ensure you have the Postman MCP Server configured [1][4]. 2. The tool is typically invoked by an AI agent through the Model Context Protocol interface rather than via a direct terminal command [2][7]. 3. If you are interacting with the tool programmatically (e.g., via an MCP SDK), you would call the tool list_workspaces [5][6]. The tool accepts optional parameters such as type and createdBy to filter the results [5]. It is recommended to use the official Postman MCP Server to ensure compatibility with your AI agents, as documented in the official Postman learning resources [2][8][9]. Prompts to AI agents should explicitly mention using the Postman MCP server to avoid confusion with CLI commands [7].

Citations:


Replace the invalid shell command in the Postman smoke-test row.

postman MCP list workspaces is not a documented Postman CLI command; the documented CLI workspace search command is postman search workspaces. Use the valid CLI command here, or if this row is meant to describe an MCP tool invocation, rewrite it as the actual MCP tool call format instead of a shell command.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/sdlc-agentic-pipeline/references/setup/service-onboarding.md` at line
144, Update the Postman row in the smoke-test table to replace the invalid
`postman MCP list workspaces` command with the documented `postman search
workspaces` CLI command, unless the row specifically requires an MCP invocation
format.

| Newman | `newman --version` | `npm install -g newman` | `newman run --version` |
| Jest | `npx jest --version` | `npm i -D jest` | `npx jest --listTests` |
| Pytest | `pytest --version` | `pip install pytest` | `pytest --collect-only` |
Expand All @@ -151,6 +151,10 @@ For each selected methodology tool, verify/install/connect/smoke-test:
| EventStorming | N/A | N/A | N/A |
| Structurizr | N/A | N/A | N/A |

**Postman MCP config** (`mcp_settings.json`): HTTP type, URL `https://mcp.postman.com/mcp`, headers `Authorization: Bearer <POSTMAN_API_KEY>` (PMAK from Settings -> API Keys).

**Newman cloud collections**: `newman run "https://api.getpostman.com/collections/<id>?apikey=$POSTMAN_API_KEY"` (API key via env var only).

**Failure rule:** If a tool fails its smoke test, report to user, skip that tool, and continue with remaining tools.

After install, run `apply-tool-selections.ps1` (Windows) or `apply-tool-selections.sh` (macOS/Linux) to update agent frontmatter permissions based on `tool-selections.json` + `skill-registry.json`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
"github": "github (item 1)",
"sonarqube": "sonarcloud (item 3)",
"semgrep": "semgrep (item 4)",
"terraform": "huawei-ecs (item 6, Option B only)"
"terraform": "huawei-ecs (item 6, Option B only)",
"postman": "postman (item 3, TDD Q3)"
}
},
"mcpServers": {
Expand Down Expand Up @@ -55,6 +56,14 @@
"args": ["stdio"],
"disabled": false,
"timeout": 120000
},
"postman": {
"type": "http",
"url": "https://mcp.postman.com/mcp",
"headers": {
"Authorization": "Bearer <POSTMAN_API_KEY>"
},
"disabled": false
}
}
}