kiss-principle
Skill4 starsChanged 3 months agoApache-2.0View on GitHub
Load when a design or implementation feels over-engineered, when evaluating architecture or reviewing code for simplicity, or when the user mentions KISS, over-engineering, or premature abstraction.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- 12-factor-appSkill
- caveman-commitSkill
- caveman-reviewSkill
- cavemanSkill
- conventional-commitsSkill
- creating-pull-requestsSkill
- deep-researchSkill
- dispatching-parallel-agentsSkill
- domain-modelingSkill
- finishing-a-development-branchSkill
- forge-cleanupSkill
- forge-docsSkill
- forge-eu-accessibilitySkill
- forge-flowSkill
- forge-initSkill
- forge-seoSkill
- forge-setupSkill
- forgeSkill
- forge-tailwindcss-conventionsSkill
- frontend-designSkill
- git-issue-trackerSkill
- grillingSkill
- loopsSkill
- planning-and-task-breakdownSkill
- prototypeSkill
- pr-resolveSkill
- pr-reviewSkill
- resolving-merge-conflictsSkill
- ste100Skill
- subagent-driven-developmentSkill
- use-git-identitySkill
- using-git-worktreesSkill
- verification-before-completionSkill
- wayfinderSkill
The file
Files
KISS Principle
Keep It Simple, Stupid — coined by Kelly Johnson (Lockheed Skunk Works, 1960s). Systems work best when kept simple rather than made complicated. Every line of code is a liability.
Core Rules
- Start with the naive solution — make it work, then evaluate if complexity is needed
- One responsibility per component — agent, function, class, or module
- Avoid premature abstraction — wait for 3+ concrete instances of duplication
- Minimize dependencies — each is a liability and failure point
- Explicit over implicit — no magic, no hidden behavior, no clever one-liners
- Composable > hierarchical — flat function composition beats deep inheritance or state machines
KISS Decision Checklist
- Is this the simplest solution that correctly solves the problem?
- Would a junior developer understand this in under 2 minutes?
- Are we solving a real current problem or a hypothetical future one?
- Can anything be removed and still meet the requirement?
- Does this add a new dependency or moving part?
- Is the complexity proportional to the problem's scale?
Anti-Patterns (Non-KISS)
| Anti-Pattern | Fix |
| Over-engineering / "just in case" features | Implement only what's needed now |
| Premature abstraction | Copy-paste until 3+ duplications are clear |
| Deep inheritance hierarchies | Favor composition over inheritance |
| God objects | Split into focused, single-responsibility units |
| Microservices for small teams | Start monolith, extract when boundaries are clear |
| Custom frameworks | Use proven libraries |
| Complex agent orchestration | Plain function composition, one agent = one tool |
Related Principles
- YAGNI — You Aren't Gonna Need It (defer hypothetical features)
- DRY — eliminate duplication, but don't over-abstract to achieve it
- Unix Philosophy — do one thing well, compose small tools
- Occam's Razor — simplest explanation is usually correct
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

