vict00r99/rune-stone/rune-test-generator
Claude Code and agent skill by vict00r99/rune-stone
- community
Checking that the SKILL.md file is still in the repository.
Generate complete, runnable test files from RUNE specifications. Use when given a RUNE spec and needing test code in any language and framework (pytest, Jest, Vitest, Go testing, Rust, JUnit, RSpec, etc.).
Install
npx vskill@latest install vict00r99/rune-stone/rune-test-generatorSKILL.md
How to Use
When given a RUNE spec (.rune file or Markdown section), generate a complete test file for the target language's testing framework.
Input: a RUNE spec + target language/framework (or auto-detect from project). Output: a complete, runnable test file.
Framework Detection
Auto-detect the testing framework from project files when possible. Common examples:
| Signal | Framework | |
|---|---|---|
pytest.ini, pyproject.toml with [tool.pytest] | pytest (Python) | |
jest.config.* | Jest (JS/TS) | |
vitest.config.* | Vitest (JS/TS) | |
go.mod | Go testing | |
Cargo.toml | Rust #[test] | |
pom.xml, build.gradle | JUnit (Java/Kotlin) | |
Package.swift | XCTest (Swift) | |
mix.exs | ExUnit (Elixir) | |
*.cabal, stack.yaml | Hspec/HUnit (Haskell) | |
composer.json | PHPUnit (PHP) | |
Gemfile | RSpec/Minitest (Ruby) | |
.csproj | xUnit/NUnit (C#) |
This list is not exhaustive. Any language with a testing framework is supported — adapt the output to the framework's conventions. If unclear, ask the user.
Process
Step 1: Parse the Spec
Extract from the RUNE spec:
- Function name from SIGNATURE
- Parameters and types from SIGNATURE
- Test cases from TESTS section
- Edge cases from EDGE_CASES section
- Constraints from CONSTRAINTS section (for fixture data)
- Error types from BEHAVIOR (for exception/error assertions)
Step 2: Expand [...] into Fixtures
The [...] notation in RUNE tests is shorthand for "representative data matching CONSTRAINTS." Expand it into concrete test fixtures using the target language's idioms.
From spec:
Python (pytest):
Go:
TypeScript (Jest):
Rules for expanding [...]:
- Read CONSTRAINTS to understand the data structure
- Read EDGE_CASES to include boundary data
- Create minimal fixtures — only the data needed for the tests
- Name fixtures descriptively
- Include comments explaining why each item exists
Step 3: Generate Test Functions
Convert each pseudo-assertion into a test function using the target framework.
From spec:
Python (pytest):
TypeScript (Jest):
Go:
Rust:
Step 4: Organize Test Structure
Group tests by category using the target framework's grouping mechanism:
- pytest: comments or classes
- Jest/Vitest:
describe()blocks - Go: subtests with
t.Run() - Rust:
mod testswith named functions - JUnit:
@Nestedclasses - RSpec:
contextblocks - ExUnit:
describeblocks
Step 5: Add EDGE_CASE Tests
If the spec has EDGE_CASES, generate additional tests for each. Skip edge case tests that duplicate existing tests from the TESTS section.
Output Format
Generate a complete file with:
- Imports — framework imports + function import
- Fixtures — expanded
[...]data - Test functions — grouped by category
- File header — comment referencing the source spec
Follow the target language's naming convention for test files and functions.
Rules
- Generate ONLY test code, not the implementation
- Every test must be independently runnable
- Use the exact error messages from BEHAVIOR for exception/error matching
- Import path should match the project's module structure — ask the user if unclear
- Do not skip any test from the TESTS section
- Do not invent tests beyond what the spec defines (unless EDGE_CASES suggest them)
- Floating point comparisons: use the framework's approximate comparison (pytest.approx, closeTo, delta, etc.)
- Adapt error assertion style to the language: exceptions (Python/Java/TS), error returns (Go), Result type (Rust), pattern match (Elixir/Haskell)
- Any language with a testing framework is supported — follow its conventions
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/rune-test-generator/SKILL.md
Popularity
- Repository stars
- 58
- Repository forks
- 10
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/vict00r99/rune-stone/rune-test-generator)