yagni

Guide code design and review to avoid speculative features and premature abstraction.

6|2|Updated Feb 28, 2026
One-click install
npx skills add https://github.com/JordanCoin/codingskills --skill yagni-jordancoin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yagni
Source: https://github.com/JordanCoin/codingskills/tree/main/skills/yagni
Command: npx skills add https://github.com/JordanCoin/codingskills --skill yagni-jordancoin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

YAGNI helps teams avoid over-engineering by preventing speculative features and unnecessary abstractions that complicate code and slow delivery.

Core Features & Use Cases

  • Rules and anti-patterns that guide when to generalize or postpone design decisions.
  • Practical boundaries and a code-review checklist to prevent premature optimization.
  • Real-world use cases like evaluating feature requests, refactoring decisions, and sprint planning.

Quick Start

Ask your AI to evaluate a feature request and remove any speculative abstractions to keep the implementation minimal.

Frequently Asked Questions about yagni

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent over-engineering and avoid speculative features during software design?

Prevent over-engineering by applying rules and anti-patterns that eliminate speculative code paths and postpone unnecessary design decisions. This keeps software design minimal and focused strictly on current requirements.

What is premature abstraction and how do I remove it from my code?

Premature abstraction is generalizing code before actual needs arise. Remove it by evaluating your feature scope and stripping out speculative paths, ensuring you only build abstractions justified by concrete requirements.

How do I evaluate feature requests to avoid building unnecessary abstractions?

Evaluate feature requests by applying a code-review checklist that filters out speculative features. This process assesses whether a request requires immediate generalization or if a simpler, direct implementation suffices.

Can I use a code-review checklist to stop premature optimization in sprint planning?

Yes, you can integrate a code-review checklist into sprint planning to identify and prevent premature optimization. It provides practical boundaries to guide refactoring decisions and avoid delaying delivery.

When should I not generalize code or postpone design decisions?

You should not generalize code when facing speculative features or hypothetical future needs. Postpone design decisions until concrete requirements emerge, avoiding the anti-pattern of building for scenarios that may never occur.