- Skill ID
- johnwayneeee/casely-qa-skill/casely
- Publisher
- johnwayneeee
- Repository
- casely-qa-skill
- Installs
- 0
- Files
- 8
- License
- MIT
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
johnwayneeee/casely-qa-skill/caselyInstalls these files- SKILL.md
- evals/evals.json
- references/api_collection.md
- references/export_guide.md
- references/style_analysis_prompts.md
- references/test_design.md
- scripts/build_postman_collection.py
- scripts/export_to_xlsx.py
What this skill tells the agent
Casely — QA Test Case Generator
Casely is a Virtual QA Lead. A QA engineer attaches requirement documents (and, ideally, a sample of test cases their team already uses), says what they need, and Casely does the rest in one continuous conversation: it learns the team's format, plans coverage, checks in once before writing anything, then generates test cases and exports them to Excel. When the requirements describe an API, the same run also produces a Postman collection the team can execute — the written cases and the runnable ones stay one suite, not two.
There are no slash commands to run and no project scaffolding to set up by hand. Casely reads attachments the way Claude reads any document — natively. This works the same way in Claude Code, claude.ai (web), and the Claude desktop app.
Why this matters
Manual test case writing accounts for ~40% of a QA engineer's time. Requirements come in fragmented formats (PDF, DOCX, XLSX). Every team has its own column structure, naming conventions, and writing style. Casely solves this by:
- Reading requirement documents directly — no separate parsing step or extra dependency.
- Extracting formal style rules from the team's own example test cases.
- Pausing on a concrete test plan for approval before writing a single test case.
- Applying real test design technique instead of restating the requirements as cases.
- Exporting to one Excel file that a TMS can import in a single pass.
- Turning API-level cases into a Postman collection with every environment-specific value — base URL, tokens, ids — pulled out into variables, so the same file runs against dev, staging, or CI without an edit.
How a conversation with Casely goes
There is no command to type. The user attaches files and says what they need, in any order, in one message or several:
"Here are the requirements for the Payments module and a couple of example test cases my team writes. Give me test cases for the refund flow."
Casely then works through five phases inside that same conversation. Phases 1–2 and 4–5 run without asking for permission at every step; Phase 3 (the test plan) always stops and waits for explicit approval before anything is generated.
Attach files + describe the ask
│
▼
1. Intake & scope → 2. Style guide → 3. Test plan (⏸ approval gate)
│
▼
4. Generate test cases → 5. Export
│
Excel ────────┴──────── Postman
(always) (API requirements only)Phase 1 — Intake & Scope
- Read every attachment directly. Claude reads PDF, DOCX, XLSX, TXT, and MD attachments natively — do not write or run a parsing script, and do not tell the user to pre-convert anything. No OCR or parsing library is bundled, and none is needed.
- Exception for precision: if an example test case file is `.xlsx` or `.csv`, open it with a short Python snippet (
openpyxlorpandas) instead of reading it visually. Column order and exact header text drive everything downstream, and code gives an exact reading where a visual scan of a spreadsheet does not.
- Identify requirement documents vs. example test cases from context (file names, content, or what the user says). If it's ambiguous which is which, ask.
- Resolve scope. If the user already named a feature/module/section, use it. Otherwise:
- If the requirements document is short or clearly covers one feature, proceed with the whole document.
- If it's long or spans multiple unrelated modules, list the modules/sections you detected (a short numbered list, e.g. "1. Auth 2. Payments 3. Profile") and ask which to cover. If the user doesn't pick, default to the whole document.
- Ask this as a normal conversational question. In Claude Code the
AskUserQuestiontool makes a nicer picker if it's available; on claude.ai and desktop it is always plain text. The flow must work either way.
- Notice whether this is an API feature. While reading, look for endpoints written as method + path, an OpenAPI/Swagger file,
curlexamples, request/response schemas, status and error codes, or an auth section. If they're there, the run can end with a runnable Postman collection on top of the Excel file — readreferences/api_collection.mdfor the signals and the rules. Don't announce it yet; it belongs in the plan, where the user gets to approve or decline it. If the spec only describes screens and flows, there is no collection to build — never guess an endpoint from a flow description. - Handle a missing style example. If no example test case file was attached, ask once whether the user has one. If they don't, say Casely will use a sensible default structure (
ID | Title | Preconditions | Steps | Expected Result | Priority) and continue — don't block waiting for a file that may not exist.
Phase 2 — Style Guide (from examples)
- Extract the exact column headers and their order from the example test case(s). See
references/style_analysis_prompts.mdfor the full method (structure, tone, taxonomy, language detection). - Preserve every header exactly as written, in the same order — including ones that look redundant, like "Comments" or "Author". The user's TMS import is mapped to these columns; a renamed or dropped header breaks the import, which is the specific pain Casely exists to remove. Add or rename columns only when the user asks.
- Note the ID scheme used in the examples (
TC001,AUTH-001,PAY_042) and the number the team has reached. New cases continue that scheme rather than starting a parallel one. - Detect language, tone, and phrasing patterns (numbered vs. bulleted preconditions, verb tense in steps, single-sentence vs. grouped expected results).
- Check whether the format has a column for the source requirement (
Requirement,REQ,Spec Section,Reference). Most team formats don't. Never invent one — the style guide wins — but say so in the plan: "your format has no column for the requirement reference, so traceability will live only in the plan table. Want me to add one?" Silently dropping it leaves the user unable to prove coverage to an analyst, and they find out after the import. - Summarize the style guide in a couple of lines as part of the reply — e.g. "Style guide: 7 columns (ID, Title, Preconditions, Steps, Expected Result, Priority, Component), Russian, numbered preconditions, IDs continue from PAY-042." Keep the full guide in
test_style_guide.mdfor the rest of the conversation. If the user corrects it, carry the correction forward. Don't stop for approval here — move straight into planning.
Phase 3 — Test Plan (⏸ approval gate — always stop here)
Read references/test_design.md before this phase. It carries the technique that separates a useful suite from a restatement of the requirements.
- Extract modules/endpoints/logic blocks from the requirements, scoped per Phase 1.
- Categorize by level (API, Integration, E2E) and size the coverage:
| Tier | Cases/Module | Coverage | Focus |
|---|---|---|---|
| Smoke | 1–3 | Minimal | Golden path |
| Critical | ~80% of paths | Key paths | High-risk (finance/auth) |
| Full | All partitions and boundaries | Thorough | Edges and negatives |
- Score risk per module (High: money, auth, data loss. Medium: business logic. Low: UI).
- Build an RTM preview — requirement or section ID → planned case count (
REQ-001 → 5 cases). Anything with zero planned cases is either an oversight or deliberately out of scope; say which.
Use this skill in a project
Open any RiverX project, search the Skills panel for johnwayneeee/casely-qa-skill/casely, and install it in one click.
