Source profileQuality 69/100

github/awesome-copilot/skills/refactor-method-complexity-reduce/SKILL.md

refactor-method-complexity-reduce

Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.

Source repository stars
37,126
Declared platforms
0
Static risk flags
1
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/github/awesome-copilot --skill "skills/refactor-method-complexity-reduce"
    Safe inspection promptEditorial

    Inspect the Agent Skill "refactor-method-complexity-reduce" from https://github.com/github/awesome-copilot/blob/9933dcad5be5caeb288cebcd370eeeb2fc2f1685/skills/refactor-method-complexity-reduce/SKILL.md at commit 9933dcad5be5caeb288cebcd370eeeb2fc2f1685. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Instructions

      1. Analyze the current method to identify sources of cognitive complexity: - Nested conditional statements - Multiple if-else or switch chains - Repeated code blocks - Multiple loops with conditions - Complex boolean expressions

      Analyze the current method to identify sources of cognitive complexity:Nested conditional statementsMultiple if-else or switch chains
    2. 02

      Implementation Approach

      Extract helper methods before refactoring the main flow

      Extract helper methods before refactoring the main flowTest incrementally to ensure no regressionsUse meaningful names that describe the extracted responsibility
    3. 03

      Objective

      Refactor the method ${input:methodName}, to reduce its cognitive complexity to ${input:complexityThreshold} or below, by extracting logic into focused helper methods.

      Refactor the method ${input:methodName}, to reduce its cognitive complexity to ${input:complexityThreshold} or below, by extracting logic into focused helper methods.
    4. 04

      Result

      The refactored method should: - Have cognitive complexity reduced to the target threshold of ${input:complexityThreshold} or below - Be more readable and maintainable - Have clear separation of concerns - Be easier to test and debug - Retain all original functionality

      Have cognitive complexity reduced to the target threshold of ${input:complexityThreshold} or belowBe more readable and maintainableHave clear separation of concerns
    5. 05

      Testing and Validation

      CRITICAL: After completing the refactoring, you MUST:

      Run all existing tests related to the refactored method and its surrounding functionalityMANDATORY: Explicitly verify test results show "failed=0"NEVER assume tests passed - always examine the actual test output

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 73

    The documentation asks the agent to read local files, directories, or repositories.

    If test output is in a file, read the entire file to locate and verify the failure count

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score69/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars37,126SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    github/awesome-copilot
    Skill path
    skills/refactor-method-complexity-reduce/SKILL.md
    Commit
    9933dcad5be5caeb288cebcd370eeeb2fc2f1685
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    Refactor Method to Reduce Cognitive Complexity

    Objective

    Refactor the method ${input:methodName}, to reduce its cognitive complexity to ${input:complexityThreshold} or below, by extracting logic into focused helper methods.

    Instructions

    1. Analyze the current method to identify sources of cognitive complexity:

      • Nested conditional statements
      • Multiple if-else or switch chains
      • Repeated code blocks
      • Multiple loops with conditions
      • Complex boolean expressions
    2. Identify extraction opportunities:

      • Validation logic that can be extracted into a separate method
      • Type-specific or case-specific processing that repeats
      • Complex transformations or calculations
      • Common patterns that appear multiple times
    3. Extract focused helper methods:

      • Each helper should have a single, clear responsibility
      • Extract validation into separate Validate* methods
      • Extract type-specific logic into handler methods
      • Create utility methods for common operations
      • Use appropriate access levels (static, private, async)
    4. Simplify the main method:

      • Reduce nesting depth
      • Replace massive if-else chains with smaller orchestrated calls
      • Use switch statements where appropriate for cleaner dispatch
      • Ensure the main method reads as a high-level flow
    5. Preserve functionality:

      • Maintain the same input/output behavior
      • Keep all validation and error handling
      • Preserve exception types and error messages
      • Ensure all parameters are properly passed to helpers
    6. Best practices:

      • Make helper methods static when they don't need instance state
      • Use null checks and guard clauses early
      • Avoid creating unnecessary local variables
      • Consider using tuples for multiple return values
      • Group related helper methods together

    Implementation Approach

    • Extract helper methods before refactoring the main flow
    • Test incrementally to ensure no regressions
    • Use meaningful names that describe the extracted responsibility
    • Keep extracted methods close to where they're used
    • Consider making repeated code patterns into generic methods

    Result

    The refactored method should:

    • Have cognitive complexity reduced to the target threshold of ${input:complexityThreshold} or below
    • Be more readable and maintainable
    • Have clear separation of concerns
    • Be easier to test and debug
    • Retain all original functionality

    Testing and Validation

    CRITICAL: After completing the refactoring, you MUST:

    1. Run all existing tests related to the refactored method and its surrounding functionality
    2. MANDATORY: Explicitly verify test results show "failed=0"
      • NEVER assume tests passed - always examine the actual test output
      • Search for the summary line containing pass/fail counts (e.g., "passed=X failed=Y")
      • If the summary shows any number other than "failed=0", tests have FAILED
      • If test output is in a file, read the entire file to locate and verify the failure count
      • Running tests is NOT the same as verifying tests passed
      • Do not proceed until you have explicitly confirmed zero failures
    3. If any tests fail (failed > 0):
      • State clearly how many tests failed
      • Analyze each failure to understand what functionality was broken
      • Common causes: null handling, empty collection checks, condition logic errors
      • Identify the root cause in the refactored code
      • Correct the refactored code to restore the original behavior
      • Re-run tests and verify "failed=0" in the output
      • Repeat until all tests pass (failed=0)
    4. Verify compilation - Ensure there are no compilation errors
    5. Check cognitive complexity - Confirm the metric is at or below the target threshold of ${input:complexityThreshold}

    Confirmation Checklist

    • Code compiles without errors
    • Test results explicitly state "failed=0" (verified by reading the output)
    • All test failures analyzed and corrected (if any occurred)
    • Cognitive complexity is at or below the target threshold of ${input:complexityThreshold}
    • All original functionality is preserved
    • Code follows project conventions and standards

    Alternatives

    Compare before choosing