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

{
  "context": "Tests whether the agent uses shared_examples for the repeated authorization behavior across three endpoints, uses travel_to for the time-dependent expiry assertions, and avoids let_it_be in a project without test-prof.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "shared_examples defined",
      "description": "RSpec.shared_examples is used to define the shared subscription authorization behavior",
      "max_score": 18
    },
    {
      "name": "shared_examples consumed twice or more",
      "description": "it_behaves_like or include_examples referencing the shared behavior is invoked at least twice — covering at least 2 of the 3 endpoints",
      "max_score": 12
    },
    {
      "name": "travel_to used",
      "description": "travel_to is used in the subscription expiry spec to control the current time during assertions",
      "max_score": 18
    },
    {
      "name": "Expiry true at >30 days",
      "description": "At least one example asserts that expired? returns true when activated_at is more than 30 days in the past",
      "max_score": 10
    },
    {
      "name": "Expiry false at <30 days",
      "description": "At least one example asserts that expired? returns false when activated_at is fewer than 30 days in the past",
      "max_score": 8
    },
    {
      "name": "let_it_be NOT used",
      "description": "let_it_be does NOT appear in any spec file (test-prof is not available in this project)",
      "max_score": 14
    },
    {
      "name": "Shared examples in spec/support/",
      "description": "The shared_examples definition is in a file under spec/support/ rather than inline in an endpoint spec file",
      "max_score": 8
    },
    {
      "name": "403 response asserted in shared behavior",
      "description": "The shared examples include an assertion that a user without a subscription receives a 403 HTTP status",
      "max_score": 7
    },
    {
      "name": "Model spec path correct",
      "description": "The subscription expiry spec is placed at spec/models/subscription_spec.rb (or equivalent mirrored path)",
      "max_score": 5
    }
  ]
}

README.md

tile.json