similarity

Detect duplicated TypeScript/JavaScript functions using AST-based similarity scoring.

6|1|Updated Dec 8, 2009
One-click install
npx skills add https://github.com/jey3dayo/dotfiles --skill similarity
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: similarity
Source: https://github.com/jey3dayo/dotfiles/tree/main/agents/skills-internal/similarity/skills
Command: npx skills add https://github.com/jey3dayo/dotfiles --skill similarity

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Identify and analyze duplicated code across TypeScript/JavaScript projects to support safer, more maintainable refactoring.

Core Features & Use Cases

  • Detects function-level similarity using the similarity-ts tool (default threshold 0.87) to identify duplicates and guide consolidation.
  • Experimental type-definition similarity checks for interfaces and type aliases to surface cross-cut patterns.
  • Customizable filters (min lines, min tokens, function name/body filters) to narrow results for large codebases.
  • Prioritized guidance for refactoring based on similarity levels to improve maintainability.

Quick Start

Run similarity-ts on your TypeScript/JavaScript codebase to detect duplicated patterns, review the highest similarity pairs, and plan refactoring.

Frequently Asked Questions about similarity

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect code duplication in a TypeScript project?

Code duplication in TypeScript projects is detected using AST-based similarity analysis with a default threshold of 0.87. This Skill scans the entire project to locate similar functions and patterns, providing prioritized guidance for consolidation and refactoring.

Can I find similar type definitions and interfaces in JavaScript codebases?

Yes, you can find similar type definitions in JavaScript and TypeScript codebases using experimental type-definition similarity checks. This feature surfaces cross-cutting patterns in interfaces and type aliases to help improve maintainability.

How do I filter static analysis results for large codebases?

You can filter static analysis results for large codebases using customizable filters. These options allow you to narrow results by specifying minimum lines, minimum tokens, and applying function name or body filters to target relevant duplicated code.

What is the best way to plan refactoring for duplicated JavaScript functions?

The best way to plan refactoring for duplicated JavaScript functions is to review the highest similarity pairs identified by AST-based static analysis. This Skill prioritizes guidance based on similarity levels to support safer, more maintainable code consolidation.

Does this code duplication detection work with both TypeScript and JavaScript?

Yes, this code duplication detection works with both TypeScript and JavaScript. It applies project-wide AST-based similarity analysis to identify duplicated patterns and functions across both language environments for refactoring planning.