By gtrefs
TDD and Property-Based Testing workflow skills and agents for Claude Code. Enforces Red-Green-Refactor discipline with human-in-the-loop checkpoints. Supports Java (jqwik 1.9.3) and TypeScript (fast-check + Vitest) as parallel language tracks.
PBT Property Finder - analyzes an existing TDD implementation to identify properties for safety-net testing. Use this agent after completing TDD to harden the implementation with property-based tests. Examples: <example> Context: User completed TDD for a feature and wants to add PBT. user: "Let's find properties to harden the implementation" assistant: "I'll launch the find-properties agent to analyze your implementation and identify properties." <commentary>After TDD is complete, use find-properties to discover invariants and roundtrips.</commentary> </example> <example> Context: User wants to add a PBT safety net. user: "What properties does this implementation have?" assistant: "I'll use the find-properties agent to analyze the code and suggest properties." <commentary>Use find-properties to systematically discover properties.</commentary> </example>
TDD Green Phase specialist - implements minimal code to make failing tests pass. Use this agent after Red phase to write the simplest implementation. Examples: <example> Context: User completed Red phase with failing test. user: "Let's make the test pass" assistant: "I'll use the Task tool to launch the green agent to implement minimal code." <commentary>After Red phase, use the green agent to write minimal implementation.</commentary> </example> <example> Context: User approved Red phase completion. user: "Yes, proceed to Green phase" assistant: "I'll launch the green agent to implement the minimal code to make the test pass." <commentary>User approved continuation, so proceed with Green phase agent.</commentary> </example>
PBT Property Implementer - implements one @Disabled property at a time and analyzes jqwik results. Use this agent after find-properties to implement and verify property-based tests. Examples: <example> Context: User has a Properties file with @Disabled properties. user: "Let's implement the first property" assistant: "I'll launch the implement-properties agent to implement and verify the first property." <commentary>Use implement-properties to write the property body and run it.</commentary> </example> <example> Context: Previous property was implemented successfully. user: "Next property please" assistant: "I'll launch the implement-properties agent for the next @Disabled property." <commentary>Each property is implemented one at a time.</commentary> </example>
PBT Green Phase specialist - implements minimal code to make a failing property pass for ALL generated inputs. Use this agent after Property Red phase. Examples: <example> Context: User completed Property Red phase. user: "Let's make the property pass" assistant: "I'll launch the property-green agent to implement minimal code." <commentary>After Property Red, use property-green to write implementation.</commentary> </example> <example> Context: User approved Property Red completion. user: "Yes, proceed to Green" assistant: "I'll launch the property-green agent for the minimal implementation." <commentary>User approved, proceed with Green phase.</commentary> </example>
PBT Property List creator - helps create comprehensive property lists using @Disabled("todo") before implementation. Use this agent when starting Property-First Development. Examples: <example> Context: User wants to develop a feature using PBT-first approach. user: "I want to implement a feature using property-based testing" assistant: "I'll launch the property-list agent to identify properties for that feature." <commentary>Starting Property-First Development requires identifying properties first.</commentary> </example> <example> Context: User has a feature spec and wants to do PBT-first development. user: "Create properties for this feature" assistant: "I'll use the property-list agent to create a comprehensive property list." <commentary>Use property-list to plan properties before implementation.</commentary> </example>
Use after TDD to analyze the implementation and identify properties for safety-net testing. Triggers on phrases like "find properties", "PBT safety net", "harden the implementation", "what properties does this have". Creates a *Properties.java (Java) or *.properties.test.ts (TypeScript) file with placeholder properties. Stops and waits for user approval before proceeding to implement-properties.
Use after the Red phase to implement the minimal code that makes the failing test pass. Triggers on phrases like "make the test pass", "Green phase", "implement the minimal solution", "yes proceed to Green", "let's go green". Hardcoded return values are acceptable and encouraged for early tests. Stops and waits for user approval before proceeding to Refactor.
Use after find-properties to implement one placeholder property at a time and analyze results. Triggers on phrases like "implement the next property", "let's implement properties", "next property please". Implements exactly one property, runs tests, analyzes any counterexample. Stops and waits for user approval before the next property.
Use after the Property Red phase to implement the minimal code that makes a failing property pass for ALL generated inputs. Triggers on phrases like "make the property pass", "property green phase", "yes proceed to Green", "let's go property green". Unlike TDD Green, hardcoded returns are not acceptable — the implementation must generalize across all generated inputs. Stops and waits for user approval before Refactor.
Use when starting Property-First Development to create a comprehensive property list. Triggers on phrases like "start property-first", "create property list", "identify properties for", "let's do PBT-first". Creates a properties file with placeholder properties ordered from simplest to most complex. Does not activate any property — that is the job of /tdd-pbt:property-red.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A reusable Claude Code plugin packaging TDD and Property-Based Testing workflow agents, rules, and skills. Supports Java (jqwik 1.9.3) and TypeScript (fast-check + Vitest) as parallel language tracks.
/test-list, /red, /green, /refactor, /find-properties, /implement-properties, /property-list, /property-red, /property-green, /tutorialOn first use, any skill asks which language track to use and writes a .tdd-pbt/config.yml to your project:
language: java # or typescript
| Java | TypeScript | |
|---|---|---|
| PBT library | jqwik 1.9.3 | fast-check |
| Test runner | Maven / JUnit 5 | Vitest |
| Placeholder | @Disabled("todo") | test.todo(...) |
| Test files | src/test/java/ | src/ |
The tutorial (/tdd-pbt:tutorial) also offers language selection at the start but does not persist the config — it is session-scoped only.
The project root contains a .claude-plugin/marketplace.json that registers it as a local marketplace named tdd-pbt-marketplace.
Run this once per machine, pointing at the cloned repo root:
claude plugin marketplace add /path/to/tdd-and-pbt-javaland-2026
This registers a marketplace named tdd-pbt-marketplace.
claude plugin install tdd-pbt@tdd-pbt-marketplace
If the marketplace was registered under a different name (check with claude plugin marketplace list), substitute that name after the @.
To install for a single project only (project scope):
claude plugin install tdd-pbt@tdd-and-pbt-javaland-2026 --scope project
claude plugin list
The output should include tdd-pbt with version 0.2.0.
After installation, restart the Claude Code session (close and reopen the terminal or run /reset) so the new agents, rules, and skills are picked up.
After pulling new changes from the repo:
claude plugin update tdd-pbt
claude plugin uninstall tdd-pbt
For the plugin to be discoverable, the directory registered as a marketplace must contain a subdirectory named tdd-pbt-plugin/ with a valid .claude-plugin/plugin.json manifest. The current layout is:
tdd-and-pbt-javaland-2026/ <- register this as the marketplace root
└── tdd-pbt-plugin/ <- the plugin itself
├── .claude-plugin/
│ └── plugin.json <- machine-readable manifest (required)
├── PLUGIN.md <- human-readable manifest
├── agents/ <- agent definitions
├── rules/ <- rule files
├── skills/ <- skill definitions
└── README.md <- this file
claude plugin validate /path/to/tdd-and-pbt-javaland-2026/tdd-pbt-plugin
| Problem | Resolution |
|---|---|
plugin not found after install | Run claude plugin marketplace update then retry install |
| Agents not available after install | Restart the Claude Code session |
| Wrong marketplace name | Run claude plugin marketplace list to see registered names |
npx claudepluginhub gtrefs/tdd-pbt-plugin --plugin tdd-pbtComprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.