kiss
Rule
Would a senior engineer say this is overcomplicated? If yes, list things that could be simplified
Software Design Principles
Core Philosophy
Managing complexity is the primary challenge. Every design decision should reduce complexity.
Deep Modules
- Simple, clean interfaces hiding complex implementations
- Users accomplish tasks without understanding internals
- High functionality-to-interface-complexity ratio
Strategic Programming
- Invest 10-20% extra time in design for long-term maintainability
- Continuously refactor to improve quality
- Build systems that become easier to modify over time
Information Hiding
- Hide file formats, algorithms, data structures behind interfaces
- Prevent information leakage across module boundaries
- Changes to internals should not affect module users
KISS - Critical
- Minimum viable solution first: Simplest solution that works
- Readability over cleverness: Clear code beats technical showmanship
- Use existing tools: Don't reinvent (
du -shvs custom size calculator) - Progressive complexity: Start simple, add only when necessary
Red Flags (Over-Engineering)
- Generic solutions for single problems
- Complex patterns for simple problems
- "Might need later" features
- Abstraction layers for one implementation
Security Requirements
- Validate inputs (whitelist), sanitize before storage
- Never hardcode secrets; use parameterized queries
- Apply least privilege; handle errors without leaking details
Implementation Standards
- Complete implementations, not stubs or placeholders
- Handle error conditions and edge cases
- Production-quality code deployable immediately
Refactoring
- Remove legacy code entirely when replacing
- Update all usage points; delete unused dependencies
- Goal: simpler, more maintainable system
More from tizee/skills
ast-grep
Structural code pattern search and refactoring using ast-grep (sg). Use for finding functions, classes, methods, imports, or any code structure patterns. Supports syntax-aware analysis across multiple languages including JavaScript, TypeScript, Python, Ruby, Go, Rust, and more. Use when searching for code patterns based on structure rather than plain text.
1plan-with-files
Implements Manus-style file-based planning for complex tasks. Creates .plans/<feature-name>-yymmdd/ directory with task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls.
1cli-agent-ux-review
Review a CLI tool's source code for AI agent friendliness and Agent Experience (AX) quality. Use this skill when working inside a CLI tool's repository and the user wants to evaluate how well the tool works when operated by AI agents rather than humans directly. Triggers on phrases like "agent-friendly", "AX review", "agent experience", "agent-ux", "cli review for agents", or any request to assess whether a CLI tool is easy for coding agents to use, parse, and operate reliably. Also use when someone asks about improving a CLI tool's output format, error handling, or automation story from an agent's perspective.
1git-repo-analysis
Analyze git repositories and generate comprehensive markdown documentation for quick understanding. Use when user asks to "analyze this repo", "document the codebase", "explain how this project works", "generate repo docs", "understand this codebase", or wants documentation about project architecture and modules. Triggers on requests for codebase analysis, architecture documentation, module documentation, or project understanding.
1clean-architecture-review
Review a codebase, PR, or module for clean architecture quality and production robustness. Use when Codex needs to detect cross-layer business logic mixing (domain/application/infrastructure/interface boundary violations), dependency direction leaks, SOLID principle problems, and KISS/over-engineering issues, then report findings prioritized with SRE-style severity levels (P0-P3) so users/agents can improve code quality for real-world production operation.
1