complexity

安装量: 245
排名: #3559

安装

npx skills add https://github.com/boshu2/agentops --skill complexity

Complexity Skill YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it. Analyze code complexity to identify refactoring targets. Execution Steps Given /complexity [path] : Step 1: Determine Target If path provided: Use it directly. If no path: Use current directory or recent changes: git diff --name-only HEAD~5 2

/dev/null | grep -E '.(py|go)$' | head -10 Step 2: Detect Language

Check for Python files

ls .py /.py 2

/dev/null | head -1 && echo "Python detected"

Check for Go files

ls .go /.go 2

/dev/null | head -1 && echo "Go detected" Step 3: Run Complexity Analysis For Python (using radon):

Check if radon is installed

which radon || pip install radon

Run cyclomatic complexity

radon cc < path

-a -s

Run maintainability index

radon mi < path

-s For Go (using gocyclo):

Check if gocyclo is installed

which gocyclo || go install github.com/fzipp/gocyclo/cmd/gocyclo@latest

Run complexity analysis

gocyclo -over 10 < path

Step 4: Interpret Results Cyclomatic Complexity Grades: Grade CC Score Meaning A 1-5 Low risk, simple B 6-10 Moderate, manageable C 11-20 High risk, complex D 21-30 Very high risk F 31+ Untestable, refactor now Step 5: Identify Refactor Targets List functions/methods that need attention: CC > 10: Should refactor CC > 20: Must refactor CC > 30: Critical, immediate action Step 6: Write Complexity Report Write to: .agents/complexity/YYYY-MM-DD-.md

Complexity Report: ** Date: ** YYYY-MM-DD ** Language: ** ** Files Analyzed: ** < count

Summary

Average CC: < score

- Highest CC: < score

in < function

- Functions over threshold: < count

Refactor Targets

Critical (CC > 20) | Function | File | CC | Recommendation | |


|

|

|

| | < name

| < file: line

| < score

| < how to simplify

|

High (CC 11-20) | Function | File | CC | Recommendation | |


|

|

|

| | < name

| < file: line

| < score

| < how to simplify

|

Refactoring Recommendations 1. ** ** : < specific suggestion

- Extract: < what to extract

- Simplify: < how to simplify

Next Steps

[ ] Address critical complexity first

[ ] Create issues for high complexity

[ ] Consider refactoring sprint Step 7: Report to User Tell the user: Overall complexity summary Number of functions over threshold Top 3 refactoring targets Location of full report Key Rules Use the right tool - radon for Python, gocyclo for Go Focus on high CC - prioritize 10+ Provide specific fixes - not just "refactor this" Write the report - always produce artifact Quick Reference Simplifying High Complexity: Extract helper functions Replace conditionals with polymorphism Use early returns Break up long functions Simplify nested loops Examples Analyzing Python Project User says: /complexity src/ What happens: Agent detects Python files in src/ directory Agent checks for radon installation, installs if missing Agent runs radon cc src/ -a -s for cyclomatic complexity Agent runs radon mi src/ -s for maintainability index Agent identifies 3 functions with CC > 20, 7 functions with CC 11-20 Agent writes detailed report to .agents/complexity/2026-02-13-src.md Agent recommends extracting nested conditionals in process_request() function Result: Complexity report identifies process_request() (CC: 28) as critical refactor target with specific extraction recommendations. Finding Refactor Targets in Go Module User says: /complexity What happens: Agent checks recent changes with git diff --name-only HEAD~5 Agent detects Go files, verifies gocyclo installation Agent runs gocyclo -over 10 ./... on project Agent finds HandleWebhook() function with complexity 34 Agent writes report with recommendation to extract validation logic Agent reports top 3 targets: HandleWebhook (34), ProcessBatch (22), ValidateInput (15) Result: Critical function identified for immediate refactoring with actionable extraction plan. Troubleshooting Problem Cause Solution Tool not installed (radon/gocyclo) Missing dependency Agent auto-installs: pip install radon for Python or go install github.com/fzipp/gocyclo/cmd/gocyclo@latest for Go. Verify install path in $PATH. No complexity issues found Threshold too high or genuinely simple code Lower threshold: try gocyclo -over 5 or check if path includes actual implementation files vs tests. Report shows functions without recommendations Generic analysis without codebase context Read the high-CC functions to understand structure, then provide specific refactoring suggestions based on actual code patterns. Mixed language project Multiple languages in target path Run analysis separately per language: /complexity src/python/ then /complexity src/go/ , combine reports manually.

返回排行榜