yagni

Detects unnecessary abstractions and over-engineering during code edits.

Updated Jan 7, 2026
One-click install
npx skills add https://github.com/fyrsmithlabs/marketplace --skill yagni
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yagni
Source: https://github.com/fyrsmithlabs/marketplace/tree/main/plugins/fs-dev/skills/yagni
Command: npx skills add https://github.com/fyrsmithlabs/marketplace --skill yagni

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

YAGNI and KISS violations slow development, accumulate technical debt, and create unnecessary complexity. This skill provides real-time nudges to keep implementations simple and focused.

Core Features & Use Cases

  • Real-time nudges for YAGNI and over-engineering patterns with configurable sensitivity.
  • Pattern detection across common categories (abstraction creep, config-addiction, scope creep, dead code, premature optimization, etc.) with severity scoring and actionable guidance.
  • Project context integration (whitelists, per-project overrides, and optional contextd/history learning) to reduce false positives.

Quick Start

Edit a file to introduce an unnecessary abstraction, or trigger a nudge by describing a risky pattern. Use the built-in commands like /yagni status to view active rules or /yagni on/off to toggle detection.

Frequently Asked Questions about yagni

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

FAQPage Schema
How do I detect over-engineering and unnecessary abstractions while writing code?

You can detect over-engineering during code edits by applying real-time YAGNI pattern detection. This approach analyzes complexity metrics on write operations and emits structured nudges to flag unnecessary abstractions, keeping implementations simple.

What is the YAGNI principle and how does it prevent technical debt?

The YAGNI principle (You Aren't Gonna Need It) prevents technical debt by discouraging premature optimizations and scope creep. Detecting these patterns during development slows accumulation of unnecessary complexity and keeps code focused.

How do I configure code simplicity checks to avoid false positives in my project?

You can configure code simplicity checks using configurable sensitivity settings, pattern whitelisting, and per-project overrides. This allows you to tailor YAGNI violation detection and reduce false positives for your specific codebase.

Can I disable YAGNI nudges for specific files or patterns?

Yes, you can disable YAGNI nudges for specific patterns by using pattern whitelisting and per-project overrides. You can also use commands like '/yagni on/off' to quickly toggle the detection mechanism entirely.

How does real-time code complexity analysis work with historical project context?

Real-time code complexity analysis works with historical context by integrating with contextd to learn from history. This allows the YAGNI detection rules to apply context-aware nudges that respect previous project decisions.

What are the limitations of automated YAGNI and KISS pattern detection?

Automated YAGNI and KISS pattern detection relies on predefined rules and complexity metrics, meaning it may require manual whitelisting for domain-specific abstractions to avoid false positives and cannot fully replace human architectural review.