Aiwg uat-generate
Discover MCP tools and generate a phased UAT plan with agent-executable test specifications
git clone https://github.com/jmagly/aiwg
T=$(mktemp -d) && git clone --depth=1 https://github.com/jmagly/aiwg "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/uat-generate" ~/.claude/skills/jmagly-aiwg-uat-generate && rm -rf "$T"
.agents/skills/uat-generate/SKILL.mdUAT Generate
Generate a phased User Acceptance Test plan by discovering tools from connected MCP servers and producing agent-executable test specifications.
Usage
# Generate UAT plan from all connected MCP servers (default: --mode mcp) /uat-generate # Explicit MCP mode /uat-generate --mode mcp # Target specific server /uat-generate --mode mcp --server gitea # Quick smoke test plan /uat-generate --execution-mode quick # Full comprehensive plan /uat-generate --execution-mode full # Custom output path /uat-generate --output .aiwg/testing/uat/my-plan.md # Interactive — ask questions about scope and priorities /uat-generate --interactive
Parameters
--mode (default: mcp)
Test mode. Currently only
mcp is supported. Future modes: api, ui.
--server (optional)
Target a specific MCP server by name. If omitted, discovers tools from all connected servers.
--output (optional)
Output path for the generated plan. Default:
.aiwg/testing/uat/plan-{server}-{timestamp}.md
--execution-mode (default: standard)
Controls the breadth of generated tests:
| Mode | Description |
|---|---|
| Preflight + 1 happy path per tool. Minimal, fast. |
| Happy paths + key edge cases + negative tests. Balanced. |
| All paths including exhaustive negative tests and E2E chains. Comprehensive. |
--interactive (optional)
Prompt for scope decisions before generating:
- Which tool categories to include/exclude
- Priority ordering of phases
- Whether to generate negative tests
- Custom test data values
Workflow
Step 1: Discover MCP Tools
Enumerate all tools from connected MCP servers:
Discovering MCP tools... Server: gitea (mcp__gitea__*) Found 78 tools Server: filesystem (mcp__fs__*) Found 12 tools Total: 90 tools across 2 servers
For each tool, capture:
- Tool name and description
- Parameter schema (required/optional, types, defaults)
- Return type description
- Any documented constraints or side effects
Step 2: Categorize Tools
Group tools into logical categories:
Categories: Repository Management: 15 tools (create, get, list, update, delete, fork, ...) Issue Tracking: 12 tools (create, get, list, edit, comment, close, ...) User & Org: 8 tools (get_user, search_users, get_orgs, ...) Actions/CI: 14 tools (list_runs, get_job, dispatch, ...) Labels & Milestones: 9 tools (create_label, edit_label, ...) Wiki: 5 tools (create, get, update, delete, list) Release & Tags: 8 tools (create_release, list_tags, ...) File Operations: 5 tools (get_file, create_file, update_file, ...) Misc: 2 tools (get_version, get_user_info)
Step 3: Design Phases
Apply the standard phase structure:
- Phase 0: Preflight — Connectivity, auth, server version
- Phase 1: Seed Data — Create test entities needed by later phases
- Phases 2-N: Per-Category — One phase per tool category
- Phase N+1: E2E Chains — Cross-category workflows
- Phase N+2: Cleanup — Delete all seeded data
Step 4: Generate Test Specs
For each tool in each phase, generate test cases following the
uat-test-case.md template:
- Happy path: Standard usage with valid inputs
- Edge cases: Boundary values, empty strings, max lengths (standard and full modes)
- Negative tests: Missing required params, invalid types, unauthorized access (standard and full modes)
- E2E chains: Multi-tool workflows (full mode only)
Step 5: Wire Variables
Connect phases via stored variables:
Phase 1 (Seed): create_repo → Store: TEST_REPO_NAME Phase 3 (Issues): create_issue(repo: ${TEST_REPO_NAME}) → Store: ISSUE_INDEX Phase 4 (Comments): create_issue_comment(index: ${ISSUE_INDEX}) Phase N (Cleanup): delete_repo(name: ${TEST_REPO_NAME})
Step 6: Output Plan
Write the complete UAT plan to the output path. Display summary:
UAT Plan Generated Server: gitea Tools: 78 Phases: 12 Test cases: 165 Negative tests: 32 (isolated) Estimated duration: ~20 minutes Output: .aiwg/testing/uat/plan-gitea-20260227.md Review the plan, then execute with: /uat-execute .aiwg/testing/uat/plan-gitea-20260227.md
Plan Output Format
The generated plan follows the
uat-phase.md template. See templates/uat-phase.md for the full format.
Error Handling
No MCP Servers Connected
No MCP servers detected. To use UAT-MCP, you need at least one MCP server connection. Check your MCP configuration and try again.
Server Discovery Fails
Failed to discover tools from server: {name} Error: {details} Continuing with remaining servers...
Zero Tools Found
No tools discovered from {server_name}. The server is connected but exposes no tools. This may indicate a configuration issue.
References
- Agent: @$AIWG_ROOT/agentic/code/addons/uat-mcp/agents/uat-planner.md
- Template: @$AIWG_ROOT/agentic/code/addons/uat-mcp/templates/uat-phase.md
- Schema: @$AIWG_ROOT/agentic/code/addons/uat-mcp/schemas/uat-plan.yaml