implement
huggingface/OpenEnv/.claude/skills/implement/SKILL.md
Make tests pass. Invoke after /write-tests produces failing tests.
Skill2.6k starsChanged 6 months ago
--- name: implement description: Make tests pass. Invoke after /write-tests produces failing tests. context: fork agent: implementer --- # /implement Make failing tests pass with minimal code. ## Usage ``` /implement ``` The implementer will automatically find failing tests from the most recent `/write-tests` run. ## When to Use - After `/write-tests` has created failing tests - When you have specific tests that need implementation - Never before tests exist ## When NOT to Use - No failing tests exist (run `/write-tests` first) - You want to add features not covered by tests - You want to refactor (use `/simplify` instead) ## What It Does 1. Finds the failing tests from `/write-tests` 2. Reads tests to understand requirements 3. Writes the **minimum code** to make tests pass 4. Runs tests after each change 5. Stops when ALL tests pass ## Output The implementer agent will produce: ```markdown ## Implementation Complete ### Tests Passed - `test_client_reset_returns_observation` ✓ - `test_client_step_advances_state` ✓ - `test_client_handles_invalid_action` ✓ ### Changes Made | File | Change | |------|--------| | `src/openenv/core/client.py` | Added `reset()` method | | `src/openenv/core/client.py` | Added `step()` method | | `src/openenv/core/client.py` | Added input validation | ### Verification ``` PYTHONPATH=src:envs uv run pytest tests/test_client.py -v All 3 tests passed ``` ### Next Steps - Mark todo as complete - Consider `/simplify` if change was large - Move to next pending todo ``` ## Rules 1. **Read the failing tests first** to understand exactly what's needed 2. **Write the MINIMUM code** needed to pass tests 3. **Run tests after each change** to verify progress 4. **Do NOT add extra features** not covered by tests 5. **Do NOT refactor** existing code (that's `/simplify`'s job) 6. **Stop when all tests pass** ## Anti-patterns (NEVER do these) - Adding features not covered by tests - Refactoring existing code - Writing additional tests (that's `/write-tests`'s job) - Over-engineering solutions - Adding comments or documentation beyond what's necessary - "Improving" code that already works ## Completion Criteria Before returning, verify: 1. ALL tests pass 2. No new test failures introduced 3. Implementation is minimal and focused ## Philosophy The implementer is a "code machine" - it takes test specifications and produces the minimal code to satisfy them. This keeps implementations focused and prevents scope creep. Think of it as TDD's second phase: Red → **Green** → Refactor. You are "Green" - make tests pass, nothing more.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

