Case study

boring-engineering

Overview

An Agent Skills-compatible skill that enforces YAGNI, KISS, and practical DRY through a 4-step decision system — so coding agents ship less code without losing correctness.

Problem

AI coding agents know what KISS, YAGNI, and DRY mean, but consistently fail on when to apply them. Left alone they add abstractions before a second use case, build plugin systems for one consumer, and future-proof code for requirements that never arrive.

Approach

I built a concrete 4-step decision system the agent must run before writing code: Requirement Filter (YAGNI), Reuse Check, Simplicity Check (KISS, name the built-in), and Abstraction Check (practical DRY, all three questions must be yes). Progressive disclosure keeps context cheap — ~100 tokens at startup, full SKILL.md only on implementation tasks.

Architecture

Single SKILL.md as the installable artifact, with assets/decision-tree.md and references/decision-framework.md loaded on demand. Examples show bad vs good abstractions. Benchmarks run 12 tickets × 5 arms × 5 tries (300 cells) in fresh sandboxes per cell, with an unbiased 300-cell GO re-run for the headline numbers.

Challenges

Turning vague principles into checkable gates without becoming a linter. The decision tree had to stay short enough to run every time but strict enough to cut the usual factory/registry overengineering. Benchmark design needed real repos to reuse, 5-arm interleaving, and n=5 to avoid additive bias.

Results

On opencode-go/muse-spark-1.2-contributor (GO plan) — 36% fewer lines, 41% fewer tokens, 98% correct (59/60) vs 37% baseline, with 97% safety on security-sensitive tasks. One SKILL.md works across 40+ Agent Skills-compatible tools.

Technology

Node.jsOpenCode

Support boring-engineering (vote)

boring-engineeringon App Builders PH
Email copied