{"enrichment":{"faq":[{"a":"ruby-patterns teaches blocks, procs, and lambdas patterns as core Ruby idioms. The skill covers how to use blocks for iteration and callbacks, understand proc objects and their binding behavior, distinguish lambdas from procs through argument strictness and return semantics, and apply these patterns effectively in Rails and gem development. These foundational constructs underpin much of Ruby's functional programming style.","q":"What does ruby-patterns cover for blocks, procs, and lambdas?"},{"a":"ruby-patterns explains Rails project structure best practices including conventional directory layouts, gem organization, service layer architecture, and concern modules for code reuse. You'll learn how to structure both Rails applications and custom gems following community conventions, organize business logic into services, and use mixins and concerns to keep controllers and models clean and maintainable.","q":"How does ruby-patterns help with Rails project structure?"},{"a":"ruby-patterns covers rails testing with rspec factorybot through comprehensive examples. The skill teaches RSpec fundamentals, mocking and stubbing with doubles, factory setup with FactoryBot, API testing with VCR and WebMock, and integration testing patterns. You'll learn how to write fast, isolated unit tests and realistic integration tests for Rails applications.","q":"What testing strategies does ruby-patterns teach with RSpec?"},{"a":"ruby-patterns teaches ruby error handling rescue exceptions and retry logic backoff exponential strategies. You'll learn custom exception hierarchies, rescue clauses and exception handling patterns, implementing exponential backoff for retries, and designing resilient systems. The skill covers both synchronous error handling and async patterns relevant to background job processing.","q":"How does ruby-patterns address error handling and retry logic?"},{"a":"ruby-patterns covers ruby metaprogramming method_missing, pattern matching ruby 3, and enumerable chaining idioms. You'll explore metaprogramming techniques for dynamic method definition, pattern matching syntax for elegant control flow, advanced enumerable chains for functional data transformation, frozen string literals for performance, and type checking with Sorbet. These advanced features enable elegant, maintainable code.","q":"What advanced Ruby features does ruby-patterns include?"},{"a":"ruby-patterns includes gemfile bundler dependency management and rubocop linting configuration. You'll learn Gemfile syntax, version constraints, bundler workflows, and gem dependency resolution. The skill also covers RuboCop setup for consistent code style, configuration best practices, and integration into development workflows to maintain code quality across teams.","q":"Does ruby-patterns cover dependency management and linting?"}],"shadow_tags":["functional-programming","testing-frameworks","web-framework","type-safety","async-jobs","code-organization","error-resilience","api-integration","design-patterns","dependency-injection"],"summary_rewrite":"Ruby Patterns covers essential idioms and architectural approaches for Rails and Ruby development. Learn blocks, procs, lambdas, modules, metaprogramming techniques, pattern matching, and enumerable chains alongside testing strategies with RSpec, error handling patterns, and project structure conventions for gems and Rails apps."},"files":[{"bytes":9615,"path":"app/skills/ruby-patterns/SKILL.md","sha256":"32e09bd933ecdeb688dbcf535f2e5554f8cb6defe9cbbdc863134047a0a4ed6d","url":"https://skillfed.io/files/softspark/ai-toolkit/ruby-patterns/440da2b9/SKILL.md"}],"id":"softspark/ai-toolkit/ruby-patterns","links":{"html":"https://skillfed.io/softspark/ai-toolkit/ruby-patterns","md":"https://skillfed.io/softspark/ai-toolkit/ruby-patterns.md","repo":"https://github.com/softspark/ai-toolkit"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":21,"language":"Python","last_updated":"2026-07-27","license":"Apache-2.0","name":"ruby-patterns","publisher":"softspark","stars":161},"relations":{"similar":[{"id":"majesticlabs-dev/majestic-marketplace/gem-builder"},{"id":"majesticlabs-dev/majestic-marketplace/gemfile-organize"},{"id":"softspark/ai-toolkit/ruby-rules"},{"id":"miles990/claude-software-skills/ruby"},{"id":"irahardianto/awesome-agv/rails-idioms"},{"id":"personamanagmentlayer/pcl/ruby-expert"},{"id":"el-feo/ai-context/ruby"},{"id":"Goldziher/ai-rulez/ruby-conventions"},{"id":"getsentry/sentry-for-ai/sentry-ruby-sdk"},{"id":"getsentry/sentry-agent-skills/sentry-ruby-sdk"}]},"slug":{"owner":"softspark","repo":"ai-toolkit","skill":"ruby-patterns"},"version":"440da2b9"}
