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

{
  "context": "Tests whether the agent follows the rails-engine-release skill when preparing a Rails engine gem for release: updating CHANGELOG and version constant before anything else, applying semantic versioning correctly, following the release order, and producing all required output artifacts.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Version constant updated",
      "description": "The version file (lib/<engine>/version.rb or equivalent) has its VERSION constant updated to the new version number",
      "max_score": 10
    },
    {
      "name": "CHANGELOG updated",
      "description": "The CHANGELOG.md file is updated with entries for the new release (new version header and list of changes)",
      "max_score": 12
    },
    {
      "name": "Upgrade notes produced",
      "description": "Upgrade notes are drafted — either as a separate file or as a section in the output — describing what consumers need to do when upgrading",
      "max_score": 10
    },
    {
      "name": "Semantic version bump correct",
      "description": "The version bump type (patch/minor/major) matches the nature of the changes: patch for bug fixes only, minor for new backward-compatible features, major for breaking changes",
      "max_score": 12
    },
    {
      "name": "Version bump reasoning provided",
      "description": "The output explicitly states WHY this version bump level was chosen (e.g. 'minor because new feature X was added without breaking the existing API')",
      "max_score": 10
    },
    {
      "name": "Gemspec verified",
      "description": "The agent checks or mentions verifying gemspec metadata (authors, description, files, dependencies) as part of the release process",
      "max_score": 8
    },
    {
      "name": "Test suite mentioned",
      "description": "The agent mentions running or confirms that the full test suite passes as a step in the release process",
      "max_score": 8
    },
    {
      "name": "Blockers called out",
      "description": "The output explicitly calls out any blockers or open items that would prevent a clean release (or states there are none)",
      "max_score": 8
    },
    {
      "name": "CHANGELOG entries are specific",
      "description": "The CHANGELOG entries describe specific changes (feature names, bug descriptions) rather than generic placeholder text like 'various improvements'",
      "max_score": 10
    },
    {
      "name": "No release without CHANGELOG",
      "description": "The agent does NOT proceed to gem build or publish steps until both the CHANGELOG and version file have been updated",
      "max_score": 12
    }
  ]
}

README.md

tile.json