write-tests

作成者: huggingface

要件から失敗するテストを書く。各TODOに対して/implementの前に呼び出す。

npx skills add https://github.com/huggingface/openenv --skill write-tests

/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)

huggingfaceのその他のスキル

sync-models
huggingface
chat-uiのモデル設定をHuggingFaceルーターと同期させる — 新しいモデルの説明を追加し、推論対応モデルにフラグを立て、32B以上のモデルでアーティファクトを有効化する…
custom-blocks
huggingface
Use when the user has written (or wants to write) a `ModularPipelineBlocks` subclass in a local Python file and needs to package it into a Hub-uploadable…
self-review
huggingface
Use before opening a PR, or whenever asked to self-review a diffusers contribution. Applies the same rubric as the `@claude` CI (checks the diff against…
hf-cloud-sagemaker-production-defaults
huggingface
SageMakerエンドポイント(リアルタイムまたは非同期)を、オートスケーリング、CloudWatchアラーム、タグ付けをデフォルトで有効にして作成します。作成しようとする際には、このスキルを使用してください…
hf-cloud-serving-image-selection
huggingface
SageMakerモデルデプロイに適したサービングコンテナを選択し、その現在のイメージURIを検索します。モデルをデプロイしようとする際には、このスキルを使用してください。
Hugging Face Cli
huggingface
Execute Hugging Face Hub operations using the `hf` CLI. Use when the user needs to download models/datasets/spaces, upload files to Hub repositories, create repos, manage local cache, or run compute jobs on HF infrastructure. Covers authentication, file transfers, repository creation, cache operations, and cloud compute.
Hugging Face Datasets
huggingface
Hugging Face Hub上でデータセットを作成・管理します。リポジトリの初期化、設定やシステムプロンプトの定義、行のストリーミング更新、SQLベースのデータセットクエリや変換をサポートします。包括的なデータセットワークフローのためにHF MCPサーバーと連携して動作するよう設計されています。
Hugging Face Evaluation
huggingface
Hugging Faceのモデルカードに評価結果を追加・管理します。READMEコンテンツからの評価テーブル抽出、Artificial Analysis APIからのスコアインポート、vLLM/lightevalを使用したカスタムモデル評価の実行をサポートします。model-indexメタデータ形式に対応しています。