Generate Zephyr test cases from Jira stories: parse acceptance criteria and business rules, impact-analyze existing TCs (update vs. create new), and draft correctly named test cases. Use for AC-to-test generation; defer post-generation Jira linking and manual test-case quality review.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill quality-engineering-zephyr-test-generation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Quality Engineering Zephyr Test Generation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-quality-engineering-zephyr-test-generation-agent-skills-mirror)More formats (shields.io, HTML) on the badges page.
---
name: quality-engineering-zephyr-test-generation
description: 'Generate Zephyr test cases from Jira stories: parse acceptance criteria and business rules, impact-analyze existing TCs (update vs. create new), and draft correctly named test cases. Use for AC-to-test generation; defer post-generation Jira linking and manual test-case quality review.'
metadata:
triggers:
files:
- '**/user_story.md'
keywords:
- generate test cases
- zephyr
- impact analysis
- create test case
---
# Zephyr Test Generation Standards
## **Priority: P1 (HIGH)**
## Workflow: Jira → Zephyr
1. **Analyze Requirements**:
- Extract: Summary, ACs, Platform per AC row, Market, Components.
- Fetch Jira with `?expand=renderedFields` — HTML authoritative for platform colors:
`#00B8D9` = Web · `#36B37E` = Mobile · `#FF991F` = Web+Mobile
- See [Actor/Permission Matrix](../quality-engineering-business-analysis/references/analysis_patterns.md) for role/market logic.
2. **Impact Analysis** (run before any TC creation)
- **Step — Direct Lookup**: Call `Get Issue Link Test Cases` with Jira issue key (e.g., `{PROJECT}-{ID}`).
- **Step B — Supplemental**: If Step 0, search by `[Module]` and `[Screen]` keywords + check sibling issue links.
- See [Discovery Protocol](references/impact_analysis.md) for full chain.
- Map each AC to coverage status:
- **Covered** → ask user: skip or update to current format?
- **Partial** → always propose NEW TC.
- **Not Covered** → always create NEW TC.
3. **Draft Artifact**:
- Delete any existing `zephyr_test_plan.md` before writing.
- Follow 4-section format in [TC Format Reference](references/tc_format.md) exactly.
- After writing: read back file and print full content in chat so user can review without opening it.
- Ask for: review approval, handling of Covered ACs, and Zephyr Folder ID.
4. **Create in Zephyr** (after explicit user approval)
- `Create Test Case` (with `customFields` included — no separate Update needed) → `Create Test Case Steps` → `Create Test Case Issue Link`
- For **updates** to existing TCs: fetch current steps via `Get Test Case Steps`, show before/after diff, wait for explicit approval, then `Update Test Case`.
## Platform Rules
| AC row | Action |
| ------------------------------------------- | --------------------------------------------------------------- |
| Single row `[ WEB + MOBILE ]` | ONE TC, Platform = "Web and Mobile", no platform prefix in name |
| Two rows same behavior, different platforms | TWO TCs with `Web_` / `Mobile_` prefix — never merge |
## Naming & Filing
- **Name**: Prefix `Web_` / `Mobile_` only when platform-exclusive; omit prefix for Web and Mobile.
- **Folder**: Use exact Folder ID provided by user or specified in Technical Impact.
### Role Mapping Rule
- **CRITICAL**: If Acceptance Criteria uses generic terms like "user", "buyer", or "customer" in ordering/checkout context, it MUST mapped to ALL purchasing roles: `["Client user", "Client admin", "Internal sales rep", "External sales rep"]`. not default to `Client user`.
## API Critical Notes (SmartBear MCP — `@smartbear/smartbear-mcp`)
- **`Create Test Case`** requires `projectKey="{PROJECT}"` and supports `customFields` directly (no separate Update needed for Roles/Platform).
- **`Create Test Case Steps`** uses `testCaseKey` + `mode` (APPEND/OVERWRITE) + `items[]`.
- **`Create Test Case Issue Link`** uses `testCaseKey` + `issueId` (numeric Jira issue ID — get from ticket's `id` field, not key string).
- **`Get Issue Link Test Cases`** uses `issueKey` (e.g., `{PROJECT}-{ID}`) — returns linked TC keys directly.
- **`Update Test Case`** uses `testCaseKey` — only needed when modifying existing TCs, not for new creation.
## Anti-Patterns
- **No prefix omission**: TC name sent to Zephyr API must include `Web_` or `Mobile_` prefix for platform-exclusive TCs — copy verbatim from artifact draft; omit prefix only when Platform = "Web and Mobile".
- **No Draft skip**: Always set status = Draft; never automatically approve.
- **No flat folderId**: Use `"folder": {"id": X}` in all PUT payloads.
- **No WEB+MOBILE split**: One AC row = one TC with Platform "Web and Mobile".
- **No platform merge**: Two AC rows, different platforms = two separate TCs.
- **No silent update**: Show before/after diff; wait for explicit approval.
- **No lookup skip**: Always run Step direct link lookup before supplemental search.
- **No stale artifact**: Delete existing `zephyr_test_plan.md` before each run.
- **No coverage skip**: Coverage Analysis table must open every artifact.
- **No ghost update**: Update Zephyr TC whenever matching code changes.
- **No vague steps**: Use specific observable outcomes — e.g., `"System works"` → `"Banner 'Success' is visible"`.
## Coverage wording
- During impact analysis, map each AC to Covered, Partial, or Not Covered and check for duplicate test cases before drafting new ones.
## Canonical response anchors
When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
- duplicate
- impact analysis
- no platform prefix
- separate
- Additional task-grounded exact anchors: Issue LinkIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!