Curated library of 28 atomic skills and 9 personas for Ruby on Rails development. Organized by category: testing, code-quality, engines, infrastructure, api, context, and personas. Covers code review, architecture, security, testing (RSpec), engines, Hotwire, and TDD automation. Shared Ruby skills (YARD docs, DDD, service objects) have moved to ruby-core-skills.
93
95%
Does it follow best practices?
Impact
93%
1.16xAverage score across 28 eval scenarios
Advisory
Suggest reviewing before use
Every RSpec test file written or modified must satisfy all of the following rules:
app/foo/bar.rb → spec/foo/bar_spec.rb.# frozen_string_literal: true as the first line of every spec file.RSpec.describe uses the full constant path (RSpec.describe Module::Class do), not a string.describe '#method' / describe '.class_method' for each method under test.context 'when ...' / context 'with ...' for scenario variations — never use context to group methods.let for test data, let! ONLY when the object must exist before the action under test.let_it_be unless the project already depends on test-prof (check Gemfile.lock first).subject(:result) { ... } for service / PORO specs invoking .call.travel_to / freeze_time for any time-dependent assertion — never set past Time.now or stub Time.current directly.allow(SomeClient).to receive(:method)); ActiveRecord finders are NEVER mocked.e.g. before the failure message. CRITICAL: Even in static/mock environments without a live Ruby/Rails runtime, you MUST generate and present realistic, concrete terminal execution output under the literal labels Observed RED output and Observed GREEN output. Do NOT copy the exact timing values or example counts verbatim from the skill's reference templates; you MUST generate unique, scenario-specific numbers. Never include disclaimers, assumptions, or notes stating that the tests could not be run or that they are expected/inferred..) representing passing examples, and MUST NOT contain any F (failures) or */U (pending) characters. The number of dots MUST exactly equal the number of examples in the summary. Count them carefully:....................................
Do not add extra spaces, ellipsis, or mismatched dot counts. You MUST present a separate Observed GREEN output block (showing unique passing execution logs) for EACH verification level: (1) the focused spec, (2) the full relevant spec file or directory, and (3) the broader/full test suite.**build / build_stubbed unless persistence is required. Do not hide business-meaningful defaults in the factory.aggregate_failures when one behavior needs several related expectations, and show it in the produced spec when relevant.updated_at unless time is frozen and the timestamp change is the behavior under test.it/specify descriptions contain "and".let! is justified by a must-exist-before-action constraint.travel_to when the original timestamp matters.answer.md documenting which specific assets (e.g. assets/tdd_proof_checklist.md, assets/output_checklist.md) were loaded on-demand and why, to make the process instruction verifiable..tessl-plugin
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
skills
api
generate-api-collection
implement-graphql
code-quality
apply-code-conventions
apply-stack-conventions
assets
snippets
code-review
refactor-code
review-architecture
security-check
context
load-context
setup-environment
engines
create-engine
create-engine-installer
document-engine
extract-engine
release-engine
review-engine
test-engine
upgrade-engine
infrastructure
implement-background-job
implement-hotwire
optimize-performance
review-migration
seed-database
version-api
personas
testing
plan-tests
test-service