skills/dry-code-review/dry-code-review/SKILL.md
Perform a comprehensive DRY (Don't Repeat Yourself) code review on a codebase. Identifies duplicated code, repeated logic, redundant patterns, and opportunities for abstraction. Use this skill whenever the user asks to review code for duplication, reduce repetition, apply DRY principles, refactor for reusability, find copy-pasted code, deduplicate logic, or audit code quality with a focus on redundancy. Also trigger when users say things like "clean up my code", "find repeated patterns", "too much boilerplate", "reduce code duplication", or "refactor for maintainability". Works on any language or framework.
npx skillsauth add espennilsen/pi dry-code-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Perform a structured, thorough code review focused on the DRY (Don't Repeat Yourself) principle. The review is planned and tracked via a markdown file in plans/.
The DRY principle states: "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." This skill systematically finds violations and recommends fixes.
plans/dry-review-<project-name>.md using the template belownode_modules, vendor, generated files, test fixtures)Run the scanning script to find likely duplication:
bash /path/to/dry-code-review/scripts/find_duplicates.sh <target_directory> [extensions]
The script detects:
Import/dependency lines are intentionally excluded from the duplicate-lines scan so they don't dominate the output.
After automated scanning, perform deeper analysis by reading the codebase. Look for these DRY violation categories:
For each finding, document:
Update the plan file with:
The plan file MUST be created at plans/dry-review-<project-name>.md using this structure:
# DRY Code Review: <Project Name>
## Review Metadata
- **Date**: YYYY-MM-DD
- **Reviewer**: Claude (AI-assisted)
- **Scope**: <directories/files reviewed>
- **Languages**: <languages found>
- **Total Files Scanned**: <count>
- **Total Lines of Code**: <count>
## Status
- [ ] Phase 1: Setup & Discovery
- [ ] Phase 2: Automated Scanning
- [ ] Phase 3: Manual Analysis
- [ ] Phase 4: Findings & Recommendations
- [ ] Phase 5: Summary & Prioritization
## Scope Definition
### Included
- <list of included paths>
### Excluded
- <list of excluded paths and reasons>
## Findings
### Summary
| Category | 🔴 High | 🟡 Medium | 🟢 Low | Total |
|------------------------|---------|----------|--------|-------|
| Literal Duplication | | | | |
| Structural Duplication | | | | |
| Logical Duplication | | | | |
| Cross-Cutting | | | | |
| **Total** | | | | |
### Detailed Findings
#### DRY-001: <Title>
- **Category**: <category>
- **Severity**: 🔴/🟡/🟢
- **Locations**:
- `path/to/file1.ts:L10-L25`
- `path/to/file2.ts:L30-L45`
- **Description**: <what is duplicated>
- **Recommendation**: <how to fix>
- **Effort**: S/M/L
<!-- Repeat for each finding -->
## Prioritized Action Plan
### Quick Wins (Small effort, immediate value)
1. <action item>
### High-Impact Refactors (Medium/Large effort)
1. <action item>
### Nice-to-Have (Low priority)
1. <action item>
## Risk Notes
- <things to watch out for when refactoring>
## Review Log
- YYYY-MM-DD: Review initiated
- YYYY-MM-DD: <phase completed>
tools
# pi-a2a Long-Running Tasks Skill ## Overview The pi-a2a extension supports **long-running tasks** that can execute for hours or days without timeouts. This is essential for: - Data processing pipelines - Batch operations - Research and aggregation tasks - External API jobs with unpredictable duration - Any A2A task that exceeds the standard timeout ## When to Use **Use long-running tasks when:** - Task execution time is unpredictable or known to exceed 10 minutes - The remote agent is proc
development
Orchestrate cmux terminal panes — split terminals, run parallel processes, read output from other panes, and use the built-in browser. Use when working inside cmux and you need to run a dev server, watch tests, spawn sub-agents, or preview web pages.
testing
Review UI designs and implementations for accessibility, consistency, usability, and visual quality. Use when asked to review a design, audit accessibility, check UI consistency, compare implementation against mockups, or evaluate a user interface.
tools
Create, review, and improve skills for Pi agents. A skill is a folder with a SKILL.md that teaches an agent specialized workflows, domain knowledge, or tool integrations. Use when asked to create a new skill, improve an existing skill, review a skill for quality, scaffold a skill from a workflow, or convert documentation into a skill. Also triggers on "make a skill for", "build a skill", "skill for [topic]", "teach the agent to", or "package this workflow as a skill".