Skip to content

CaselyAI QA test case generator

For QA engineers with a spec in a PDF and TestRail columns to match. Approve one test plan, get back cases in your team's format, a Postman collection for API specs, and a list of spec gaps. Free, open-source.

Add to Claude

410 installs from Anthropic's plugin directory · 22,467 git clones on GitHub · 85/100 on a benchmark spec with five planted defects

all_test_cases.xlsx
7 cases
IDTitle
AUTH-014Password reset link expires after 30 minutes
AUTH-015Reset link is rejected on second use
BILL-002Card declined during plan upgrade keeps old plan
BILL-007Invoice total rounds to two decimals at 19.995
IMP-021XLSX import with a renamed header column
IMP-022Import of 5000 rows completes in one pass
SES-009Session survives a token refresh mid-request

Why not just prompt a chat?

A chat prompt writes cases. Casely writes them in your format, checks the spec first, and hands back a file your tracker imports.

What you needPrompt in a chatCasely
Your team's columns, order, and ID schemeYou describe them each timeCopied from one example, saved
Gaps and contradictions in the specOnly if you askListed in the plan, before any case
Your OK on coverage before writingNoOne pause, at the plan
One file TestRail imports in one passYou format itall_test_cases.xlsx or CSV
Runnable Postman collection for API specsNoYes, tokens as variables
Arabic, Korean, and other non-Latin text in the exportUncheckedRound-trip tested, cell for cell
Bug report from a trace ID, data maskedYou paste and redact the logs/casely:bug in your format
Jira issues and Confluence pagesYou copy and paste themRead-only connector

Comparing paid test case tools? Run this checklist before you buy.

Attach and scope.

Claude reads the attachments itself, PDF, DOCX, XLSX, TXT, MD, or pasted text, with no parser and no OCR setup. Name a Jira issue, an epic, or a Confluence page instead, and Casely reads it through a read-only Atlassian connector. Add one file of test cases your team already wrote, and Casely copies its columns, their order, the tone, and the ID scheme.

  • No parser, no OCR setup, no config file
  • Copies your team's columns and ID scheme, saved once
  • PDF, DOCX, XLSX, TXT, MD, Jira, or Confluence
wallet-withdrawal
requirements_wallet.docxdocx
example_test_cases.xlsxxlsx
Here are the requirements for the Wallet module and example test cases my team writes. I need test cases for the withdrawal flow.
Viewed 2 files, ran 2 commands
Reading both files now. I'll match the columns and ID scheme from your example test cases before scoping the withdrawal flow.
Scoping withdrawal flow
Intake complete · 18 requirements · team format matched

Approve the plan.

Casely proposes coverage per module, estimates how many cases that is, and names what the spec gets wrong before writing anything. If the requirements describe an API, it says here how many cases are API-level and that those will also come back as a Postman collection. Then it stops and waits for your approval, the one pause in the whole run.

  • Coverage estimate per module, before writing code
  • Untestable wording and gaps named up front
  • Says up front which cases are API-level and runnable
  • One pause in the whole run, then Casely writes the rest
wallet-withdrawal
Here's the coverage plan and the gaps I found. Want me to go ahead and write the cases?
Thought for 4s
I've analyzed the withdrawal requirements and found these key areas. Does this plan look right before I write the cases?
ModuleEst.Notes
Card Binding3Card ≥3 days old; no linked card
Amount Validation4Min/max limit, negative
Daily Limit3Within limit, exceeds 150k

Get one Excel back.

Casely exports every case into a single all_test_cases.xlsx, or a UTF-8 CSV if your tracker wants one, plus one markdown file per case. TestRail, Qase, Zephyr, and Xray each import that file in one pass. API cases also come back as a Postman collection with an environment file and run instructions. In Claude Code, /casely:run then walks the UI cases in a browser.

  • Equivalence, boundaries, decision tables, error guessing
  • Single all_test_cases.xlsx, or a UTF-8 CSV
  • Imports into TestRail, Qase, Zephyr, and Xray
  • API cases also come back as a Postman collection
  • /casely:run walks the UI cases in a browser
wallet-withdrawal
Approved. Go ahead and export the full suite.
Thought for 6s
Cases are written and exported. Equivalence, boundaries, decision tables, and error guessing are all covered. The 12 API cases are in a Postman collection too. Fill in baseUrl and authToken, then run.
all_test_cases.xlsx
Export complete · 21 cases · TestRail-ready
casely_api_collection.postman_collection.json
12 requests · 4 variables · Postman & Newman

Find the bugs. Casely writes the test cases.

Free and open source under the MIT license. Nothing installs on your machine: the export step runs on tools that already ship inside Claude's code execution environment.

Add to Claude
001

No commands

Attach your files or name a Jira issue in Claude Code, claude.ai, Cowork, or the desktop app and say what you need. No setup, no configuration.

002

Your columns

Attach one file of test cases your team already wrote. Casely copies the headers, their order, the tone, and the ID scheme, and saves them so you attach it only once.

003

Reports the gaps

Untestable wording, contradictions between sections, and error paths nobody wrote down: all named in the plan, before Casely writes a case.

004

One file to import

A single all_test_cases.xlsx holding every case under your own headers, or a UTF-8 CSV if your tracker wants one. Import it once instead of forty times.

005

API cases you can run

Endpoints in the spec? The API cases also come back as a Postman collection, with the base URL and tokens already pulled out into variables.

006

Runs them, writes the bugs

In Claude Code, /casely:run walks the UI cases through Playwright and marks each pass, fail, or blocked. /casely:bug turns a failure or a trace ID into a bug report in your team's format.

You approve before Casely writes.

Casely stops at the plan and tells you what the spec is missing. The coverage decisions stay with you.

Want it in the browser for your team, with file uploads and review? Join early access.

No. Writing test cases needs no command and no setup step. Attach your files or name a Jira issue in Claude Code, Codex, claude.ai, Cowork, or the Claude desktop app, say what you need in plain language, and answer when Casely asks which modules to cover. It pauses once, at the test plan. Two optional commands exist in Claude Code: /casely:run walks the finished cases in a browser, and /casely:bug writes a bug report.