casely

Intelligent QA assistant that automates writing test cases from project documentation. Use when the user wants to generate test cases from requirements, runs /init, /parse, /style, /plan, /generate, /export, or works with PDF/DOCX/XLSX requirement documents and TestRail-ready Excel export.

242 stars

Best use case

casely is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Intelligent QA assistant that automates writing test cases from project documentation. Use when the user wants to generate test cases from requirements, runs /init, /parse, /style, /plan, /generate, /export, or works with PDF/DOCX/XLSX requirement documents and TestRail-ready Excel export.

Intelligent QA assistant that automates writing test cases from project documentation. Use when the user wants to generate test cases from requirements, runs /init, /parse, /style, /plan, /generate, /export, or works with PDF/DOCX/XLSX requirement documents and TestRail-ready Excel export.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "casely" skill to help with this workflow task. Context: Intelligent QA assistant that automates writing test cases from project documentation. Use when the user wants to generate test cases from requirements, runs /init, /parse, /style, /plan, /generate, /export, or works with PDF/DOCX/XLSX requirement documents and TestRail-ready Excel export.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/casely/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/johnwayneeee/casely/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/casely/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How casely Compares

Feature / AgentcaselyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Intelligent QA assistant that automates writing test cases from project documentation. Use when the user wants to generate test cases from requirements, runs /init, /parse, /style, /plan, /generate, /export, or works with PDF/DOCX/XLSX requirement documents and TestRail-ready Excel export.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Casely — QA Test Case Generator

Casely automates the most time-consuming part of a QA engineer's job: writing test cases.
It reads requirement documents and learns from your team's existing test case examples to produce
structured, style-consistent test suites ready for import into any Test Management System.

## 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:

- Converting any document format to clean Markdown via `docling`.
- Extracting formal style rules from your team's example test cases.
- Generating test cases that match your team's exact structure and tone.
- Exporting to Excel with correct column mapping for TMS import.

---

## Commands

### `/init [ProjectName]`
Creates a new isolated project workspace and verifies the environment.

### `/parse`
Runs the CaselyParser to convert all raw assets (requirements and examples) to Markdown.

### `/style`
Analyzes example test cases and generates a persistent `test_style_guide.md`.

### `/plan`
Scans parsed requirements and suggests a testing plan with modules and test types.

### `/generate [type]`
Generates atomic test cases of the specified type (functional, negative, integration, boundary, etc.).

### `/export`
Converts generated Markdown test cases into a formatted `.xlsx` file.

---

## Full Workflow

### Phase 1: Project Initialization & Environment Setup (`/init`)

When the user runs `/init [ProjectName]` (or asks to start a new testing project):

1. **Create Directories:** Create the project directory structure under `projects/` in the repository root:
   - `input/requirements/`
   - `input/examples/`
   - `processed/requirements/`
   - `processed/examples/`
   - `results/`
   - `exports/`

2. **Environment Setup via `uv`:**
   - **Location:** Dependencies are defined in `pyproject.toml` at the **repository root** (not inside the skill folder). Scripts expect `uv sync` to have been run from that root.
   - Check if `pyproject.toml` exists at the repo root. If not, run `uv init` there.
   - Install/verify dependencies: `uv add docling openpyxl` (or `uv sync` from repo root).
   - This ensures a lightning-fast setup and handles all sub-dependencies (e.g. `torch` for `docling`) automatically.

3. **Confirm to the user:**
   - "Project `{project_name}` initialized via UV. Environment and dependencies (`docling`, `openpyxl`) are ready."
   - "Place your requirement documents into `projects/{project_name}/input/requirements/` and examples into `projects/{project_name}/input/examples/`."

### Phase 2: Document Parsing (`/parse`)

When the user runs `/parse` (or asks to parse/process documents):

1. **Locate the project.** If there's only one project under `projects/`, use it automatically.
   If multiple exist, ask the user which one.

2. **Run CaselyParser** — The parser is located at `scripts/casely_parser.py` within this skill.
   It uses `docling` and supports all major formats.

    Via CLI (optional arguments, auto-detects latest project if omitted):
    ```bash
    uv run python <skill-path>/scripts/casely_parser.py
    ```
    *(Or manual path if needed)*
    ```bash
    uv run python <skill-path>/scripts/casely_parser.py "projects/{name}/input/requirements" "projects/{name}/processed/requirements"
    ```

3. **Report results** to the user: how many files were parsed, any errors, and summary of processed files.

### Phase 3: Style Guide Creation (`/style`)

1. **Read all parsed example files** from `processed/examples/`.

2. **Analyze the table structure** to extract headers, data types, and mandatory fields.
   - **CRITICAL:** The style guide MUST be an exact replica of the example's column structure. 
   - **MANDATORY:** Transfer ALL headers from the example files to the `test_style_guide.md` in their exact order. Do not rename, omit (e.g., "Comments", "Author"), or add new columns unless explicitly requested.

3. **Analyze the writing style** to extract language, tone, and formatting patterns (e.g., how steps are phrased).

4. **Generate `test_style_guide.md`** in the project root. This file acts as the "source of truth" and must explicitly define the horizontal table row structure.

5. **Present the style guide** to the user for review. Any manual adjustments to this file will be respected by the generator.

### Phase 4: Professional Test Design & Planning (`/plan`)

1. **Load Context & Analysis:**
   - Read parsed requirements from `processed/requirements/`.
   - Load `test_style_guide.md` to match example structure (columns → test complexity).

2. **Structural Breakdown:**
   - Extract modules/endpoints/logic blocks from requirements.
   - Categorize by **Level**: API (fields/status), Integration (flows), E2E (scenarios).[web:8]

3. **Smart Estimation (Style-Driven):**
   - **Metrics from Style Guide:** Fields per test (from columns), branches from logic.
   - **Coverage Tiers** (total cases based on examples):
     | Tier | Cases/Module | Coverage | Focus |
     |------|--------------|----------|-------|
     | Smoke | 1-3 | Min | Golden Path[web:13]
     | Critical (80%) | N (fields*0.8) | Key paths | High-risk (finance/auth)
     | Full | All perms | 100% | Edges/negatives
   - **Risk Scoring:** High (security), Med (logic), Low (UI).[web:8]

4. **Traceability & Prep:**
   - Quick **RTM Preview**: Req ID → Planned Cases (e.g., "REQ-001 → 5 cases").
   - **Data/Deps:** Test data rules (valid/edge), mocks needed.

5. **Output Plan:**
   - Table by Module: *Module | Level | Est. Cases (80%) | Type | Tools*.
   - **MANDATORY:** Provide ready-to-copy commands for each module.
   - Save `test_plan.md` (importable to TMS).
   - Ask: *"Generate Critical Path? `/generate functional MODULE_NAME`"* or *"`/generate negative MODULE_NAME`"*.

**Next:** "`/generate [type]` will create exactly the estimated number of files, with each file containing one atomic test case matching your style guide."

### Phase 5: Test Case Generation (`/generate [type]`)

1. **Load context:**
   - **BIDING:** Read `test_style_guide.md` (Mandatory Source of Truth).
   - Read relevant parsed requirement files.
   - Target specific module and test type.

2. **Generate ATOMIC test cases:**
   - **One File = One Test Case (1 ID = 1 Scenario):** Each test case MUST be saved as a separate Markdown file in `results/`.
   - **Horizontal Structure:** Each file MUST contain exactly ONE horizontal table row (header row + data row). Do NOT use vertical "key-value" lists.
   - **Naming Convention:** `{type}_{id}_{short_description}.md`.
   - **Match the style guide exactly** — same columns (1:1 with example), same tone, same structure.
   - **No Hallucinations** — only use columns and data points supported by the guide and requirements.

3. **Proactive Report:**
   - Notify the user of created files.
   - **Mandatory Next Step:** Always advise the user on what else they can generate. Example: 
     *"I've generated functional cases. You can now run `/generate negative` to check error handling or `/generate security` for device metadata."*

### Phase 6: Export to Excel (`/export`)

1. **Convert Markdown files to Excel** using `scripts/export_to_xlsx.py`. 
   - **Smart Execution:** The script automatically detects the most recently modified project in the `projects/` directory if no paths are provided.
2. **Atomic One-to-One Export:** For every `.md` file in `results/`, the tool creates exactly one corresponding `.xlsx` file in `exports/`. 
   - **Behavior:** Direct format conversion preserving the file count.
   - **Naming:** Files are named identically to their source: `{type}_{id}_{short_description}.xlsx`.
3. **Internal Structure:** Each Excel file contains a single sheet called "Test Case" with the columns exactly matching the project's style guide.
4. **Plain Text Export:** Content is exported as plain text with support for multi-line cells (using `<br>`).
5. **Save to `exports/`**.

---

## Important Guidelines

### Proactive Guidance (Crucial)
After every command, Casely MUST provide a "Next Step" block. 
- After `/init` -> suggest `/parse`.
- After `/parse` -> suggest `/style`.
- After `/style` -> suggest `/plan`.
- After `/plan` -> list specific commands like `/generate functional` or `/generate negative`.
- After `/generate` -> suggest `/export` OR other generation types.

### Language Awareness
Casely is language-agnostic for data. It will detect the language of the provided examples (e.g., Russian) and generate test cases in that same language. The internal logic and style guide should bridge this gap.

### Atomic over Composite
Validators should always prefer multiple specialized test cases over one "all-in-one" case. This ensures clearer test results and easier bug localization.

### Style Guide is King
The style guide is the single source of truth. Do not invent new columns or change formatting unless the style guide is updated first.

---

## Skill Files

### Scripts (`scripts/`)
- `scripts/casely_parser.py` — Document-to-Markdown converter (Docling).
- `scripts/export_to_xlsx.py` — Markdown-to-Excel exporter.

### References (`references/`)
- `references/parser_usage.md` — Technical details on calling the parser.
- `references/export_guide.md` — Details on the MD-to-Excel conversion logic.
- `references/style_analysis_prompts.md` — Methodologies for style extraction.

Related Skills

azure-quotas

242
from aiskillstore/marketplace

Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: "check quotas", "service limits", "current usage", "request quota increase", "quota exceeded", "validate capacity", "regional availability", "provisioning limits", "vCPU limit", "how many vCPUs available in my subscription".

DevOps & Infrastructure

raindrop-io

242
from aiskillstore/marketplace

Manage Raindrop.io bookmarks with AI assistance. Save and organize bookmarks, search your collection, manage reading lists, and organize research materials. Use when working with bookmarks, web research, reading lists, or when user mentions Raindrop.io.

Data & Research

zlibrary-to-notebooklm

242
from aiskillstore/marketplace

自动从 Z-Library 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。

discover-skills

242
from aiskillstore/marketplace

当你发现当前可用的技能都不够合适(或用户明确要求你寻找技能)时使用。本技能会基于任务目标和约束,给出一份精简的候选技能清单,帮助你选出最适配当前任务的技能。

web-performance-seo

242
from aiskillstore/marketplace

Fix PageSpeed Insights/Lighthouse accessibility "!" errors caused by contrast audit failures (CSS filters, OKLCH/OKLAB, low opacity, gradient text, image backgrounds). Use for accessibility-driven SEO/performance debugging and remediation.

project-to-obsidian

242
from aiskillstore/marketplace

将代码项目转换为 Obsidian 知识库。当用户提到 obsidian、项目文档、知识库、分析项目、转换项目 时激活。 【激活后必须执行】: 1. 先完整阅读本 SKILL.md 文件 2. 理解 AI 写入规则(默认到 00_Inbox/AI/、追加式、统一 Schema) 3. 执行 STEP 0: 使用 AskUserQuestion 询问用户确认 4. 用户确认后才开始 STEP 1 项目扫描 5. 严格按 STEP 0 → 1 → 2 → 3 → 4 顺序执行 【禁止行为】: - 禁止不读 SKILL.md 就开始分析项目 - 禁止跳过 STEP 0 用户确认 - 禁止直接在 30_Resources 创建(先到 00_Inbox/AI/) - 禁止自作主张决定输出位置

obsidian-helper

242
from aiskillstore/marketplace

Obsidian 智能笔记助手。当用户提到 obsidian、日记、笔记、知识库、capture、review 时激活。 【激活后必须执行】: 1. 先完整阅读本 SKILL.md 文件 2. 理解 AI 写入三条硬规矩(00_Inbox/AI/、追加式、白名单字段) 3. 按 STEP 0 → STEP 1 → ... 顺序执行 4. 不要跳过任何步骤,不要自作主张 【禁止行为】: - 禁止不读 SKILL.md 就开始工作 - 禁止跳过用户确认步骤 - 禁止在非 00_Inbox/AI/ 位置创建新笔记(除非用户明确指定)

internationalizing-websites

242
from aiskillstore/marketplace

Adds multi-language support to Next.js websites with proper SEO configuration including hreflang tags, localized sitemaps, and language-specific content. Use when adding new languages, setting up i18n, optimizing for international SEO, or when user mentions localization, translation, multi-language, or specific languages like Japanese, Korean, Chinese.

google-official-seo-guide

242
from aiskillstore/marketplace

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

github-release-assistant

242
from aiskillstore/marketplace

Generate bilingual GitHub release documentation (README.md + README.zh.md) from repo metadata and user input, and guide release prep with git add/commit/push. Use when the user asks to write or polish README files, create bilingual docs, prepare a GitHub release, or mentions release assistant/README generation.

doc-sync-tool

242
from aiskillstore/marketplace

自动同步项目中的 Agents.md、claude.md 和 gemini.md 文件,保持内容一致性。支持自动监听和手动触发。

deploying-to-production

242
from aiskillstore/marketplace

Automate creating a GitHub repository and deploying a web project to Vercel. Use when the user asks to deploy a website/app to production, publish a project, or set up GitHub + Vercel deployment.