gen-tests

A workflow that creates missing RSpec tests for Rails controllers and services. RSpec is a Ruby testing tool, and request specs test web requests while service specs test application operations.

In plain words
What is it for?
Use it to list or generate tests for untested controllers, services, or one specified Ruby file.
Why use it?
It helps identify source files without matching tests and provides a way to generate those tests instead of writing the initial structure by hand.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/nodealchemy/powernode-platform/gen-tests
Any agent
npx skills add nodealchemy/powernode-platform --skill gen-tests
Clone the repo
git clone --depth 1 https://github.com/nodealchemy/powernode-platform

Made for: Claude Code, Codex.

Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,181 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01181
Opus 5 $0.00000 $0.00590
Sonnet 5 $0.00000 $0.00236
Haiku 4.5 $0.00000 $0.00118

Measured yesterday against content hash b4b070b1af57, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

gen-tests scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/gen-tests/SKILL.md · 148 lines

How it starts

The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/gen-tests — Generate Missing Test Specs

Generate RSpec request specs for untested controllers and service specs for untested services.

Usage

/gen-tests                    # List untested files, prompt for selection
/gen-tests controller         # Generate specs for untested controllers
/gen-tests service            # Generate specs for untested services
/gen-tests path/to/file.rb    # Generate spec for a specific file

Workflow

Step 1: Identify Untested Files

Find controllers/services without corresponding specs:

# Untested controllers
cd server && for f in $(find app/controllers/api/v1 -name '*_controller.rb'); do
  spec="spec/requests/api/v1/$(basename "$f" .rb)_spec.rb"
  [[ ! -f "$spec" ]] && echo "UNTESTED: $f"
done

# Untested services
cd server && for f in $(find app/services -name '*.rb' | grep -v concerns); do
  spec="spec/services/$(echo "$f" | sed 's|app/services/||; s|\.rb$|_spec.rb|')"
  [[ ! -f "$spec" ]] && echo "UNTESTED: $f"
done

Step 2: Read Source & Context

For each file to test, read:

  1. The source file itself (understand methods, params, permissions)
  2. The routes file (config/routes.rb) for endpoint paths
  3. Existing factories in spec/factories/ relevant to the models used
  4. Similar existing specs for pattern reference

Step 2b: Query MCP for Test Patterns (if available)

Before generating specs, query MCP for relevant learnings that may improve spec quality:

  1. platform.query_learnings — query: "<model/service name> test" (e.g., "ai agent test", "subscription service test")
  2. platform.query_learnings — query: "factory <model name>" (e.g., "factory ai_agent", "factory account")

Apply any relevant findings (required factory traits, tricky setup, known assertion patterns) to the spec generation approach.

Graceful degradation: If MCP tools are unavailable or return errors, skip this step and proceed with standard spec generation. MCP is additive, not required.

Step 3: Generate Spec

Read the full file on GitHub · 148 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 148 lines · 0 tokens per session scan A b4b070b1af57

Subscribe to this mod's changes

gen-tests is a skill published in the GitHub repository nodealchemy/powernode-platform (2 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,181 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

good-first-issue-batch

File a batch of contributor-ready GitHub issues from the seeds backlog, re-verifying every candidate against HEAD first so no dead issue reaches a contributor. Activate for prompts like "file some good first issues", "open a batch of GFIs", "publish backlog issues to GitHub", "find contributor-ready work", or after an…

jayminwest/warren · 80 tokens

seeds-issue-audit

Audit and triage open Seeds (sd) issues — find which can be closed, auto-close high-confidence completed ones, and report borderline cases. Activate for prompts like "audit open issues", "which seeds issues can be closed", "clean up the issue tracker", "triage the seeds backlog".

jayminwest/warren · 67 tokens

os-eco-dep-sync

Bump warren onto the latest published @os-eco/ versions across package.json + bun.lock and the Dockerfile CLI pins, then run the gates and open a PR. Use when checking if warren is on the newest burrow/plot/canopy/seeds/mulch/sapling.

jayminwest/warren · 69 tokens

release

Prepare, cut, and verify a warren release — tracker audits, version bump, CHANGELOG curation, ROADMAP update, push, then watch the pipeline through to published artifacts.

jayminwest/warren · 39 tokens

warren-dogfood-pipeline

Full prioritize → dispatch → shepherd → track pipeline against the live warren instance. Audits the seeds backlog around a focus theme, dispatches the surviving issues to warren agents one at a time, babysits the resulting PRs to merge (update-branch, conflict-repair runs, auto-merge), and closes the loop in the…

jayminwest/warren · 116 tokens

canvas

Display HTML content on connected Mayros nodes (Mac app, iOS, Android).

ApiliumCode/mayros · 0 tokens