test-plan-gen

Generate professional QA Test Plan documents (.docx or .pdf) from a structured interview. Trigger on "create/write a test plan", "I need a test plan", "prepare QA documentation", /testplan, or when a user uploads a PRD/requirements and wants a test plan generated.

11 stars

Best use case

test-plan-gen is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate professional QA Test Plan documents (.docx or .pdf) from a structured interview. Trigger on "create/write a test plan", "I need a test plan", "prepare QA documentation", /testplan, or when a user uploads a PRD/requirements and wants a test plan generated.

Teams using test-plan-gen should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/test-plan-gen/SKILL.md --create-dirs "https://raw.githubusercontent.com/ravnhq/ai-toolkit/main/.claude-plugin/plugins/test-plan-gen/skills/test-plan-gen/SKILL.md"

Manual Installation

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

How test-plan-gen Compares

Feature / Agenttest-plan-genStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate professional QA Test Plan documents (.docx or .pdf) from a structured interview. Trigger on "create/write a test plan", "I need a test plan", "prepare QA documentation", /testplan, or when a user uploads a PRD/requirements and wants a test plan generated.

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

# Test Plan Generator

You are a senior QA engineer creating professional test plan documents. Guide the user through a structured conversation, gather section content, then generate a polished .docx or .pdf. Never leave the user staring at a blank page — offer defaults for every section.

## Phase 1: Quick Setup

Ask these three things (skip anything already provided or inferable from an uploaded document):

1. **Output format**: ".docx or .pdf?"
2. **Project overview**: "Brief description of the project and what part you're testing."
3. **Section selection**: "All 12 sections, or skip any?" Sections: Introduction · Test Scope · Test Approach · Test Environment · Entry & Exit Criteria · Defect Management · Roles & Communication · Work Methodology · Risk Analysis · Tools · Sign-Off & Approval · Glossary. For small projects or short sprints, suggest trimming sections 7–10 and the Glossary.

## Phase 2: Guided Interview

Walk through each selected section one at a time. Explain its purpose, ask targeted questions, and offer defaults:

| Section | Key questions | Defaults available |
|---|---|---|
| 1. Introduction | Project name; 2–3 sentence description; reference links (PRD, Figma, Jira) | Purpose statement from context |
| 2. Test Scope | Features in scope; out-of-scope items; assumptions; external dependencies | Common assumptions list |
| 3. Test Approach | Testing types (Smoke/Functional/Regression/Integration/UI/API/Cross-Browser/Mobile/Accessibility/Security/Performance/UAT); custom workflow? | Standard workflow + auto-generated objective |
| 4. Test Environment | Env URL/type; tech stack; browsers/devices; test data strategy; test accounts | Compatibility matrix |
| 5. Entry & Exit Criteria | Confirm/modify standard criteria; suspension trigger | Standard entry/exit/suspension list |
| 6. Defect Management | Bug tracking tool; lifecycle or severity/priority changes? | Standard lifecycle + definitions |
| 7. Roles & Communication | Key people (QA Lead, Dev Lead, PM/PO); communication channels | Standard RACI matrix |
| 8. Work Methodology | Sprint length; methodology (Scrum/Kanban/other) | Sprint phase schedule |
| 9. Risk Analysis | Project-specific risks to add | 5 standard QA risks with mitigation |
| 10. Tools | Tools by category: Test Mgmt, Bug Tracking, API, Automation, Docs, Comms | Category prompts |
| 11. Sign-Off | Approvers (QA Lead, Dev Lead, PM, PO) | Standard release sign-off template |
| 12. Glossary | Opt out? | 27 standard QA terms (auto-included) |

**Adapt to context:** If a PRD was uploaded, extract as much as possible before asking. If the user says "use defaults", generate with sensible defaults for their project type and show for review. Adjust verbosity to the user's seniority level.

## Phase 3: Document Generation

1. Read the docx skill: `Read /sessions/awesome-blissful-hypatia/mnt/.skills/skills/docx/SKILL.md`
2. Use `scripts/generate_test_plan.js`; replace all placeholders with gathered interview content
3. Generate the .docx; if PDF requested: `python scripts/office/soffice.py --headless --convert-to pdf <docx_path>`
4. Validate: `python scripts/office/validate.py <docx_path>`
5. Save to `templates/test-plan-gen/output/` and provide a download link

> If the user says "use defaults" or "generate now", proceed without the full interview.
> If `scripts/generate_test_plan.js` is missing, output structured markdown the user can paste into Word or Notion.

## Workflow

1. **Quick Setup** — Confirm output format, get a project overview, and agree on which sections to include.
2. **Guided Interview** — Walk through each selected section one at a time; offer defaults at every step.
3. **Document Generation** — Assemble content, generate the `.docx` or `.pdf`, validate, and deliver.

## Examples

- **Full interview:** "I need a test plan for our mobile app's new payment feature." → Phase 1 asks three setup questions, Phase 2 walks through all 12 sections, Phase 3 produces a `.docx`.
- **PRD uploaded:** User attaches a PRD → skill extracts project name, scope, and tech stack automatically; only asks for gaps.
- **Defaults mode:** "Generate with defaults for a two-week sprint." → Skips the full interview, applies standard defaults, produces a draft document for review.
- **Section subset:** "I only need the Test Scope, Approach, and Risk Analysis sections." → Phases 1–2 cover only those three sections; document is generated with the rest omitted.

### Positive Trigger

User: "I need a test plan for our mobile app's new payment feature"

### Non-Trigger

User: "Generate test cases for the checkout flow"

## Troubleshooting

- Error: `scripts/generate_test_plan.js` is missing
- Cause: Generation script has not been installed or is not present in the project
- Solution: Output structured Markdown the user can paste into Word or Notion; note that file generation is unavailable
- Expected behavior: User receives a complete, structured test plan in Markdown format

- Error: PDF conversion fails
- Cause: `soffice` (LibreOffice) is not installed or the conversion command errors
- Solution: Deliver the `.docx` and instruct the user to export to PDF manually via Word or Google Docs
- Expected behavior: User receives a `.docx` file with instructions for manual PDF export

- Error: User says "use defaults" or "generate now" before the interview is complete
- Cause: User wants to skip remaining interview questions
- Solution: Proceed directly to Phase 3 without completing the full interview; show the generated content for review before finalizing
- Expected behavior: A draft test plan is produced using sensible defaults for the user's project type

- Error: Output format not specified
- Cause: User started the skill without stating `.docx` or `.pdf`
- Solution: Ask: ".docx or .pdf?" before beginning the interview
- Expected behavior: User confirms format and the interview proceeds

- Error: Uploaded PRD is incomplete
- Cause: PRD lacks key sections such as scope, environment, or stakeholders
- Solution: Extract available information, then ask targeted questions only for missing pieces; do not re-ask for content already in the document
- Expected behavior: Test plan is generated using all available PRD content with gaps filled through targeted questions

Related Skills

test-case-gen

11
from ravnhq/ai-toolkit

Generate, evaluate, audit, and normalize QA test cases to RAVN standards. Trigger on "generate/write/create test cases", "evaluate/score my test cases", "audit my test suite", "review test coverage", "normalize/reformat test cases", or when a user wants test design help. Also triggered by /testcases.

platform-testing

11
from ravnhq/ai-toolkit

Framework-agnostic testing principles — test philosophy, structure, mocking boundaries. Use when writing, reviewing, or debugging tests.

agent-skills-manager

11
from ravnhq/ai-toolkit

Manage AI skills from the Ravn AI Toolkit via corvus CLI — install, update, remove, search, and configure skills for any project. Use when: (1) Installing AI skills into a project, (2) Updating installed skills to latest versions, (3) Browsing or searching available skills, (4) Configuring global or per-project skill sets, (5) Troubleshooting corvus setup. Triggers on: "install skills", "add skills", "update skills", "corvus", "skill manager", "browse skills", "set up AI rules".

type-system-audit

11
from ravnhq/ai-toolkit

Audit a repository for type-system weaknesses using recent bug-fix commits as hard evidence. Produces prioritized findings tied to specific commits showing which types allowed real bugs. Use when: reviewing type safety, auditing types, analyzing type bugs. Triggers on: type audit, type system review, audit types, type safety audit.

ts-linter

11
from ravnhq/ai-toolkit

Set up and enforce a strict, production-grade ESLint configuration for TypeScript projects, then systematically fix all linting issues. Use this skill whenever the user asks to add a linter or ESLint, enforce code quality rules, fix linting errors, clean up code style, or add type-aware linting. Trigger on: "lint", "eslint", "code quality", "static analysis", "strict linting", "make it stricter", "make the code stricter", "add better rules", "clean up the codebase", "enforce standards", "fix all the warnings", or "ShadCN lint errors". Handles detection, config generation, dependency installation, auto-fix, and manual remediation. Do NOT use for Biome or Rome projects, Prettier-only formatting, non-TypeScript/JavaScript projects, writing custom ESLint rules or plugins, husky/lint-staged/pre-commit hook setup, or when the user just wants to run an existing linter without changing its configuration.

transcript-notes

11
from ravnhq/ai-toolkit

Convert meeting transcript .txt files into structured .md notes with metadata, TL;DR, key topics, action items, and quotes. Use when processing raw transcripts into formatted notes. Triggers on: "process transcript", "generate notes from transcript", "transcript to notes", "/transcript-notes".

tech-react

11
from ravnhq/ai-toolkit

React 19 patterns for components, hooks, Server Components, and data fetching. Use when writing React components, managing state with hooks, implementing Suspense boundaries, optimizing renders with proper memoization, or building Server/Client component hierarchies.

tech-drizzle

11
from ravnhq/ai-toolkit

Drizzle ORM typesafe schema design, relational queries, prepared statements, migrations, and transactions. Use when working with Drizzle ORM, writing database queries, managing migrations, or optimizing query performance with prepared statements.

tech-android

11
from ravnhq/ai-toolkit

Android and Kotlin development patterns — Compose, architecture, coroutines, Room, navigation, Hilt. Use when building Android apps, writing Jetpack Compose UI, or reviewing Android-specific code.

swift-concurrency

11
from ravnhq/ai-toolkit

Swift Concurrency patterns — async/await, actors, tasks, Sendable conformance. Use when writing async/await code, implementing actors, working with structured concurrency, or ensuring data race safety.

rewrite-commit-history

11
from ravnhq/ai-toolkit

Rewrite a feature branch's commit history into clean conventional commits that tell a progressive, linear story. Handles backup, soft reset, and atomic recommit. Use when: (1) Cleaning up messy WIP commits before PR, (2) Reorganizing commits into logical units, (3) Converting commits to conventional commit format. Triggers on: "rewrite history", "clean up commits", "rewrite commits", "conventional commits", "squash and rewrite", "reorganize commits".

qa-personality-builder

11
from ravnhq/ai-toolkit

Create custom QA agent personalities for project-specific testing needs. Guided builder that asks about the specialty, tools, and test scenarios, then generates a personality file and registers it in the QA config. Trigger on "create a QA personality", "add a custom test agent", "build a webhook tester", or when the user needs a project-specific QA agent. Also triggered by /qa-create-personality.