test-review
Evaluates test suites for coverage gaps, TDD/BDD compliance, and anti-patterns Skill: test-review Owner: athola Summary: Evaluates test suites for coverage gaps, TDD/BDD compliance, and anti-patterns Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:19:33.885Z | user Release v1.9.19 v1.9.17 | 2026-07-30T05:39:43.732Z | user Release v1.9.17 v1.9.16 | 2026-07-14T19:56:28.437Z | user Release v1.9.16 v1.9.14 | 2026-06-30T18:04:41.848Z | user Release v1.9.14 v1.9.13 | 2026-06-27T16:22:37.
Rank
62
Safety
84
Downloads
1.6k
Updated
Oct 10, 2026
Version
1.9.19
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.6K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.9.19release · observed Aug 26, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17emme0e2m3cpf7k2jvp3a84984b8z9:nm-pensive-test-review- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-test-review/snapshot"
Documentation
CLAWHUB
145,946 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: test-review
description: Evaluates test suites for coverage gaps, TDD/BDD compliance, and anti-patterns
version: 1.9.8
triggers:
- testing
- tdd
- bdd
- coverage
- quality
- fixtures
- auditing test quality or before a major release
metadata: {"openclaw": {"homepage": "https://github.com/athola/claude-night-market/tree/master/plugins/pensive", "emoji": "\ud83e\uddea", "requires": {"config": ["night-market.pensive:shared", "night-market.imbue:proof-of-work"]}}}
source: claude-night-market
source_plugin: pensive
---
> **Night Market Skill** — ported from [claude-night-market/pensive](https://github.com/athola/claude-night-market/tree/master/plugins/pensive). For the full experience with agents, hooks, and commands, install the Claude Code plugin.
## Table of Contents
- [Quick Start](#quick-start)
- [When to Use](#when-to-use)
- [Required TodoWrite Items](#required-todowrite-items)
- [Progressive Loading](#progressive-loading)
- [Workflow](#workflow)
- [Step 1: Detect Languages (`test-review:languages-detected`)](#step-1:-detect-languages-(test-review:languages-detected))
- [Step 2: Inventory Coverage (`test-review:coverage-inventoried`)](#step-2:-inventory-coverage-(test-review:coverage-inventoried))
- [Step 3: Assess Scenario Quality (`test-review:scenario-quality`)](#step-3:-assess-scenario-quality-(test-review:scenario-quality))
- [Step 4: Plan Remediation (`test-review:gap-remediation`)](#step-4:-plan-remediation-(test-review:gap-remediation))
- [Step 5: Log Evidence (`test-review:evidence-logged`)](#step-5:-log-evidence-(test-review:evidence-logged))
- [Test Quality Checklist (Condensed)](#test-quality-checklist-(condensed))
- [Output Format](#output-format)
- [Summary](#summary)
- [Framework Detection](#framework-detection)
- [Coverage Analysis](#coverage-analysis)
- [Quality Issues](#quality-issues)
- [Remediation Plan](#remediation-plan)
- [Recommendation](#recommendation)
- [Integration Notes](#integration-notes)
- [Exit Criteria](#exit-criteria)
# Test Review Workflow
Evaluate and improve test suites with TDD/BDD rigor.
## Quick Start
```bash
/test-review
```
**Verification:** Run `pytest -v` to verify tests pass.
## When To Use
- Reviewing test suite quality
- Analyzing coverage gaps
- Before major releases
- After test failures
- Planning test improvements
## When NOT To Use
- Writing new tests - use parseltongue:python-testing
- Updating existing tests - use sanctum:test-updates
## Required TodoWrite Items
1. `test-review:languages-detected`
2. `test-review:coverage-inventoried`
3. `test-review:scenario-quality`
4. `test-review:invariant-preservation`
5. `test-review:gap-remediation`
6. `test-review:evidence-logged`
## Progressive Loading
Load modules as needed based on review depth:
- **Basic review**: Core workflow (this file)
- **Framework detection**: Load `modules/framework-detection.md`
- **Coverage analysis**: Load `modules/coverage-analysis.md`
- **Quality assessment**: Load `modules/sc_meta.json
{
"ownerId": "kn7d107jg9jv602h9ytsegydq184a42s",
"slug": "nm-pensive-test-review",
"version": "1.9.19",
"publishedAt": 1787750373885
}modules/content-assertion-quality.md
# Content Assertion Quality
Scoring criteria for evaluating content assertion tests during test review. Extends the scenario quality assessment with a Content Depth dimension.
Reference: `leyline:testing-quality-standards/modules/content-assertion-levels.md`
## Content Depth Scoring
Rate content assertion depth on a 1-5 scale:
| Score | Level | Description |
|---|---|---|
| 1 | None | Tests only file existence or line count |
| 2 | L1 | Keyword presence checks (`assert "section" in content`) |
| 3 | L2 | Parses embedded examples, validates schema structure |
| 4 | L3 | Cross-references, anti-patterns, decision framework contracts |
| 5 | L3+ | Cross-plugin validation (version refs checked against other plugins' docs) |
## When to Flag Missing Content Assertions
During test review, flag as a content test gap when:
- A skill has tests but all are L1 (keyword-only) and the skill contains JSON or YAML code blocks
- A skill has version-gated features but no cross-reference validation
- A skill defines behavioral guidance (decision trees, strategies) but no anti-pattern or completeness tests
- A module documents forbidden behaviors but no test asserts their absence
## Content Assertion Anti-Patterns
Avoid these when reviewing content tests:
| Anti-Pattern | Problem | Better Approach |
|---|---|---|
| Testing prose style | Brittle to rewording, overlaps with scribe:slop-detector | Test behavioral semantics |
| Asserting exact wording | Breaks on any edit | Assert concepts (`"version" in content.lower()`) |
| Checking line counts | Not behavioral | Check required sections exist |
| Testing formatting | Not what Claude interprets | Test parseable structure |
| Duplicating slop detection | Already handled by scribe | Focus on correctness, not style |
## Review Checklist Addition
Add this item to the existing Test Quality Checklist when reviewing a plugin that has execution markdown:
```markdown
- [ ] Content assertion depth matches content complexity
(L1 for simple skills, L2+ for code examples, L3 for behavioral guidance)
```
## Remediation Guidance
When content tests are missing or insufficient:
1. **No content tests at all**: Generate L1 scaffolding using `sanctum:test-updates/modules/generation/content-test-templates.md`
2. **L1 only, has code blocks**: Upgrade to L2 (add JSON/YAML parsing tests)
3. **L2 only, has version gates**: Upgrade to L3 (add cross-reference validation)
4. **L2 only, has behavioral guidance**: Upgrade to L3 (add anti-pattern and completeness tests)modules/coverage-analysis.md
---
parent_skill: pensive:test-review
name: coverage-analysis
description: Coverage measurement and gap identification
category: testing
tags: [coverage, testing, gap-analysis]
load_priority: 2
estimated_tokens: 350
---
# Coverage Analysis
Measure test coverage and identify gaps.
## Coverage Tools by Language
### Rust
```bash
# Using tarpaulin
cargo install cargo-tarpaulin
cargo tarpaulin --out Html --output-dir coverage/
# Using llvm-cov
cargo install cargo-llvm-cov
cargo llvm-cov --html
```
### Python
```bash
# Using pytest-cov
pytest --cov=src --cov-report=html --cov-report=term-missing
# Using coverage.py
coverage run -m pytest
coverage html
coverage report --show-missing
```
### JavaScript/TypeScript
```bash
# Jest
npm test -- --coverage --coverageReporters=html text
# Vitest
vitest --coverage
# Cypress (code coverage plugin)
cypress run --env coverage=true
```
### Go
```bash
# Built-in coverage
go test -cover ./...
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
# Detailed coverage
go test -covermode=count -coverprofile=coverage.out ./...
```
## Coverage Thresholds
| Level | Coverage | Use Case |
|-------|----------|----------|
| Minimum | 60% | Legacy code, initial cleanup |
| Standard | 80% | Normal development |
| High | 90% | Critical systems, libraries |
| detailed | 95%+ | Safety-critical, financial |
## Gap Identification
### Find impacted test files
```bash
# Tests affected by changes
git diff --name-only main...HEAD | rg 'tests|spec|feature'
# Find related tests
git diff --name-only main...HEAD | while read file; do
basename "$file" .py | xargs -I {} find . \
-not -path "*/.venv/*" -not -path "*/__pycache__/*" \
-not -path "*/node_modules/*" -not -path "*/.git/*" \
-name "*test*{}*"
done
```
### Identify uncovered code
1. Run coverage tool with `--show-missing` flag
2. Cross-reference with critical paths:
- Authentication/authorization
- Data validation
- Error handling
- API endpoints
- Database operations
3. Map to requirements:
- Feature specifications
- User stories
- Bug reports
- Security requirements
### Coverage Patterns
**Critical paths** (should be 100%):
- Security boundaries (auth, validation)
- Data integrity operations
- Error recovery logic
- Public API surface
**Lower priority** (can be <80%):
- Internal helpers
- Logging/debugging code
- Trivial getters/setters
- Deprecated code paths
## Output Format
```markdown
## Coverage Analysis
- **Overall**: 78%
- **Critical paths**: 92%
- **Changed files**: 85%
### Gaps Identified
1. **src/auth.py:45-60** - Token validation edge cases
2. **src/api/routes.py:120-135** - Error handling for 400/500 codes
3. **src/db/migrations.py** - Rollback scenarios untested
### Test-to-Feature Mapping
- Feature: User registration → `tests/test_registration.py` (95%)
- Feature: Password reset → `tests/test_auth.py` (60%) [WARN]
- Feature: Email validation → Missing tests [FAIL]
```
## Best Practicemodules/framework-detection.md
--- parent_skill: pensive:test-review name: framework-detection description: Language and test framework detection patterns category: testing tags: [testing, framework-detection, language-detection] load_priority: 1 estimated_tokens: 250 --- # Framework Detection Identify testing frameworks and tooling constraints. ## Language Detection Patterns ### Rust - **Framework**: cargo test (built-in) - **Commands**: `cargo test`, `cargo nextest run` - **Config files**: `Cargo.toml`, `Cargo.lock` - **Test patterns**: `#[test]`, `#[cfg(test)]` - **MSRV**: Check `rust-version` in Cargo.toml ### Python - **Frameworks**: pytest, unittest, behave - **Commands**: `pytest`, `python -m pytest`, `behave` - **Config files**: `pytest.ini`, `pyproject.toml`, `tox.ini` - **Test patterns**: `test_*.py`, `*_test.py`, `tests/` - **Version**: Check `requires-python` in pyproject.toml ### JavaScript/TypeScript - **Frameworks**: Jest, Mocha, Cypress, Vitest - **Commands**: `npm test`, `yarn test`, `cypress run` - **Config files**: `jest.config.js`, `vitest.config.ts`, `cypress.config.js` - **Test patterns**: `*.test.js`, `*.spec.ts`, `__tests__/` - **Version**: Check `engines.node` in package.json ### Go - **Framework**: go test (built-in) - **Commands**: `go test ./...`, `go test -v` - **Config files**: `go.mod`, `go.sum` - **Test patterns**: `*_test.go` - **Version**: Check `go` directive in go.mod ## Detection Workflow 1. **Scan for config files**: ```bash find . -maxdepth 2 -name "Cargo.toml" -o -name "pyproject.toml" -o -name "package.json" -o -name "go.mod" ``` 2. **Check test directories**: ```bash find . -type d -name "tests" -o -name "__tests__" -o -name "test" ``` 3. **Identify test files**: ```bash find . -not -path "*/.venv/*" -not -path "*/__pycache__/*" \ -not -path "*/node_modules/*" -not -path "*/.git/*" \ \( -name "*test*" -o -name "*spec*" \) \ | grep -E '\.(rs|py|js|ts|go)$' ``` 4. **Version constraints**: - Extract MSRV, Python version, Node version - Note if constraints affect tooling (e.g., async/await) - Document CI/CD version requirements ## Output Format ```markdown ## Framework Detection - **Languages**: Rust, Python - **Frameworks**: cargo test, pytest - **Versions**: - Rust MSRV: 1.70 - Python: >=3.8 - **Config files**: Cargo.toml, pyproject.toml ```
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/athola/skills/nm-pensive-test-review",
"sourceUrl": "https://clawhub.ai/athola/skills/nm-pensive-test-review",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T07:58:53.992Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-test-review/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-test-review/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T07:58:53.992Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.6K downloads",
"href": "https://clawhub.ai/athola/nm-pensive-test-review",
"sourceUrl": "https://clawhub.ai/athola/nm-pensive-test-review",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T07:58:53.992Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.9.19",
"href": "https://clawhub.ai/athola/nm-pensive-test-review",
"sourceUrl": "https://clawhub.ai/athola/nm-pensive-test-review",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-26T13:19:33.885Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-test-review/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-test-review/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.9.19",
"description": "Release v1.9.19",
"href": "https://clawhub.ai/athola/nm-pensive-test-review",
"sourceUrl": "https://clawhub.ai/athola/nm-pensive-test-review",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-26T13:19:33.885Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
