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
Purpose: Comprehensive reference skeleton showing all conventions. Use template.rb for the minimal bootstrap.
# frozen_string_literal: true
module ModuleName
class ServiceName
PROCESSING_FAILED = 'Processing could not be completed'
# @param params [Hash] :required_key
# @return [Hash] { success: Boolean, response: Hash }
def self.call(params)
new(params).call
end
def initialize(params)
@required_key = params[:required_key]
end
# @return [Hash] { success: Boolean, response: Hash }
def call
return { success: false, response: { error: { message: 'Missing required_key' } } } if @required_key.nil? || @required_key.to_s.empty?
result = database.transaction do
# multi-step DB operations
end
{ success: true, response: { record: result } }
rescue ValidationError => e
logger.error("Validation Error: #{e.message}")
logger.error(e.backtrace.join("\n"))
{ success: false, response: { error: { message: e.message } } }
rescue StandardError => e
logger.error("Processing Error: #{e.message}")
logger.error(e.backtrace.join("\n"))
{ success: false, response: { error: { message: PROCESSING_FAILED } } }
end
end
endcall, no rescue)# frozen_string_literal: true
module ModuleName
class OrchestratorName
# @param params [Hash]
# @return [Hash] { success: Boolean, response: Hash }
def self.call(params)
new(params).call
end
def initialize(params)
@params = params
end
# @return [Hash] { success: Boolean, response: Hash }
def call
step1_result = Step1Service.call(@params)
return step1_result unless step1_result[:success]
step2_result = Step2Service.call(step1_result[:response])
return step2_result unless step2_result[:success]
{ success: true, response: step2_result[:response] }
end
end
end# frozen_string_literal: true
class ValidatorName
RULE = 'Description of the rule'
# @param input [Hash]
# @return [nil, String] nil if valid, error message otherwise
def self.validate(input)
return RULE if input[:field].nil? || input[:field].to_s.empty?
nil
end
enddocs
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