CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/hanakai-yaku

Curated library of atomic AI agent skills for Hanami, dry-rb, and ROM Ruby development. Covers actions, slices, repositories, relations, changesets, providers, DI, operations, TDD, CLI, views, routing, and validation. Shared Ruby process skills have moved to ruby-core-skills. Uses Markdown + Front-matter architecture.

92

1.33x
Quality

94%

Does it follow best practices?

Impact

92%

1.33x

Average score across 35 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-2/

{
  "context": "Checks whether the final artifact follows the test-slice instructions from the published hanakai-yaku tile.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "instruction-1",
      "description": "The submitted artifact follows this skill instruction: **Goal:** Test a slice's public interface. Never reach into another slice's internals.",
      "max_score": 13
    },
    {
      "name": "instruction-2",
      "description": "The submitted artifact follows this skill instruction: **Isolation:** Load only the slice under test. Mock cross-slice dependencies.",
      "max_score": 13
    },
    {
      "name": "instruction-3",
      "description": "The submitted artifact follows this skill instruction: **Rule:** A slice test must NOT depend on another slice booting.",
      "max_score": 13
    },
    {
      "name": "instruction-4",
      "description": "The submitted artifact follows this skill instruction: Write test → Run test → Verify it FAILS → Implement → Verify it PASSES",
      "max_score": 13
    },
    {
      "name": "instruction-5",
      "description": "The submitted artifact follows this skill instruction: RSpec.describe Api::Actions::Users::Create, :slice do",
      "max_score": 12
    },
    {
      "name": "instruction-6",
      "description": "The submitted artifact follows this skill instruction: RSpec.describe Api::Operations::Users::Create, :slice do",
      "max_score": 12
    },
    {
      "name": "instruction-7",
      "description": "The submitted artifact follows this skill instruction: result = Api::Actions::Users::Create.new.call(params: { email: \"c@example.com\", name: \"Carol\" })",
      "max_score": 12
    },
    {
      "name": "instruction-8",
      "description": "The submitted artifact follows this skill instruction: **Cross-slice testing** — test interactions between slices through their public API only. When a slice boundary must be exercised, stub the public interface or use a shared test helper rather than instantiating the other slice's internals:",
      "max_score": 12
    }
  ]
}

README.md

tile.json