Nutlope/hallmark

Anti-AI-slop design skill for Claude Code, Cursor, and Codex.

CSS★ 32,391+455 that day#4 on trending

Analyzed October 25, 2026 at 7ec8682 (main) with jscpd v5 in 1.5s.

E31.1/100
Project health13,245 lines of code (M)
Duplication92
0.6% in javascript, python, tsx, vue
Dead code10
28.4%
Complexity33
88.6%

The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.

0.63%duplicated code · 83 of 13,166 lines
9clones in code
42code files of 573 scanned
8.34%duplicated over all files · 484 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 1 generated file: site/themes/terminal/art.js.

Largest clones in the code

  • 16 lines in 2 placesjavascript172 tokens
    62}
    63
    64function listRuns(filter) {
    65  const out = [];
    66  if (!existsSync(RUNS)) return out;
    67  for (const briefId of readdirSync(RUNS).sort()) {
    68    const briefDir = path.join(RUNS, briefId);
    69    if (!statSync(briefDir).isDirectory()) continue;
    70    if (filter.brief && briefId !== filter.brief) continue;
    71    for (const cell of readdirSync(briefDir).sort()) {
    

    First 10 of 16 lines.

  • 12 lines in 2 placesjavascript128 tokens
    35);
    36
    37function parseArgs(argv) {
    38  const args = { brief: null, arm: null, force: false, dryRun: false };
    39  for (let i = 0; i < argv.length; i++) {
    40    const a = argv[i];
    41    if (a === "--brief") args.brief = argv[++i];
    42    else if (a === "--arm") args.arm = argv[++i];
    43    else if (a === "--force") args.force = true;
    44    else if (a === "--dry-run") args.dryRun = true;
    

    First 10 of 12 lines.

  • 10 lines in 2 placesjavascript109 tokens
    44const img = new Image();
    45img.src = 'data:image/png;base64,' + b64;
    46await img.decode();
    47const c = document.createElement('canvas');
    48c.width = img.width; c.height = img.height;
    49const x = c.getContext('2d');
    50x.drawImage(img, 0, 0);
    51const d = x.getImageData(0, 0, c.width, c.height).data;
    52const ch = [[], [], []];
    53for (let i = 0; i < d.length; i += 4) { ch[0].push(d[i]); ch[1].push(d[i + 1]); ch[2].push(d[i + 2]); }
    
    402const img = new Image(); img.src = 'data:image/png;base64,' + b64; await img.decode();
    403const c = document.createElement('canvas'); c.width = img.width; c.height = img.height;
    404const x = c.getContext('2d'); x.drawImage(img, 0, 0);
    405const d = x.getImageData(0, 0, c.width, c.height).data;
    406const ch = [[], [], []];
    407for (let py = 0; py < c.height; py++) for (let px = 0; px < c.width; px++) {
    
6 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
javascript3812,0629830.69%
python41,104000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
css27019,6532473,23016.44%
markup9118,4592281,91110.35%
javascript4012,0999830.69%
markdown1027,976000%
json72,609000%
python41,104000%
yaml49549000%
tsx266000%
text538000%
bash129000%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Oct 25, 2026#432,391 (+455)57362,6024848.34%0.63%E 31.17ec8682

Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.