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

criteria.jsonevals/scenario-15/

{
  "context": "Tests whether the agent adds complete and correct YARD documentation to a Ruby service class, including class-level summaries, @param, @option tags for hash arguments, @return shapes, @raise for raised exceptions, and English-only text.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Class-level summary",
      "description": "The Billing::SubscriptionBillingService class has a one-line YARD summary comment directly above the class definition",
      "max_score": 8
    },
    {
      "name": "self.call @param",
      "description": "self.call has a @param tag documenting the params argument with its type (e.g. [Hash])",
      "max_score": 8
    },
    {
      "name": "@option for hash keys",
      "description": "self.call uses @option tags (not just @param) to enumerate the valid hash keys: at minimum :plan, :customer_id, and :action",
      "max_score": 12
    },
    {
      "name": "self.call @return",
      "description": "self.call has a @return tag documenting the return shape (Hash with :success and :response keys)",
      "max_score": 10
    },
    {
      "name": "@raise for InvalidPlanError",
      "description": "self.call or call documents @raise [Billing::InvalidPlanError] (or InvalidPlanError) as a possible exception",
      "max_score": 10
    },
    {
      "name": "@raise for PaymentGatewayError",
      "description": "self.call or call documents @raise [Billing::PaymentGatewayError] (or PaymentGatewayError) as a possible exception",
      "max_score": 8
    },
    {
      "name": "supported_plans @return",
      "description": "self.supported_plans has a @return tag documenting its return type (e.g. [Array<String>])",
      "max_score": 8
    },
    {
      "name": "English only",
      "description": "All YARD comment text (summaries, descriptions, tag descriptions) is written in English — no other language used",
      "max_score": 8
    },
    {
      "name": "No logic changes",
      "description": "The Ruby implementation logic is unchanged — only YARD comments were added (the method bodies remain identical to the input)",
      "max_score": 10
    },
    {
      "name": "initialize documented",
      "description": "The initialize method has at least a @param tag for the params argument",
      "max_score": 8
    },
    {
      "name": "@example present",
      "description": "At least one public method (self.call recommended) has a @example tag showing sample usage",
      "max_score": 10
    }
  ]
}

README.md

tile.json