CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

compare-codebases

Compare two folders function by function with jscpd --compare, in the same language or across languages, and explain the result. Use when asked how two codebases relate, which functions one implementation has and the other lacks, how far a port has come, whether the iOS and Android versions of an app match, or which function in one folder corresponds to a function in the other.

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

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

A strong, information-dense skill: every fact is tool-specific and load-bearing, commands are copy-paste ready, and the six-step workflow embeds explicit verification checkpoints with error-handling guidance. The only notable weaknesses are occasional over-long prose and pairing internals inlined in the main file rather than split into a reference.

DimensionReasoningScore

Conciseness

Nearly all content is jscpd-specific knowledge Claude cannot have (calibrated thresholds like "0.4125 across languages and 0.6375 within one language", module-linking rules, report block shapes) and it avoids explaining known concepts. A few dense multi-clause sentences (the module-definition paragraph in the name-pairing step) and the test-convention list could be tightened, which keeps it just below a 5.

4 / 5

Actionability

Fully executable, copy-paste-ready commands throughout ("npx jscpd --compare billing-py/ billing-ts/", "-r console-full", "--ignore \"**/vendor/**,**/target/**,**/node_modules/**\"", "--semantic-download"), a complete annotated sample of the console output, and a documented JSON report schema. The common cases (port progress, tests-only, code-only) are each covered with the exact flag to use.

5 / 5

Workflow Clarity

Six clearly sequenced steps with explicit validation checkpoints: step 4 instructs reading a sample of high/low/by-name pairs "before reporting the comparison as reliable", step 5 requires searching the other folder before calling a function missing, and error handling is specified ("When a sample pair is wrong, say which one and why"). This is not a destructive or batch operation, so no validation cap applies.

5 / 5

Progressive Disclosure

Well-sectioned single-file skill with clear headings and one-level-deep, clearly signaled cross-references to sibling skills; the structure is easy to navigate. It falls short of 5 because the two outbound links (../code-migration/SKILL.md, ../jscpd/SKILL.md) do not resolve within this bundle, and roughly 35 lines of pairing-algorithm internals are inlined in SKILL.md where a reference file could hold them.

4 / 5

Total

18

/

20

Passed

Description

91%Weight 40%Scale 1-5

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

An exemplary description: third-person, concrete, and compact, with an explicit Use-when clause carrying five natural trigger phrasings. The only deductions are minor — capability coverage stops short of reports/options, and the port-progress trigger slightly overlaps a sibling migration skill.

DimensionReasoningScore

Specificity

Names concrete actions with the tool and mechanism ("Compare two folders function by function with jscpd --compare", "explain the result") plus the same-language/cross-language scope. It stays below 5 because capability coverage is not comprehensive — report formats, migration maps, and options are not mentioned — and above 3 because the actions are specific rather than generic.

4 / 5

Completeness

Explicitly answers both questions: the first sentence states what the skill does (function-by-function comparison with jscpd --compare plus explaining the result), and "Use when asked how two codebases relate, …" gives concrete when-triggers.

5 / 5

Trigger Term Quality

Five natural phrasings users would actually say: "how two codebases relate", "which functions one implementation has and the other lacks", "how far a port has come", "whether the iOS and Android versions of an app match", and "which function in one folder corresponds to a function in the other". Coverage includes synonyms and concrete platform examples.

5 / 5

Distinctiveness Conflict Risk

A clear niche (two-folder function-level comparison) with distinct triggers, but "how far a port has come" tugs toward the closely related code-migration skill the body itself defers to, creating minor overlap risk rather than minimal.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 2 suspicious

Warning

Total

15

/

16

Passed

Repository

kucherenko/jscpd

Path

skills/compare-codebases/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.