Skip to main content

refactor-plan

Generate a structured refactoring plan for a Cacti package or module. Analyzes current code structure, identifies improvement opportunities, and produces a phased plan with risk assessment.

소스 정보

저장소
hyperledger-cacti/cacti
최근 소스 활동
2026년 4월 27일 13:39
감지된 SKILL.md 언어
영어
스타
416
포크
366

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
refactor-plan
description
Generate a structured refactoring plan for a Cacti package or module. Analyzes current code structure, identifies improvement opportunities, and produces a phased plan with risk assessment.
# Refactor Plan Skill Generate a structured, risk-assessed refactoring plan for a package or module. ## When to Use - Before starting a significant refactoring effort - When code complexity exceeds maintainability thresholds - When migrating between patterns or architectures - When consolidating related functionality across packages ## Analysis Steps ### 1. Current State Assessment Read the target code and evaluate: - **Size**: Line counts for files and functions. Flag functions > 50 lines. - **Complexity**: Nesting depth, cyclomatic complexity, branching density. - **Coupling**: External dependencies, tight coupling between modules. - **Cohesion**: How well each module focuses on a single responsibility. - **Type safety**: Usage of `any`, `unknown`, and proper type narrowing. - **Test coverage**: Which public functions have corresponding tests. ### 2. Identify Improvement Opportunities Common refactoring targets in Cacti: - **Extract interface**: Create `I`-prefixed interfaces for dependency injection and testing. - **Consolidate duplicates**: Merge identical logic across modules. - **Simplify conditionals**: Replace nested if/else with early returns, guard clauses, or strategy pattern. - **Reduce coupling**: Introduce dependency injection, event-driven patterns, or facade classes. - **Improve naming**: Rename to follow Cacti conventions (`I` prefix, `isI` type guards). - **Barrel file cleanup**: Ensure `public-api.ts` exports are accurate and minimal. - **Package boundary**: Move code to the correct package to avoid circular dependencies. ### 3. Risk Assessment For each proposed change, evaluate: - **Breaking changes**: Will this change public API signatures? - **Downstream impact**: Which packages depend on the changed code? - **Test coverage**: Are there tests to catch regressions? - **Rollback difficulty**: How easy is it to revert if something breaks? ### 4. Phase Planning Break the refactoring into phases that: - Each phase is independently mergeable - Tests pass at the end of every phase - Breaking changes are isolated and documented - Higher-risk changes come later after confidence is built ## Output Format ```markdown # Refactoring Plan: [Package/Module] ## Current State - **Files**: [count] | **Functions**: [count] | **Lines**: [total] - **Key concerns**: [summary of issues found] ## Proposed Changes ### Phase 1: [Safe, Non-Breaking Changes] | # | Change | Files | Risk | Tests | |---|--------|-------|------|-------| | 1 | [description] | [files] | Low | [existing/needed] | ### Phase 2: [Structural Improvements] | # | Change | Files | Risk | Tests | |---|--------|-------|------|-------| | 1 | [description] | [files] | Medium | [existing/needed] | ### Phase 3: [Higher-Risk Changes] | # | Change | Files | Risk | Tests | |---|--------|-------|------|-------| | 1 | [description] | [files] | High | [existing/needed] | ## Dependency Map [which packages are affected by each phase] ## Rollback Strategy [how to revert each phase independently] ```
GitHub에서 보기