codewithbehnam/cc-docs/andrew-kane-gem-writer
- community
Checking that the SKILL.md file is still in the repository.
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on requests like "create a gem", "write a Ruby library", "design a gem API", or mentions of Andrew Kane's style.
Install
npx vskill@latest install codewithbehnam/cc-docs/andrew-kane-gem-writerSKILL.md
The same SKILL.md was published earlier as mikker/dotfiles/andrew-kane-gem-writer.
Andrew Kane Gem Writer
Write Ruby gems following Andrew Kane's battle-tested patterns from 100+ gems with 374M+ downloads (Searchkick, PgHero, Chartkick, Strong Migrations, Lockbox, Ahoy, Blazer, Groupdate, Neighbor, Blind Index).
Core Philosophy
Simplicity over cleverness. Zero or minimal dependencies. Explicit code over metaprogramming. Rails integration without Rails coupling. Every pattern serves production use cases.
Entry Point Structure
Every gem follows this exact pattern in lib/gemname.rb:
Class Macro DSL Pattern
The signature Kane pattern—single method call configures everything:
Rails Integration
Always use `ActiveSupport.on_load`—never require Rails gems directly:
Configuration Pattern
Use class << self with attr_accessor, not Configuration objects:
Error Handling
Simple hierarchy with informative messages:
Testing (Minitest Only)
Gemspec Pattern
Zero runtime dependencies when possible:
Anti-Patterns to Avoid
method_missing(usedefine_methodinstead)- Configuration objects (use class accessors)
@@class_variables(useclass << self)- Requiring Rails gems directly
- Many runtime dependencies
- Committing Gemfile.lock in gems
- RSpec (use Minitest)
- Heavy DSLs (prefer explicit Ruby)
Reference Files
For deeper patterns, see:
- [references/module-organization.md](references/module-organization.md) - Directory layouts, method decomposition
- [references/rails-integration.md](references/rails-integration.md) - Railtie, Engine, on_load patterns
- [references/database-adapters.md](references/database-adapters.md) - Multi-database support patterns
- [references/testing-patterns.md](references/testing-patterns.md) - Multi-version testing, CI setup
- [references/resources.md](references/resources.md) - Links to Kane's repos and articles
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/backend-development/andrew-kane-gem-writer/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/codewithbehnam/cc-docs/andrew-kane-gem-writer)