Skip to content
cccskills
FreePublished on GitHub

dev-simplify

Analyze existing code for complexity, duplication, coupling, and unnecessary layers, then propose prioritized simplifications that improve readability and maintainability. The workflow checks whether code can be removed or replaced with existing platform features before suggesting changes.

OriginalShow the original description

AI DevKit · Analyze and simplify existing implementations to reduce complexity, improve maintainability, and enhance scalability. Use when users ask to simplify code, reduce complexity, refactor for readability, clean up implementations, improve maintainability, reduce technical debt, or make code easier to understand.

codeaholicguy/ai-devkit1,654 stars(GitHub 1,654 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Simplifying difficult-to-read code
  • Reducing duplication and unnecessary abstractions
  • Planning a maintainability refactor
  • Finding dead code or custom logic to remove

Files included (3)

  • SKILL.md4.8 KB
  • agents/openai.yaml306 B
  • references/readability-guide.md1.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Simplify Implementation Assistant

Reduce complexity with an analysis-first approach before changing code.

Hard Rules

  • Do not modify code until the user approves a simplification plan.
  • Readability over brevity. Some duplication beats the wrong abstraction.
  • Prefer reusing an existing function over introducing a new one — but only if it fits cleanly. Do not force-fit a near-match.
  • Before improving code, ask whether the function, abstraction, dependency, or custom logic needs to exist at all.
  • Prefer platform and standard-library features over custom code or dependencies. Use already-installed dependencies when they cleanly solve the problem; do not add a dependency for logic that is only a few clear lines.
  • For breaking changes: modify in place only when all callers are in-repo and updated in the same change. For public/external APIs, add a new function and deprecate the old one (parallel change).
  • Delete or inline before adding: remove dead code, one-caller wrappers, redundant guards, stale tests, and unused configuration first.

Workflow

  1. Gather Context
  • Confirm targets, pain points, and constraints (compatibility, API stability, deadlines).
  • Search for past simplification decisions or known constraints: npx ai-devkit@latest memory search --query "<target area>" --tags "simplify"
  1. Analyze Complexity
  • Identify sources (nesting, duplication, coupling, over-engineering, magic values).
  • Run an existence check: can this code be deleted, delegated to the standard library, handled by a native platform feature, enforced by the database, or covered by an existing dependency?
  • Apply the existence check to tests and scaffolding: remove stale, duplicate, implementation-detail-only, unused, or no-longer-relevant tests, assertions, and fixtures without unique behavioral coverage.
  • Apply the reader-load test: can a new reader answer where key values come from and what can change them quickly? Count needless layers and hidden mutable state.
  • Assess impact (LOC, dependencies, cognitive load, boundary leakage, scalability blockers).
  1. Apply Readability Principles
  • Apply the readability guide and its "Reading Test".
  • Prefer domain-shaped structures over scattered conditionals when they remove branches, duplicated rules, or invalid states. Do not add an abstraction that only moves code around.
  1. Propose Simplifications For each issue, apply a pattern:
  • Extract: Long functions → smaller, focused functions.
  • Consolidate: Duplicate code → shared utilities.
  • Flatten: Deep nesting → early returns, guard clauses.
  • Decouple: Tight coupling → dependency injection, interfaces.
  • Remove: Dead code, unused features, excessive abstractions.
  • Replace: Custom logic → standard-library, native platform, database, or already-installed dependency features.
  • Defer: Premature optimization → measure-first approach.
  • Redesign: Repeated implementation friction, patched branches, or synchronized flags → revisit the model before another local cleanup.
  1. Prioritize and Plan
  • Rank by impact/risk. Present plan with before/after snippets. Request approval.

Red Flags and Rationalizations

RationalizationWhy It's WrongDo Instead
"While I'm here, let me refactor this too"Scope creep breaks thingsOnly simplify what was requested
"This abstraction will help later"Predicted reuse rarely materializesRemove it unless used twice today
"Shorter is simpler"Brevity can hide complexityOptimize for readability, not line count
"I'll add a v2 instead of updating callers"Accumulates dead code and forks the APIModify in place when callers are in-repo; parallel-change only for external/public APIs
"Existing fn is close enough — I'll bend it to fit"Wrong abstraction is costlier than duplicationReuse only on clean fit; otherwise keep the small duplicate

Validation

  • Preserve meaningful regression, public-contract, and interaction coverage. Update stale tests to intentional behavior; never delete tests merely to make failures pass.
  • Verify no regressions, add tests for new helpers, update docs if interfaces changed.
  • If the change reaches an entry point (command, route, screen), run dev-smoke before and after; results must match.

Output Template

  • Target and Context
  • Complexity Analysis
  • Simplification Proposals (prioritized)
  • Recommended Order and Plan
  • Scalability Recommendations
  • Validation Checklist

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

Find active Codex, Claude Code, and other AI agents, inspect their recent context, and exchange messages with them. Use it to locate an agent, share information, or send a request and wait for a reply through ai-devkit commands.

  • Finding an active agent by name or status
  • Checking an agent’s recent context before contacting it
  • Sending information or requesting a reply from another agent
codeaholicguy/ai-devkit1.7KUpdated Oct 25, 2026

agent-management

FreeSummary

Manage running AI agents with ai-devkit commands: identify sessions, list and inspect agents, start workers, assign or group tasks, resume sessions, and stop agents. The skill helps track assignments and verify completed work before reporting it.

  • List agents and identify the current session
  • Inspect an agent before assigning work
  • Start a worker and delegate a task
codeaholicguy/ai-devkit1.7KUpdated Oct 25, 2026

Coordinate ongoing work across multiple agents by checking progress, resolving dependencies, unblocking agents, relaying relevant results, and verifying completion. Use it to supervise a shared workflow across repeated check-ins.

  • Coordinating agents with dependent tasks
  • Unblocking an agent waiting for input
  • Relaying results between agents
codeaholicguy/ai-devkit1.7KUpdated Oct 25, 2026

ai-devkit-setup

FreeSummary

Check whether AI DevKit is ready on the local machine, identify setup gaps it can address, and run the narrowest relevant setup for supported agent harnesses. Recheck status afterward and report remaining manual actions.

  • Check whether local AI DevKit setup is ready
  • Set up missing supported agent integrations
  • Review remaining setup steps after onboarding
codeaholicguy/ai-devkit1.7KUpdated Oct 25, 2026

brainstorm

FreeSummary

Explore ideas for products, content, names, strategies, technical approaches, or decisions. It frames the goal and constraints, generates distinct options, challenges assumptions and tradeoffs, then narrows the result to three strong choices with reasons and a next step.

  • Generating and comparing product or project ideas
  • Exploring names, content angles, or campaign concepts
  • Pressure-testing technical approaches or important decisions
codeaholicguy/ai-devkit1.7KUpdated Oct 25, 2026

changelog

FreeSummary

Update the top Unreleased section of CHANGELOG.md using commits since the latest release. Add one concise linked line per commit, using a pull request link when evidence is clear and a commit link otherwise, while preserving the file’s existing style.

  • Adding recent commits to an Unreleased changelog
  • Creating release notes from commits since the last release
  • Linking changelog entries to their commits or pull requests
codeaholicguy/ai-devkit1.7KUpdated Oct 25, 2026

See all skills by codeaholicguy

Report a problem with this skill