Curated library of 28 atomic skills and 9 personas for Ruby on Rails development. Organized by category: testing, code-quality, engines, infrastructure, api, context, and personas. Covers code review, architecture, security, testing (RSpec), engines, Hotwire, and TDD automation. Shared Ruby skills (YARD docs, DDD, service objects) have moved to ruby-core-skills.
93
95%
Does it follow best practices?
Impact
93%
1.16xAverage score across 28 eval scenarios
Advisory
Suggest reviewing before use
{
"context": "Checks whether the final artifact follows the implement-graphql instructions from the published Rails Agent Skills plugin.",
"type": "weighted_checklist",
"checklist": [
{
"name": "instruction-1",
"description": "The submitted artifact follows this skill instruction: Use this skill when **designing, implementing, or reviewing GraphQL APIs** in a Rails application with the `graphql-ruby` gem.",
"max_score": 13
},
{
"name": "instruction-2",
"description": "The submitted artifact follows this skill instruction: **SPEC:** Write failing spec (happy path + auth + validation error case) — see [TESTING.md](./TESTING.md). Use `AppSchema.execute` in `spec/graphql/`. Never use HTTP controller dispatch for GraphQL specs.",
"max_score": 13
},
{
"name": "instruction-3",
"description": "The submitted artifact follows this skill instruction: **TYPE:** Define arguments and return types. Use `connection_type` for pagination shapes. Do not leak internal model names.",
"max_score": 13
},
{
"name": "instruction-4",
"description": "The submitted artifact follows this skill instruction: **IMPLEMENT:** Create resolver/mutation class delegating to a service object. Use dedicated classes instead of inline field blocks.",
"max_score": 13
},
{
"name": "instruction-5",
"description": "The submitted artifact follows this skill instruction: **N+1 CHECK:** Use dataloader on every association load. For list resolvers, prime the dataloader with the records returned by the relation before fields resolve associated objects. Use `bullet` and `db-query-matchers` in specs.",
"max_score": 12
},
{
"name": "instruction-6",
"description": "The submitted artifact follows this skill instruction: **FINAL CHECK:** Verify every item in the HARD-GATE checklist below. Ensure mutations return `{ result, errors }` shapes on failure.",
"max_score": 12
},
{
"name": "instruction-7",
"description": "The submitted artifact follows this skill instruction: Before shipping a resolver/mutation slice, ALL of the following must be confirmed:",
"max_score": 12
},
{
"name": "instruction-8",
"description": "The submitted artifact follows this skill instruction: Load these files only when their specific content is needed:",
"max_score": 12
}
]
}.tessl-plugin
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
skills
api
generate-api-collection
implement-graphql
code-quality
apply-code-conventions
apply-stack-conventions
assets
snippets
code-review
refactor-code
review-architecture
security-check
context
load-context
setup-environment
engines
create-engine
create-engine-installer
document-engine
extract-engine
release-engine
review-engine
test-engine
upgrade-engine
infrastructure
implement-background-job
implement-hotwire
optimize-performance
review-migration
seed-database
version-api
personas
testing
plan-tests
test-service