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-8/

{
  "context": "Tests whether the agent uses Ruby constants for error messages and defaults, writes YARD documentation on public methods, creates class-only (static) services when no instance state is needed, and produces a README for the module.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Error message constants",
      "description": "At least two error messages or default values are defined as Ruby constants (ALL_CAPS names) rather than inline string or numeric literals",
      "max_score": 12
    },
    {
      "name": "YARD on self.call",
      "description": "The `.call` class method has a YARD comment block (starts with `# @param` or `# @return` or `##`)",
      "max_score": 10
    },
    {
      "name": "YARD on other public methods",
      "description": "At least one other public method (besides `.call`) has a YARD comment block",
      "max_score": 8
    },
    {
      "name": "Class-only service used",
      "description": "At least one helper or validator class uses only class methods (no instance variables, no `new`) for stateless operations",
      "max_score": 12
    },
    {
      "name": "No instance state in class-only service",
      "description": "The class-only service does NOT define `initialize`, `attr_reader`, or instance variables",
      "max_score": 10
    },
    {
      "name": "README present",
      "description": "A `README.md` file is created that documents the module's purpose and public interface",
      "max_score": 10
    },
    {
      "name": "Frozen string literal",
      "description": "Every service file begins with `# frozen_string_literal: true`",
      "max_score": 8
    },
    {
      "name": "Response format",
      "description": "The main service returns `{ success: true/false, response: { ... } }` for both success and failure",
      "max_score": 10
    },
    {
      "name": "Module namespace matches directory",
      "description": "Service file is under `app/services/<module>/` and the Ruby module name matches that directory",
      "max_score": 8
    },
    {
      "name": "Constants not duplicated inline",
      "description": "The defined constants are actually used in the code — no same string/number appears as both a constant definition AND a duplicated literal elsewhere in the same file",
      "max_score": 12
    }
  ]
}

README.md

tile.json