# Dry

> Detect duplicate code and suggest DRY refactors using jscpd

- Skill: `majiayu000/dry` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/dry`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/dry/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/dry

---


# DRY Check

Detect duplicate code across your codebase using jscpd.

## Subcommands

| Command | Description |
|---------|-------------|
| `dry` or `dry scan` | Run duplication scan |
| `dry report` | Show last scan results |
| `dry config` | Show current jscpd configuration |
| `dry init` | Create project-specific jscpd.json |

## Parameters

| Parameter | Description | Default |
|-----------|-------------|---------|
| `--threshold N` | Minimum token count for duplicate detection (higher = fewer matches) | jscpd default |
| `--path <dir>` | Directory to scan for duplicates | Current directory |

## Examples

```bash
# Scan with higher threshold (find only large duplicates)
/bluera-base:dry scan --threshold 100

# Scan specific directory
/bluera-base:dry scan --path src/

# Combine both
/bluera-base:dry scan --threshold 75 --path lib/
```

## Workflow

**Phases:** Check jscpd → Scan codebase → Report duplicates → Suggest refactors

### 1. Check jscpd Installation

```bash
command -v jscpd || npx jscpd --version
```

If not installed, suggest: `npm install -g jscpd`

### 2. Run Scan

```bash
jscpd --reporters json --output .bluera/bluera-base/state/ .
```

### 3. Parse Results

Results are stored in `.bluera/bluera-base/state/jscpd-report.json`

### 4. Refactoring Guidance

See skills/dry-refactor/SKILL.md for language-specific refactoring patterns.

