Requirements
rizsotto/Bear
Write, modify, or review a requirement file under docs/requirements -- pick the single owning file, keep the text contract-only, name IDs so they need no explanation, and verify cross-references and…
Review test code for quality, design, and completeness after implementing a feature or fixing a bug.
$ npx skills add posit-dev/skills --skill review-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install posit-dev/skills review-testing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/posit-dev/review-testing .claude/skills/review-testing && rm -rf skills-srcUse ~/.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/
Install the "review-testing" agent skill from https://github.com/posit-dev/skills/tree/main/posit-dev/review-testing into .claude/skills/review-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-testing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/posit-dev/skills/tree/main/posit-dev/review-testingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add posit-dev/skills --skill review-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install posit-dev/skills review-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/posit-dev/review-testing .agents/skills/review-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-testing" agent skill from https://github.com/posit-dev/skills/tree/main/posit-dev/review-testing into .agents/skills/review-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-testing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add posit-dev/skills --skill review-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install posit-dev/skills review-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/posit-dev/review-testing .cursor/skills/review-testing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "review-testing" agent skill from https://github.com/posit-dev/skills/tree/main/posit-dev/review-testing into .cursor/skills/review-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-testing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/posit-dev/skills.git --path posit-dev/review-testing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add posit-dev/skills --skill review-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install posit-dev/skills review-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/posit-dev/review-testing .gemini/skills/review-testing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "review-testing" agent skill from https://github.com/posit-dev/skills/tree/main/posit-dev/review-testing into .gemini/skills/review-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-testing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install posit-dev/skills review-testingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add posit-dev/skills --skill review-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/posit-dev/review-testing .github/skills/review-testing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "review-testing" agent skill from https://github.com/posit-dev/skills/tree/main/posit-dev/review-testing into .github/skills/review-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-testing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add posit-dev/skills --skill review-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install posit-dev/skills review-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/posit-dev/review-testing .opencode/skills/review-testing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "review-testing" agent skill from https://github.com/posit-dev/skills/tree/main/posit-dev/review-testing into .opencode/skills/review-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-testing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
review-testingReview test code for quality, design, and completeness after implementing a feature or fixing a bug.
Review Testing is an agent skill from posit-dev/skills. Review test code for quality, design, and completeness after implementing a feature or fixing a bug. Use when the user asks to "review my tests", "check my test quality", "are these tests good enough", "review testing", or after completing a feature implementation that includes tests. Also use when tests feel brittle, flaky, or superficial. Cross-references production code to find coverage gaps.
Its SKILL.md is about 2.6k 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 coverage. The repository describes itself as: A collection of Claude Skills from Posit. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0300946. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Review Testing loads about 2.6k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,301 words of instructions outside code blocks.
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.
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.
The full file from posit-dev/skills at commit 0300946, republished under its MIT licence (© posit-dev). 1,301 words, ~2,577 tokens.
.claude/skills/review-testing/SKILL.md (or your agent's skills folder).You are reviewing test code written alongside a feature implementation or bug fix. Ensure the tests are well-designed, thorough, and maintainable — not just that they pass. Tests that merely mirror implementation details create false confidence and become a maintenance burden during refactoring.
Identify what to review:
Read test files first, before production code. If you can infer the feature's requirements and edge cases from the tests alone, that's a sign the tests are well-written. If you need to read the implementation to understand what the tests are doing, that's a finding worth reporting.
Weigh each test against four qualities:
Regression protection — Does this test actually catch bugs? A test that exercises trivial code or skips complex branches protects against nothing. Check: does the test touch business-critical logic, or only verify the happy path of a simple getter?
Refactoring resilience — Will this test break when someone restructures code without changing behavior? Tests coupled to internal method names, call sequences, or private state punish every cleanup with false failures, eroding trust in the suite.
Fast feedback — Unit tests should run in milliseconds. If a test hits the filesystem, network, or database unnecessarily, that's a design issue. But don't confuse speed with value — an integration test verifying a real database query is better than a fast unit test that mocks everything and verifies nothing.
Maintainability — Can someone unfamiliar with this code read the test and understand what it verifies and why? Tests with sprawling setup, cryptic names, or deeply nested mocking fail this check.
The most common weakness in generated tests: asserting only the obvious output and missing the full "blast radius" of a state change.
When a test triggers an action, ask what else changed. If a test adds an item to a cart, does it only check the item count? Or does it also verify the price calculation, subtotal update, and that other items are unaffected?
Flag when:
Each test should have exactly one Arrange-Act-Assert cycle. If a test acts and asserts multiple times in sequence, it's testing multiple behaviors and should be split.
Flag when:
How test data is created determines whether the suite is maintainable at scale. Inline setup (data created in the test body) is fine for simple tests but painful when constructor signatures change across many tests. Implicit setup (shared beforeEach/setUp blocks) eliminates duplication but obscures what each test actually depends on. Delegated setup (factory functions or builders called explicitly) keeps tests readable while centralizing construction logic.
Flag when:
Mocks are essential for isolation, but overuse turns tests into mirrors of the implementation.
The key principle: mock at architectural boundaries, not at every function call. Use stubs (canned data) for query-type dependencies and mocks (interaction verification) only for commands with side effects like sending emails or writing to external systems.
Respect the codebase's existing mocking convention. Flag inconsistency within the project, not deviation from a universal rule.
Flag when:
| Smell | What It Looks Like | Why It Matters |
|---|---|---|
| Assertion Roulette | Multiple assertions with no failure messages | Can't tell which assertion broke without debugging |
| Eager Test | One test exercises several unrelated methods | Failures are ambiguous — which behavior broke? |
| Lazy Test | Multiple tests call the same method with identical inputs | Redundant maintenance cost, no coverage gain |
| Sleepy Test | Hard-coded sleep()/Sys.sleep()/setTimeout() | Flaky in CI, slow everywhere. Use polling or explicit waits. |
| Rotten Green | Assertions inside try/tryCatch or conditional branches | Test always passes because the assertion is never reached |
| Sensitive Equality | Asserting against toString()/print() output | Breaks on formatting changes; assert structural properties instead |
| Print Statement | print()/console.log() instead of assertions | Debugging leftovers that verify nothing |
| Snapshot Abuse | Snapshots as a substitute for behavioral assertions | Any change triggers failure, developers blindly update. Good uses: one snapshot of an HTML component's structure (not every prop combination), error message text, CLI output. Bad: snapshotting entire objects or rendering every variant. |
| Implementation Mirror | Expected values computed using the same logic as production code | Test and production code will always agree — even when both are wrong. Hardcode expected values from a known-good source. |
Test names should describe behavior, not implementation. A well-named test suite reads like a feature specification.
Flag when:
test_processData_returns_true) — break on renametest1, test_it_works, test_basic)Prefer behavioral names: test_expired_subscription_blocks_access, delivery_with_past_date_is_invalid, empty_cart_shows_zero_total.
Cross-reference production code changes against the test suite:
Walk through the implementation and note every decision point — each if, match, switch, error handler, or early return. Check whether the test suite exercises both sides of that decision.
When reviewing R tests using testthat, check if the r-testthat skill is available and invoke it for R-specific conventions and patterns.
## Summary
[Overall assessment: How well do these tests protect the codebase?]
## Critical Issues (Blocking)
[Tests that provide false confidence or will cause real problems.]
## Required Changes
[Design problems that weaken the test suite.]
## Strong Suggestions
[Improvements to test quality and maintainability.]
## Noted
[Minor style or convention issues. Mention once, then move on.]
## Verdict
Request Changes | Needs Discussion | Approve
## Next Steps
[Options for proceeding]Use file:line references for every finding. Quote the specific test code that demonstrates the issue and show what better code looks like.
At the end of the review, offer the user these options:
Discuss and address findings: Use the AskUserQuestion tool to walk through the issues. Group by severity or topic, offer resolution options, and mark the recommended choice.
Fix the issues: Offer to apply fixes directly in priority order — blocking issues first, then required changes, then suggestions. Confirm before continuing after each group.
Add to a pull request: When reviewing in context of a PR, offer to post the review as a PR comment. Include attribution: "Review assisted by the review-testing skill."
If operating as a subagent, skip the next steps and output only the review findings.
© posit-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in posit-dev/review-testing of posit-dev/skills.
Open the folder on GitHubat commit 0300946
Review Testing 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review Testing this skillposit-dev/skills | 529 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Requirementsrizsotto/Bear | 6.5k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| Crap Analysisardalis/RiverBooks | 134 | 2 repos | ~3.4k | Automated safety check: Pass | None | |
| Code Coverages3s-project/s3s | 311 | — | ~789 | Automated safety check: Pass | Apache-2.0 | |
| Project Statusbactopia/bactopia | 522 | — | ~787 | Automated safety check: Pass | MIT | |
| Check Coverageldayton/Dippy | 243 | — | ~403 | Automated safety check: Pass | MIT |
rizsotto/Bear
Write, modify, or review a requirement file under docs/requirements -- pick the single owning file, keep the text contract-only, name IDs so they need no explanation, and verify cross-references and…
ardalis/RiverBooks
Analyze code coverage and CRAP (Change Risk Anti-Patterns) scores to identify high-risk code.
s3s-project/s3s
Measure and grow the line coverage of the s3s crate. An agent skill from s3s-project/s3s.
bactopia/bactopia
Show a live snapshot of the Bactopia project state — component counts, GroovyDoc coverage, nf-test coverage, and structural issues.
ldayton/Dippy
Ensure comprehensive test coverage for a CLI handler. An agent skill from ldayton/Dippy.
kajisho5/ffmpeg-skill
Add and review preconditions on operations that delete, overwrite, rewrite history, or resolve a caller-supplied name to a filesystem path — refusing instead of warning, placing the guard ahead of…
posit-dev/skills
Build command-line apps in R using the Rapp package. An agent skill from posit-dev/skills.
posit-dev/skills
Guidance for managing R package lifecycle according to tidyverse principles using the lifecycle package.
posit-dev/skills
Creates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes.
posit-dev/skills
Build modern Shiny dashboards and applications using bslib (Bootstrap 5).
posit-dev/skills
Advanced theming for Shiny apps using bslib and Bootstrap 5.
posit-dev/skills
Rigorously review code or pull requests for correctness, security, accessibility, maintainability, tests, and edge cases.
Categories
Review test code for quality, design, and completeness after implementing a feature or fixing a bug. Review Testing is an agent skill from posit-dev/skills. Review test code for quality, design, and completeness after implementing a feature or fixing a bug.
Review Testing fits situations like: the user asks to review my tests; check my test quality; are these tests good enough; after completing a feature implementation that includes tests.
Run `npx skills add posit-dev/skills --skill review-testing -a claude-code`. Or copy the skill folder (posit-dev/review-testing in posit-dev/skills) into .claude/skills/review-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add posit-dev/skills --skill review-testing -a codex`. Or copy the skill folder (posit-dev/review-testing in posit-dev/skills) into .agents/skills/review-testing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add posit-dev/skills --skill review-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-testing, .gemini/skills/review-testing, .github/skills/review-testing and .opencode/skills/review-testing in your project.
SKILL.md names no scripts, command-line tools or credentials: Review Testing is instructions for the agent only.
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.
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.
Review Testing is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Review Testing: Requirements (rizsotto/Bear, 6.5k stars), Crap Analysis (ardalis/RiverBooks, 134 stars), Code Coverage (s3s-project/s3s, 311 stars) and Project Status (bactopia/bactopia, 522 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
posit-dev (a GitHub organization) maintains it in posit-dev/skills, which has 529 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 6, 2026.
Source: posit-dev/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.