Automated summary
Guides an agent through the TDD test-list phase by turning every rule and example in a specification into ordered inactive tests.
Strengths
- Requires every rule, example, and clarifying question in prompt.md to map to at least one inactive test.
- Enforces simplest-to-most-complex ordering and keeps all tests inactive until the implementation phase.
- Includes a coverage cross-check across independent spec dimensions such as operations, variants, state transitions, and error behavior.
- Asks for observable error contracts instead of inventing unspecified error types or messages.
Limitations
- Assumes the specification lives in prompt.md and that the project has an established inactive-test mechanism.
- Stops at the test list; it does not cover making tests executable, implementation, or refactoring.
- The guidance on unspecified error contracts can still leave judgment calls to the agent.
Use when a specification is complete and you need a structured, coverage-oriented list of inactive tests before starting implementation.
Do not use when there is no written specification or when you need executable tests and implementation guidance rather than test planning.
Security analysis
SafeThe file is purely instructional prose about a TDD planning phase: it tells the agent to read a specification, enumerate inactive tests, order them, and summarize coverage. There are no shell commands, no network calls, no credential handling, no encoded payloads, no destructive operations, and no attempts to override the auditor or the host agent's safety behavior. The only executable-adjacent content is generic guidance to keep tests inactive until later phases, which is benign.
- •Informational: no allowed-tools are declared, yet the skill directs the agent to read the spec, create/modify test files, and verify a test suite; tool needs are implicit rather than declared (transparency nit, not a risk).
Examples
Read prompt.md and create the complete TDD test list for the feature, turning every rule and example into an inactive test ordered from simplest to most complex.Our spec describes several rejection cases without defining error types; build the inactive test list and make each failure case observable, stating any assumption you need to make.Review the specification and our existing inactive tests, then add missing tests for independent dimensions like operations, variants, and state transitions.name: test-list description: TDD Test List Phase - Create a comprehensive test list covering every example and rule from the specification
TDD Test List Phase
You are now in the Test List Phase of TDD. Follow these instructions to create a comprehensive test list.
Your Mission
Create a test list using the project's inactive-test mechanism that covers every rule and every example from the specification:
- Read the specification (
prompt.md) thoroughly -- every rule, every example, every clarifying question (?) - Turn each example into at least one inactive test case
- Order tests from simplest to most complex
- Keep every test inactive -- NO executable tests yet
Process
Step 1: Understand the Feature
Read the complete specification. Pay special attention to integration examples and clarifying questions (marked with ?) -- these disambiguate rules that may seem open to interpretation in isolation.
- What are all the operations the system must support?
- What rules govern each operation?
- Which examples in the spec illustrate these rules?
- For rejection or failure cases, what is the observable error contract: a thrown error, an error result, a status, or another outcome? If an error is thrown, does the specification define its type and/or message?
Step 2: Identify Test Cases from the Spec
Walk through the specification section by section. For each rule and each example:
- Create a test case that verifies the described behavior
- Include the expected values from the spec in the test description
- If a clarifying question (?) resolves an ambiguity, create a test for the clarified interpretation
- If the spec uses an example-mapping format (rules, examples, questions), every listed example must have a corresponding test
- Make every rejection or failure case explicit in observable terms, such as a thrown error of the profile's representative type, an error result, or an error status
- Include an exact error type or message only when the specification establishes it
- If the specification merely says
rejects,fails,invalid, or equivalent without defining the observable contract, choose the most defensible reading of the specification, state that reading explicitly in the test description, and continue; do not silently invent an unstated contract
Step 3: Order Tests (Simple -> Complex)
Arrange tests in increasing complexity:
- Simplest case (often empty/zero/single item)
- Individual rules in isolation
- Rules with modifiers
- Combinations of multiple rules
- Multi-step scenarios (e.g., operations that reference earlier results)
Step 4: Write Test File
Create the test file using the project's inactive-test syntax. Keep every listed test inactive.
Step 5: Cross-Check Independent Specification Dimensions
Before declaring the list complete, review the specification and the inactive tests as a coverage map:
- Identify independently specified dimensions such as operation, entity or variant, input category, policy attribute, state transition, and observable result.
- For each explicit value named by the specification, ask whether every independently changeable rule that applies to it has a discriminating test. A test of one attribute does not establish another attribute of the same value.
- Look especially for parallel catalogues, mappings, tables, or branches. Ask whether one side could omit an entry while every current test still passes.
- Use a representative test where several values are governed by one uniform rule, but test each value separately when the specification assigns it independent data or when entries can drift independently.
- Check each operation separately. Coverage through quote, parsing, or presentation does not establish policy creation, claim behavior, persistence, or another operation over the same entity.
- For every uncovered cell, add an inactive test or record why an existing test discriminates that cell. Do not create a mechanical Cartesian product when dimensions cannot fail independently.
Use a falsifying counterfactual as the final check: if one explicitly specified entry or rule were removed or changed while neighboring behavior stayed correct, would an inactive test detect it once activated? If not, the list is not complete.
Step 6: Provide Summary
After creating and cross-checking the test list, provide this summary:
Test List Created:
**Feature**: [feature name]
**Test File**: [test file path]
**Tests**: [count]
**Test Cases** (ordered simple -> complex):
1. [first test description]
2. [second test description]
3. [third test description]
...
**Coverage Cross-Check**:
- [independent dimensions reviewed]
- [parallel catalogues or operations checked for omissions]
- [why representative tests are discriminating where exhaustive combinations are unnecessary]
Step 7: Continue the Workflow
Provide the Test List summary, then return control to the invoking workflow. EXACT Coding Predictive TDD predicts and verifies that the inactive list leaves the suite green without creating a method commit.
Important Guidelines
DO
- Cover every spec example with at least one test
- Cover every operation described in the spec
- Give every clarifying question (?) a corresponding test
- Order tests simple -> complex
- Use the project's inactive-test mechanism for all tests
- Include expected values in descriptions
- State rejection and failure outcomes as explicit observable contracts
- Name your chosen reading explicitly when the spec leaves a failure mechanism open
- Keep tests independent
- One behavior per test
- Make the independent-dimensions cross-check visible in the summary
DON'T
- Write executable tests yet
- Think about implementation instead of behavior
- Turn vague words such as
rejectsinto an invented error contract without saying so - Leave a rejection test vague when its observable outcome is known
- Miss an entire operation described in the spec
- Order randomly
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/tdd-test-list-phase-mvg6tye5' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/tdd-test-list-phase-mvg6tye5/download' --output '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md.part' && mv '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md.part' '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md' && test -s '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/test-list' && cp -R '.skill-downloads/tdd-test-list-phase-mvg6tye5' '.claude/skills/test-list'Cursor
test -f '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md' && test -s '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/test-list' && cp -R '.skill-downloads/tdd-test-list-phase-mvg6tye5' '.cursor/skills/test-list'Codex
test -f '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md' && test -s '.skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/test-list' && cp -R '.skill-downloads/tdd-test-list-phase-mvg6tye5' '.agents/skills/test-list'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/tdd-test-list-phase-mvg6tye5'openskills read 'tdd-test-list-phase-mvg6tye5'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/tdd-test-list-phase-mvg6tye5/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
ClickHouse Performance Comparison
Testing
Evaluate ClickHouse performance test results, check PR performance changes, compare with history, and assess whether a result is actionable.
Analyze CI Performance Reports
Testing
Analyze CI performance comparison reports for a ClickHouse PR. Cross-references master history to distinguish real regressions from flaky tests.
Santa Method
Testing
Multi-agent adversarial verification with two independent reviewers. Output is checked twice and iteratively fixed until both pass before shipping.