CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/rails-agent-skills

Curated library of AI agent skills for Ruby on Rails development. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and workflow automation.

98

1.38x
Quality

99%

Does it follow best practices?

Impact

98%

1.38x

Average score across 26 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Evaluation results

100%

57%

Weather Data Pipeline Integration

Layered API client structure

Criteria
Without context
With context

Auth file exists

100%

100%

Client file exists

100%

100%

Fetcher file exists

100%

100%

Builder file exists

100%

100%

Domain entity file exists

100%

100%

Auth self.default

0%

100%

Auth token caching

62%

100%

Client::Error class

0%

100%

Client constants

0%

100%

Fetcher DI constructor

0%

100%

Fetcher constants

0%

100%

Builder attribute filtering

75%

100%

Entity ATTRIBUTES constant

25%

100%

Entity DEFAULT_QUERY constant

0%

100%

README present

100%

100%

100%

15%

Payments Provider API Client

Client error handling and credentials

Criteria
Without context
With context

Auth includes HTTParty

0%

100%

Auth credential validation

100%

100%

No hardcoded credentials

100%

100%

Auth token caching

100%

100%

Client::Error class

100%

100%

HTTP error wrapping

100%

100%

JSON error wrapping

100%

100%

Timeout configured

100%

100%

Missing config raises Client::Error

0%

100%

Retry constant

100%

100%

Spec covers error path

100%

100%

100%

50%

Animal Shelter Data Export

Domain entity and builder patterns

Criteria
Without context
With context

Builder initializer attributes

0%

100%

Builder attribute filtering

70%

100%

Builder response parsing

57%

100%

Entity ATTRIBUTES constant

62%

100%

Entity DEFAULT_QUERY constant

0%

100%

Entity SEARCH_QUERY constant

0%

100%

Entity self.fetcher wiring

0%

100%

sanitize_sql usage

0%

100%

FactoryBot hash factory

90%

100%

Factory in correct directory

100%

100%

ShelterApi module namespace

100%

100%

No raw interpolation in queries

100%

100%

100%

31%

Subscription Cancellation Service

Call pattern and response format

Criteria
Without context
With context

Self.call delegation

100%

100%

Instance call method

100%

100%

Success response key

40%

100%

Success response nesting

0%

100%

Error response key

37%

100%

Error response nesting

0%

100%

File location

100%

100%

Frozen string literal

100%

100%

Module namespace

100%

100%

No raw exceptions returned

100%

100%

98%

42%

Bulk Inventory Import Service

Error handling and input validation

Criteria
Without context
With context

Early input validation

100%

100%

Specific rescue clauses

0%

80%

StandardError rescue

100%

100%

Error logged

0%

100%

Error hash returned

41%

100%

No exception leakage

100%

100%

Partial success response

100%

100%

Frozen string literal

100%

100%

Response format consistency

30%

100%

Backtrace logged for unexpected errors

0%

100%

100%

20%

Animal Transfer Service

Database safety and module structure

Criteria
Without context
With context

Transaction present

100%

100%

Transaction scope correct

60%

100%

SQL sanitization used

100%

100%

No SQL string interpolation

100%

100%

Module namespace

100%

100%

File path correct

100%

100%

README present

100%

100%

Frozen string literal

100%

100%

Response format

0%

100%

Error constants

0%

100%

100%

15%

User Onboarding Orchestration Service

Service decomposition and boundaries

Criteria
Without context
With context

Orchestrator call length

100%

100%

Sub-services extracted

100%

100%

Orchestrator delegates, not implements

100%

100%

No HTTP response returned

100%

100%

Data-only return

100%

100%

Single responsibility

100%

100%

Frozen string literal

0%

100%

File structure

100%

100%

Response format

30%

100%

Error handling

100%

100%

100%

20%

Shipping Cost Calculator Service

Constants, documentation, and class-only services

Criteria
Without context
With context

Error message constants

100%

100%

YARD on self.call

0%

100%

YARD on other public methods

100%

100%

Class-only service used

100%

100%

No instance state in class-only service

100%

100%

README present

100%

100%

Frozen string literal

100%

100%

Response format

0%

100%

Module namespace matches directory

100%

100%

Constants not duplicated inline

100%

100%

100%

Membership Tier Upgrade Service

TDD workflow and test-first discipline

Criteria
Without context
With context

process_log.md exists

100%

100%

Spec content before implementation

100%

100%

Expected failure documented

100%

100%

Test design phase present

100%

100%

Implementation plan before code

100%

100%

No implementation code before spec phase

100%

100%

At least three distinct phases

100%

100%

Spec file exists

100%

100%

Implementation file exists

100%

100%

Spec uses describe/context structure

100%

100%

100%

Fitness Class Booking System

Spec type selection by behavior layer

Criteria
Without context
With context

type: :request used

100%

100%

type: :controller NOT used

100%

100%

Model spec file exists

100%

100%

type: :model used

100%

100%

No system or feature spec

100%

100%

Request spec in spec/requests/

100%

100%

Endpoint URL in describe

100%

100%

Endpoint success case covered

100%

100%

Endpoint failure case covered

100%

100%

Model uniqueness validation tested

100%

100%

100%

3%

User Notification Service Specs

RSpec structure, naming, and file conventions

Criteria
Without context
With context

Spec file at mirrored path

100%

100%

RSpec.describe uses module::class

100%

100%

describe for method

100%

100%

context for scenario variations

100%

100%

let used for test data

100%

100%

No let! for non-setup data

100%

100%

No 'and' in example descriptions

100%

100%

Frozen string literal

100%

100%

Subject defined

62%

100%

let_it_be NOT used

100%

100%

100%

Email Campaign Delivery Service Specs

Factory minimalism and external boundary mocking

Criteria
Without context
With context

Factory attributes minimal

100%

100%

SendgridClient mocked

100%

100%

No real HTTP/email calls

100%

100%

ActiveRecord finders NOT mocked

100%

100%

Factory file exists

100%

100%

SendgridClient failure case tested

100%

100%

RecordNotFound case tested

100%

100%

let used for factory setup

100%

100%

External mock at class method level

100%

100%

Factory attributes match service usage

100%

100%

100%

18%

Subscription Expiry and Protected Endpoint Specs

Shared examples and time-dependent spec patterns

Criteria
Without context
With context

shared_examples defined

100%

100%

shared_examples consumed twice or more

100%

100%

travel_to used

0%

100%

Expiry true at >30 days

100%

100%

Expiry false at <30 days

100%

100%

let_it_be NOT used

100%

100%

Shared examples in spec/support/

100%

100%

403 response asserted in shared behavior

100%

100%

Model spec path correct

100%

100%

100%

21%

Invoice Payment Reminder Jobs

Background job idempotency and retry strategy

Criteria
Without context
With context

Pass ID not object

0%

100%

Load record in perform

0%

100%

Idempotency check present

100%

100%

Side effect after guard

100%

100%

retry_on with attempts

100%

100%

discard_on permanent error

100%

100%

Thin perform — service delegation

62%

100%

Recurring in recurring.yml

100%

100%

Solid Queue adapter

100%

100%

Spec covers idempotency

100%

100%

Spec written for job

100%

100%

100%

18%

Document the Subscription Billing Service

YARD documentation tags and completeness

Criteria
Without context
With context

Class-level summary

100%

100%

self.call @param

100%

100%

@option for hash keys

100%

100%

self.call @return

100%

100%

@raise for InvalidPlanError

0%

100%

@raise for PaymentGatewayError

0%

100%

supported_plans @return

100%

100%

English only

100%

100%

No logic changes

100%

100%

initialize documented

100%

100%

@example present

100%

100%

93%

20%

Add GraphQL Order Management API

GraphQL N+1 prevention, field auth, and mutation error shape

Criteria
Without context
With context

Dataloader for association

0%

30%

Field-level guard on sensitive field

100%

100%

No type-only auth for sensitive field

100%

100%

Mutation returns errors array

100%

100%

Mutation no unhandled raise

87%

100%

Introspection disabled in production

100%

100%

max_depth set

100%

100%

max_complexity set

100%

100%

Dedicated resolver class

100%

100%

Connection type for paginated list

0%

100%

schema.execute in specs

100%

100%

descriptions on fields

0%

100%

100%

64%

Generate Implementation Tasks for User Referral Feature

Task list generation with TDD structure and post-implementation gates

Criteria
Without context
With context

Feature branch task 0.0

0%

100%

TDD write-spec sub-task

40%

100%

TDD run-spec-fail sub-task

0%

100%

TDD implement sub-task

37%

100%

TDD run-spec-pass sub-task

62%

100%

Exact file paths in sub-tasks

10%

100%

Saved in /tasks/ with correct name

100%

100%

YARD post-implementation gate

10%

100%

Documentation update task

62%

100%

Code review gate

90%

100%

Relevant Files section

0%

100%

98%

7%

Create an Audit Logging Rails Engine

Rails engine structure, isolation, and host contract

Criteria
Without context
With context

isolate_namespace used

100%

100%

configure block pattern

100%

100%

Configuration class

100%

100%

Configurable user class

100%

100%

No hard-coded host constant

100%

100%

Migrations not auto-applied

50%

100%

Host contract documented

100%

100%

lib/audit_trail.rb minimal

50%

75%

Dummy app routes mount engine

100%

100%

Model namespaced

100%

100%

Engine type justified

100%

100%

100%

45%

Untangle the Order Processing Controller

Characterization tests and step verification protocol

Criteria
Without context
With context

Stable behavior statement

100%

100%

Characterization tests before refactoring

0%

100%

Characterization tests target current code

0%

100%

Smallest safe sequence proposed

100%

100%

Test run evidence per step

53%

100%

No behavior mixed with structure

100%

100%

Temporary compatibility noted

25%

100%

No forbidden confidence claims

50%

100%

One boundary extracted per step

80%

100%

100%

31%

Shipping Cost Calculator for Parcel Pro

SERVICE_MAP factory dispatch and null object safety

Criteria
Without context
With context

SERVICE_MAP constant

50%

100%

Factory NullService fallback

80%

100%

NullService never raises

100%

100%

Correct file structure

60%

100%

Single entry point API

62%

100%

Concrete overrides should_calculate?

0%

100%

Concrete overrides compute_result

75%

100%

NullService spec context

100%

100%

Variant spec coverage

100%

100%

Frozen string literal

0%

100%

SERVICE_MAP key type consistency

100%

100%

97%

10%

Review the Promotions Feature PR

Review order, severity classification, and critical pattern detection

Criteria
Without context
With context

Correct severity levels used

0%

100%

permit! flagged Critical

100%

100%

N+1 query identified

100%

100%

Missing index flagged

100%

100%

Business logic in controller flagged

100%

100%

Review covers multiple areas

100%

100%

Each finding includes mitigation

100%

90%

Re-review explicitly required

100%

100%

html_safe / raw usage flagged

100%

100%

Severity action prescribed per level

50%

66%

82%

26%

User Account Deletion Feature

PRD structure and content discipline

Criteria
Without context
With context

File saved to /tasks/

0%

0%

Introduction section

0%

100%

Goals section

100%

100%

User Stories section

100%

100%

Functional Requirements section

100%

100%

Non-Goals section

42%

100%

Design and Technical Considerations

42%

100%

Implementation Surface section

0%

100%

Success Metrics section

100%

100%

Open Questions section

100%

100%

No implementation code

100%

100%

What/why focus

62%

100%

Next steps suggestion

0%

0%

100%

12%

Inventory API Collection

REST API collection generation

Criteria
Without context
With context

Postman v2.1 schema

100%

100%

Correct file location

0%

100%

base_url variable used

100%

100%

All endpoints present

100%

100%

HTTP methods correct

100%

100%

Headers included

100%

100%

Body examples for POST/PUT

100%

100%

Syntactically valid JSON

100%

100%

URL path parameters

100%

100%

100%

10%

Document Search Security Audit

Security review methodology and severity classification

Criteria
Without context
With context

Auth/authz reviewed first

0%

100%

Parameter handling reviewed

100%

100%

Query safety reviewed

100%

100%

High severity: SQL injection identified

100%

100%

High severity: missing authz identified

100%

100%

Medium severity finding identified

100%

100%

Attack path per finding

80%

100%

Affected file per finding

100%

100%

Mitigation per finding

100%

100%

Exploitability focus

100%

100%

Secrets and output reviewed

100%

100%

100%

3%

Order Processing Module Architecture Review

Architecture review methodology and severity classification

Criteria
Without context
With context

Entry points identified first

62%

100%

Domain logic layer checked

100%

100%

Models and callbacks inspected

100%

100%

High: business logic in callbacks

100%

100%

High: controller multi-step workflow

100%

100%

Boundary problems prioritised

100%

100%

Medium finding identified

100%

100%

Affected files per finding

100%

100%

Risk described per finding

100%

100%

Improvement per finding

100%

100%

Concerns and helpers checked

100%

100%

100%

7%

Notifications Engine Release Preparation

Engine gem release discipline and CHANGELOG requirements

Criteria
Without context
With context

Version constant updated

100%

100%

CHANGELOG updated

100%

100%

Upgrade notes produced

30%

100%

Semantic version bump correct

100%

100%

Version bump reasoning provided

100%

100%

Gemspec verified

100%

100%

Test suite mentioned

100%

100%

Blockers called out

100%

100%

CHANGELOG entries are specific

100%

100%

No release without CHANGELOG

100%

100%

Evaluated
Agent
Claude
Model
Claude Opus 4.6