mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Dev Toolsevaluationupdated 29 Aug 2026

cyclomatic-complexity-skill review

Cyclomatic Complexity is a Claude Code skill that tells the agent to measure branching in functions, refactor the worst cases, and report the before-and-after counts. It packages a sensible code-review routine as written instructions rather than shipping a new analyzer.

+156 / 3dstars / 7d
Verdict

Our sandbox could not run commit 567886f because the repository has no supported ecosystem or Dockerfile, so there is no execution evidence behind this skill yet. Use it as a short Claude Code checklist if your project already has a complexity analyzer and tests. Do not use it as the only quality control for refactoring, and expect to package the Claude.ai download yourself until a release appears.

We ran it

Screenshot of cyclomatic-complexity-skill (github.com/saurabhkumar8112/cyclomatic-complexity-skill)

Answers from our run

Did you run cyclomatic-complexity-skill yourself?

No. GitHub reports no primary language for it, and it carries no manifest our lab installs from, and no Dockerfile, so there was nothing standard to install, build or test. This review is written from the repository's own documentation.

Who should not use cyclomatic-complexity-skill?

Teams seeking an analyzer they can run in CI: this repository contains instructions for Claude and delegates measurement to outside tools.

What are the alternatives to cyclomatic-complexity-skill?

Lizard, Radon, Xenon. Use it as a short Claude Code checklist if your project already has a complexity analyzer and tests.

Setup3/5Claude Code has commands; Claude.ai release download is missing
Docs4/5The workflow and thresholds are clear in one short skill file
Community2/5166 stars, one commit, and no issue or pull request history
Maturity1/5No executable checks, published release, or usage history yet

Who it’s for

Claude Code users who want complexity checks built into refactoring and cleanup requests.
Teams that already use Radon, ESLint, gocyclo, Lizard, or a configured linter threshold.
Developers reviewing branch-heavy AI-generated code before it is merged.

Who it’s NOT for

Teams seeking an analyzer they can run in CI: this repository contains instructions for Claude and delegates measurement to outside tools.
Developers who need evidence that the workflow preserves behavior across real projects: the repository has no test target, and our lab could not execute it.
Claude.ai users expecting the README's release download path to work immediately: GitHub returned no latest release, despite the instruction to download a .skill file from Releases.
Teams that disagree with fixed default thresholds: the skill labels complexity above 15 as a mandatory split when a project has no own configuration.

Setup reality

We did not run commit 567886f in our 3-CPU, 8 GB sandbox. The repository had no supported ecosystem, GitHub reported no primary language, and there was no Dockerfile, so our harness had no install, build, or test command to execute.

Claude Code installation uses the plugin marketplace commands in the README. The skill then expects an existing analyzer such as Radon, ESLint, gocyclo, or Lizard, falling back to manual counting when none is available. It mentions no credentials or hosted service. Claude.ai installation is less settled because the documented Releases download has no published release behind it.

It is a refactoring checklist, not a complexity analyzer

Cyclomatic Complexity gives Claude a fixed routine for cleaning up branch-heavy functions. The skill says to measure touched functions, rank the worst ones, refactor one at a time, measure again, and finish with a table of before-and-after counts. It prefers project lint settings over its own defaults and names Radon for Python, ESLint for JavaScript and TypeScript, gocyclo for Go, and Lizard for mixed-language codebases. If none is installed, Claude is told to count decisions manually.

That distinction matters because the repository does not implement any measurement code. At commit 567886f, its useful payload is a Markdown instruction file plus marketplace metadata. Our 3-CPU, 8 GB sandbox found no supported ecosystem and no Dockerfile, leaving the harness with nothing it could install or execute. You are adopting a prompt and workflow. Accuracy still depends on the external analyzer, the project's tests, and Claude following the instructions without skipping inconvenient branches.

The default thresholds force action above 15

The policy is more opinionated than a generic request to simplify code. Complexity from 1 through 5 is left alone, 6 through 10 gets attention only when the function is already being touched, 11 through 15 should be refactored, and anything above 15 must be split. Existing linter configuration wins, which is the right order for a shared codebase. The skill also counts boolean operators inside conditions, a detail that can differ between complexity tools and should be reconciled with whichever analyzer your team uses.

Its tactics are ordinary and mostly sound: guard clauses first, then extracted functions, lookup tables, named predicates, and flatter loop bodies. Strategy objects are reserved for type switches repeated in at least 2 places. Our lab did not test those choices against a real project because commit 567886f supplied no runnable target. The skill does instruct Claude to preserve public signatures, run tests before and after, and admit when no tests exist. Those safeguards are written rules, not enforced checks.

What happened when we ran it

We did not run the repository. The checkout at commit 567886f had no supported package ecosystem, GitHub listed its primary language as null, and no Dockerfile gave our fresh Debian sandbox another route. As a result, there is no measured install result, build result, dependency audit, or test result to report. Claiming that the skill works from this lab pass would be misleading.

The environment had 3 CPUs and 8 GB of RAM, but those resources were irrelevant because the project is declarative. A useful future test would need a fixture repository with known complexity hotspots, a pinned analyzer, behavior tests, and expected before-and-after counts. None of that exists here. The README's example shows a function falling from 14 to 4, but it is presented as example output rather than a result from our sandbox, so it should not be read as measured performance.

Claude Code has an install path, while Claude.ai does not have its promised file

For Claude Code, the README provides marketplace-add and plugin-install commands. The marketplace manifest points the plugin at the repository root, where the skill lives under skills/cyclomatic-complexity. Claude API users are directed to the Skills API. No account token, remote service, or runtime daemon is named. You still need the language-specific analyzer and whatever command proves the refactor preserved behavior. On a mature project, those pieces may already be present.

Claude.ai users get shakier instructions. The README says to download a .skill file from Releases or zip the skill folder, but GitHub returned no latest release on August 29, 2026. The manual zip route remains possible, yet it shifts packaging onto the user. The repository also had a single commit, dated August 26, and no issues or pull requests. That is enough to inspect the full history, not enough to judge how the instructions behave across different codebases.

Fixed advice is useful only when the project can overrule it

The strongest part of the skill is its refusal to reward compressed code that merely hides branches. It asks for named units and a reviewable diff, and it requires the report to say how behavior was checked. That can improve a Claude refactoring session because the expected evidence is explicit. The limitation is equally plain: a Markdown rule cannot stop an agent from miscounting, extracting poor abstractions, or accepting a weak test suite. Human review still decides whether the new shape is easier to maintain.

Our unexecuted 567886f snapshot is best treated as a readable policy draft. Install it when your team wants this exact routine and already trusts its analyzers and tests. Choose Lizard or Radon when measurement itself is the need, and Xenon when a Python build must reject rising complexity automatically. For broader adoption, the author needs a published skill artifact and fixture-based checks that show Claude preserves behavior while reducing counts across more than one language.

Alternatives

ProjectWhat it isPick it when
LizardA multi-language command-line analyzer that calculates cyclomatic complexity directly.pick this instead when you need a repeatable local or CI measurement across several languages without an AI agent.
RadonA Python code-metrics tool that reports complexity and maintainability data.pick this instead when Python analysis and machine-readable measurements matter more than guided refactoring.
XenonA Radon-based threshold checker designed to fail builds when Python complexity rises too far.pick this instead when the main requirement is enforcing a complexity budget in CI.

What people are saying

  1. [velocity-scout] saurabhkumar8112/cyclomatic-complexity-skill

Sources

  1. Cyclomatic Complexity Skill README
  2. Cyclomatic Complexity skill instructions
  3. Repository commit history
  4. Repository releases

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →