rune-test

Writes failing tests before implementation and verifies them after using TDD red-green cycles.

1|Updated Mar 22, 2026
One-click install
npx skills add https://github.com/dangvu008/VietTruyen --skill rune-test-dangvu008
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rune-test
Source: https://github.com/dangvu008/VietTruyen/tree/main/.agents/skills/rune-test
Command: npx skills add https://github.com/dangvu008/VietTruyen --skill rune-test-dangvu008

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Teams often write tests after implementation, producing biased tests that confirm existing behavior instead of defining expected behavior. This Skill enforces strict test-driven development: tests are written first, verified to fail (RED), then verified to pass after implementation (GREEN), with vertical slicing so only one test is in flight per cycle. ## Core Features & Use Cases - Framework auto-detection: Identifies Jest, Vitest, pytest, Cargo, Go test, Cypress, or Playwright from config files and follows existing project conventions. - Vertical TDD enforcement: Tracks bulk_test_count, requires paired test/feat commits per cycle, and blocks horizontal slicing where multiple tests are written before the first GREEN. - 4-layer test methodology: Covers unit, integration, true-backend, and E2E/subprocess layers, plus coverage checks (80% minimum), spec-to-test traceability, and eval scenarios for skill behavior testing. - Use Case: When implementing a password reset feature, the Skill writes one failing test for the email-sending behavior, hands off implementation, verifies GREEN, commits the pair, then moves to the next behavior such as rate limiting. ## Quick Start Ask the agent to write TDD tests for the new password reset feature following the project's existing test framework.

Frequently Asked Questions about rune-test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write tests before implementation with TDD?

Write one failing test that defines the expected behavior, run it to confirm it fails (RED), then implement the minimal code to make it pass (GREEN), and commit both as a test/feat pair. Repeat one test at a time rather than batching tests upfront.

How does the skill detect which test framework a project uses?

It scans for config files: jest.config or a jest key in package.json for Jest, vitest.config for Vitest, pytest.ini or pyproject.toml for pytest, Cargo.toml for Rust, *_test.go files for Go, and cypress.config or playwright.config for E2E tools.

What is vertical slicing in TDD and why does it matter?

Vertical slicing means completing one full RED-GREEN-commit cycle before writing the next test. Writing multiple tests upfront produces tests of imagination that verify imagined shapes rather than real behavior learned from prior cycles.

Does pytest support async test functions?

Yes, but pytest-asyncio must be installed and asyncio_mode configured in pyproject.toml. With asyncio_mode set to auto, plain async def test functions work; otherwise each async test needs the @pytest.mark.asyncio decorator to avoid silently passing.

When should I mock dependencies in unit tests?

Mock only at system boundaries you do not own, such as third-party paid APIs or external services. Never mock your own classes, always mock the complete data shape, and keep mock setup shorter than the test logic itself.

Why do tests that pass before implementation exist indicate a problem?

A test passing without implementation means it is not testing real behavior, only mocks or trivial conditions. Such tests must be rewritten stricter so they genuinely fail until the implementation exists.