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

{
  "context": "Tests whether the agent produces a Postman-compatible API collection for a set of Rails REST endpoints, following the api-rest-collection skill: correct format version, file location, use of base_url variable, complete endpoint coverage, and valid JSON.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Postman v2.1 schema",
      "description": "The collection JSON includes a 'info' object with a 'schema' field containing the Postman Collection v2.1 schema URL (postman.com/schemas/collection/v2.1.0/collection.json)",
      "max_score": 12
    },
    {
      "name": "Correct file location",
      "description": "The collection file is saved at docs/api-collections/<name>.json OR spec/fixtures/api-collections/<name>.json — NOT in any other location",
      "max_score": 12
    },
    {
      "name": "base_url variable used",
      "description": "Every request URL in the collection uses {{base_url}} as the host/base rather than a hardcoded URL or hostname",
      "max_score": 12
    },
    {
      "name": "All endpoints present",
      "description": "The collection contains a request entry for every endpoint defined in the provided routes/controller code — no endpoint is omitted",
      "max_score": 12
    },
    {
      "name": "HTTP methods correct",
      "description": "Each request entry specifies the correct HTTP method (GET, POST, PUT/PATCH, DELETE) matching the route definition",
      "max_score": 10
    },
    {
      "name": "Headers included",
      "description": "Each request entry includes at least one header (e.g. Content-Type, Authorization, or Accept)",
      "max_score": 10
    },
    {
      "name": "Body examples for POST/PUT",
      "description": "Requests using POST or PUT/PATCH include a body example with representative field values",
      "max_score": 10
    },
    {
      "name": "Syntactically valid JSON",
      "description": "The collection file is valid JSON (no trailing commas, unmatched brackets, or syntax errors)",
      "max_score": 12
    },
    {
      "name": "URL path parameters",
      "description": "Requests with path parameters (e.g. /orders/:id) use the Postman path variable syntax (:id or {{id}}) rather than hardcoded example IDs",
      "max_score": 10
    }
  ]
}

README.md

tile.json