Files
system-config/home-manager/features/development/claude/skills/elegance/SKILL.md

2.4 KiB

name, description, source
name description source
elegance Iteratively study and apply elegant coding patterns. Each iteration - understand the code, research what simple and elegant code looks like, apply learnings, verify with CI. Use as a standalone refactoring pass or when the user asks to make code more elegant, simple, or idiomatic. https://github.com/srid/emanote/tree/master/.claude/skills/elegance

Elegance

Iteratively study and apply elegant coding patterns. Each iteration: understand the code, research what simple & elegant code looks like, apply learnings, verify with CI.

Run for 3 iterations (or as specified by the user — can be a number or a duration like 2h).

0. Determine Scope

  • Before starting, use the AskUserQuestion tool to ask: should this operate on the whole codebase or only on changes in the current branch/PR?
  • If scoped to current branch/PR, use git diff main...HEAD (or the appropriate base branch) to identify changed files and limit all subsequent steps to those files only.

For each iteration (1 to N)

1. Understand

  • Read through the relevant source files.
  • Note patterns, repetition, unnecessary complexity, non-idiomatic code.

2. Research

  • Use WebSearch/WebFetch to research what simple, elegant (yet readable!) code looks like for the relevant technology.
  • Look for idiomatic patterns, standard simplifications, and community best practices.
  • Focus on: simplicity, readability, removing unnecessary abstraction, leveraging language features.

3. Apply

  • Refactor based on what you learned.
  • This can include: edits, code reorganization, or even rewrites where simplicity demands it.
  • Prefer fewer lines, clearer intent, and idiomatic style.
  • Don't add abstractions — remove them.

4. Verify

  • Run tests/CI to check edits.
  • If CI fails, fix the issues before proceeding to the next iteration.

5. Log Progress

  • Briefly note what changed in this iteration and why.

After all iterations

  • Do not git commit. Leave all changes in the working directory for the user to review.
  • Present a summary of what changed across all iterations.

Principles

  • Simple over clever: Elegant code is simple code.
  • Readable over terse: Brevity is good, but not at the cost of clarity.
  • Idiomatic over generic: Use the language's strengths. Write TypeScript like TypeScript, not like Java.
  • Each iteration builds on the last: Don't undo previous improvements. Deepen them.