
Refactor Method Complexity Reduce
- 9.7k installs
- 37.1k repo stars
- Updated July 28, 2026
- github/awesome-copilot
refactor-method-complexity-reduce is an agent skill that Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.
About
Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods. --- name: refactor-method-complexity-reduce description: 'Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.' --- # 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. **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.
- Refactor Method to Reduce Cognitive Complexity
- **Analyze the current method** to identify sources of cognitive complexity:
- Nested conditional statements
- Multiple if-else or switch chains
- Multiple loops with conditions
Refactor Method Complexity Reduce by the numbers
- 9,748 all-time installs (skills.sh)
- +61 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #89 of 2,184 Testing & QA skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
refactor-method-complexity-reduce capabilities & compatibility
- Capabilities
- refactor method to reduce cognitive complexity · **analyze the current method** to identify sourc · nested conditional statements · multiple if else or switch chains · multiple loops with conditions
- Use cases
- documentation
What refactor-method-complexity-reduce says it does
**Run all existing tests** related to the refactored method and its surrounding functionality 2.
**Verify compilation** - Ensure there are no compilation errors 5.
npx skills add https://github.com/github/awesome-copilot --skill refactor-method-complexity-reduceAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 9.7k |
|---|---|
| repo stars | ★ 37.1k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 28, 2026 |
| Repository | github/awesome-copilot ↗ |
What problem does refactor-method-complexity-reduce solve for developers using this skill?
Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.
Who is it for?
Developers who need refactor-method-complexity-reduce patterns described in the cached skill documentation.
Skip if: Skip when docs are empty or the task is outside the skill's documented scope.
When should I use this skill?
Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.
What you get
Actionable workflows and conventions from SKILL.md for refactor-method-complexity-reduce.
- Refactored method
- Extracted helper functions
Files
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
Related skills
How it compares
Use refactor-method-complexity-reduce for one method over a complexity threshold; use broader architecture skills when the problem spans modules not a single function.
FAQ
What does refactor-method-complexity-reduce do?
Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.
When should I use refactor-method-complexity-reduce?
Refactor given method `${input:methodName}` to reduce its cognitive complexity to `${input:complexityThreshold}` or below, by extracting helper methods.
Is refactor-method-complexity-reduce safe to install?
Review the Security Audits panel on this page before installing in production.