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
Use this skill when documenting Ruby classes and public methods with YARD.
Core principle: Every public class and public method has YARD documentation so the contract is clear and tooling can generate API docs.
| Scope | Rule |
|---|---|
| Classes | One-line summary; optional @since if version matters |
| Public methods | All tags required unless explicitly inapplicable: @param, @option (for hash params), @return, @raise |
Public initialize | Add @param for constructor inputs when initialization is part of the public contract |
| Private methods | Document only if behavior is non-obvious; same tag rules |
AFTER IMPLEMENTATION GATE:
After any feature or fix that adds or changes public Ruby API (classes, modules, public methods):
1. Add or update YARD on those surfaces before the work is considered done.
2. All YARD text must be in English unless user explicitly requests otherwise.
Task lists from generate-tasks MUST include explicit YARD sub-tasks after implementation.@param (and @option for hash arguments), @return, and @raise tags.@raise tag, even if the method rescues it internally.yard stats --list-undoc and yard doc to ensure no public surfaces are missing documentation.generate-tasks, add explicit YARD sub-tasks after implementation for every new or changed public Ruby API.# Responsible for validating and executing animal transfers between shelters.
# @since 1.2.0
module AnimalTransfers
class TransferService# Performs the transfer and returns a standardized response.
# @param params [Hash] Transfer parameters
# @option params [Hash] :source_shelter Shelter hash with :shelter_id
# @option params [Hash] :target_shelter Target shelter with :shelter_id
# @return [Hash] Result with :success and :response keys
# @raise [InvalidShelterError] when the shelter does not exist
# @example Basic usage
# result = TransferService.call(source_shelter: { shelter_id: 1 }, target_shelter: { shelter_id: 2 })
# result[:success] # => true
def self.call(params)Load these files only when their specific content is needed:
@param, @return, and @raise tag usage.TODO:, FIXME:).@abstract, @deprecated, @api private, @yield, @overload).When writing or reviewing YARD docs, your output MUST satisfy:
@param (or @option), @return, and @raise tags.@raise Tags — One @raise tag per exception class. Do not group multiple exceptions into a single tag..call methods or complex returns, the @return tag MUST specify the exact structure (e.g., [Hash] Result with :success and :response keys).TODO:, FIXME:, HACK:, NOTE:, OPTIMIZE:) must carry actionable context (owner, ticket, next step). No naked tags.generate-tasks output must include those YARD sub-tasks.| Skill | When to chain |
|---|---|
| create-service-object | After implementing a service object |
| integrate-api-client | Documenting API client layers (Auth, Client, Fetcher, Builder) |
| code-review | Verifying public interfaces are documented |
| generate-tasks | Ensuring task lists include explicit YARD sub-tasks |
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