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
96%
Does it follow best practices?
Impact
95%
1.05xAverage score across 16 eval scenarios
Passed
No known issues
# lib/money.rb
class Money
attr_reader :amount_cents, :currency
def initialize(amount_cents, currency = "USD")
@amount_cents = Integer(amount_cents)
@currency = currency.upcase.freeze
freeze
end
def ==(other)
other.is_a?(Money) && amount_cents == other.amount_cents && currency == other.currency
end
alias eql? ==
def hash
[amount_cents, currency].hash
end
endlib/money.rb# lib/orders/create_order.rb
module Orders
class CreateOrder
Result = Struct.new(:success?, :order, :errors, keyword_init: true)
def self.call(**args) = new(**args).call
def initialize(user:, product_id:, quantity:)
@user, @product_id, @quantity = user, product_id, quantity
end
def call
product = Product.find(@product_id)
order = Order.new(user: @user, product: product, quantity: @quantity)
if order.save
Result.new(success?: true, order: order, errors: [])
else
Result.new(success?: false, order: nil, errors: order.errors)
end
rescue ProductNotFoundError
Result.new(success?: false, order: nil, errors: ["Product not found"])
end
end
endlib/orders/create_order.rbOrder or leaking use-case orchestration.# lib/orders/order_created_event.rb
module Orders
class OrderCreatedEvent
attr_reader :order_id, :occurred_at
def initialize(order_id:)
@order_id = order_id
@occurred_at = Time.now.freeze
end
end
endlib/orders/order_created_event.rb{
"aggregates": [
{
"name": "Order",
"model": "Order",
"repository": "OrderRepository",
"services": ["OrderCreator", "OrderCanceler"],
"events": ["order.created", "order.canceled"],
"owner": "team-orders"
}
],
"bounded_contexts": [
{"name": "Orders", "path": "lib/orders/*", "owner": "team-orders"},
{"name": "Billing", "path": "lib/billing/*", "owner": "team-billing"}
]
}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
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