CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/rails-agent-skills

Curated library of 39 AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, orchestration, and workflows. Includes 5 callable workflow skills (rails-tdd-loop, rails-review-flow, rails-setup-flow, rails-quality-flow, rails-engines-flow) for complete development cycles. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation.

95

1.20x
Quality

98%

Does it follow best practices?

Impact

95%

1.20x

Average score across 35 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-17/

{
  "context": "Tests whether the agent produces a Rails PR review that applies the correct severity levels (Critical/Suggestion/Nice to have), identifies specific high-risk patterns, follows the defined review area order, and explicitly mandates re-review after Critical findings are fixed.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Correct severity levels used",
      "description": "The review uses exactly the three severity labels Critical, Suggestion, and Nice to have — not custom labels like 'Minor', 'Major', 'Warning', 'Error', or others",
      "max_score": 10
    },
    {
      "name": "permit! flagged Critical",
      "description": "The review identifies the params.require(...).permit! call and assigns it Critical severity",
      "max_score": 14
    },
    {
      "name": "N+1 query identified",
      "description": "The review identifies the N+1 query pattern (loading an association inside a loop without eager loading) and reports it as a finding",
      "max_score": 12
    },
    {
      "name": "Missing index flagged",
      "description": "The review identifies the missing database index on the foreign key column and reports it as a finding",
      "max_score": 10
    },
    {
      "name": "Business logic in controller flagged",
      "description": "The review identifies inline business logic in the controller action (pricing, calculation, or workflow logic) and flags it as a convention violation",
      "max_score": 10
    },
    {
      "name": "Review covers multiple areas",
      "description": "The review explicitly addresses at least four distinct review areas (e.g. Controllers, Queries, Migrations, Security) — not just a flat list of issues without area attribution",
      "max_score": 8
    },
    {
      "name": "Each finding includes mitigation",
      "description": "Every finding in the review includes a concrete remediation suggestion (not just an identification of the problem)",
      "max_score": 10
    },
    {
      "name": "Re-review explicitly required",
      "description": "The review explicitly states that a re-review is required after the Critical findings are addressed — not just 'please fix' but a statement that the reviewer expects to see the diff again",
      "max_score": 12
    },
    {
      "name": "html_safe / raw usage flagged",
      "description": "The review identifies the unsafe use of html_safe or raw on user-supplied content and reports it as a finding (Critical or Suggestion)",
      "max_score": 8
    },
    {
      "name": "Severity action prescribed per level",
      "description": "For each severity level used, the review communicates the required action: Critical items must be fixed before merge, Suggestion items fixed or ticketed, Nice to have items optional",
      "max_score": 6
    }
  ]
}

README.md

tile.json