addyosmani/agent-skills
Production-grade engineering skills for AI coding agents.
JavaScript★ 104,136+436 that day#5 on trending
B73.9/100
Duplication71
4.3% in javascript, bash, perl, python, tsxDead code92
0%Complexity66
32.4% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
4.48%duplicated code · 296 of 6,604 lines
29clones in code
31code files of 302 scanned
2.35%duplicated over all files · 51 clones
Most complex files
- scripts/run-evals.js212 cx
- hooks/simplify-ignore.sh84 cx
- scripts/lib/skill-lint.js84 cx
- scripts/lib/skill-lint-test.js78 cx
- scripts/run-evals-test.js44 cx
- scripts/validate-commands.js44 cx
- scripts/floor-guard-reference-test.js39 cx
- scripts/validate-reference-links.js34 cx
- scripts/validate-reference-links-test.js32 cx
- hooks/sdd-cache-pre.sh27 cx
Dead code 0% unused · 0 findings
No dead code found — everything here is reachable.
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 12 lines in 3 placesbash79 tokenshooks/simplify-ignore-test.sh:257–268hooks/simplify-ignore-test.sh:301–312hooks/simplify-ignore-test.sh:341–352
257 rm -rf "$PROJ" 258 mkdir -p "$PROJ/.claude" 259 TARGET="$PROJ/app.js" 260 cat > "$TARGET" <<'EOF' 261const editable = 1; 262/* simplify-ignore-start: perf-critical */ 263const protectedValue = 42; 264/* simplify-ignore-end */ 265EOF 266First 10 of 12 lines.
- 10 lines in 3 placesjavascript65 tokensscripts/validate-artifact-paths-test.js:3–12scripts/validate-commands-test.js:3–12scripts/validate-reference-links-test.js:3–12
3'use strict'; 4 5const assert = require('node:assert/strict'); 6const fs = require('node:fs'); 7const os = require('node:os'); 8const path = require('node:path'); 9const { spawnSync } = require('node:child_process'); 10const { afterEach, test } = require('node:test'); 11 12const VALIDATOR = path.join(__dirname, 'validate-artifact-paths.js');3'use strict'; 4 5const assert = require('node:assert/strict'); 6const fs = require('node:fs'); 7const os = require('node:os'); 8const path = require('node:path'); 9const { spawnSync } = require('node:child_process'); 10const { afterEach, test } = require('node:test'); 11 12const VALIDATOR = path.join(__dirname, 'validate-commands.js'); - 13 lines in 2 placesbash118 tokens
16command -v jq >/dev/null 2>&1 || exit 0 17command -v curl >/dev/null 2>&1 || exit 0 18command -v shasum >/dev/null 2>&1 || command -v sha256sum >/dev/null 2>&1 || exit 0 19 20if [ -t 0 ]; then INPUT="{}"; else INPUT=$(cat); fi 21 22# Debug logging: active when SDD_CACHE_DEBUG=1 is set, or when a sentinel 23# file exists at .claude/sdd-cache/.debug. Toggle with `touch` / `rm`. 24dbg() { 25 local dir="${CLAUDE_PROJECT_DIR:-$PWD}/.claude/sdd-cache"First 10 of 13 lines.
7 more
- 13 lines in 3 placesjavascript58 tokens
- 14 lines in 2 placesjavascript101 tokens
- 10 lines in 2 placesjavascript86 tokens
- 7 lines in 2 placesbash85 tokens
- 12 lines in 2 placesjavascript75 tokens
- 8 lines in 2 placesjavascript74 tokens
- 12 lines in 2 placesbash72 tokens
Largest clones over all files, tests and data included
- 43 lines in 2 placestomldata files743 tokens
1description = "Implement tasks incrementally — build, test, verify, commit. Add \"auto\" to run the whole plan in one approved pass." 2 3prompt = """ 4Invoke the incremental-implementation skill alongside test-driven-development. 5 6## Modes 7 8- `/build` — implement the next pending task, then stop (careful, one slice at a time). 9- `/build auto` — generate the plan if needed, get a single approval, then implement every task without stopping between them. 10First 10 of 43 lines.
- 46 lines in 2 placestomldata files429 tokens
27## Phase B — Merge in main context 28 29Once all three reports are back, the main agent (not a sub-persona) synthesizes them: 30 311. **Code Quality** — Aggregate Critical/Important findings from `code-reviewer` and any failing tests, lint, or build output. Resolve duplicates between revie… 322. **Security** — Promote any Critical/High `security-auditor` findings to launch blockers. Cross-reference with `code-reviewer`'s security axis. 333. **Performance** — Pull from `code-reviewer`'s performance axis; cross-check Core Web Vitals if applicable. 344. **Accessibility** — Verify keyboard nav, screen reader support, contrast (not covered by the three personas — handle directly here, or invoke the accessibil… 355. **Infrastructure** — Env vars, migrations, monitoring, feature flags. Verify directly. 366. **Documentation** — README, ADRs, changelog. Verify directly.First 10 of 46 lines.
- 24 lines in 2 placestomldata files421 tokens
1description = "Define and enforce this project's quality bar — interview, sane defaults, CONSTRAINTS.md" 2 3prompt = """ 4Invoke the constraint-driven-development skill. 5 6$ARGUMENTS 7 8Default behaviour with no arguments: set up constraints for this repository. 9 101. **Detect first.** Read package.json / pyproject.toml / go.mod, the test runner, existing lint configs, current coverage output, CI workflows, and the agent …First 10 of 24 lines.
- 9 lines in 2 placestomldata files223 tokens
- 16 lines in 2 placestomldata files163 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| javascript | 14 | 4,347 | 22 | 220 | 5.06% |
| bash | 16 | 2,089 | 7 | 76 | 3.64% |
| perl | 1 | 168 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| javascript | 30 | 4,685 | 22 | 220 | 4.7% |
| toml | 18 | 542 | 15 | 257 | 47.42% |
| bash | 32 | 2,326 | 7 | 76 | 3.27% |
| markdown | 99 | 14,149 | 4 | 32 | 0.23% |
| typescript | 13 | 658 | 1 | 7 | 1.06% |
| yaml | 27 | 458 | 1 | 8 | 1.75% |
| diff | 4 | 71 | 1 | 8 | 11.27% |
| json | 32 | 1,441 | 0 | 0 | 0% |
| text | 34 | 1,000 | 0 | 0 | 0% |
| tsx | 5 | 172 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Oct 10, 2026 | #5 | 104,136 (+436) | 302 | 25,858 | 51 | 2.35% | 4.48% | B 73.9 | 1401c8b |
| Oct 8, 2026 | #4 | 102,967 (+677) | 300 | 25,846 | 51 | 2.35% | 4.48% | B 73.9 | 1401c8b |
| Oct 5, 2026 | #6 | 101,277 (+336) | 300 | 25,802 | 51 | 2.36% | 4.51% | B 73.9 | 1401c8b |
| Oct 4, 2026 | #5 | 100,922 (+252) | 300 | 25,802 | 51 | 2.36% | 4.51% | B 73.9 | 1401c8b |
| Sep 21, 2026 | #10 | 97,806 (+736) | 289 | 23,997 | 47 | 2.38% | 5.22% | B 77.2 | dc27a9c |
| Sep 20, 2026 | #2 | 97,172 (+556) | 287 | 23,356 | 42 | 2.25% | 4.87% | B 77.4 | c004a74 |
| Sep 19, 2026 | #5 | 96,504 (+675) | 287 | 23,356 | 42 | 2.25% | 4.87% | B 77.4 | c004a74 |
| Sep 18, 2026 | #3 | 95,981 (+680) | 287 | 23,356 | 42 | 2.25% | 4.87% | — | c004a74 |
| Sep 16, 2026 | #8 | 94,942 (+307) | 287 | 22,741 | 35 | 1.99% | 3.76% | — | be4e44a |
| Sep 4, 2026 | #6 | 92,096 (+264) | 281 | 22,281 | 35 | 2.02% | 3.78% | — | 020ec10 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.