ConardLi/garden-skills
ConardLi's open-source Skills collection, featuring web design, knowledge retrieval, image generation, and more.
JavaScript★ 14,257+175 that day#10 on trending
C63.6/100
Duplication90
1% in javascript, tsx, typescript, bash, pythonDead code49
8.3%Complexity58
41.7% 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.94%duplicated code · 163 of 17,332 lines
12clones in code
120code files of 851 scanned
2.42%duplicated over all files · 312 clones
Most complex files
- skills/motion-showreel/scripts/lib/synth.mjs308 cx
- skills/motion-showreel/assets/editor/editor.js293 cx
- skills/motion-showreel/scripts/render.mjs233 cx
- skills/motion-showreel/scripts/inspect.mjs217 cx
- skills/motion-showreel/scripts/audio.mjs208 cx
- skills/motion-showreel/scripts/lib/narration.mjs201 cx
- skills/motion-showreel/scripts/lib/editor-progress.mjs188 cx
- skills/motion-showreel/scripts/build-long.mjs178 cx
- skills/motion-showreel/assets/editor/progress.js149 cx
- skills/motion-showreel/assets/starter/motion.js131 cx
Dead code 8.26% unused · 12 findings
- skills/motion-showreel/assets/editor/editor.jsunused-file
- skills/gpt-image-2/scripts/edit.jsunused-file
- skills/motion-showreel/assets/editor/viewport.jsunused-file
- skills/gpt-image-2/scripts/generate.jsunused-file
- skills/motion-showreel/assets/editor/progress.jsunused-file
- demo/web-design-demo/demo2/script.jsunused-file
- skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsxunused-file
- skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsxunused-file
- website/web-design-website/src/design/motion.tsunused-file
- scripts/release/pack-skill.mjs:readFileunused-import
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 29 lines in 2 placesjavascript189 tokens
104 if (!cfg.output) throw new Error("Missing value for --output"); 105 continue; 106} 107if (arg === "--model") { 108 cfg.model = argv[++i] || null; 109 if (!cfg.model) throw new Error("Missing value for --model"); 110 continue; 111} 112if (arg === "--size") { 113 cfg.size = argv[++i] || null;First 10 of 29 lines.
- 6 lines in 2 placesjavascript149 tokensskills/motion-showreel/assets/starter/score.layer.mjs:16–21skills/motion-showreel/assets/starter/score.mjs:33–39
16if (hit) sfx.add(S.riser(S.bar(1)), hit - S.bar(1), { gain: 0.4 }); 17for (const c of CUES) { 18 if (c.sfx === 'pop') sfx.add(S.pop('C6'), c.t, { gain: 0.6 }); 19 if (c.sfx === 'tick') sfx.add(S.tick(), c.t, { gain: 0.35, pan: Math.sin(c.t * 7) * 0.5 }); 20 if (c.sfx === 'whoosh') sfx.add(S.whoosh(0.6), c.t - 0.6 * 0.7, { gain: 0.7 }); 21 if (c.sfx === 'impact') { sfx.add(S.impact(), c.t, { gain: 0.9 }); S.duck(c.t, 1); }33if (hit) sfx.add(S.riser(S.bar(1)), hit - S.bar(1), { gain: 0.5 }); 34 35for (const c of CUES) { 36 if (c.sfx === 'pop') sfx.add(S.pop('C6'), c.t, { gain: 0.6 }); 37 if (c.sfx === 'tick') sfx.add(S.tick(), c.t, { gain: 0.35, pan: Math.sin(c.t * 7) * 0.5 }); 38 if (c.sfx === 'whoosh') sfx.add(S.whoosh(0.6), c.t - 0.6 * 0.7, { gain: 0.7 }); 39 if (c.sfx === 'impact') { sfx.add(S.impact(), c.t, { gain: 0.9 }); drums.add(S.crash(), c.t, { gain: 0.35 }); S.duck(c.t, 1); } - 19 lines in 2 placesjavascript116 tokens
84 if (!cfg.mask) throw new Error("Missing value for --mask"); 85 continue; 86} 87if (arg === "--prompt") { 88 cfg.prompt = argv[++i] || null; 89 if (!cfg.prompt) throw new Error("Missing value for --prompt"); 90 continue; 91} 92if (arg === "--promptfile") { 93 cfg.promptFile = argv[++i] || null;First 10 of 19 lines.
7 more
- 18 lines in 2 placesjavascript81 tokens
- 16 lines in 2 placesjavascript79 tokens
- 16 lines in 2 placestsx78 tokens
- 13 lines in 2 placesjavascript77 tokens
- 15 lines in 2 placesjavascript67 tokens
- 7 lines in 2 placesjavascript59 tokens
- 6 lines in 2 placesjavascript57 tokens
Largest clones over all files, tests and data included
- 7 lines in 48 placesmarkdowndocs and examples68 tokenswebsite/gpt-image2-website/public/case/INDEX.md:52–58website/gpt-image2-website/public/case/INDEX.md:79–85website/gpt-image2-website/public/case/INDEX.md:126–132website/gpt-image2-website/public/case/INDEX.md:139–145website/gpt-image2-website/public/case/INDEX.md:165–171and 43 more
52- **提示词目录**:[`prompts/ui-mockups/live-commerce-ui/`](./ui-mockups/live-commerce-ui/) 53- **图片进度**:✅ 2 / 2 54- **案例**: 55 56 | # | 提示词 | 图片 | 案例标题 | 简介 | 57 |---|---|---|---|---| 58 | 1 | [`1.json`](./ui-mockups/live-commerce-ui/1.json) | [`1.png`](./ui-mockups/live-commerce-ui/1.png) | Elon Musk 直播带 Cybertruck(科技带货旗舰场景) | 典型的"科技公司创始人本人下…79- **提示词目录**:[`prompts/ui-mockups/product-card-overlay/`](./ui-mockups/product-card-overlay/) 80- **图片进度**:✅ 2 / 2 81- **案例**: 82 83 | # | 提示词 | 图片 | 案例标题 | 简介 | 84 |---|---|---|---|---| 85 | 1 | [`1.json`](./ui-mockups/product-card-overlay/1.json) | [`1.png`](./ui-mockups/product-card-overlay/1.png) | DERMA CALM 敏感肌精华 — 临床感落地页 hero(女性向护肤) | 典型的… - 103 lines in 2 placesmarkdowndocs and examples978 tokens
118<table> 119<tr> 120<td width="33%" valign="top" align="center"> 121<a href="https://rearticle.mmh1.top/#/gallery/caffeine-half-life"> 122<img src="https://raw.githubusercontent.com/ConardLi/assets/main/imgs/article/theam-tufte.webp" alt="Tufte · Data-Ink" width="260"> 123<br><b>Tufte</b> · Data-Ink 124</a> 125<br><sub>咖啡因与睡眠 · 数据笔记</sub> 126<br><sup>Edward Tufte 数据墨水,证据优先,发丝级图表与最朴素的版式。</sup> 127</td>First 10 of 103 lines.
- 14 lines in 3 placesmarkdowndocs and examples373 tokens
300<table> 301<tr> 302<td width="25%" align="center"><img src="https://cdn.jsdelivr.net/gh/ConardLi/assets@main/imgs/article/tufte.webp" alt="tufte" width="100%"><br/><sub><b>tufte<… 303<td width="25%" align="center"><img src="https://cdn.jsdelivr.net/gh/ConardLi/assets@main/imgs/article/press.webp" alt="press" width="100%"><br/><sub><b>press<… 304<td width="25%" align="center"><img src="https://cdn.jsdelivr.net/gh/ConardLi/assets@main/imgs/article/bayer.webp" alt="bayer" width="100%"><br/><sub><b>bayer<… 305<td width="25%" align="center"><img src="https://cdn.jsdelivr.net/gh/ConardLi/assets@main/imgs/article/bodoni.webp" alt="bodoni" width="100%"><br/><sub><b>bodo… 306</tr> 307<tr> 308<td width="25%" align="center"><img src="https://cdn.jsdelivr.net/gh/ConardLi/assets@main/imgs/article/vignell.webp" alt="vignelli" width="100%"><br/><sub><b>v… 309<td width="25%" align="center"><img src="https://cdn.jsdelivr.net/gh/ConardLi/assets@main/imgs/article/sottsass.webp" alt="sottsass" width="100%"><br/><sub><b>…First 10 of 14 lines.
- 63 lines in 2 placesmarkdowndocs and examples623 tokens
- 9 lines in 3 placesmarkdowndocs and examples200 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| javascript | 44 | 7,164 | 9 | 129 | 1.8% |
| tsx | 48 | 7,737 | 3 | 34 | 0.44% |
| typescript | 16 | 1,127 | 0 | 0 | 0% |
| bash | 9 | 995 | 0 | 0 | 0% |
| python | 3 | 309 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| markdown | 264 | 45,919 | 158 | 1,330 | 2.9% |
| css | 65 | 15,474 | 100 | 788 | 5.09% |
| javascript | 61 | 9,460 | 14 | 166 | 1.75% |
| json | 283 | 24,595 | 13 | 253 | 1.03% |
| markup | 14 | 6,283 | 13 | 106 | 1.69% |
| bash | 36 | 1,651 | 8 | 66 | 4% |
| tsx | 51 | 7,791 | 3 | 34 | 0.44% |
| text | 42 | 1,315 | 3 | 36 | 2.74% |
| typescript | 16 | 1,127 | 0 | 0 | 0% |
| python | 6 | 529 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Nov 6, 2026 | #10 | 14,257 (+175) | 851 | 114,855 | 312 | 2.42% | 0.94% | C 63.6 | 2b9a893 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.