본문으로 건너뛰기
cccskills
무료GitHub에 공개

dev-refactor

Refactor code for better structure and patterns

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Code Refactoring Skill

Refactor code for better structure, naming, and patterns using language-specific expert agents.

When NOT to Use

ScenarioBetter Alternative
Renaming only (no structural change)IDE rename refactoring or sed
Formatting cleanupRun formatter (prettier, gofmt, black)
No test coverage for target codeWrite tests first (/structured-dev-cycle)
Moving files between directoriesgit mv via mgr-gitnerd

Pre-execution check: Verify test coverage exists for the refactoring target. Refactoring without tests risks silent regressions.

Pre-flight Guards

Before executing the refactoring workflow, the agent MUST run these checks:

Guard 1: Test Coverage Check

Level: WARN Check: Verify test files exist for the refactoring target

# For target file src/module/foo.ts, check for:
# - src/module/foo.test.ts
# - src/module/foo.spec.ts
# - tests/module/foo.test.ts
# - test/module/foo.test.ts
# - __tests__/module/foo.test.ts
# For Go: foo_test.go in same package
# For Python: test_foo.py or foo_test.py

Action: [Pre-flight] WARN: No test file found for {target}. Refactoring without tests risks silent regressions. Consider writing tests first (/structured-dev-cycle).

Guard 2: Rename-Only Detection

Level: INFO Check: If the user request is purely about renaming (no structural change)

# Keyword detection in user request
keywords: rename, 이름 변경, 이름 바꿔, rename variable, rename function
# AND no structural keywords
structural_keywords: extract, split, merge, restructure, reorganize, decompose

Action: [Pre-flight] INFO: For rename-only refactoring, IDE rename (F2) or sed is faster and safer (handles all references). Proceeding with full refactoring.

Guard 3: Formatting-Only Request Detection

Level: INFO Check: If the request is about formatting or style cleanup

# Keyword detection
keywords: format, formatting, indent, indentation, 포맷, 스타일, whitespace, spacing

Action: [Pre-flight] INFO: For formatting cleanup, run the appropriate formatter (prettier, gofmt, black, rustfmt). Proceeding with full refactoring.

Guard 4: File Move Detection

Level: INFO Check: If the request is about moving files between directories

# Keyword detection
keywords: move file, move to, 파일 이동, 옮겨, relocate, reorganize files
# AND no code-level changes mentioned

Action: [Pre-flight] INFO: For file moves without code changes, use git mv via mgr-gitnerd to preserve git history.

Display Format

[Pre-flight] dev-refactor
├── Test coverage: WARN — no test file for src/utils.ts
├── Rename-only: PASS
├── Formatting-only: PASS
└── File move: PASS
Result: PROCEED WITH CAUTION (0 GATE, 1 WARN, 0 INFO)

If any GATE: block and suggest prerequisite. If any WARN: show warning, ask user to confirm. If only PASS/INFO: proceed automatically.

Parameters

NameTypeRequiredDescription
pathstringyesFile or directory to refactor

Options

--lang, -l       Language (auto-detected if not specified)
                 Values: go, python, rust, kotlin, typescript, java
--focus, -f      Focus area (structure, naming, patterns, all)
--dry-run        Show proposed changes without applying
--verbose, -v    Detailed output

Workflow

0. Run pre-flight guards (MUST complete before proceeding)
1. Detect language (or use --lang)
2. Select appropriate expert agent
3. Load language-specific skill
4. Analyze code structure
5. Propose refactoring changes
6. Apply changes (if not --dry-run)

Agent Selection

File ExtensionAgentSkill
.golang-golang-expertgo-best-practices
.pylang-python-expertpython-best-practices
.rslang-rust-expertrust-best-practices
.ktlang-kotlin-expertkotlin-best-practices
.ts, .tsxlang-typescript-experttypescript-best-practices
.javabe-springboot-expertspringboot-best-practices
.jsx, .js (React)fe-vercel-agentreact-best-practices

Refactoring Categories

CategoryDescription
structureFile/module organization, package structure
namingVariable, function, type naming conventions
patternsDesign patterns, idiomatic code
duplicationExtract common code, reduce repetition
complexitySimplify complex functions, reduce nesting

Output Format

Dry Run

[dev:refactor src/utils.go --dry-run]

┌─ Agent: lang-golang-expert (sw-engineer)
├─ Skill: go-best-practices
└─ File: src/utils.go

Analysis:

[Structure] Lines 10-45
  Issue: Function too long (35 lines)
  Suggest: Extract helper functions

[Naming] Line 12
  Issue: Abbreviation in function name
  Found: func procData()
  Suggest: func processData()

[Patterns] Lines 20-30
  Issue: Repeated error handling pattern
  Suggest: Create handleError() helper

Proposed Changes:
  1. Extract lines 15-25 into validateInput()
  2. Rename procData → processData
  3. Create handleError() helper function

No changes made (dry-run mode).
Run without --dry-run to apply changes.

Apply Changes

[dev:refactor src/utils.go]

┌─ Agent: lang-golang-expert (sw-engineer)
├─ Skill: go-best-practices
└─ File: src/utils.go

Refactoring:

[1/3] Extracting validateInput()...
  ✓ Created function at line 50
  ✓ Updated calls at lines 15, 22

[2/3] Renaming procData → processData...
  ✓ Renamed function definition
  ✓ Updated 3 call sites

[3/3] Creating handleError() helper...
  ✓ Created function at line 60
  ✓ Replaced 5 error handling blocks

Summary:
  Changes applied: 3
  Lines modified: 28
  Functions added: 2
  Functions renamed: 1

Recommendation: Run tests to verify changes.

Spec Mode (--spec)

When the --spec flag is present, refactoring is guided by the target's canonical specification:

Workflow

  1. Load spec: Read .claude/specs/<agent-name>.spec.md (generated by /omcustom-takeover)
    • If spec doesn't exist, run takeover first: /omcustom-takeover <name>
  2. Extract invariants: Parse the spec's ## Invariants section as pre-flight guard constraints
  3. Refactor: Perform normal refactoring (per existing workflow)
  4. Verify invariants: After refactoring, check each invariant still holds:
    [Spec Verification]
    ├── ✓ Invariant 1: {description} — PASS
    ├── ✓ Invariant 2: {description} — PASS
    └── ✗ Invariant 3: {description} — FAIL (reason)
    
  5. Regenerate spec: If refactoring changed the contract, run /omcustom-takeover <name> to update

When to Use

ScenarioUse --spec?
Refactoring agent internalsYes — preserves declared invariants
Renaming/restructuring skillYes — ensures contract stability
Simple code cleanupNo — overhead not justified
Adding new capabilityNo — spec will change anyway

Prerequisites

  • .claude/specs/<name>.spec.md must exist (or will be auto-generated via takeover)
  • Target must be an agent or skill (not arbitrary code)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Apache Airflow best practices for DAG authoring, testing, and production deployment

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

baekenough의 스킬 모두 보기

이 스킬의 문제 신고