CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/ruby-core-skills

Curated library of 16 public Ruby AI agent skills: 10 atomic skills (YARD docs, service objects, calculator pattern, API clients, DDD, bug triage, code review, skill routing), 5 process-discipline skills (TDD, refactoring, review, security, test planning), and 1 planning skill (TDD task generation). Zero agents — this is a foundational library consumed by framework-specific tiles like rails-agent-skills and hanakai-yaku.

95

1.05x
Quality

96%

Does it follow best practices?

Impact

95%

1.05x

Average score across 16 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-16/

{
  "context": "Checks whether the final artifact follows the create-service-object instructions from the published Ruby Core Skills tile.",
  "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 under the testing directory (e.g. `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).",
      "max_score": 10
    },
    {
      "name": "instruction-7",
      "description": "The submitted artifact follows this skill instruction: **Define Service Skeleton:** Create the file under the service directory (e.g., `services/<module_name>/<service_name>.rb` or `lib/services/`) 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`. The response must always be `{ success: true, response: { ... } }` or `{ success: false, response: { error: { message: '...' } } }`.",
      "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.",
      "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
    }
  ]
}

README.md

tile.json