SKILLEMALL.ai

BF Code Smell

Static code smell detector for Python, JavaScript/TypeScript, Java, Go, and Ruby. Identifies 10 classic anti-patterns — long functions, god classes, too many parameters, deep nesting, magic numbers/strings, duplicate code blocks, TODO/FIXME debt markers, boolean traps, long method chains, and unreachable code — with per-smell severity ratings, line-level findings, and refactoring suggestions. Zero external dependencies. Zero competitors on ClawHub.

ClawHub Agent Skills author: Lucius Pang v1.0.3 MIT-0 2 files body ≈ 9 814 tokens Open the sourceclawhub.ai analyzed 3 d ago

As a process F 30/100 · Will not run — weak spots: result and completion, when it triggers, inputs and preconditions

AnalyzerSoftware developmenttype and topics are labelled automatically from the skill text
JSON
Technical rating
B
78/100
safety, quality, tests
Safety 60%
100
Quality 40%
45
Run on models
none yet
Process rating
F
30/100
Will not run
Result and completion w 14
0
Inputs and preconditions w 11
0
Failures and branches w 10
0
the three weakest of ten parameters · all ten

How to improve

  1. Say in the description WHEN to use the skill ("use when…", example requests): that is the agent's main cue.
  2. The SKILL.md body is over 5,000 tokens: move reference detail into references/ and load it when needed.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 0

✓ No critical or high findings

Files scanned: 2. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • warning name-format name should be kebab-case (lowercase letters, digits, hyphens)
  • warning description-no-when description does not say WHEN to use the skill (no "use when")
  • warning body-long SKILL.md body ≈ 9814 tokens (recommended < 5000); move details to references/
  • note frontmatter-key unknown frontmatter key "homepage"

Process rating: all ten parameters 30/100

  • 0Result and completion. Does not say what the result is
  • 0Inputs and preconditions. Does not say what the process needs to start
  • 0Failures and branches. Linear process with no failure handling
  • 0Progress reporting. Says nothing while it works
  • 20When it triggers. No condition that starts the skill
  • 40Consistency. Frontmatter name (Code Smell) differs from the folder (phy-code-smell)
  • 40Execution cost. Instruction body is 9814 tokens: crowds the task out of the window
  • 50Steps. 2 steps
  • 60Tools and files. Uses tools (python) that frontmatter does not declare
  • 100Running it twice. No mutating operations

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +5Description has no quoted example phrases that should trigger the skill
  • +4Description does not say when NOT to use the skill (false activations)
  • +3No numbered steps or checklist
  • +3Output format is not stated: the model decides each time
  • -5TODO / placeholder text left in the skill
  • -4Absolute local paths (C:\Users, /home/…): not portable
  • +2Single-language instructions
  • +3Description length 452: enough signal without eating the budget
  • +4Structure: 9 headings
  • +4Has examples (8 code blocks)
  • +1License stated

Quality base 70; lint remarks subtract, signals add up to 100. Result: 45.

External checks

ClawHub: clean
This is a local code-quality scanner that reads project source files to report code smells, with no evidence of network access, persistence, credential use, or destructive behavior.
LLM: benign (high) · VirusTotal: · 29 May 2026