- Added frontmatter to 34 skills that were missing it entirely (0% Tessl score) - Fixed name field format to kebab-case across all 169 skills - Resolves #284
99 lines
2.7 KiB
Markdown
99 lines
2.7 KiB
Markdown
---
|
|
name: "coverage"
|
|
description: >-
|
|
Analyze test coverage gaps. Use when user says "test coverage",
|
|
"what's not tested", "coverage gaps", "missing tests", "coverage report",
|
|
or "what needs testing".
|
|
---
|
|
|
|
# Analyze Test Coverage Gaps
|
|
|
|
Map all testable surfaces in the application and identify what's tested vs. what's missing.
|
|
|
|
## Steps
|
|
|
|
### 1. Map Application Surface
|
|
|
|
Use the `Explore` subagent to catalog:
|
|
|
|
**Routes/Pages:**
|
|
- Scan route definitions (Next.js `app/`, React Router config, Vue Router, etc.)
|
|
- List all user-facing pages with their paths
|
|
|
|
**Components:**
|
|
- Identify interactive components (forms, modals, dropdowns, tables)
|
|
- Note components with complex state logic
|
|
|
|
**API Endpoints:**
|
|
- Scan API route files or backend controllers
|
|
- List all endpoints with their methods
|
|
|
|
**User Flows:**
|
|
- Identify critical paths: auth, checkout, onboarding, core features
|
|
- Map multi-step workflows
|
|
|
|
### 2. Map Existing Tests
|
|
|
|
Scan all `*.spec.ts` / `*.spec.js` files:
|
|
|
|
- Extract which pages/routes are covered (by `page.goto()` calls)
|
|
- Extract which components are tested (by locator usage)
|
|
- Extract which API endpoints are mocked or hit
|
|
- Count tests per area
|
|
|
|
### 3. Generate Coverage Matrix
|
|
|
|
```
|
|
## Coverage Matrix
|
|
|
|
| Area | Route | Tests | Status |
|
|
|---|---|---|---|
|
|
| Auth | /login | 5 | ✅ Covered |
|
|
| Auth | /register | 0 | ❌ Missing |
|
|
| Auth | /forgot-password | 0 | ❌ Missing |
|
|
| Dashboard | /dashboard | 3 | ⚠️ Partial (no error states) |
|
|
| Settings | /settings | 0 | ❌ Missing |
|
|
| Checkout | /checkout | 8 | ✅ Covered |
|
|
```
|
|
|
|
### 4. Prioritize Gaps
|
|
|
|
Rank uncovered areas by business impact:
|
|
|
|
1. **Critical** — auth, payment, core features → test first
|
|
2. **High** — user-facing CRUD, search, navigation
|
|
3. **Medium** — settings, preferences, edge cases
|
|
4. **Low** — static pages, about, terms
|
|
|
|
### 5. Suggest Test Plan
|
|
|
|
For each gap, recommend:
|
|
- Number of tests needed
|
|
- Which template from `templates/` to use
|
|
- Estimated effort (quick/medium/complex)
|
|
|
|
```
|
|
## Recommended Test Plan
|
|
|
|
### Priority 1: Critical
|
|
1. /register (4 tests) — use auth/registration template — quick
|
|
2. /forgot-password (3 tests) — use auth/password-reset template — quick
|
|
|
|
### Priority 2: High
|
|
3. /settings (4 tests) — use settings/ templates — medium
|
|
4. Dashboard error states (2 tests) — use dashboard/data-loading template — quick
|
|
```
|
|
|
|
### 6. Auto-Generate (Optional)
|
|
|
|
Ask user: "Generate tests for the top N gaps? [Yes/No/Pick specific]"
|
|
|
|
If yes, invoke `/pw:generate` for each gap with the recommended template.
|
|
|
|
## Output
|
|
|
|
- Coverage matrix (table format)
|
|
- Coverage percentage estimate
|
|
- Prioritized gap list with effort estimates
|
|
- Option to auto-generate missing tests
|