Skip to content
cccskills
FreePublished on GitHub

code-refactoring-dry

Evaluate repeated code and consolidate duplication when a shared abstraction improves correctness or maintenance. Use after introducing similar logic or when repeated changes reveal a missing source of truth.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md1.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Refactoring Duplication

Remove harmful duplication without replacing clear local code with a forced abstraction.

Workflow

  1. Compare the repeated code and the reasons each copy exists.
  2. Decide whether the copies represent one concept that should change together or merely look similar today.
  3. If one concept exists, choose the smallest natural shared boundary in the repository: a function, data structure, type, module, or generated source.
  4. Refactor all relevant call sites while preserving behavior and useful local differences.
  5. Run focused tests and repository quality gates appropriate to the change.

Prefer an abstraction when it creates a real source of truth, prevents drift, or makes future changes safer. Keep duplication when sharing would couple independent concepts, obscure control flow, or add more indirection than value.

Do not broaden a focused request into a repository-wide deduplication project. Report nearby opportunities separately unless they are necessary for a sound refactor.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bc

Free

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bdr

Free

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

See all skills by aspiers

Report a problem with this skill