keep-it-simple

KISS (Keep It Simple, Stupid)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "keep-it-simple" with this command: npx skills add yanko-belov/code-craft/yanko-belov-code-craft-keep-it-simple

KISS (Keep It Simple, Stupid)

Overview

The simplest solution that works is the best solution.

Clever code impresses no one. Simple code ships faster, breaks less, and others can maintain it.

When to Use

  • Solution feels complex

  • Writing "elegant" or "clever" code

  • Multiple approaches exist

  • Tempted to show off skills

  • Using advanced patterns for simple problems

The Iron Rule

NEVER choose clever over clear. Simple wins.

No exceptions:

  • Not for "it's more elegant"

  • Not for "it shows advanced skills"

  • Not for "it's technically better"

  • Not for "it's a nice one-liner"

Detection: The "Clever" Smell

If you're proud of how clever your code is, simplify it:

// ❌ VIOLATION: Clever one-liner const isPalindrome = (s: string): boolean => (s = s.toLowerCase().replace(/[^a-z0-9]/g, '')) === [...s].reverse().join('');

// ✅ CORRECT: Simple and clear function isPalindrome(str: string): boolean { const cleaned = str.toLowerCase().replace(/[^a-z0-9]/g, '');

for (let i = 0; i < cleaned.length / 2; i++) { if (cleaned[i] !== cleaned[cleaned.length - 1 - i]) { return false; } }

return true; }

The Cost of Complexity

Complex Code Impact

Clever one-liners Unreadable, hard to debug

Nested ternaries Logic becomes opaque

Over-abstraction Indirection hides intent

Premature optimization Complexity without measured benefit

Design pattern overuse Patterns for patterns' sake

Correct Pattern: Obvious Code

Write code that a junior developer can understand in 30 seconds:

// ❌ COMPLEX: "Elegant" functional chain const result = data .filter(Boolean) .map(x => transform(x)) .reduce((acc, x) => ({ ...acc, [x.id]: x }), {}) .values() .filter(x => x.active) .sort((a, b) => b.date - a.date) .slice(0, 10);

// ✅ SIMPLE: Clear steps with names const validItems = data.filter(Boolean); const transformed = validItems.map(transform); const activeItems = transformed.filter(item => item.active); const sorted = activeItems.sort((a, b) => b.date - a.date); const topTen = sorted.slice(0, 10);

Pressure Resistance Protocol

  1. "It's More Elegant"

Pressure: "This one-liner is more elegant than the verbose version"

Response: Elegance is clarity, not brevity. Simple code is more elegant than clever code.

Action: Use the clear version. Name intermediate variables.

  1. "It Shows Advanced Skills"

Pressure: "I want to demonstrate I know advanced patterns"

Response: Senior engineers are recognized for simple solutions, not complex ones.

Action: Solve the problem simply. Save cleverness for where it's needed.

  1. "It's Technically Better"

Pressure: "The complex version is O(n) vs O(n log n)"

Response: Premature optimization. Is this actually a bottleneck?

Action: Write simple code. Optimize only when profiling shows need.

  1. "Let Me Show Multiple Approaches"

Pressure: "I'll provide two implementations to show versatility"

Response: One clear solution is better than multiple options.

Action: Pick the simplest approach. Provide only that.

Red Flags - STOP and Reconsider

If you notice ANY of these, simplify:

  • Code requires explanation comments

  • Nested ternaries ? : ? :

  • Multiple chained operations (5+)

  • Regex that needs decoding

  • Proud of how clever it is

  • "One-liner" implementations

  • Junior couldn't understand in 30 seconds

  • Multiple solutions "for versatility"

All of these mean: Rewrite simply.

Simplification Techniques

Complex Simple

Nested ternaries if/else statements

Long chains Named intermediate variables

Clever regex Multiple simple checks

One-liner Multi-line with comments

Implicit Explicit

Magic numbers Named constants

Quick Reference

Symptom Action

"Elegant" one-liner Expand to clear multi-line

Nested ternary Convert to if/else

Complex chain Break into named steps

Multiple approaches Pick simplest one

Pride in cleverness Rewrite simply

Common Rationalizations (All Invalid)

Excuse Reality

"It's more elegant" Clear code is more elegant than clever code.

"Shows advanced skills" Simple solutions show more skill.

"It's a nice one-liner" One-liners are often unreadable.

"Technically better" Premature optimization is bad.

"Multiple options show versatility" One clear solution is better.

"It's how experts do it" Experts write simple code.

The Bottom Line

Simple beats clever. Clear beats concise. Obvious beats elegant.

When solving a problem: find the simplest solution that works. If a junior dev can't understand it in 30 seconds, simplify it.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

dont-repeat-yourself

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

lazy-loading

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

separation-of-concerns

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

error-boundaries

No summary provided by upstream source.

Repository SourceNeeds Review