Applies 45 community Ruby refactoring rules across 8 categories to simplify conditionals, extract methods, reduce coupling, and adopt idioms for better design and maintainability.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
Comprehensive refactoring guide for Ruby applications, maintained by the community. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Comprehensive refactoring guide for Ruby applications, maintained by the community. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Structure & Decomposition | CRITICAL | struct- |
| 2 | Conditional Simplification | CRITICAL | cond- |
| 3 | Coupling & Dependencies | HIGH | couple- |
| 4 | Ruby Idioms | HIGH | idiom- |
| 5 | Data & Value Objects | MEDIUM-HIGH | data- |
| 6 | Design Patterns | MEDIUM | pattern- |
| 7 | Modern Ruby 3.x | MEDIUM | modern- |
| 8 | Naming & Readability | LOW-MEDIUM | name- |
struct-extract-method - Extract Long Methods into Focused Unitsstruct-extract-class - Extract Class for Single Responsibilitystruct-parameter-object - Introduce Parameter Object for Long Signaturesstruct-compose-method - Compose Methods at Single Abstraction Levelstruct-replace-method-with-object - Replace Complex Method with Method Objectstruct-single-responsibility - One Reason to Change per Classstruct-flatten-deep-nesting - Flatten Deep Nesting with Early Extractioncond-guard-clauses - Replace Nested Conditionals with Guard Clausescond-decompose-conditional - Extract Complex Booleans into Named Predicatescond-replace-with-polymorphism - Replace case/when with Polymorphismcond-null-object - Replace nil Checks with Null Objectcond-pattern-matching - Use Pattern Matching for Structural Conditionscond-consolidate-duplicates - Consolidate Duplicate Conditional Fragmentscouple-law-of-demeter - Enforce Law of Demeter with Delegationcouple-feature-envy - Move Method to Resolve Feature Envycouple-dependency-injection - Inject Dependencies via Constructor Defaultscouple-composition-over-inheritance - Replace Mixin with Composed Objectcouple-tell-dont-ask - Tell Objects What to Do, Don't Query Their Statecouple-avoid-class-methods-domain - Avoid Class Methods in Domain Logicidiom-prefer-enumerable - Use map/select/reject Over each with Accumulatoridiom-keyword-arguments - Use Keyword Arguments for Clarityidiom-duck-typing - Use respond_to? Over is_a? for Type Checkingidiom-predicate-methods - Name Boolean Methods with ? Suffixidiom-respond-to-missing - Always Pair method_missing with respond_to_missing?idiom-block-yield - Use yield Over block.call for Simple Blocksidiom-implicit-return - Omit Explicit return for Last Expressiondata-value-object - Replace Primitive Obsession with Value Objectsdata-define-immutable - Use Data.define for Immutable Value Objectsdata-encapsulate-collection - Encapsulate Collections Behind Domain Methodsdata-replace-data-clump - Replace Data Clumps with Grouped Objectsdata-separate-query-command - Separate Query Methods from Command Methodspattern-strategy - Extract Algorithm Variations into Strategy Objectspattern-factory - Use Factory Method to Abstract Object Creationpattern-template-method - Define Algorithm Skeleton with Template Methodpattern-decorator - Wrap Objects with Decorator for Added Behaviorpattern-null-object-protocol - Implement Null Object with Full Protocolmodern-pattern-matching - Use case/in for Structural Pattern Matchingmodern-deconstruct-keys - Implement deconstruct_keys for Custom Pattern Matchingmodern-endless-methods - Use Endless Method Definition for Simple Methodsmodern-hash-pattern-guard - Use Pattern Matching with Guard Clausesmodern-rightward-assignment - Use Rightward Assignment for Pipeline Expressionsname-intention-revealing - Use Intention-Revealing Namesname-consistent-vocabulary - Use One Word per Concept Across Codebasename-avoid-abbreviations - Spell Out Names Except Universal Abbreviationsname-rename-to-remove-comments - Rename to Eliminate Need for CommentsRead individual reference files for detailed explanations and code examples:
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |