en un clic
create-test
Use when user wants to create tests, generate test coverage, audit test quality, find untested code, or improve weak assertions. Use when user says write tests, test coverage, missing tests, or untested code.
Menu
Use when user wants to create tests, generate test coverage, audit test quality, find untested code, or improve weak assertions. Use when user says write tests, test coverage, missing tests, or untested code.
Java development. Use for Java, Spring Boot, Maven, Gradle, JPA, Hibernate.
Python development. Use for Python, FastAPI, Pydantic, asyncpg, pytest, pandas, SQLAlchemy.
Swift development. Use for Swift, SwiftUI, UIKit, Vapor, SPM, XCTest, Combine.
Use when user wants to update requirements-dev.in with latest PyPI versions while preserving version patterns
Use when user wants to update requirements.in with latest PyPI versions while preserving version patterns
Use when starting any conversation - establishes how the development-skills plugin works and how to invoke its components on each platform (Claude Code, Codex). Read first.
| name | create-test |
| description | Use when user wants to create tests, generate test coverage, audit test quality, find untested code, or improve weak assertions. Use when user says write tests, test coverage, missing tests, or untested code. |
| argument-hint | [file-or-directory-or-goal] |
| user-invocable | true |
| allowed-tools | Glob, Grep, Read, Bash, Agent, Edit, Write, AskUserQuestion |
ultrathink
Apply Iron Rules — Principle 3 (simplicity: plain pytest before any library; refactor measurably improves a named dimension), Principle 7 (TDD Red → Green → Refactor — tests must find bugs, not just exist), and Principle 8 (no claim without fresh test output).
assertNotNull(x) as sole assertion. Assert specific values, shapes, invariants.Parse $ARGUMENTS:
$ARGUMENTS as the goal. Analysis and recommendations are directed toward achieving that goal.To distinguish case 2 from 3: use Glob/Bash to check if $ARGUMENTS matches existing paths. If yes → Mode B. If no → Mode A with goal.
Read references/explorer-prompt.md. Spawn an analysis subagent (Agent tool) with its contents as the prompt.
If $ARGUMENTS contains a goal (case 3 above), append to the subagent prompt:
## USER GOAL
"$ARGUMENTS"
Focus your analysis and recommendations on what is most relevant to this goal.
Prioritize strategies that directly serve this objective.
Explain WHY each recommendation helps achieve the goal.
After the subagent returns, display the full analysis inline to the user.
The user will either:
Read references/testing-strategies.md now. Keep its principles active throughout.
tests/ or test/ directorysrc/test/ existsreferences/language-templates.md (Python, Java, TypeScript, or Swift — not the entire file)../python-dev/patterns.md (Testing section) for team-canonical patterns: the 4-tier layout (Unit / Golden / E2E Replay / Integration), asyncio_mode="auto", TestClient(raise_server_exceptions=False), autouse dependency_overrides reset, and MagicMock(spec=Class) + AsyncMock conventions.For each public function/method/endpoint:
Boundaries: numeric comparisons → extract thresholds, test N-1/N/N+1. String length limits, array sizes, enum ranges. Type coercion points (int/float, null).
State space: if/else chains, switch/match, state machines. Focus on fragile states: error paths, fallbacks, retry, timeout. Which states are NOT reachable from current tests?
Invariants: round-trip, idempotence, monotonicity, ordering preservation. Can a simpler reference implementation verify the result? Do aggregation totals match?
API surface (endpoints): request/response schemas, status code branches, CRUD lifecycle, error formats.
Refer to references/testing-strategies.md strategy matrix to select strategies.
If the target involves refactoring, also read references/refactoring-workflow.md.
If the target involves regression detection infrastructure, also read references/regression-detection.md.
If the user asks for TDD / red-green-refactor / test-first, read references/tdd-workflow.md for the vertical-slice loop and "no horizontal slicing" anti-pattern.
| Code characteristic | Primary strategy | Secondary | Reference |
|---|---|---|---|
| Numeric thresholds | Boundary stress | Property-based | testing-strategies.md #1 |
| Data transformation | Property-based (round-trip, invariant) | Boundary | testing-strategies.md #2 |
| Parser / serializer | Fuzz + property-based | Boundary | testing-strategies.md #2 |
| API endpoint (read) | Golden fixture regression | Boundary | testing-strategies.md #4 |
| API endpoint (write) | CRUD lifecycle | Golden fixture | testing-strategies.md #5 |
| State machine | State transition coverage | Boundary | testing-strategies.md #1 |
| Algorithm / computation | Invariant (reference impl) | Property-based | testing-strategies.md #3 |
| Pure function, few params | Boundary exhaustive | — | testing-strategies.md #1 |
| DB queries / repositories | Real DB integration | Factory fixtures | integration-patterns.md |
| Browser UI / user flows | Playwright E2E | Visual regression | e2e-browser-patterns.md |
| Legacy code, pre-refactoring | Characterization (golden master) | Approval test | refactoring-workflow.md |
| Concurrent / async operations | Concurrency stress | Property-based | testing-strategies.md #10 |
| Microservice boundary | Contract test (Pact) | CRUD lifecycle | testing-strategies.md #11 |
| DB migrations | Up/down verification | Rollback test | integration-patterns.md |
| Migration legacy to new | Live comparison | Characterization | testing-strategies.md #6 |
Generate the test file. For each test function:
references/weak-assertion-patterns.mdFor golden fixture / e2e patterns, generate BOTH the capture script and the regression test.
Apply reference patterns by type:
references/integration-patterns.mdreferences/e2e-browser-patterns.mdreferences/refactoring-workflow.mdreferences/testing-strategies.md #10 + references/language-templates.mdreferences/language-templates.md Pact scaffolds## Test Generation Report: [target]
| Metric | Value | Target | Status |
|--------|-------|--------|--------|
| Tests generated | N | — | — |
| Assertion density | X/test | >= 2 | OK/WARN |
| Boundary tests | N | >= 1 per threshold | OK/WARN |
| Property-based tests | N | >= 1 per transform | OK/WARN |
| Weak assertions | N | 0 | OK/WARN |
| Random/fuzz tests | N | >= 1 for complex logic | OK/WARN |
| Integration tests (real DB) | N | >= 1 per repository/query | OK/WARN/N/A |
| E2E browser tests | N | >= 1 per critical flow | OK/WARN/N/A |
| Characterization tests | N | >= 1 per legacy module | OK/WARN/N/A |
| Concurrency tests | N | >= 1 per shared resource | OK/WARN/N/A |
### Strategies Applied
[list each strategy and what it covered]
### NOT Tested (and why)
[Functions/paths deliberately excluded with justification]