Skip to content

Docs

Casely is a free, open-source QA skill for Claude. No slash commands, no setup step, one conversation.

Last updated: September 2026

Install

Claude Code

Run one of these from your project root.

npx skills@latest add JohnWayneeee/casely-qa-skill
bunx skills add JohnWayneeee/casely-qa-skill

claude.ai and desktop app

  1. 1.Download the release zip below.
  2. 2.Open Claude Desktop and look at the left side panel.
  3. 3.Click Customize, then select Skills or Plugins.
  4. 4.Click the + symbol at the top of the panel and choose Upload Skill.
  5. 5.Select the zip you downloaded and click Sync to finish.
  6. 6.Run /reload-skill, then start a conversation with /casely.

Use the release zip, not the green Code button

GitHub's own "Code > Download ZIP" button nests everything inside a repo-name folder. SKILL.md needs to sit at the archive root, so use the release zip linked above instead.

Custom skills need a paid plan

Uploading a custom skill on claude.ai requires a Pro, Max, Team, or Enterprise plan, and it does not sync to Claude Code. Use the Claude Code install path above there instead.

View the skill source on GitHub

Install video

How it works

Five phases, one conversation. There are no slash commands. The test plan phase is the one point where Casely stops and waits for your approval before it writes anything.

01

Intake and scope

Claude reads the attachments itself, PDF, DOCX, XLSX, TXT, MD, or pasted text, with no parser and no OCR setup. Add one file of test cases your team already wrote, and Casely copies its columns, their order, the tone, and the ID scheme.

02

Style guide

Casely matches the format of the example file you attached rather than imposing one of its own, so the team keeps the columns, order, and ID scheme it already uses.

03

Test 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.

04

Generate

Casely writes the cases using equivalence partitioning, boundary value analysis, decision tables, state transitions, and error guessing.

05

Export

Casely exports every case into a single all_test_cases.xlsx, 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.

What you attach, what you get

You attach

PDF, DOCX, XLSX, TXT, MD, Pasted text. Add one file of test cases your team already wrote and Casely copies its columns, their order, the tone, and the ID scheme.

You get back

One all_test_cases.xlsx holding every case, plus a markdown file per case. Import into TestRail, Qase, Zephyr, Xray in a single pass. API cases also come back as a Postman collection you can run.

API tests

When the requirements name endpoints — a path and a method, an OpenAPI file, curl examples, status codes, an auth section — Casely says so in the test plan, and after your approval it exports the API-level cases as a Postman collection alongside the Excel file.

casely_api_collection.postman_collection.json

The API cases as requests, grouped by module, schema v2.1.

casely_api_environment.postman_environment.json

Every variable the run needs, empty, secrets typed as secrets.

casely_api_collection_README.md

Import, fill in, run, read the results, plus a Newman command for CI.

Everything is a variable

Base URL, tokens, and entity ids come out as {{baseUrl}}, {{authToken}}, and named ids. Fill them in once and the same file runs against dev, staging, or CI. The value a case is actually testing, like amount 50001, stays literal, because that is the point of the case.

No credentials in the file

The build fails on anything shaped like a JWT or a secret key, so the collection is safe to commit next to the test cases. Secrets stay in the environment file, or come from your CI secret store.

Assertions from the expected result

Status code, response fields, error codes: one assertion per thing the requirement promises, generated rather than hand-typed. Requests are named after the cases, so a red run maps to a row in the Excel file without a lookup.

No endpoints, no collection

If the spec names screens and flows but no paths, Casely asks for the API docs instead of guessing an endpoint that 404s on the first run.

Run it in the Postman Collection Runner, or in CI:

newman run exports/casely_api_collection.postman_collection.json \
  -e exports/casely_api_environment.postman_environment.json \
  --env-var "authToken=$API_TOKEN"

Model choice

Pick Opus. The plan phase decides what gets tested at all, and smaller models miss the holes in the spec that Opus catches before a single case gets written.