SKILLEMALL.ai

BC gotchi-finder

Fetch Aavegotchi by ID from Base mainnet and display image with full traits. Shows on-chain SVG, converts to PNG, and displays complete gotchi stats.

modbender/skill-library-mcp Agent Skills author: modbender MIT 19 files · 4 scripts body ≈ 1 742 tokens Open the sourcegithub.com analyzed 2 d ago

Fetch Aavegotchi by ID from Base mainnet and display image with full traits.

As a process C 50/100 · Has gaps — weak spots: when it triggers, inputs and preconditions, failures and branches

GeneratorAI and agentsSecuritytype and topics are labelled automatically from the skill text
JSON
Technical rating
B
80/100
safety, quality, tests
Safety 60%
90
Quality 40%
65
Run on models
none yet
Process rating
C
50/100
Has gaps
Inputs and preconditions w 11
0
Failures and branches w 10
0
Progress reporting w 2
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.
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 · 10

✓ No critical or high findings

Medium and low: 10
  • low Secrets in code secret-high-entropy-token scripts/calculate-aging-bonus-timestamp.js:19
    High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
    const AAVEGOTCHI_DIAMOND = '0xA9…dBF';
    detector
  • low Secrets in code secret-high-entropy-token scripts/fetch-gotchi-old.js:5
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    const AAVEGOTCHI_DIAMOND = '0xA9…dBF';
    quoted
  • low Secrets in code secret-high-entropy-token scripts/fetch-gotchi.js:5
    High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
    const AAVEGOTCHI_DIAMOND = '0xA9…dBF';
    detector
  • low Secrets in code secret-high-entropy-token scripts/fetch-portal-svg.js:4
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    const DIAMOND_ADDRESS = '0xA9…dBF';
    quoted
  • low Secrets in code secret-high-entropy-token scripts/fetch-with-aging.js:5
    High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
    const AAVEGOTCHI_DIAMOND = '0xA9…dBF';
    detector
  • low Secrets in code secret-high-entropy-token scripts/get-gotchi-birth-block.js:4
    High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
    const AAVEGOTCHI_DIAMOND = '0xA9…dBF';
    detector
  • low Secrets in code secret-high-entropy-token scripts/show-gotchi.sh:65
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "0x20…142")
    quoted
  • low Secrets in code secret-high-entropy-token scripts/show-gotchi.sh:68
    High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)
    "0x83…913")
    quoted
  • low Secrets in code secret-high-entropy-token scripts/test-brs-methods.js:4
    High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition; test fixture / example file)
    const AAVEGOTCHI_DIAMOND = '0xA9…dBF';
    detectorfixture
  • low Secrets in code secret-high-entropy-token SKILL.md:150
    High-entropy token-like string (may be an id, hash or a credential)
    - Diamond: 0xA9…dBF

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

Against the Agent Skills spec

  • warning description-no-when description does not say WHEN to use the skill (no "use when")
  • note frontmatter-key unknown frontmatter key "homepage"

Process rating: all ten parameters 50/100

  • 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
  • 30Running it twice. 2 mutating operations with no state check
  • 60Tools and files. Uses tools (web, node) that frontmatter does not declare
  • 60Result and completion. Output format stated, no completion criterion
  • 85Steps. 70 steps, 1 vague phrases
  • 100Consistency. Name and required fields are in place
  • 100Execution cost. Instruction body is 1742 tokens
  • medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
  • low 10 top-level sections: this looks like several domains in one skill

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)
  • -4Absolute local paths (C:\Users, /home/…): not portable
  • -240 emoji in the instructions: noise for the model
  • -310 of 14 scripts are never mentioned in SKILL.md
  • +1No license
  • +2Single-language instructions
  • +3Description length 149: enough signal without eating the budget
  • +4Structure: 26 headings
  • +3Step-by-step instructions: 70 items
  • +3Output format is stated explicitly
  • +4Has examples (15 code blocks)

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