Imbad0202/academic-research-skills
Academic Research Skills for Claude Code: research → write → review → revise → finalize
Python★ 46,084+496 that day#8 on trending
4.22%duplicated code · 5,484 of 129,922 lines
276clones in code
228code files of 2,302 scanned
6.8%duplicated over all files · 1,953 clones
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 351 lines in 2 placespython2,155 tokensscripts/check_re_review_synthesis.py:1956–2306scripts/legacy/check_re_review_synthesis_v1_0.py:1516–1866
1956 "triggering divergence" 1957 ) 1958elif row["cross_model_verdict"] == rec["pre_reapplication_verdict"]: 1959 # §6 dispatch order is normative: diverges is identified 1960 # FIRST (judge verdict vs the row's verdict), THEN the 1961 # system intent is emitted and the 2B' call dispatched. A 1962 # judge verdict equal to the dispatch-time pre-value means 1963 # no divergence existed to resolve — the chain manufactures 1964 # its own diverges status after the fact. 1965 fails.add(First 10 of 351 lines.
- 144 lines in 2 placespython1,509 tokensscripts/check_re_review_synthesis.py:719–862scripts/legacy/check_re_review_synthesis_v1_0.py:585–728
719if row["obligation_class"] == "MUST_FIX": 720 if not has_status: 721 v.fail(path, "MUST_FIX rows always carry cross_model_status (§5.3 / #539)") 722elif has_status or has_cmv: 723 v.fail(path, "SHOULD_FIX/CONSIDER rows carry neither cross-model field (#539 scope)") 724if has_status: 725 v.enum(row["cross_model_status"], f"{path}.cross_model_status", 726 ("agree", "diverges", "unavailable", "not_configured")) 727 if row["cross_model_status"] in ("agree", "diverges"): 728 if not has_cmv:First 10 of 144 lines.
- 151 lines in 2 placespython1,428 tokensscripts/check_re_review_synthesis.py:499–649scripts/legacy/check_re_review_synthesis_v1_0.py:386–536
499v.enum(art["contract_version"], "$.contract_version", ("1.1",)) 500v.string(art["round_id"], "$.round_id") 501v.pattern(art["precommitment_hash"], "$.precommitment_hash", _SHA256_RE, "sha256 hex") 502v.array(art["items"], "$.items") 503for i, rec in enumerate(art["items"]): 504 path = f"$.items[{i}]" 505 v.obj(rec, path, ["item_id", "verdict", "change_summary", "verified_by", "applied_criterion"], 506 ["evidence_anchor", "cannot_verify_reason", "residual_gap"]) 507 v.pattern(rec["item_id"], f"{path}.item_id", _ITEM_ID_RE, "REV-<id>") 508 v.enum(rec["verdict"], f"{path}.verdict", VERDICTS)First 10 of 151 lines.
7 more
- 166 lines in 2 placespython949 tokens
- 110 lines in 2 placespython782 tokens
- 139 lines in 2 placespython670 tokens
- 90 lines in 2 placespython636 tokens
- 48 lines in 2 placespython550 tokens
- 90 lines in 2 placespython522 tokens
- 57 lines in 2 placespython457 tokens
Largest clones over all files, tests and data included
- 130 lines in 24 placesjsondata files367 tokensevals/heldout/reviewer_seeded_defects/runs/raw/2026-08-03-ms00_clean-baseline-r1/contract.json:1–130evals/heldout/reviewer_seeded_defects/runs/raw/2026-08-03-ms00_clean-baseline-r2/contract.json:1–130evals/heldout/reviewer_seeded_defects/runs/raw/2026-08-03-ms00_clean-baseline-r99/contract.json:1–130evals/heldout/reviewer_seeded_defects/runs/raw/2026-08-03-ms02_qual-baseline-r2/contract.json:1–130evals/heldout/reviewer_seeded_defects/runs/raw/2026-08-04-ms00_clean-baseline-r1/contract.json:1–130and 19 more
1{ 2 "contract_id": "reviewer/reviewer_full/v2", 3 "mode": "reviewer_full", 4 "stage": "reviewer_full_review", 5 "baseline_version": "v3.20.0", 6 "panel_size": 5, 7 "acceptance_dimensions": [ 8 { 9 "id": "D1", 10 "name": "methodology_rigor",First 10 of 130 lines.
- 349 lines in 2 placesmarkdowndocs and examples4,521 tokens
8# Synthesis Agent — Cross-Source Integration & Gap Analysis 9 10## Role Definition 11 12You are the Synthesis Agent. You perform the core intellectual work of research: integrating findings across multiple sources, identifying patterns and contrad… 13 14## Phase Boundary (v3.9.2) 15 16You are a single-phase agent assigned to **Phase 3 (Analysis)**. Your sole deliverable is the Synthesis Report (integrated findings + contradiction resolution … 17First 10 of 349 lines.
- 334 lines in 2 placesmarkdowndocs and examples4,204 tokens
8# Report Compiler Agent — APA 7.0 Academic Report Writer 9 10## Role Definition 11You are the Report Compiler Agent. You transform research findings, synthesis narratives, and methodological blueprints into polished academic reports followin… 12 13## Core Principles 141. **APA 7.0 compliance**: Every element follows APA 7th edition standards 152. **Evidence-based writing**: Every claim must be supported by cited evidence 163. **Reader-centered**: Write for the target audience, not for yourself 174. **Structure drives clarity**: Follow the standard structure — deviations must be justifiedFirst 10 of 334 lines.
- 291 lines in 2 placesmarkdowndocs and examples3,719 tokens
- 59 lines in 4 placesmarkdowndocs and examples1,006 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 210 | 126,755 | 276 | 5,484 | 4.33% |
| bash | 16 | 2,800 | 0 | 0 | 0% |
| javascript | 1 | 193 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 445 | 261,892 | 861 | 12,540 | 4.79% |
| markdown | 916 | 190,849 | 564 | 10,020 | 5.25% |
| json | 504 | 68,214 | 446 | 13,297 | 19.49% |
| text | 167 | 7,453 | 20 | 251 | 3.37% |
| yaml | 135 | 5,929 | 17 | 236 | 3.98% |
| txt | 21 | 515 | 16 | 320 | 62.14% |
| diff | 22 | 362 | 9 | 77 | 21.27% |
| r | 2 | 187 | 8 | 53 | 28.34% |
| bash | 43 | 4,250 | 6 | 119 | 2.8% |
| markup | 9 | 2,533 | 6 | 156 | 6.16% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 4, 2026 | #8 | 46,084 (+496) | 2,302 | 545,107 | 1,953 | 6.8% | 4.22% | — | 9443623 |
| Sep 3, 2026 | #9 | 45,682 (+799) | 2,302 | 545,107 | 1,959 | 6.87% | 4.22% | — | 9443623 |
| Sep 2, 2026 | #2 | 45,097 (+193) | 2,302 | 545,107 | 1,952 | 6.8% | 4.22% | — | 9443623 |
| Sep 1, 2026 | #2 | 44,562 (+161) | 2,301 | 545,034 | 1,953 | 6.82% | 4.22% | — | e8bf858 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.