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
94%
Does it follow best practices?
Impact
92%
1.33xAverage score across 35 eval scenarios
Passed
No known issues
Use this skill when running Hanami 2.x development commands.
| Command | Purpose |
|---|---|
hanami dev | Start development server with code reloading |
hanami console | Start interactive REPL with full container loaded |
hanami routes | List all routes |
hanami middleware | List middleware stack |
hanami version | Show Hanami version |
Start the development server:
hanami devVerify: Once started, confirm the server is responding:
curl http://localhost:2300A valid HTTP response (even a 404 or 200) confirms the server is running.
Error recovery:
lsof -ti:2300 | xargs kill -9 or change port in config/app.rbconfig/app.rb and config/routes.rb for syntax errorsStart the console:
Before starting, ensure DATABASE_URL is set if your app uses a database:
echo $DATABASE_URLThen start the console:
hanami consoleAccess components directly:
app = Hanami.app
rom = app["db.rom"]
users = rom.relations[:users]
users.insert(email: "test@example.com")Error recovery:
DATABASE_URL is set and database server is runningconfig/providers/ for missing dependencies or configuration issuesUse the console for exploration:
# Query the database
Hanami.app["db.rom"].relations[:users].to_a
# Access a Repository
Hanami.app["repos.user_repo"].all
# Access settings
Hanami.app[:settings].database_url
# Test a Relation query
Hanami.app["relations.users"].active.to_aDevelopment server behavior:
Console environment:
development environment by defaultHANAMI_ENV=test hanami consoleList routes:
hanami routesList middleware:
hanami middlewarehanami dev reloads Ruby code, not configuration. Restart the server after editing config/app.rb or config/routes.rb.DATABASE_URL: The console loads the full app and requires DATABASE_URL to connect. Run echo $DATABASE_URL before starting.HANAMI_ENV before running destructive operations in the console — it defaults to development but is easy to misconfigure.| Related Skill | When to chain |
|---|---|
| create-app | Development commands are used after creating the app. |
| manage-database | Database commands may be needed before starting the dev server. |
docs
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
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
skills
actions
build-json-api
create-action
handle-errors
validate-params
context
load-context
db
create-changeset
create-repository
define-relation
write-migration
dry-monads
handle-result-pattern
dry-rb
create-operation
create-validation-contract
providers
configure-providers
implement-di
review-security
routing
define-routes
slices
configure-slice
create-slice
extract-slice
review-slice-boundaries
test-slice