modelscope.cn

code-refactor

Refactor toward pure functions, immutability, composition. Use when extracting pure functions, removing side effects, replacing loops with map/filter/reduce, or separating I/O.

Installation

$ npx skills add https://modelscope.cn

Also in this package

Other skills from modelscope.cn · top by installs.

npx skills add https://modelscope.cn

Browse all from modelscope.cn

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.

Allowed toolsTask, TodoWrite

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,472 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

When to Use This Skill

Use this skill when... Use something else when...
A file or directory has mixed side effects and business logic Deduplicating code across files → /code:dry-consolidation
Functions mutate state or parameters Detecting code smells without fixing → /code:antipatterns
Business logic is tangled with I/O or logging Reviewing overall quality and architecture → /code:review
Imperative loops can be replaced with map/filter/reduce Large multi-phase refactor spanning 10+ files → /workflow:checkpoint-refactor
Deep nesting obscures intent

Context

  • Target path: !echo "$1"

Parameters

  • $1: Required file path or directory to refactor

Your task

Delegate this task to the agents-plugin:refactor agent.

Use the Agent tool with subagent_type: agents-plugin:refactor to refactor the specified code. Pass all the context gathered above to the agent.

The refactor agent should:

  1. Identify refactoring opportunities — look for these FP code smells:

- Side effects (mutation, I/O, logging) mixed into computation functions - Parameters or external state mutated in place - Imperative loops (for, while) that could be map, filter, reduce, or flatMap - Shared mutable state accessed across functions - Deep nesting where early returns or guard clauses would clarify intent - Business logic entangled with I/O at call sites - Duplicated transformation logic

  1. Apply functional programming principles:

- Pure functions: Extract computation into functions with no side effects — same input always produces same output - Immutability: Replace in-place mutation with data transformations (spread, map, Object.assign, structural copies) - Composition: Build complex behavior from small, focused, single-purpose functions - Higher-order functions: Replace imperative loops with map, filter, reduce, flatMap, find - Explicit effects: Push I/O, logging, and mutations to the outermost boundary; keep inner functions pure - Early returns / guard clauses: Validate preconditions at the top, return early to avoid deep nesting - DRY / KISS: Eliminate repetition; prefer the simplest shape that works

  1. Preserve functionality:

- Ensure all existing tests pass - Maintain the external API contract - No behavioral changes

  1. Output the refactored code with clear structure

Provide the agent with:

  • The target file or directory path
  • The detected programming language
  • Any style guide examples from the project

The agent has expertise in:

  • Behavior-preserving code transformations
  • Functional refactoring patterns
  • Code smell detection and remediation
  • Semantic code search for similar patterns

Related Skills

  • If complexity metrics needed before refactoring → /code:complexity
  • If duplicated code needs consolidation → /code:dry-consolidation
  • If linting standards not configured → /configure:linting