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

examples.mdskills/patterns/create-service-object/assets/

create-service-object examples

  1. Simple usage from controller
result = AnimalTransfers::TransferService.call(source_shelter_id: 1, target_shelter_id: 2, tag_number: 'ABC-123')
if result[:success]
  render json: result[:response], status: :ok
else
  render json: { error: result[:response][:error][:message] }, status: :unprocessable_entity
end
  1. Orchestrator — early return on sub-service failure
result = UserCreationService.call(params)
return result unless result[:success]

workspace_result = WorkspaceSetupService.call(user_id: result[:response][:user].id)
return workspace_result unless workspace_result[:success]

{ success: true, response: { user: result[:response][:user], workspace: workspace_result[:response][:workspace] } }
  1. Batch — partial success with per-item error tracking
results = items.each_with_object({ successful: [], failed: [] }) do |item, acc|
  process_item(item)
  acc[:successful] << item[:sku]
rescue StandardError => e
  logger.error("Item error: #{e.message}")
  acc[:failed] << { sku: item[:sku], error: e.message }
end
{ success: true, response: results }
  1. Validator usage from a service
def call
  error = PackageValidator.validate(@dimensions)
  return { success: false, response: { error: { message: error } } } if error

  # proceed with business logic
end
  1. Correct error shape
{ success: false, response: { error: { message: 'External API timeout' } } }

skills

README.md

tile.json