huggingface/openenv · Archived

write-tests

Write failing tests from requirements. Invoke for each todo before /implement.

First seen Jul 8, 2026

Installation

$ npx skills add huggingface/openenv --skill write-tests

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from huggingface/openenv · top by installs.

npx skills add huggingface/openenv

Browse all from huggingface/openenv

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 2.5K
License LICENSE
Default branch main
Open issues 46
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,262 B
  • docs SUMMARY.md 97 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

/write-tests

Write failing tests that encode acceptance criteria.

Usage

/write-tests
/write-tests Add logout button to header

When to Use

  • After creating a todo that requires implementation
  • Before running /implement
  • When you have clear acceptance criteria

When NOT to Use

  • Implementation already exists (tests would pass immediately)
  • You're exploring or prototyping (not TDD mode)
  • Just adding to existing test coverage

What It Does

  1. Analyzes the current todo/requirement
  2. Reads existing tests to understand patterns
  3. Writes test files that verify acceptance criteria
  4. Verifies tests FAIL (proves they test something real)
  5. Returns test file paths for /implement

Output

The tester agent will produce:

## Tests Written

### Files Created/Modified
- `tests/test_client.py`

### Tests Added
| Test | Verifies |
|------|----------|
| `test_client_reset_returns_observation` | Reset returns valid observation |
| `test_client_step_advances_state` | Step mutates state correctly |
| `test_client_handles_invalid_action` | Error handling for bad input |

### Verification
All tests FAIL as expected (no implementation yet).

### Next Step
Run `/implement` to make these tests pass.

Rules

  1. Read existing tests first to understand patterns and conventions
  2. Test behavior, not implementation - write from user's perspective
  3. Integration tests first, then unit tests if needed
  4. Each test verifies ONE thing clearly
  5. Run tests to verify they fail before returning

Anti-patterns (NEVER do these)

  • Writing tests that pass without implementation
  • Testing implementation details instead of behavior
  • Writing overly complex test setups
  • Adding implementation code (that's /implement's job)
  • Writing tests that duplicate existing coverage

Completion Criteria

Before returning, verify:

  1. Tests compile/run successfully (pytest can collect them)
  2. Tests FAIL (no implementation yet)
  3. Test names clearly describe what they verify
  4. Tests follow existing project patterns (see tests/ for examples)