assessment
Assessment: read-only inspection, codebase overview, value analysis, health checks, ADR consultation, decision analysis,…
Testing: TDD, E2E, preferred patterns, test-value audits, verification, agent testing.
Claude Code
$ npx -y skills add notque/vexjoy-agent --skill testing --agent claude-code
Codex
$ npx skills add notque/vexjoy-agent --skill testing -a codex -y
Cursor
$ npx skills add notque/vexjoy-agent --skill testing -a cursor -y
Gemini CLI
$ npx skills add notque/vexjoy-agent --skill testing -a gemini-cli -y
GitHub Copilot
$ npx skills add notque/vexjoy-agent --skill testing -a github-copilot -y
OpenCode
$ npx skills add notque/vexjoy-agent --skill testing -a opencode -y
Windsurf
$ npx skills add notque/vexjoy-agent --skill testing -a windsurf -y
name: testing
description: "Testing: TDD, E2E, preferred patterns, test-value audits, verification, agent testing."
user-invocable: false
allowed-tools:
- Read
- Write
- Bash
- Grep
- Glob
- Edit
- Task
- Skill
- Agent
agent: testing-automation-engineer
routing:
not_for: "code review (use review), linting (use code-quality)"
triggers:
- "TDD"
- "test first"
- "red green refactor"
- "write tests first"
- "test-driven"
- "tests before code"
- "flaky test"
- "brittle test"
- "test smell"
- "test quality issue"
- "slow tests"
- "over-mocking"
- "test audit"
- "audit tests"
- "low-value tests"
- "prune tests"
- "test bloat"
- "delete useless tests"
- "test agents"
- "agent testing"
- "subagent testing"
- "run vitest"
- "JavaScript tests"
- "TypeScript tests"
- "playwright"
- "E2E test"
- "end-to-end"
- "browser test"
- "verify completion"
- "run tests"
- "final verification"
category: testing
pairs_with:
- review
- code-quality
- workflowSeven modes. Match the request to one mode and follow its section. Read repository CLAUDE.md first -- project conventions override defaults here.
| Request matches | Go to | |---|---| | Write tests first, TDD, red-green-refactor | **TDD** | | Flaky, brittle, test smell, over-mocking, slow tests | **Pattern Quality** | | Audit or prune low-value, duplicate, or implementation-coupled tests | **Test Audit** | | Test an agent, subagent testing, validate agent | **Agent Testing** | | Run vitest, JavaScript/TypeScript tests | **Vitest Runner** | | Playwright, E2E, end-to-end, browser test | **E2E (Playwright)** | | Verify completion, final check, defense in depth | **Verification** |
---
RED-GREEN-REFACTOR cycle with strict phase gates. Each feature gets its own cycle. Do not batch multiple features into one cycle.
Write a test describing desired behavior before implementation exists. Use Arrange-Act-Assert, descriptive names, one concept per test. Run the test and show full output.
Every new or changed test, in any mode, must first pass the authoring gate in `references/audit-test-value.md`.
**Gate** -- proceed only when all true:
If test passes before implementation: assertions are too weak, or the feature already exists. If test fails for wrong reason (syntax, import, setup): fix those first, then re-run until it fails for the right reason.
Write ONLY enough code to make the failing test pass. No extra features. Hardcoded values are acceptable initially. Run the test and the full suite; show complete output.
**Gate** -- proceed only when all true:
Improve code quality without changing behavior. Establish a green baseline, refactor incrementally, run tests after every step. Test behavior, not internals.
**Gate** -- proceed only when all true:
Run the full suite first. Commit only when the user asked for commits: then commit test and implementation together as one unit, with a one-sentence lowercase message in the AGENTS.md writing style (what changed and why). Otherwise leave the change uncommitted and report it.
| Symptom | Cause | Fix | |---|---|---| | Test passes in RED phase | Weak assertions or feature exists | Strengthen assertions; check for existing implementation | | Wrong failure reason | Setup incomplete, missing deps | Fix syntax/imports first, re-run | | Tests green but feature broken | Tests miss actual usage | Add integration tests; test with real data | | Refactoring breaks tests | Tests coupled to internals | Test behavior not implementation; refactor in smaller steps |
---
Identify and fix testing mistakes across unit, integration, and E2E suites. Test behavior, be reliable, run fast, fail for the right reasons.
Locate test files (`*_test.go`, `test_*.py`, `*.test.ts`, `*.spec.js`). Scan for these 10 failure modes:
| # | Pattern | Detection Signal | |---|---|---| | 1 | Testing implementation details | Asserts on private fields, spy on private methods | | 2 | Over-mocking / brittle selectors | Mock setup > 50% of test code, CSS nth-child | | 3 | Order-dependent tests | Shared mutable state, numbered test names | | 4 | Incomplete assertions | `!= nil`, `> 0`, `toBeTruthy()`, no value checks | | 5 | Over-specification | Exact timestamps, hardcoded IDs, asserting defaults | | 6 | Ignored failures | `@skip`, `.skip`, `xit`, empty catch, `_ = err` | | 7 | Poor naming | `testFunc2`, `it('works')`, `it('handles case')` | | 8 | Missing edge cases | Only happy path, no empty/null/boundary/error tests | | 9 | Slow test suites | Full DB reset per test, no parallelization | | 10 | Flaky tests | `sleep()`, `time.Sleep()`, unsynchronized goroutines |
Document each finding with file:line, severity, issue, and impact.
**Gate**: At least one quality issue identified with file:line reference.
1. **HIGH** -- Flaky, order-dependent, ignored failures (erode trust) 2. **MEDIUM** -- Over-mocking, incomplete assertions, missing edges (false confidence) 3. **LOW** -- Poor naming, over-specification, slow suites (maintenance burden)
Fix one pattern at a time. Preserve test intent. Prevent over-engineering.
**Gate**: Findings ranked. User agrees on fix scope.
For each issue (highest priority first): show current code, show fixed code, apply fix, run tests. Guide toward behavior testing:
Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.
Assessment: read-only inspection, codebase overview, value analysis, health checks, ADR consultation, decision analysis,…
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.