smithery/SDiamante13

srp

Refactor a class toward the Single Responsibility Principle by identifying responsibilities, grouping cohesive behavior, and extracting focused classes. Use when the user says `/srp`, asks for SRP refactoring, or runs `/refactor:srp`.

Installation

$ npx skills add smithery/SDiamante13 --skill refactorsrp

Also in this package

Other skills from smithery/SDiamante13.

npx skills add smithery/SDiamante13

Browse all from smithery/SDiamante13

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

More metadata
legacy-name
refactor:srp

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,299 B
  • docs SUMMARY.md 23 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Refactor the class provided in $ARGUMENTS to adhere to the Single Responsibility Principle by extracting classes and simplifying the design.

Instructions:

  1. Identify all responsibilities within the given class
  2. Group related methods and properties by their cohesive purpose
  3. Extract each responsibility into its own focused class
  4. Consider alternative, simpler designs that make future changes easier
  5. Ensure each resulting class has only one reason to change

Analysis approach:

  • Identify responsibilities by:

- Methods that serve different actors/users - Distinct areas of functionality - Different reasons for change - Unrelated data and behavior groupings - Infrastructure vs domain logic separation - I/O operations vs business logic

Common responsibility patterns to separate:

  • Data persistence/storage from business logic
  • Validation logic from core behavior
  • Formatting/presentation from domain logic
  • External service communication from internal logic
  • Configuration from implementation
  • Factory/creation logic from usage
  • Orchestration/coordination from execution
  • Logging/metrics from business operations

Output format:

  1. Current responsibilities: List each identified responsibility with supporting methods/properties
  2. Proposed class structure:

- Name and purpose of each extracted class - Methods and properties it would contain - Clear single responsibility statement

  1. Refactored design: Show the transformed code structure
  2. Alternative designs: Present 1-2 simpler alternatives if applicable
  3. Benefits: Explain how each extraction improves:

- Testability - Maintainability - Flexibility for change - Code clarity

Design principles to apply:

  • Prefer composition over inheritance
  • Keep classes small and focused
  • High cohesion within classes
  • Low coupling between classes
  • Clear, single purpose for each class
  • Consider using interfaces for flexibility