CSNet QA Agent — VS Code Extension
AI-powered test generation from selected code or plain-English descriptions, delivered via GitHub Copilot — no API keys required.
Features
Automatic Framework Detection
Write a description or select existing code and the extension detects the right test framework for you:
| Input |
Generated Output |
| Plain-English UI description |
Playwright (TypeScript) E2E test |
Angular .ts component or service |
Angular Jasmine / Karma unit test |
| C# class or method |
xUnit [Fact] unit test |
| User story / acceptance criteria |
BDD Gherkin .feature file |
Smart Skill Matching
Drop .md or .txt skill files into .claude/skills/ in your workspace. The extension automatically matches the most relevant skill to your selection and injects it as prompt context — no manual configuration needed. If no skill clearly matches, a Quick Pick lets you choose from the available skills or skip entirely.
Supported skill layouts:
.claude/skills/
├── playwright.md # flat file
├── angular-unit.txt # flat file
└── my-custom-skill/
└── SKILL.md # subdirectory layout
Flexible Output Modes
Choose where generated tests land via Settings → Output Mode:
| Mode |
Behaviour |
| All (default) |
Preview pane with Insert at Cursor, Save as File, Copy, and Dismiss |
| Insert to Editor |
Inserts directly at the cursor — no extra steps |
| New File |
Writes to a contextually-named test file alongside the source |
| Preview Pane |
Preview pane with Insert at Cursor and Copy only |
Context-Aware Test File Naming
When saving to a new file the name and location are derived from the source:
| Source file |
Generated test file |
src/auth.service.ts |
src/auth.service.spec.ts |
src/LoginComponent.ts |
src/LoginComponent.spec.ts |
Utils.cs |
UtilsTests.cs |
checkout.feature |
checkout.feature (BDD stays as-is) |
Interactive Preview Pane
The preview pane renders generated tests with VS Code theme colours and provides one-click actions:
- Insert at Cursor — injects the test into the active editor
- Save as File — writes to the derived test file (available in All mode)
- Copy — copies to clipboard with a 2-second confirmation flash
- Dismiss — closes the pane without changes
Commands
| Command |
Trigger |
Description |
| CSNet QA: Generate Test with AI |
Command Palette · Right-click on selection |
Generate a test from selected code or description |
| CSNet QA: Suggest Test Completion (AI) |
Command Palette · Right-click in a spec/test file |
Suggest a test based on the code around the cursor |
Setup
1. Install dependencies
npm install
2. Run the extension
Press F5 — a new Extension Development Host window opens.
No API key needed. Generation runs through the GitHub Copilot language model API.
Usage
- Select code or type a plain-English description in the editor.
- Open the Command Palette (
Ctrl/Cmd + Shift + P) and run CSNet QA: Generate Test with AI.
- Or right-click the selection and choose Generate Test with AI.
- If matching skills are found in
.claude/skills/, the best one is applied automatically. If it's ambiguous, a Quick Pick appears.
- The result is delivered according to your Output Mode setting.
For cursor-based suggestions inside an existing spec file, use Suggest Test Completion (AI) — it reads up to 10 lines around the cursor for context.
Settings
| Setting |
Default |
Description |
aiTestGenerator.model |
claude-sonnet-4-5 |
GitHub Copilot model used for generation (claude-sonnet-4-5, claude-sonnet-4-6, gpt-5) |
aiTestGenerator.outputMode |
all |
Where generated tests are delivered (all, insertToEditor, newFile, previewPane) |
Adding Custom Skills
Create .md or .txt files in .claude/skills/ at the workspace root to guide the AI toward your project's conventions:
<!-- .claude/skills/playwright.md -->
Always use the Page Object Model pattern.
Prefer `getByRole` locators over CSS selectors.
Group tests with `test.describe` blocks.
The extension picks up new skill files automatically — no reload required.