Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
rtk-ai avatar

Rtk Tdd

  • 1.2k installs
  • 74.8k repo stars
  • Updated August 3, 2026
  • rtk-ai/rtk

rtk-tdd is a test-driven development skill that applies red-green-refactor TDD practices for backend and API work for developers who want tests to drive service and endpoint design.

About

rtk-tdd is a test-driven development skill from rtk-ai/rtk that applies TDD practices specifically to backend and API work. Listed on skills.sh with 724 installs and rank 7039, rtk-tdd systematizes the red-green-refactor loop so coding agents write failing tests before implementation. Developers reach for rtk-tdd when building REST or RPC endpoints, service layers, or data access code where test coverage should shape the API contract. The skill fits backend engineers who want agents to follow disciplined TDD rather than bolting tests on after implementation.

  • 724 installs
  • TDD workflow for backend code

Rtk Tdd by the numbers

  • 1,230 all-time installs (skills.sh)
  • +50 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #510 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/rtk-ai/rtk --skill rtk-tdd

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.2k
repo stars74.8k
Last updatedAugust 3, 2026
Repositoryrtk-ai/rtk

How do you apply TDD to backend API development?

Applies test-driven development practices for backend and API work.

Who is it for?

Backend developers building APIs or services who want coding agents to follow strict test-driven development from the first failing test.

Skip if: Frontend-only UI work, one-off scripts, or teams that prefer integration tests written after feature completion.

When should I use this skill?

A user starts backend or API work and wants tests written first, or explicitly asks for test-driven development on services or endpoints.

What you get

Failing tests, passing implementation, and refactored backend or API code following TDD discipline.

  • Failing tests
  • Passing backend implementation

By the numbers

  • 724 installs on skills.sh
  • Rank 7039 on skills.sh

Files

SKILL.mdMarkdownGitHub ↗

Rust TDD Workflow

Three Laws of TDD

1. Do NOT write production code without a failing test 2. Write only enough test to fail (including compilation failure) 3. Write only enough production code to pass the failing test

Cycle: RED (test fails) -> GREEN (minimum to pass) -> REFACTOR (cleanup, cargo test)

Red-Green-Refactor Steps

1. Write test in #[cfg(test)] mod tests of the SAME file
2. cargo test MODULE::tests::test_name  -- must FAIL (red)
3. Implement the minimum in the function
4. cargo test MODULE::tests::test_name  -- must PASS (green)
5. Refactor if needed, re-run cargo test (still green)
6. cargo fmt && cargo clippy --all-targets && cargo test  (final gate)

Never skip step 2. If the test passes immediately, it tests nothing.

Idiomatic Rust Test Patterns

PatternUsageWhen
Arrange-Act-AssertBase structure for every testAlways
assert_eq! / assert!Direct comparison / booleansDeterministic values
assert!(result.is_err())Error path testingInvalid inputs
Result<()> return typeTests with ? operatorFallible functions
#[should_panic]Expected panicInvariants, preconditions
tempfile::NamedTempFileFile/I/O testsFilesystem-dependent code

Patterns by Code Type

Code TypeTest PatternExample
Pure function (str -> str)Input literal -> assert outputassert_eq!(truncate("hello", 3), "...")
Parsing/filteringRaw string -> filter -> contains/not-containsassert!(filter(raw).contains("expected"))
Validation/securityBoundary inputs -> assert boolassert!(!is_valid("../etc/passwd"))
Error handlingBad input -> is_err()assert!(parse("garbage").is_err())
Struct/enum roundtripConstruct -> serialize -> deserialize -> eqassert_eq!(from_str(to_str(x)), x)

Naming Convention

test_{function}_{scenario}
test_{function}_{input_type}

Examples: test_truncate_edge_case, test_parse_invalid_input, test_filter_empty_string

When NOT to Use Pure TDD

  • Functions calling Command::new() -> test the parser, not the execution
  • std::process::exit() -> refactor to Result first, then test the Result
  • Direct I/O (SQLite, network) -> use tempfile/mock or test the pure logic separately
  • Main/CLI wiring -> covered by integration/smoke tests

Pre-Commit Gate

cargo fmt --all --check
cargo clippy --all-targets
cargo test

All 3 must pass. No exceptions. No #[allow(...)] without documented justification.

Related skills

How it compares

Pick rtk-tdd when you want TDD discipline specifically for backend and API layers rather than general test generation after the fact.

FAQ

What does rtk-tdd specialize in?

rtk-tdd applies test-driven development practices to backend and API work. The skill guides coding agents through red-green-refactor cycles where failing tests are written before service or endpoint implementation.

How popular is rtk-tdd on skills.sh?

rtk-tdd from rtk-ai/rtk shows 724 installs on skills.sh with rank 7039. It is listed as a well-known community skill for backend TDD workflows.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.