Curated library of 16 public Ruby AI agent skills covering TDD, refactoring, code review, security review, DDD, YARD documentation, and common design patterns.
94
96%
Does it follow best practices?
Impact
94%
1.13xAverage score across 16 eval scenarios
Advisory
Suggest reviewing before use
{
"context": "Checks whether the final artifact follows the create-service-object instructions from the published Ruby Core Skills plugin.",
"type": "weighted_checklist",
"checklist": [
{
"name": "instruction-1",
"description": "The submitted artifact follows this skill instruction: EVERY service object MUST have its test written and validated BEFORE implementation.",
"max_score": 10
},
{
"name": "instruction-2",
"description": "The submitted artifact follows this skill instruction: Write the spec/test for .call (with contexts for success, error, edge cases)",
"max_score": 10
},
{
"name": "instruction-3",
"description": "The submitted artifact follows this skill instruction: Run the spec/test — verify it fails because the service does not exist yet",
"max_score": 10
},
{
"name": "instruction-4",
"description": "The submitted artifact follows this skill instruction: The final artifact must include the test command and the failure message",
"max_score": 10
},
{
"name": "instruction-5",
"description": "The submitted artifact follows this skill instruction: before implementation. Use the observed failure when available; otherwise show",
"max_score": 10
},
{
"name": "instruction-6",
"description": "The submitted artifact follows this skill instruction: **Write Spec (Test-First):** Create the spec/test file at `spec/services/<module_name>/<service_name>_spec.rb` (or `test/services/`). Cover success and error paths for `.call`. Run it to confirm it fails (see HARD-GATE). Tests must assert `success:` and `response:` top-level keys and the meaningful payload shape.",
"max_score": 10
},
{
"name": "instruction-7",
"description": "The submitted artifact follows this skill instruction: **Define Service Skeleton:** Create `services/<module_name>/<service_name>.rb` with the correct module namespace.",
"max_score": 10
},
{
"name": "instruction-8",
"description": "The submitted artifact follows this skill instruction: **Implement Contract:** Implement `self.call` and `#call`. Response must always be `{ success: true, response: { ... } }` or `{ success: false, response: { error: { message: '...' } } }`. Keep `call` ≤ 20 lines; extract sub-services if longer. Validate inputs at top of `call`; return error hash if invalid. Return serialized data only — no raw persistence model objects (e.g. ActiveRecord, ROM) in `response`.",
"max_score": 10
},
{
"name": "instruction-9",
"description": "The submitted artifact follows this skill instruction: **Handle Errors and Logging:** Catch `StandardError` (and domain exceptions). Log with the application logger (e.g., `logger.error`). Use `UPPER_SNAKE_CASE` constants for all user-facing error strings — never inline in a `rescue`. Never re-raise to caller.",
"max_score": 10
},
{
"name": "instruction-10",
"description": "The submitted artifact follows this skill instruction: **Write Module README:** Generate `services/<module_name>/README.md` explaining domain context. Required even for single-service modules.",
"max_score": 10
}
]
}.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
skills
code-quality
respond-to-review
ddd
define-domain-language
model-domain
review-domain-boundaries
docs
write-yard-docs
orchestration
skill-router
patterns
create-service-object
implement-calculator-pattern
planning
generate-tdd-tasks
process
testing
triage-bug