Curated library of 41 public AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, and orchestration. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation. Repository workflows remain documented in GitHub but are intentionally excluded from the Tessl tile.
95
93%
Does it follow best practices?
Impact
96%
1.77xAverage score across 41 eval scenarios
Passed
No known issues
Extended patterns for this skill. Read SKILL.md first.
"When a customer books a vehicle, the system should create a hold so fleet managers can confirm the reservation before it expires. The booking service currently calls
HoldServicebut the controller isReservationsControllerand the model isBooking."
Terms spotted: books, hold, reservation, booking, Booking (model), ReservationsController, HoldService.
A Rails app has Booking (model), ReservationsController, and HoldService all referring to the same concept. The resulting glossary resolves it:
| Canonical term | Aliases | Definition | Invariant | Context |
|---|---|---|---|---|
| Reservation | Booking, Hold | A customer claim on an inventory slot for a future date | Must expire or be confirmed within 24h | Fleet Booking |
Open questions: Does "Hold" ever refer to a separate short-lived state before a Reservation is created, or is it always the same concept? If separate, it needs its own entry.
Once the glossary is agreed, rename code toward the canonical term incrementally — do not rename all 50 call sites in one PR.
| Mistake | Reality |
|---|---|
| Keeping every synonym alive forever | Pick one preferred business term or the codebase stays muddy |
| Using technical class names as domain truth | Domain language comes from the business, not from current code accidents |
| Jumping to aggregates before agreeing on words | Overloaded terms produce bad boundaries and bad models |
| One term meaning different things in different screens | Flag it early — it usually signals multiple bounded contexts |
docs
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
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
mcp_server
skills
api
generate-api-collection
implement-graphql
code-quality
apply-code-conventions
apply-stack-conventions
assets
snippets
code-review
refactor-code
respond-to-review
review-architecture
security-check
context
load-context
setup-environment
ddd
define-domain-language
model-domain
review-domain-boundaries
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
orchestration
skill-router
patterns
create-service-object
implement-calculator-pattern
write-yard-docs
planning
create-prd
generate-tasks
plan-tickets
testing
plan-tests
test-service
triage-bug
write-tests
workflows