skills/reviewing-testability/SKILL.md
Testable code design review. Use when: テスト容易性, モック, mock-friendly, DI. Do NOT use for type safety (reviewing-type-safety), security (reviewing-security), or readability (reviewing-readability).
npx skillsauth add thkt/claude-config reviewing-testabilityInstall 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.
| ID | Pattern | Fix |
| --- | ---------------------------- | ------------------------------- |
| TE1 | Direct import { db } usage | Inject dependency as parameter |
| TE1 | new Service() inside class | Constructor injection |
| TE2 | fetch() inside component | Extract to hook/service, inject |
| TE2 | Mixed side effects + logic | Separate pure/impure |
| TE3 | Deep mock chains | Simplify dependencies |
| TE4 | Global config access | Pass config as prop/parameter |
| TE4 | Date.now() in logic | Inject clock/time provider |
| TE5 | Tight coupling | Depend on abstractions (DIP) |
Test setup < 10 lines. No deep mock chains. Dependencies explicit.
| Topic | File |
| ------- | -------------------------------------------------------- |
| DI | ${CLAUDE_SKILL_DIR}/references/dependency-injection.md |
| Pure | ${CLAUDE_SKILL_DIR}/references/pure-functions.md |
| Mocking | ${CLAUDE_SKILL_DIR}/references/mock-friendly.md |
tools
Internal helper for /think Step 11. Renders SOW.md + Spec.md as an integrated Astro view and returns a dev server URL.
development
Extract repository spec while detecting bugs, spec gaps, and consistency drift via dual-purpose documentation. OUTCOME.md-axis question-driven exploration with ephemeral output. Do NOT use for code review (use /audit or /polish), feature implementation (use /code), planning only (use /think), or single-bug fix (use /fix).
development
Discover undocumented design decisions and challenge each candidate via critic-design before promotion. Rank by impact and reversibility, produce ADR promotion candidates. Treat each candidate as a position arguing for ADR status, not a fact to be filed. Pairs with audit-adr-drift, which scans existing ADRs for drift against code.
development
Scan ADR Decision sections against current code and report drift with modification direction and priority. Do NOT use for repos without ADRs (use audit-adr-gaps instead).