CtrlK
BlogDocsLog inGet started
Tessl Logo

evilissimo/software-design

Use before implementing or refactoring software. Contains two skills: (1) Modular Software Design — for designing module boundaries, APIs, layers, abstractions, services, repositories, adapters, or architecture, helping reduce total system complexity by creating deep modules, hiding implementation knowledge, avoiding leakage and pass-through APIs, comparing alternative designs, documenting interfaces before coding, and critiquing existing architecture; and (2) Software Testing — for writing unit tests, integration tests, or end-to-end tests, creating mocks/stubs/fakes, designing a testing strategy, doing TDD, reviewing test quality, fixing flaky tests, or refactoring test suites, generating risk-focused test plans, picking appropriate test levels, choosing between mocks/fakes/real dependencies, and applying Arrange-Act-Assert patterns with concrete examples.

93

1.12x
Quality

94%

Does it follow best practices?

Impact

92%

1.12x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

coverage-criteria.mdskills/software-testing/references/

Coverage Criteria

Coverage is feedback, not the goal. It reveals blind spots but does not prove tests are meaningful.

Common Criteria

  • Statement coverage: lines executed. Useful for finding dead zones, weak as a confidence metric.
  • Branch coverage: both sides of decisions. Good for business rules and error paths.
  • Condition coverage: boolean subexpressions vary independently. Useful for complex guards.
  • Path coverage: combinations of branches. Usually explodes quickly; use selectively.
  • Input-space coverage: representatives from valid, invalid, boundary, and semantic categories.
  • Mutation coverage: checks whether plausible small code changes are killed by tests.

How to Use

Ask: what behavior did we forget? Continue when coverage reveals meaningful untested decisions, error handling, null/empty handling, loops, thresholds, or mutations that would survive. Stop when uncovered code is trivial, unreachable, duplicated by a stronger test, or low risk.

tile.json