Skip to main content

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.

来源信息

仓库
laurigates/claude-plugins
最近来源活动
2026年10月10日 14:09
检测到的 SKILL.md 语言
英语
星标
59
Forks
6

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
created
2025-12-16T00:00:00.000Z
modified
2026-05-09T00:00:00.000Z
reviewed
2026-03-09T00:00:00.000Z
allowed-tools
Task, TodoWrite
args
<file-path|directory>
argument-hint
<file-path|directory>
description
Refactor toward pure functions, immutability, composition. Use when extracting pure functions, removing side effects, replacing loops with map/filter/reduce, or separating I/O.
name
code-refactor
## 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 in [Context](#context) 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 2. **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 3. **Preserve functionality**: - Ensure all existing tests pass - Maintain the external API contract - No behavioral changes 4. **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`
在 GitHub 查看