testing-strategy
Skill40 starsChanged 4 months agoMITView on GitHub
Design test strategies and test plans with coverage targets. Complements /draft:coverage which measures what this skill plans. Auto-loaded by /draft:implement before TDD.
54 other projects use a version of this.
Adopted by
Most recently taken up by
- jDxve/avengers-kittheir own version, first seen Nov 8, 2026
- nisarth/claude-skills-storetheir own version, first seen Nov 8, 2026
- ccoalm/ccl-skillstheir own version, first seen Nov 8, 2026
- komluk/scaffoldingtheir own version, first seen Nov 7, 2026
- bmsuisse/skillstheir own version, first seen Nov 6, 2026
- Cure-Consulting-Group/ProductEngineeringSkillstheir own version, first seen Nov 4, 2026
Used with
Projects with it also use api-contract-design, react-patterns and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MohOneXSkillapi-contract-design
Designs and reviews API contracts (REST, RPC, GraphQL, library interfaces) for evolvability, backward compatibility, and failure semantics. Use when defining new endpoints/interfaces, versioning an API, reviewing a schema, or deciding how breaking changes propagate to clients.
Also in 3 projects that use this
xenitV1Skillreact-patterns
Modern React patterns and principles. Hooks, composition, performance, TypeScript best practices.
Also in 4 projects that use this
AnthropicSkillsystem-design
Design systems, services, and architectures. Trigger with "design a system for", "how should we architect", "system design for", "what's the right architecture for", or when the user needs help with API design, data modeling, or service boundaries.
Also in 6 projects that use this
MicrosoftSkillerror-handling
统一错误处理系统。在添加 API 端点、修改错误处理、添加前端 API 调用、编写错误相关测试时使用。
Also in 5 projects that use this
MicrosoftSkillapi-design
Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.
Also in 9 projects that use this
Microsoft AzureSkillrelease-readiness
Complete ODIN release documentation and validation checks before declaring user-visible work complete, preparing a release, or opening the Release-to-main pull request.
Also in 3 projects that use this
Other versions54 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 54
- anthropics/knowledge-work-plugins★ 35ksame name
- chthollyphile/folia-major★ 12ksame name
- Community-Access/accessibility-agents★ 409same name
- AnastasiyaW/claude-code-config★ 214same name
- AnastasiyaW/codex-claude-code-config★ 214same name
- irahardianto/awesome-agv★ 157same name
- Blushyes/reef★ 84same name
- shinpr/agentic-code★ 51same name
- addxai/enterprise-harness-engineering★ 44same name
- zakariaf/Flutter-Skills★ 32same name
44 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository35 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- web/llms-full.txtllms.txt
- web/llms.txtllms.txt
- adrSkill
- assist-reviewSkill
- bughuntSkill
- changeSkill
- coverageSkill
- debugSkill
- decomposeSkill
- deep-reviewSkill
- deploy-checklistSkill
- discoverSkill
- docsSkill
- documentationSkill
- draftSkill
- graphSkill
- impactSkill
- implementSkill
- incident-responseSkill
- initSkill
- integrationsSkill
- jiraSkill
- learnSkill
- new-trackSkill
- opsSkill
- planSkill
- quick-reviewSkill
- revertSkill
- reviewSkill
- standupSkill
- statusSkill
- tech-debtSkill
- tourSkill
- uploadSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 8 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 44 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Not considering the testing pyramid for this project's architecture
- Distinctive: line 26
Before starting, capture the current git state:
- Very specific: line 41
If draft/ doesn't exist, this skill can still run standalone with reduced context.
- Very specific: line 45
Read and follow the base procedure in core/shared/draft-context-loading.md.
- Distinctive: line 72
Check for existing coverage reports or configuration:
- Distinctive: line 131
Error paths: Test failure modes, not just happy paths
- Distinctive: line 133
Determinism: No time-dependent, order-dependent, or flaky tests
- Distinctive: line 134
Naming: Test names describe the scenario and expected outcome
- Distinctive: line 140
Run test discovery to count existing tests per module
- Very specific: line 169
How: Test type (unit/integration/E2E), framework, key assertions
- Very specific: line 174
MANDATORY: Include YAML frontmatter with git metadata: Follow core/shared/git-report-metadata.md.
- Distinctive: line 203
If conflicting test patterns found: Document both patterns, recommend consolidation as a tech-debt item
“Common” is measured: kept by at least 6 in 10 of the 44 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Testing Strategy
You are designing a testing strategy and test plan for this project or track.
Red Flags — STOP if you're
- Writing a strategy without understanding the codebase
- Setting unrealistic coverage targets (100% is rarely appropriate)
- Focusing only on unit tests and ignoring integration/E2E
- Ignoring existing test infrastructure and conventions
- Not considering the testing pyramid for this project's architecture
A good testing strategy matches the architecture. Not every project needs the same pyramid.
Pre-Check
0. Capture Git Context
Before starting, capture the current git state:
git branch --show-current # Current branch name
git rev-parse --short HEAD # Current commit hashStore this for the report header. The strategy is scoped to this specific branch/commit.
1. Verify Draft Context
ls draft/ 2>/dev/nullIf draft/ doesn't exist, this skill can still run standalone with reduced context.
2. Load Draft Context (if available)
Read and follow the base procedure in core/shared/draft-context-loading.md.
Step 1: Parse Arguments
/draft:testing-strategy— Project-wide strategy (default if no active track)/draft:testing-strategy track <id>— Track-scoped strategy/draft:testing-strategy module <name>— Module-scoped strategy
Step 2: Analyze Codebase
- Identify component types:
- APIs (REST, GraphQL, gRPC)
- Data pipelines (ETL, streaming)
- Frontend (React, Vue, etc.)
- Infrastructure (Terraform, K8s configs)
- Libraries/SDKs
- CLI tools
Discover existing tests:
find . -name "*test*" -o -name "*spec*" | head -50Identify: test frameworks, test directories, existing coverage config, test runners.
Assess current coverage: Check for existing coverage reports or configuration:
ls coverage/ .nyc_output/ htmlcov/ .coverage 2>/dev/null- Read project context:
draft/tech-stack.md— Test frameworks, testing conventionsdraft/workflow.md— TDD preferences (strict/flexible/none)draft/.ai-context.md— INVARIANTS section (critical paths), module boundaries, concurrency modeldraft/guardrails.md— Anti-patterns that need test coveragedraft/product.md— Critical user flows that demand E2E tests
Step 3: Design Strategy
Testing Pyramid
Tailor to the project architecture:
┌─────────┐
│ E2E │ Few, critical paths only
├─────────┤
│ Integr. │ Service boundaries, DB, APIs
├─────────┤
│ Unit │ Business logic, utilities
└─────────┘Adjust the pyramid shape per architecture. A microservices backend may need a wider integration band. A UI-heavy app may need more E2E. A library may be almost entirely unit tests.
Per-Component Strategy
| Component Type | Unit | Integration | E2E | Focus |
| API endpoints | Input validation, handlers | DB queries, auth | Critical flows | Contract testing |
| Data pipelines | Transform logic | Source/sink connections | Full pipeline | Data integrity |
| Frontend | Component rendering, hooks | API integration | User journeys | Visual regression |
| Infrastructure | Config validation | Resource provisioning | Deployment | Drift detection |
| Libraries | Public API surface | Cross-module | Consumer scenarios | Backward compat |
| CLI tools | Argument parsing, logic | File I/O, system calls | Full workflows | Exit codes, output |
Coverage Targets
Set realistic targets based on component criticality:
- Critical paths (from .ai-context.md INVARIANTS): 95%+
- Business logic: 85-90%
- Utilities/helpers: 80%
- Infrastructure/config: 70%
- Generated code: Exclude from targets
- Vendor/third-party wrappers: 60%
Test Quality Guidelines
Coverage alone is insufficient. Include guidance on:
- Assertion density: At least one meaningful assertion per test (not just "doesn't throw")
- Boundary testing: Edge cases, empty inputs, max values, off-by-one
- Error paths: Test failure modes, not just happy paths
- Isolation: Unit tests must not depend on external services, filesystem, or network
- Determinism: No time-dependent, order-dependent, or flaky tests
- Naming: Test names describe the scenario and expected outcome
Step 4: Gap Analysis
Compare current state to targets:
- Run test discovery to count existing tests per module
- Identify modules with zero test coverage
- Identify critical paths (from INVARIANTS) without integration tests
- Identify user flows (from product.md) without E2E coverage
- Identify anti-patterns (from guardrails.md) without regression tests
- Prioritize gaps by risk: high-risk untested > low-risk untested
Present as a gap matrix:
| Module | Current Tests | Target | Gap | Risk | Priority |
| ... | ... | ... | ... | ... | ... |
Step 5: Generate Test Plan
Priority test cases to write, ordered by impact:
- Tests for critical invariants (from .ai-context.md)
- Tests for anti-patterns (from guardrails.md) — regression prevention
- Integration tests for service boundaries
- E2E tests for critical user flows (from product.md)
- Regression tests for known bugs
- Property-based tests for complex business logic (if framework supports it)
- Performance tests for latency-sensitive paths
For each priority test, specify:
- What: Description of the test scenario
- Why: Which invariant, anti-pattern, or flow it protects
- How: Test type (unit/integration/E2E), framework, key assertions
- Where: File path where the test should live
Step 6: Save Output
MANDATORY: Include YAML frontmatter with git metadata. Follow core/shared/git-report-metadata.md.
Include the report header table immediately after frontmatter:
| Field | Value |
|-------|-------|
| **Branch** | `{LOCAL_BRANCH}` → `{REMOTE/BRANCH}` |
| **Commit** | `{SHORT_SHA}` — {COMMIT_MESSAGE} |
| **Generated** | {ISO_TIMESTAMP} |
| **Synced To** | `{FULL_SHA}` |Save to:
- Project-wide:
draft/testing-strategy.md - Track-scoped:
draft/tracks/<id>/testing-strategy.md
Cross-Skill Dispatch
- Auto-loaded by:
/draft:implement(before TDD cycle) - Suggested by:
/draft:decompose(after module definition),/draft:init(after setup) - Feeds into:
/draft:coverage(measurement against targets set here) - References:
/draft:bughuntfindings as regression test candidates
Error Handling
If no test infrastructure found: Recommend test framework based on tech-stack.md, include setup steps needed before tests can be written
If no draft context: Generate generic strategy, suggest running /draft:init for better results
If conflicting test patterns found: Document both patterns, recommend consolidation as a tech-debt item
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

