.cursor/skills/interface-design/SKILL.md
Interface design for testability (dependency injection, pure results, small surface). Use when designing APIs, reviewing testability, or refactoring for tests.
npx skillsauth add jorgesouzaRa/conectAPI_jira_github interface-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Good interfaces make testing natural:
Accept dependencies, don't create them
// Testable
function processOrder(order, paymentGateway) {}
// Hard to test
function processOrder(order) {
const gateway = new StripeGateway();
}
Return results, don't produce side effects
// Testable
function calculateDiscount(cart): Discount {}
// Hard to test
function applyDiscount(cart): void {
cart.total -= discount;
}
Small surface area
development
Good vs bad tests (integration-style, public API, behavior not implementation). Use when writing or reviewing tests, or paired with TDD and mocking skills.
development
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.
development
Refactor candidates after TDD (duplication, long methods, shallow modules, etc.). Use during refactor phase of red-green-refactor or when reviewing code quality.
tools
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved under ./prd/PRD-NNN-feature-slug/plan.md (see prd/INDEX.md). Use when user wants to break down a PRD, create an implementation plan, plan phases from a PRD, or mentions "tracer bullets".