本文へ移動
cccskills
無料GitHub で公開

simplify-implementation

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.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md4.7 KB
  • agents/openai.yaml317 B
  • references/readability-guide.md1.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

Output Template

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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

AI DevKit · Exchange information with active Codex, Claude Code, and other AI agents using ai-devkit agent list, detail, and send. Use when an agent needs to find another active agent, read its recent context, send it information, or request information back.

日本語の概要は準備中です。原文の説明を表示しています。

codeaholicguy/ai-devkit1,6442026年10月9日 更新

AI DevKit · Manage running AI agents with ai-devkit agent commands. Use when an agent needs to identify itself, list agents, start workers, inspect agent detail, assign work, group agents, resume sessions, stop agents, or delegate work to other agents.

日本語の概要は準備中です。原文の説明を表示しています。

codeaholicguy/ai-devkit1,6442026年10月9日 更新

AI DevKit · Supervise multi-agent workflows over repeated passes: poll progress, unblock waiting agents, coordinate dependencies, relay outputs, resolve conflicts, and verify completion. Use only for ongoing multi-agent coordination, not one-off list/detail/send/start/kill actions.

日本語の概要は準備中です。原文の説明を表示しています。

codeaholicguy/ai-devkit1,6442026年10月9日 更新

AI DevKit · Check local AI DevKit readiness and run setup only when status shows onboarding or harness integration gaps.

日本語の概要は準備中です。原文の説明を表示しています。

codeaholicguy/ai-devkit1,6442026年10月9日 更新

AI DevKit · Use when the user asks to brainstorm, ideate, generate ideas, expand options, challenge ideas, pressure-test ideas, compare concepts, narrow choices, name something, plan content angles, explore strategy, evaluate product ideas, technical approaches, experiments, or decisions.

日本語の概要は準備中です。原文の説明を表示しています。

codeaholicguy/ai-devkit1,6442026年10月9日 更新

changelog

無料

AI DevKit · Update CHANGELOG.md Unreleased items from git commits since the latest release. Use when users ask to update changelog/release notes from recent commits, with one concise line per commit and commit/PR links.

日本語の概要は準備中です。原文の説明を表示しています。

codeaholicguy/ai-devkit1,6442026年10月9日 更新

codeaholicguy のスキルをすべて見る

このスキルの問題を報告する