react-refactoring
npx skills add https://github.com/gihwan-dev/claude-code-gui --skill react-refactoring
Agent 安装分布
Skill 文档
React Refactoring Skill
ì¬ì©ìê° ì ìíë 문ì ì ì 무조건 ìì©íì§ ìëë¤. ê° ë¬¸ì ì ì ëí´ ë¹íì ì¼ë¡ ê²í íê³ , ì ë§ ë¬¸ì ì¸ì§, ì ìë ë°©í¥ì´ ìµì ì¸ì§ ë¶ìí í 리í©í ë§ì ìííë¤.
íµì¬ ìì¹: ìì í기 ì¢ì ì½ë
모ë íë¨ì 기ì¤ì **”ìì í기 ì¢ì ì½ëì¸ê°?”**ì´ë¤. íê° ê¸°ì¤ ìì¸ë references/evaluation-criteria.md 참조.
ìí¬íë¡ì°
Phase 1: íí© íì
- ëì ì»´í¬ëí¸/íì¼ ì½ê¸°
- ê´ë ¨ ìì¡´ì± íì¼ë¤ íì (imports, hooks, types)
- íì¬ ì½ëì 구조를 ê°ëµí ì 리
Phase 2: 문ì ì ë³ ë¹íì ë¶ì
ì¬ì©ìê° ì ìí 문ì ì ì ìì ë³µì¡ëì ë°ë¼ 모ë를 ì ííë¤.
모ë ì í 기ì¤
| ì¡°ê±´ | 모ë | ì¤ëª |
|---|---|---|
| 1-2ê° ë¨ì 문ì ì | Standard Mode | 기존 sequential-thinking 3í ë°©ì |
| 3ê° ì´ì ëë ë³µì¡í 문ì ì | Multi-Perspective Mode | ë³ë ¬ sub-agent 3ê´ì ë¶ì |
Standard Mode (1-2ê° ë¨ì 문ì ì )
ê° ë¬¸ì ì ë§ë¤ mcp__sequential-thinking__sequentialthinking ë구를 ì¬ì©íì¬ ì¬ê³ ê³¼ì ì 기ë¡íë¤.
ê° ë¬¸ì ì ë¹ ìµì 3ë²ì thinking 루í를 ìííë¤.
Step 2.1: 문ì ì ì ê²ì¦
sequential-thinkingì¼ë¡ ë¤ìì ë¶ì:
ì´ ë¬¸ì ê° ì ë§ ë¬¸ì ì¸ê°?
- íì¬ ì½ëê° ì¤ì ë¡ ì´ë¤ ë¶í¸/ìíì ì´ëíëê°?
- "ìì í기 ì¢ì ì½ë" 9ê°ì§ ê¸°ì¤ ì¤ ì´ë¤ ê²ì ìë°íëê°?
- ìë°ì´ ìë¤ë©´, ì´ê±´ ì·¨í¥ì 문ì ì¸ê° ì¤ì§ì 문ì ì¸ê°?
Step 2.2: ì ìë ë°©í¥ íê°
ì¬ì©ìê° ë°©í¥ì ì ìíë¤ë©´:
ì´ ë°©í¥ì´ ì ë§ ê°ì ì¸ê°?
- ì ìë ë³ê²½ì´ "ìì í기 ì¢ì ì½ë" 기ì¤ì 충족íëê°?
- ì¤íë ¤ ë³µì¡ì±ì ì¦ê°ìí¤ì§ë ìëê°?
- 기존 ì½ëë² ì´ì¤ì ì¼ê´ì±ì í´ì¹ì§ ìëê°?
- ê³¼í ì¶ìí(Over-engineering)ë ìëê°?
Step 2.3: ëì íì
ì ìë ë°©í¥ì´ ìµì ì´ ìëë¼ë©´:
ë ëì ëìì?
- ë ë¨ìí í´ê²°ì±
ì´ ìëê°?
- ì ì§ì ì¼ë¡ ê°ì í ì ìë ë°©ë²ì?
- ì´ ë¬¸ì 를 í´ê²°íì§ ìë ê²ë ì íì§ì¸ê°?
Multi-Perspective Mode (3ê° ì´ì ëë ë³µì¡í 문ì ì )
ê° ë¬¸ì ì ì ëí´ 3ê° ê´ì ì Task sub-agent를 ë³ë ¬ ì¤ííë¤.
ìì´ì í¸ êµ¬ì±
| Agent | subagent_type | model | ê´ì |
|---|---|---|---|
| Readability Advocate | general-purpose | sonnet | ê°ë ì±, ìëì ëª íì± |
| Architecture Purist | typescript-pro | sonnet | íì ìì ì±, í¨í´ ì¼ê´ì±, 구조ì ì í©ì± |
| Pragmatic Developer | frontend-developer | sonnet | ì ì§ë³´ìì±, ì¤ì©ì±, ê°ë° ê²½í |
ì¤í ë°©ë²
3ê°ì Task sub-agent를 ë¨ì¼ ë©ìì§ìì ëì ì¤í (run_in_background: true):
Agent: Readability Advocate
You are a Readability Advocate analyzing a React refactoring proposal.
Your lens: code readability, intent clarity, self-documenting code.
Read the target component at: [íì¼ ê²½ë¡]
The user's proposed issues and changes:
[문ì ì 목ë¡]
For EACH issue, provide your verdict:
- Verdict: [ìì©/ìì /기ê°]
- Reasoning: [Why, focused on readability impact]
- Alternative: [Better approach from readability perspective, if any]
Write your analysis. Focus on whether each change makes the code easier to READ and UNDERSTAND.
Agent: Architecture Purist
You are an Architecture Purist analyzing a React refactoring proposal.
Your lens: type safety, pattern consistency, structural integrity, SOLID principles.
Read the target component at: [íì¼ ê²½ë¡]
The user's proposed issues and changes:
[문ì ì 목ë¡]
For EACH issue, provide your verdict:
- Verdict: [ìì©/ìì /기ê°]
- Reasoning: [Why, focused on type safety and architectural patterns]
- Alternative: [Better approach from architecture perspective, if any]
Write your analysis. Focus on whether each change improves TYPE SAFETY and STRUCTURAL CONSISTENCY.
Agent: Pragmatic Developer
You are a Pragmatic Developer analyzing a React refactoring proposal.
Your lens: maintainability, practicality, developer experience, cost-benefit.
Read the target component at: [íì¼ ê²½ë¡]
The user's proposed issues and changes:
[문ì ì 목ë¡]
For EACH issue, provide your verdict:
- Verdict: [ìì©/ìì /기ê°]
- Reasoning: [Why, focused on practical maintenance impact]
- Alternative: [Better approach from practical perspective, if any]
Write your analysis. Focus on whether each change is WORTH THE EFFORT and improves MAINTAINABILITY.
ì¢ í© ê·ì¹
3ê° ìì´ì í¸ì 결과를 ìì§í í ì¤ì¼ì¤í¸ë ì´í°ê° ì¢ í©:
| í©ì ìí© | íë |
|---|---|
| 3ê° ì¼ì¹ (ìì©/ìì /기ê°) | ëì íì ì¼ë¡ í´ë¹ íë¨ ì±í |
| 2:1 (ë¤ì:ìì) | ìì ì견ì 근거를 ê²í í ì¤ì¼ì¤í¸ë ì´í°ê° ìµì¢ ê²°ì |
| 3ê° ìì´ | AskUserQuestionì¼ë¡ ì¬ì©ììê² ì íì§ì 근거를 ì ìíì¬ íë¨ ìì² |
Step 2.4: ë¶ëª íí ì ì§ë¬¸ (ê³µíµ)
ë¶ì ì¤ ë¤ì ìí©ì´ë©´ ë°ëì AskUserQuestion ëêµ¬ë¡ ì§ë¬¸:
- ë¹ì¦ëì¤ ì»¨í ì¤í¸ê° íìí ê²½ì° (ì: “ì´ ì»´í¬ëí¸ê° ì¬ë¬ ê³³ìì ì¬ì¬ì©ëëì?”)
- 기존 ì½ëì ìëê° ë¶ëª íí ê²½ì° (ì: “ì´ í ì´ ì´ë ê² ì¤ê³ë ì´ì ê° ìëì?”)
- ì¬ì©ìì ì ìê³¼ ë¶ì ê²°ê³¼ê° ì¶©ëíë ê²½ì° (ì: “ì´ ë°©í¥ì ì¤íë ¤ ë³µì¡í´ì§ ì ìëë°, ê·¸ëë ì§íí ê¹ì?”)
- í 컨벤ì íì¸ì´ íìí ê²½ì° (ì: “íìì ë¤ìì¤íì´ì¤ í¨í´ì ì¬ì©íë ê³³ì´ ìëì?”)
Phase 3: 리í©í ë§ ê³í ì립
모ë 문ì ì ë¶ì ìë£ í:
- ë¶ì ê²°ê³¼ ìì½: ê° ë¬¸ì ì ì ëí íë¨ (ìì©/ìì /기ê°)
- Multi-Perspective Modeì¸ ê²½ì°: ê° ê´ì ì Verdictì ìµì¢ ê²°ì 근거 í¬í¨
- 리í©í ë§ ê³íì ìì±:
- ë³ê²½ ëì íì¼ ëª©ë¡
- ê° ë³ê²½ì 목ì ê³¼ 기ë í¨ê³¼
- ë³ê²½ ìì (ìì¡´ì± ê³ ë ¤)
- ìì ìí ìì
- ì ì§ì ì¤í ê³í: í ë²ì í° ë³ê²½ ëì ìì ë¨ìë¡ ë¶ë¦¬
Phase 4: ì¬ì©ì ì¹ì¸
ê³íì를 ì ìíê³ AskUserQuestionì¼ë¡ ì¹ì¸ ìì²:
리í©í ë§ ê³íì ê²í í´ì£¼ì¸ì.
- [ìì©] 문ì 1: ... â ì´ë ê² ë³ê²½
- [ìì ] 문ì 2: ... â ì ìê³¼ ë¤ë¥´ê² ì´ ë°©í¥ì¼ë¡
- [기ê°] 문ì 3: ... â íì¬ êµ¬ì¡°ê° ë ì ì í¨
ì§íí´ë ë ê¹ì?
Phase 5: 리í©í ë§ ì¤í
ì¹ì¸ í ê³íì ë°ë¼ ì½ë ìì . ê° ë¨ê³ë§ë¤:
- ë³ê²½ ì ìí íì¸
- ë³ê²½ ìí
- ë³ê²½ì´ ìëëë¡ ëìëì§ ê²ì¦
- íìì ê´ë ¨ í ì¤í¸ íì¸/ìì
주ìì¬í
íì§ ë§ìì¼ í ê²
- ì¬ì©ì ì ìì 무ë¹íì ì¼ë¡ ìì©
- ë¶ì ìì´ ë°ë¡ ì½ë ìì ìì
- “ì¼ë°ì ì¼ë¡ ì¢ì í¨í´”ì´ë¼ë ì´ì ë§ì¼ë¡ ë³ê²½ ì ì
- í ë²ì ë무 ë§ì ê²ì ë³ê²½
íì í´ì¼ í ê²
- 모ë íë¨ì 구체ì 근거 ì ì
- ë¶íì¤íë©´ ì§ë¬¸
- ë³ê²½ì í¸ë ì´ëì¤í ëª ì
- 기존 ì½ëë² ì´ì¤ ì¤íì¼ ì¡´ì¤
React/TypeScript í¹í ì²´í¬ë¦¬ì¤í¸
í ë¶ë¦¬ ì:
- ë¶ë¦¬ íìë co-locationì´ ì ì§ëëê°?
- 커ì¤í í ì ë°í íì ì´ ëª ííê°?
- í ê° ìì¡´ì±ì´ ë¨ë°©í¥ì¸ê°?
ì»´í¬ëí¸ ë¶ë¦¬ ì:
- Props drillingì´ ê³¼ëí´ì§ì§ ìëê°?
- ìí ëì´ì¬ë¦¬ê¸°ê° íìí´ì§ì§ ìëê°?
- ì»´í¬ëí¸ ê²½ê³ê° ìì°ì¤ë¬ì´ê°?
í´ë 구조 ë³ê²½ ì:
- import ê²½ë¡ê° ê³¼ëíê² ê¸¸ì´ì§ì§ ìëê°?
- ìí ìì¡´ì±ì´ ìê¸°ì§ ìëê°?
- 기존 구조ìì ì¼ê´ì±ì?