finding-duplicate-functions agent skill by obra
Audits a codebase for semantic duplication, finding functions that do the same thing under different names or implementations, especially in LLM-generated code.
At a glance
| Publisher | obra |
|---|---|
| Repository | obra/superpowers-lab (4 listed skills) |
| Category | Code Review and Code Quality |
| License | MIT |
| Last commit | June 1, 2026 (repository) |
| SKILL.md | 116 lines, 579 words |
| Bundled files | 6 files, including scripts |
| Quality score | 76/100 · C Passes all seven graded checks |
| Security scan | Not scanned |
| README badge | Get the listing badge and raise the score |
Before you install
Read from the skill's files at the directory's October 19, 2026 snapshot: what ships with it, what its code reads, and the terms it is published under.
- Bundled scripts: 3 script files (3 Shell). Your agent may run them, so read them first.
- License: MIT, an open-source or open-content license.
Install finding-duplicate-functions
The skills CLI works with Claude Code, Codex, Cursor and other agents; the other routes copy the folder by hand.
npx skills add https://github.com/obra/superpowers-lab/tree/main/skills/finding-duplicate-functions
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/obra/superpowers-lab.git "$tmp/repo"
mkdir -p .claude/skills
cp -R "$tmp/repo/"skills/finding-duplicate-functions .claude/skills/
rm -rf "$tmp"
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo obra/superpowers-lab \
--path skills/finding-duplicate-functions
obra/superpowers-lab is third-party code. Read SKILL.md and any bundled scripts before you install it.
How the author describes it
Use when auditing a codebase for semantic duplication - functions that do the same thing but have different names or implementations. Especially useful for LLM-generated codebases where new functions are often created rather than reusing existing ones.
From the description field of SKILL.md. Agents read this line to decide when to load the skill.
Sections in SKILL.md
- Overview
- When to Use
- Quick Reference
- Process
- Phase 1: Extract Function Catalog
- Phase 2: Categorize by Domain
- Phase 3: Split into Categories
- Phase 4: Find Duplicates (Per Category)
- Phase 5: Generate Report
- Phase 6: Human Review
- High-Risk Duplicate Zones
- Common Mistakes
Files in the skill folder
SKILL.mdscripts/categorize-prompt.mdscripts/extract-functions.shscripts/find-duplicates-prompt.mdscripts/generate-report.shscripts/prepare-category-analysis.sh
Suede Skill Check: 76/100 · C
Report snapshot · · graded-v2
The rubric totals 100 points; published scores are capped at 99. Security scan: not scanned.
Source revision: 51111f74f240. Report version 6564abddf7ec. Badge URLs follow the latest listing; save the report to keep this version.
Download report · Request a fresh review
What to review next
- Recent maintenance: 3 of 9 points. 9 for a repository commit within 30 days of the snapshot; 6 within 90; 3 within 180; 1 within 365.
- Boundary clause: 0 of 4 points. 4 when the description says when not to use the skill (“Not for …”, “Do not use …”, “Use … instead”).
- Example request: 0 of 3 points. 3 when the description quotes an example request (3–60 characters in quotation marks).
Add declarations and bundled files when they describe the skill’s actual needs. Update the source, then request a fresh review with the changed commit or PR.
finding-duplicate-functions passes the required frontmatter check and all seven graded checks, which cover the SKILL.md format, a declared license and a commit in the last year. Those checks earn 56 of the score’s points; the rest come from description quality, instruction depth, bundled files, maintenance and curated-list citations. How the score works.
See the checks and points
| Check | Result |
|---|---|
| Frontmatter parses and declares a name and a description | Pass |
| Name uses lowercase letters, digits and hyphens, 64 characters or fewer | Pass |
| Name matches the skill's folder name | Pass |
| Description is between 50 and 1,024 characters | Pass |
| Description says when an agent should use the skill | Pass |
| SKILL.md body is 500 lines or fewer | Pass |
| A license is declared in the frontmatter or the repository | Pass |
| Repository has a commit in the last 12 months | Pass |
| Score component | Points |
|---|---|
| Structural checks | 56 of 56 |
| Description length | 5 of 5 |
| Boundary clause | 0 of 4 |
| Example request | 0 of 3 |
| Instruction depth | 7 of 7 |
| Reference files | 0 of 3 |
| Bundled scripts | 2 of 2 |
| Recent maintenance | 3 of 9 |
| Curated-list citations | 3 of 7 |
| Tool permissions declared | 0 of 2 |
| Compatibility declared | 0 of 2 |
Show the listing and raise the score
finding-duplicate-functions is listed with 76/100 · C. This badge links to its Suede listing. Skills scoring 80–99 add a numeric and a letter quality shield; the largest open points for finding-duplicate-functions are recent maintenance (6), boundary clause (4) and example request (3). Send your repository and the points you want to raise, then request a fresh review after updating the skill.
[](https://skills.suedeai.ai/directory/obra/superpowers-lab/finding-duplicate-functions/)
<a href="https://skills.suedeai.ai/directory/obra/superpowers-lab/finding-duplicate-functions/"><img src="https://skills.suedeai.ai/directory/badge.svg" alt="Suede Skills Directory: listed" height="20"></a>
Where this skill is cited
obra/superpowers-lab appears in 2 curated lists: VoltAgent/awesome-agent-skills, travisvn/awesome-claude-skills.