CtrlK
BlogDocsLog inGet started
Tessl Logo

tdg-personal/nodejs-keccak256

Prevent Ethereum hashing bugs in JavaScript and TypeScript. Node's sha3-256 is NIST SHA3, not Ethereum Keccak-256, and silently breaks selectors, signatures, storage slots, and address derivation.

84

Quality

84%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Quality

Discovery

82%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a strong, highly specific description that clearly identifies a niche problem domain with excellent trigger terms for Ethereum/Solidity developers working in JavaScript/TypeScript. Its main weakness is the lack of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill. The technical specificity and distinctiveness are excellent.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when writing or reviewing Ethereum-related JavaScript/TypeScript code that involves hashing, function selectors, EIP-712 signatures, storage slot computation, or address derivation.'

DimensionReasoningScore

Specificity

Lists multiple specific concrete issues: selectors, signatures, storage slots, address derivation, and clearly names the root cause (Node's sha3-256 vs Ethereum Keccak-256). Very concrete and actionable.

3 / 3

Completeness

Clearly answers 'what does this do' (prevent Ethereum hashing bugs involving sha3-256 vs Keccak-256), but lacks an explicit 'Use when...' clause. The when is only implied by the problem description. Per rubric guidelines, missing 'Use when...' caps completeness at 2.

2 / 3

Trigger Term Quality

Includes highly relevant natural keywords: 'Ethereum', 'hashing', 'JavaScript', 'TypeScript', 'sha3-256', 'Keccak-256', 'selectors', 'signatures', 'storage slots', 'address derivation'. These are terms developers would naturally use when encountering this specific bug class.

3 / 3

Distinctiveness Conflict Risk

Extremely niche and specific — targets a particular bug class (Node sha3-256 vs Ethereum Keccak-256) in specific languages (JS/TS). Very unlikely to conflict with other skills.

3 / 3

Total

11

/

12

Passed

Implementation

79%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a strong, focused skill that clearly communicates a subtle and dangerous pitfall in Ethereum development. The code examples are excellent—concrete, executable, and covering multiple libraries. Minor improvements could be made by adding a brief remediation workflow (find → replace → verify) and considering whether the extensive examples warrant splitting into a reference file.

Suggestions

Add a brief remediation workflow: 1) Run grep audit commands, 2) Replace with library-specific Keccak helpers, 3) Verify outputs match expected hashes for known inputs

Consider moving library-specific examples to a separate EXAMPLES.md and keeping SKILL.md as a concise overview with one canonical example plus links

DimensionReasoningScore

Conciseness

The skill is lean and efficient. It states the core problem in one sentence, shows the divergence with a minimal code example, and provides library-specific snippets without explaining what Ethereum or hashing is. Every section earns its place.

3 / 3

Actionability

Provides fully executable, copy-paste-ready code examples for ethers v6, viem, and web3.js. Includes concrete grep commands for auditing codebases and specific patterns for selectors, storage slots, and address derivation.

3 / 3

Workflow Clarity

The skill is more of a reference/pattern catalog than a multi-step workflow. The audit section provides grep commands but lacks a clear sequence (e.g., find → replace → verify). For a skill about preventing bugs, a validation/verification step after remediation would strengthen it.

2 / 3

Progressive Disclosure

Content is well-organized with clear section headers and the examples are grouped by library, but everything is inline in a single file. The common patterns and library-specific examples could be split out or at least signaled as expandable sections for a cleaner overview.

2 / 3

Total

10

/

12

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Reviewed

Table of Contents