Quality Engineering Zephyr Coverage Analysis
HoangNguyen0403/agent-skills-standard
Audit test coverage health, gaps, and QE debt for Jira stories or epics.
Author and maintain MANUAL and hybrid test cases and suites in TestRail, Xray (Jira), Zephyr Scale, and Qase.
$ npx skills add petrkindlmann/qa-skills --skill test-case-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install petrkindlmann/qa-skills test-case-management --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/test-case-management .claude/skills/test-case-management && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "test-case-management" agent skill from https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-management into .claude/skills/test-case-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-case-management", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-managementType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add petrkindlmann/qa-skills --skill test-case-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install petrkindlmann/qa-skills test-case-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/test-case-management .agents/skills/test-case-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "test-case-management" agent skill from https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-management into .agents/skills/test-case-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-case-management", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add petrkindlmann/qa-skills --skill test-case-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install petrkindlmann/qa-skills test-case-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/test-case-management .cursor/skills/test-case-management && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "test-case-management" agent skill from https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-management into .cursor/skills/test-case-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-case-management", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/petrkindlmann/qa-skills.git --path skills/test-case-management--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add petrkindlmann/qa-skills --skill test-case-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install petrkindlmann/qa-skills test-case-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/test-case-management .gemini/skills/test-case-management && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "test-case-management" agent skill from https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-management into .gemini/skills/test-case-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-case-management", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install petrkindlmann/qa-skills test-case-managementInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add petrkindlmann/qa-skills --skill test-case-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/test-case-management .github/skills/test-case-management && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "test-case-management" agent skill from https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-management into .github/skills/test-case-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-case-management", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add petrkindlmann/qa-skills --skill test-case-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install petrkindlmann/qa-skills test-case-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/test-case-management .opencode/skills/test-case-management && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "test-case-management" agent skill from https://github.com/petrkindlmann/qa-skills/tree/main/skills/test-case-management into .opencode/skills/test-case-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "test-case-management", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
test-case-managementAuthor and maintain MANUAL and hybrid test cases and suites in TestRail, Xray (Jira), Zephyr Scale, and Qase.
Test Case Management is an agent skill from petrkindlmann/qa-skills. Author and maintain MANUAL and hybrid test cases and suites in TestRail, Xray (Jira), Zephyr Scale, and Qase. Covers test-case anatomy (title, preconditions, steps, expected results, test data), suite/section organization, bulk authoring from user stories and acceptance criteria, ambiguous-step linting, CSV/API import-export payloads per tool, requirement traceability and coverage gaps, review hygiene, and when a manual case should graduate to automation. Use when: "write a test case," "manual test case,"…
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/import-and-traceability.md`, `references/linting.md` and `references/tool-apis.md`).
It sits in Testing & QA, covering Test generation, Linting and formatting and User stories. It works with Jira. The repository describes itself as: 50 QA and test-automation skills for Claude Code, Codex, Cursor, and any Agent Skills Standard runtime. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b3bb61b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
jqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Test Case Management loads about 5k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 228 tokens; SKILL.md has 2,337 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from petrkindlmann/qa-skills at commit b3bb61b, republished under its MIT licence (© petrkindlmann). 2,337 words, ~5,030 tokens.
.claude/skills/test-case-management/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.<objective>
A manual test case that says "test the login" with expected result "verify it works" passes
every review and catches nothing — two testers run it differently and neither can say whether
it failed. This skill produces deterministic cases (discrete steps, one observable expected
result each, concrete test data), organizes them into navigable suites, and emits the
tool-correct API/CSV payloads for TestRail, Xray Cloud, Zephyr Scale, and Qase — whose
look-alike APIs use different auth schemes, endpoints, and step-field names that agents
routinely cross-wire.
</objective>
| Request | Go to |
|---|---|
| Write one well-formed case from an AC | Test-Case Anatomy |
| Bulk-generate cases from a story | Bulk Authoring + tool section |
| "Lint these steps / are these verifiable?" | Ambiguous-Step Linting + references/linting.md |
| TestRail / Xray / Zephyr / Qase API payload | Tool Payloads + references/tool-apis.md |
| CSV to import into TestRail | references/import-and-traceability.md (CSV section) |
| Organize suites/sections | references/import-and-traceability.md (organization) |
| Requirements ↔ tests, coverage gaps | Traceability + references/import-and-traceability.md |
| Manual → automation decision | Automation Graduation |
First, check .agents/qa-project-context.md in the project root for the tool, project keys,
and conventions; skip anything answered there. If it's missing, suggest creating one with the
qa-project-context skill. Then clarify:
section_id and the org plan.An expected result must be deterministically checkable. A second human (or a machine) must be able to agree on pass/fail without guessing. "Works", "looks right", "is fine", "wait a bit" fail this test. Name an exact value, a named element and its state, a specific message, a status code, a count, or a time-bounded condition.
One assertion per step. Each step has a single expected result. Cramming three checks into one step makes a failure ambiguous about which check broke and which to re-run.
One case per business rule, not one giant case. "Valid code reduces total / expired code errors / used code rejected" is three cases with three independent pass/fail verdicts — not one case with a paragraph of expecteds.
The tool's API is the spec — don't cross-wire the four tools. TestRail's
custom_steps_separated, Qase's Token header, Xray's two-step GraphQL auth, and Zephyr's
separate teststeps call are NOT interchangeable. Copy from the right tool's section.
Traceability exists to surface what is NOT covered. The deliverable is the list of requirements with zero linked tests, from a native coverage report — not a spreadsheet that rots and not "every test links to something."
Automate by ROI, not by volume. Limited capacity means stable, high-frequency, regression/smoke cases graduate first; exploratory, one-off, and high-churn/flaky cases stay manual. "Automate everything" wastes capacity on the worst candidates.
A well-formed manual case has five parts. Every part is mandatory; a case missing preconditions or test data is not reproducible.
| Part | What it holds | Failure if omitted |
|---|---|---|
| Title | Feature — scenario — expected outcome, one line | Unsearchable, duplicated |
| Preconditions | State the test assumes (account exists, on page X, flag on) | Tester guesses setup; flaky |
| Steps | Discrete actions, one action per step | Non-reproducible |
| Expected Results | One observable post-condition per step | Not verifiable |
| Test Data | Concrete values used (codes, emails, counts, timings) | Not repeatable |
BAD (single vague step, non-verifiable expected, no preconditions, no data):
Title: Login test
Steps: Test the login.
Expected: Verify it works.GOOD — from the AC "after 5 wrong-password attempts, the account locks for 15 minutes":
Title: Login — account locks for 15 minutes after 5 failed attempts
Preconditions: A registered account exists for user@example.com. The user is logged out
on the /login page. Lockout policy: 5 attempts, 15-minute lockout.
Test Data: email user@example.com, wrong password "WrongPass!", correct password "Passw0rd!"
Steps (one assertion per step / single expected result each):
1. Action: Submit the login form with user@example.com and "WrongPass!".
Expected: Error "Invalid email or password." shows; the failed-attempt count is now 1.
2. Action: Repeat the wrong-password submit until 5 failed attempts total.
Expected: On the 5th failure the account is locked; message reads
"Account locked. Try again in 15 minutes."
3. Action: Immediately submit with the CORRECT password "Passw0rd!".
Expected: Login is still blocked; the same lockout message is shown (lockout overrides
valid credentials).
4. Action: Wait 15 minutes, then submit with the correct password.
Expected: Login succeeds and the dashboard loads.Note: explicit preconditions, concrete test data (5 attempts, 15-minute lockout), discrete steps, and a single deterministic expected result per step.
Given a story or set of acceptance criteria, split into cases by rule, then generate the tool-specific payload. Worked example for the discount-code story (valid reduces total / expired errors / already-used rejected) → three cases:
Add the obvious negatives the story implies but doesn't state (empty code, malformed code) when
the team wants edge coverage. Each case gets discrete steps and one expected per step — never one
giant case covering all three rules. For the WHAT-to-test scope decision across a sprint, that's
test-planning, not this skill.
When asked to "lint" a suite, your job is to FLAG non-deterministic steps and rewrite them — NOT to agree that they "look fine." The agreeable failure mode (rubber-stamping "everything works") is the exact thing this section prevents.
A step is bad when its expected result is not deterministically verifiable. Flag any of:
For the classic four-step bad suite ("app opens / everything works / it looks right / the report
is ready"), all four are ambiguous and must be flagged and rewritten with explicit selectors,
exact values, and bounded conditions — never returned as "no issues found". The full lint
checklist, the worked rewrite of those four steps, and the lint-output table format are in
references/linting.md.
The four tools are easy to cross-wire. Summary — full curl/GraphQL bodies in
references/tool-apis.md:
| Tool | Auth | Create endpoint | Steps field |
|---|---|---|---|
| TestRail | Basic email:api_key | POST add_case/{section_id} | custom_steps_separated array of {content, expected} |
| Xray Cloud | POST /api/v2/authenticate → Bearer token | GraphQL createTest at /api/v2/graphql | steps[] {action, result}; Gherkin → testType: Cucumber + gherkin |
| Zephyr Scale Cloud | Authorization: Bearer <JWT> | POST /v2/testcases then POST /v2/testcases/{key}/teststeps | separate teststeps call, inline {description, expectedResult, testData} |
| Qase | header Token: <key> | POST /v1/case/{CODE}/bulk | steps[] {action, expected_result, data} |
Tool-specific traps that the reference spells out and you must respect:
custom_steps_separated (NOT the plain custom_steps text
blob); the endpoint is add_case/{section_id} (NOT add_test, which is a run instance). Base
is {instance}/index.php?/api/v2. Don't use a Qase-style POST /case./api/v2/authenticate with client_id/client_secret →
bearer, 24h), then prefer GraphQL createTest. Import Gherkin as a Cucumber test, not
a Generic one. Avoid the deprecated Cloud path /rest/raven/1.0/... and Server-style REST and
Jira username/password basic auth.api.zephyrscale.smartbear.com/v2 with JWT Bearer. Steps are a
SEPARATE /testcases/{key}/teststeps call, not a text blob in the create body. Don't emit /v1/,
the wrong host, or Qase's Token header.Token: <key>, NOT Authorization: Bearer. Use POST /case/{CODE}/bulk
with a cases array instead of N single POSTs. Don't use TestRail's add_case /
custom_steps_separated.CSV import for TestRail (header row mapped to importer fields: Title, Section Hierarchy,
Steps (Separated), Expected Result, Priority, Type, Preconditions) is in
references/import-and-traceability.md — use a real CSV with a header row, never free-form prose
or a single Description column, and never JSON when CSV was requested.
Use sections and subsections for hierarchy, kept shallow (3–4 levels). For a web + mobile
product the default is single-repository mode with top-level sections per platform
(Web, Mobile (iOS), Mobile (Android), Shared / API), feature sections beneath. Split into
multiple suites only when platforms are owned by separate teams with separate cadences.
Avoid: one folder per test case, deep nesting 7+ levels deep, dumping every case in the root
section, and duplicating the same case across suites (keep one source of truth). The
single-repository vs multiple-suites trade-off and the full org rules are in
references/import-and-traceability.md.
Goal: a coverage report that shows which stories have no tests — the uncovered requirements.
For Xray on Jira: from each Test, add the native "tests" issue link to the requirement's
Jira issue key (NOT to a Test Execution — that records runs, not coverage). Read per-story
coverage from the Story's Test Coverage panel, and project-wide from the Traceability Report /
Requirement Coverage report. Then filter for requirements with 0 linked tests — those are
the gaps to close. Do not propose a manual spreadsheet as the only traceability mechanism, and do
not ignore uncovered requirements. Zephyr Scale, Qase, and TestRail equivalents (issue links +
their coverage/traceability views) are in references/import-and-traceability.md.
Score each manual case by ROI: value ≈ run_frequency × regression_importance ÷ (automation_cost × expected_maintenance). With limited capacity (e.g. a 400-case Zephyr Scale backlog):
Reject "automate everything" and "automate the flaky, frequently changing UI first" — both spend
scarce capacity on the worst-ROI candidates. Full decision rule in
references/import-and-traceability.md. Once a case graduates, the actual test code is written
with ai-test-generation or a framework skill (playwright-automation, api-testing) — not
here.
"Test the login → verify it works" is unrunnable. Write discrete steps, one observable expected each, explicit preconditions, concrete test data.
Saying steps "look fine" or lightly rewording while leaving "everything works" and "wait a bit" in place is the failure linting exists to catch. Flag every non-verifiable expected and rewrite it.
Bearer on Qase (it uses Token), add_case/custom_steps_separated on Qase or Zephyr,
/rest/raven/1.0/ on Xray Cloud, /v1/ on Zephyr Scale Cloud, steps as a text blob in Zephyr's
create body. Each is a 4xx or a silent wrong-field. Copy from the correct tool section.
Folding "valid / expired / already-used" into one case yields a single pass/fail that hides which rule broke. One case per rule.
A TestRail import without a header row mapped to importer fields needs manual remapping. Provide
Title, Section Hierarchy, Steps (Separated), Expected Result, etc.
7+ level trees and one-folder-per-case make the repository unnavigable. Keep 3–4 shallow levels of sections; platform at the top for web+mobile.
A hand-kept sheet can't reliably answer "which stories have no tests." Use the tool's native requirement→test link and coverage/Traceability report, and surface the uncovered requirements.
Automating one-off exploratory cases or high-churn/flaky UI first burns capacity for negative ROI. Sequence stable high-frequency regression/smoke first.
Prove the produced artifact actually works before handing it off, smallest check first:
grep -niE "verify it works|looks right|is fine|wait a bit|no problems|everything works" cases.*
must return nothing. Any hit is a non-deterministic expected to rewrite.Title, Section Hierarchy,
Steps (Separated), Expected Result — head -1 cases.csv should show those columns, not a
single Description. Dry-run the import wizard; the wizard auto-matches columns with no manual
remapping when the headers are right.jq . payload.json exits 0) and
confirm the auth header and endpoint match the target tool's row in
Tool Payloads — Qase Token: not Authorization: Bearer, TestRail
add_case/{section_id} not add_test. A 201/test-id in the response (or a 200 with the new
case key for Zephyr) confirms the create; a 401 means the auth scheme is cross-wired, a
400 means the step field is.custom_steps_separated+add_case/{section_id}; Xray two-step auth + GraphQL
createTest, Cucumber for Gherkin; Zephyr /v2 Bearer + separate /teststeps; Qase Token
header + /case/{CODE}/bulk).Title,
Section Hierarchy, Steps (Separated), Expected Result).references/)© petrkindlmann, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/test-case-management of petrkindlmann/qa-skills.
Open the folder on GitHubat commit b3bb61b
Test Case Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Test Case Management this skillpetrkindlmann/qa-skills | 168 | — | ~5k | Automated safety check: Pass | MIT | |
| Quality Engineering Zephyr Coverage AnalysisHoangNguyen0403/agent-skills-standard | 571 | — | ~589 | Automated safety check: Pass | MIT | |
| Dynamo Jira TicketDynamoDS/Dynamo | 2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Spec ReviewAI-Unified-Process/marketplace | 142 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Test Scenariosphuryn/pm-skills | 27k | — | ~866 | Automated safety check: Pass | MIT | |
| Test Authorjpicklyk/task-orchestrator | 207 | — | ~8.2k | Automated safety check: Pass | MIT |
HoangNguyen0403/agent-skills-standard
Audit test coverage health, gaps, and QE debt for Jira stories or epics.
DynamoDS/Dynamo
Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.
AI-Unified-Process/marketplace
Reviews the specification artifacts in docs/ (requirements, use case diagram, use case specifications, test cases, BPMN process models, entity model, glossary) against each other in two parts: a…
phuryn/pm-skills
Create comprehensive test scenarios from user stories with test objectives, starting conditions, user roles, step-by-step actions, and expected outcomes.
jpicklyk/task-orchestrator
Test authoring framework for items carrying the needs-test-author trait.
genkovich/sdd
A skill your agent uses to turn a feature's acceptance criteria into a test plan before any test is written — a table that maps every spec.md §5 acceptance criterion to at least one test, names the…
petrkindlmann/qa-skills
Test for WCAG 2.2 AA compliance with axe-core + Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance mapping (ADA, EAA, Section 508).
petrkindlmann/qa-skills
Goal-driven E2E testing where a browser agent (Playwright MCP / computer-use) reads a natural-language goal and explores the app via the accessibility tree to assert outcomes — no pre-written script.
petrkindlmann/qa-skills
Use AI to write NEW test code from specs, PRDs, user stories, code diffs, bug reports, or OpenAPI specs.
petrkindlmann/qa-skills
Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.
petrkindlmann/qa-skills
Design CI/CD pipelines that run test suites. An agent skill from petrkindlmann/qa-skills.
petrkindlmann/qa-skills
Test for regulatory compliance: GDPR/CMP consent verification, Google Consent Mode v2, Global Privacy Control (GPC), CCPA/US state opt-out, EU AI Act Article 50 transparency, Better Ads Standards…
Works with
Categories
Author and maintain MANUAL and hybrid test cases and suites in TestRail, Xray (Jira), Zephyr Scale, and Qase. Test Case Management is an agent skill from petrkindlmann/qa-skills. Author and maintain MANUAL and hybrid test cases and suites in TestRail, Xray (Jira), Zephyr Scale, and Qase.
Test Case Management fits situations like: : write a test case; manual test case; zephyr Scale case; import CSV into TestRail.
Run `npx skills add petrkindlmann/qa-skills --skill test-case-management -a claude-code`. Or copy the skill folder (skills/test-case-management in petrkindlmann/qa-skills) into .claude/skills/test-case-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add petrkindlmann/qa-skills --skill test-case-management -a codex`. Or copy the skill folder (skills/test-case-management in petrkindlmann/qa-skills) into .agents/skills/test-case-management in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add petrkindlmann/qa-skills --skill test-case-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/test-case-management, .gemini/skills/test-case-management, .github/skills/test-case-management and .opencode/skills/test-case-management in your project.
Going by SKILL.md and its folder, Test Case Management needs the command-line tools its instructions call (jq).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Test Case Management is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Test Case Management: Quality Engineering Zephyr Coverage Analysis (HoangNguyen0403/agent-skills-standard, 571 stars), Dynamo Jira Ticket (DynamoDS/Dynamo, 2k stars), Spec Review (AI-Unified-Process/marketplace, 142 stars) and Test Scenarios (phuryn/pm-skills, 27k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
petrkindlmann (a GitHub user) maintains it in petrkindlmann/qa-skills, which has 168 GitHub stars. The repository holds 45 skills in this directory. The repository was last updated on June 10, 2026.
Source: petrkindlmann/qa-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.