From tdd-pbt
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tdd-pbt:implement-propertiesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`/tdd-pbt:implement-properties` launches the `implement-properties` agent to implement one placeholder property at a time and analyze the results.
/tdd-pbt:implement-properties launches the implement-properties agent to implement one placeholder property at a time and analyze the results.
Check whether .tdd-pbt/config.yml exists in the current working directory.
If it exists: read the language field. Use it for all subsequent steps.
If it does not exist: ask the user:
AskUserQuestion:
question: "Which language and PBT library will you use for this project?"
header: "Language setup"
options:
- label: "Java + jqwik 1.9.3"
description: "Java project using Maven, JUnit 5, and jqwik 1.9.3"
- label: "TypeScript + fast-check + Vitest"
description: "TypeScript project using Vitest and fast-check"
Then write .tdd-pbt/config.yml to the current working directory:
language: java # or typescript
Confirm: "Language set to . Config written to .tdd-pbt/config.yml."
Collect context from the user's invocation or the current codebase state:
*Properties.java file with @Disabled placeholders*.properties.test.ts file with test.todo(...) placeholdersCall the implement-properties agent with all collected context as the prompt. Include:
Language: <java|typescript>
Properties file: <path to properties file>
Implementation file: <path to production code>
Implement property: "<propertyMethodName>" (or "next placeholder property")
The agent will:
@Disabled("todo") and write the property body with @ForAll generators and AssertJ assertionstest.todo(...) with a full it('...', () => { fc.assert(fc.property(...)) }) bodymvn test and analyze the resultnpx vitest run and analyze the resultAfter the agent completes and reports the result, wait for the user to confirm before proceeding to the next property.
.tdd-pbt/config.yml if it already exists.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub gtrefs/tdd-pbt-plugin --plugin tdd-pbt