Agent skill

Testing Principles

by shinpr in shinpr/claude-code-workflows

Language-agnostic testing principles including TDD, test quality, coverage standards, and test design patterns.

MITAuto-check passedTesting & QA

Install Testing Principles

skills CLI
$ npx skills add shinpr/claude-code-workflows --skill testing-principles -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shinpr/claude-code-workflows testing-principles --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shinpr/claude-code-workflows.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/testing-principles .claude/skills/testing-principles && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
testing-principles
GitHub stars
690
Token cost
~1.1k tokens
SKILL.md length
591 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Language-agnostic testing principles including TDD, test quality, coverage standards, and test design patterns.

  • Designing test strategies
  • SKILL.md covers Test-Driven Development (TDD), Quality Requirements, Test Design Rules and Mock and Boundary Rules, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Reviewing test quality

What it does

Testing Principles is an agent skill from shinpr/claude-code-workflows. Language-agnostic testing principles including TDD, test quality, coverage standards, and test design patterns. Use when writing tests, designing test strategies, or reviewing test quality.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Test-driven development, Design patterns and Test strategy. The repository describes itself as: Development workflows for Claude Code that keep broad exploration focused on the outcome you approved. The licence is MIT.

When your agent uses it

  • Designing test strategies
  • Reviewing test quality

Example prompts

  • “/testing-principles”

What it can do on your machine

Read from SKILL.md and the folder at commit a4ecd62. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Testing Principles loads about 1.1k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 591 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shinpr/claude-code-workflows at commit a4ecd62, republished under its MIT licence (© shinpr). 591 words, ~1,138 tokens.

Download SKILL.mdSave it as .claude/skills/testing-principles/SKILL.md (or your agent's skills folder).
name
testing-principles
description
Language-agnostic testing principles including TDD, test quality, coverage standards, and test design patterns. Use when writing tests, designing test strategies, or reviewing test quality.

Language-Agnostic Testing Principles

Test-Driven Development (TDD)

Use this cycle for new or changed executable behavior and reproducible bug fixes. For a behavior-preserving refactor, first confirm existing tests pass or add passing characterization tests, then refactor and rerun the same regression evidence.

RED: confirm the new test fails for the intended reason. GREEN: implement the smallest passing change. REFACTOR: improve structure while the test remains green. VERIFY: run the repository's applicable regression checks.

Quality Requirements

  • Treat coverage as a diagnostic signal for finding untested areas, not a target — a target gets gamed into trivial tests (Goodhart's Law)
  • Concentrate tests on critical paths, business logic, and behavior whose regression would matter
  • Prioritize meaningful assertions over the coverage number; any CI threshold is the project's config, not a quality goal in itself
  • Use project-configured speed budgets when present. Otherwise investigate test speed only when observed feedback or CI cost is material to the current outcome; retain slower tests when their proof boundary requires it

Test Design Rules

  • Structure each test as Arrange, one Act, and Assert; multiple assertions may prove one behavior.
  • Follow the repository's test naming convention and name the condition and observable outcome.
  • Exercise behavior through a public or integration boundary. Assertions verify return values, outputs, errors, or state changes rather than private implementation.
  • Use independently derived literal, property, approved snapshot, or fixture expectations. An implementation-derived oracle cannot detect the same implementation defect.
  • Keep each test's expected outcome unconditional. Table-driven or property-based cases are acceptable when each case is reported distinctly and uses an independent oracle.
  • Cover accepted boundary and error behavior; derive cases from the contract instead of adding generic edge-case permutations.
  • Each test creates and cleans up its own state, passes in isolation and any order, and controls time or randomness that affects its result.
  • Keep tests executable. Fix or remove tests that no longer describe accepted behavior; restore tests disabled only to bypass a failure.

Mock and Boundary Rules

  • Mock direct external I/O boundaries; keep internal business logic and the boundary under test real.
  • Use the existing application-owned adapter as the mock boundary. Introduce an adapter only when external I/O, an unstable contract, or required substitution cannot be controlled through the current design.
  • Keep mock behavior limited to the contract needed by the test.
Show full SKILL.md (215 more words)Show less

Data Layer Testing

Mock-based tests are sufficient when data access is only a dependency of the behavior under test. Verify against the project's real database engine or its accepted equivalent when the subject is a query, repository implementation, schema constraint, or migration compatibility. Resolve the test environment from repository configuration; when no representative environment exists and adding one is outside the approved work, report the missing verification decision.

Cross-check data-access code against the schema source named in the Design Doc or repository configuration. Schema-source verification is required to prove table, column, type, constraint, or dialect compatibility; successful mocks prove behavior only at the mocked boundary.

Verification Requirements

Capability Probe Postconditions

A capability probe passes when it uses the consumer's boundary and asserts the exact property that consumer needs. Command success, import success, or object existence is setup evidence.

Test Organization

Follow the repository's established test paths, runner routing, and naming. When establishing an approved new convention, separate test types only when their setup, runner, or environment differs.

Regression Testing

  • Add a regression test for every reproducible behavior bug fix. When executable reproduction is impossible, record the reason and the alternative static, contract, or environment evidence that prevents recurrence.
  • Before behavior-preserving changes to uncharacterized legacy code, establish passing characterization evidence and rerun it after the change.

© shinpr, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/testing-principles of shinpr/claude-code-workflows.

Open the folder on GitHubat commit a4ecd62

Compare with similar skills

Testing Principles next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Testing Principles compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testing Principles this skillshinpr/claude-code-workflows690—~1.1kAutomated safety check: PassMIT
Agent Harness Testing Methodologyhuiliyi37/Tianshu-harness1.1k—~1kAutomated safety check: NotesApache-2.0
Nestjs Expertdavila7/claude-code-templates32k6 repos~5.3kAutomated safety check: NotesMIT
Golang Testingantoniopaya22/go-rest-template1729 repos~4.2kAutomated safety check: PassNone
Go Rigmudrii/openclaw-dashboard457—~2.8kAutomated safety check: PassMIT
Go Rigmudrii/openclaw-dashboard457—~682Automated safety check: PassMIT

Similar skills

  • Agent Harness Testing Methodology

    huiliyi37/Tianshu-harness

    Guides an agent through probing an unfamiliar project's test setup, then choosing a red-light-first testing strategy matched to the task type.

    1.1k GitHub stars~1k tokensUpdated 2 days ago
    Testing & QAAuto-check: notes
  • Nestjs Expert

    davila7/claude-code-templates

    Nest.js framework expert specializing in module architecture, dependency injection, middleware, guards, interceptors, testing with Jest/Supertest, TypeORM/Mongoose integration, and Passport.js…

    32k GitHub starsUsed in 6 repos~5.3k tokens
    Testing & QAAuto-check: notes
  • Golang Testing

    antoniopaya22/go-rest-template

    Go testing patterns including table-driven tests, subtests, benchmarks, fuzzing, and test coverage.

    172 GitHub starsUsed in 9 repos~4.2k tokens
    Testing & QAAuto-check passed
  • Go Rig

    mudrii/openclaw-dashboard

    A skill your agent uses when building, reviewing, or refactoring Go code that must follow strict design discipline — ATDD/TDD workflow, explicit dependency injection, package-boundary discipline…

    457 GitHub stars~2.8k tokensUpdated 14 days ago
    DevelopmentAuto-check passed
  • Go Rig

    mudrii/openclaw-dashboard

    A skill your agent uses when building, reviewing, or refactoring Go code in this repository.

    457 GitHub stars~682 tokensUpdated 14 days ago
    DevelopmentAuto-check passed
  • Py Rig

    mudrii/hermesd

    A skill your agent uses when building, reviewing, or refactoring Python code that requires strong maintainability discipline: SRP, DRY, OCP, explicit dependency injection, TDD/ATDD workflow, strict…

    119 GitHub stars~6.3k tokensUpdated 6 days ago
    DevelopmentAuto-check passed

More from shinpr/claude-code-workflows

All 30 skills in this repo
  • Integration E2E Testing

    shinpr/claude-code-workflows

    Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria.

    690 GitHub stars~3.5k tokensUpdated 6 days ago
    Auto-check passed
  • AI Development Guide

    shinpr/claude-code-workflows

    Applies language-agnostic and backend technical decision criteria, anti-pattern detection, debugging, and quality gates.

    690 GitHub stars~3.9k tokensUpdated 6 days ago
    Auto-check passed
  • Frontend AI Guide

    shinpr/claude-code-workflows

    Applies React/TypeScript-specific technical decision criteria, anti-pattern detection, debugging, and frontend quality gates.

    690 GitHub stars~3k tokensUpdated 6 days ago
    Auto-check passed
  • Implementation Approach

    shinpr/claude-code-workflows

    Implementation strategy selection framework. An agent skill from shinpr/claude-code-workflows.

    690 GitHub stars~2.6k tokensUpdated 6 days ago
    Auto-check passed
  • Recipe Quality Profile

    shinpr/claude-code-workflows

    Proposes repository-specific quality policy for implementation and review and, after confirmation, creates or updates docs/project-context/quality.yaml.

    690 GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • Subagents Orchestration Guide

    shinpr/claude-code-workflows

    Guides subagent coordination through implementation workflows.

    690 GitHub stars~9.3k tokensUpdated 6 days ago
    Auto-check passed

Questions about Testing Principles

What does Testing Principles do?

Language-agnostic testing principles including TDD, test quality, coverage standards, and test design patterns. Testing Principles is an agent skill from shinpr/claude-code-workflows. Language-agnostic testing principles including TDD, test quality, coverage standards, and test design patterns.

When should I use Testing Principles?

Testing Principles fits situations like: designing test strategies; reviewing test quality.

How do I install Testing Principles in Claude Code?

Run `npx skills add shinpr/claude-code-workflows --skill testing-principles -a claude-code`. Or copy the skill folder (skills/testing-principles in shinpr/claude-code-workflows) into .claude/skills/testing-principles in your project. Claude Code loads it when a task matches its description.

How do I install Testing Principles in Codex?

Run `npx skills add shinpr/claude-code-workflows --skill testing-principles -a codex`. Or copy the skill folder (skills/testing-principles in shinpr/claude-code-workflows) into .agents/skills/testing-principles in your project. Codex loads it when a task matches its description.

Can I use Testing Principles in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shinpr/claude-code-workflows --skill testing-principles -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-principles, .gemini/skills/testing-principles, .github/skills/testing-principles and .opencode/skills/testing-principles in your project.

What does Testing Principles need to run?

SKILL.md names no scripts, command-line tools or credentials: Testing Principles is instructions for the agent only.

Does Testing Principles access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Testing Principles safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Testing Principles use?

Testing Principles is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Testing Principles use?

About 1.1k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Testing Principles?

Skills that share tags, products or a category with Testing Principles: Agent Harness Testing Methodology (huiliyi37/Tianshu-harness, 1.1k stars), Nestjs Expert (davila7/claude-code-templates, 32k stars), Golang Testing (antoniopaya22/go-rest-template, 172 stars) and Go Rig (mudrii/openclaw-dashboard, 457 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testing Principles?

shinpr (a GitHub user) maintains it in shinpr/claude-code-workflows, which has 690 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 1, 2026.

Source: shinpr/claude-code-workflows on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.