src/skills/kiss-principle/SKILL.md
KISS (Keep It Simple, Stupid) — Enforces the KISS principle by favoring simple, readable, and obvious solutions over clever or over-engineered ones. Use when writing, reviewing, or refactoring code that is unnecessarily complex, over-abstracted, or hard to understand at a glance.
npx skillsauth add ngmthaq/my-copilot kiss-principleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
"Simplicity is the ultimate sophistication." — Leonardo da Vinci
"The most powerful tool we have as developers is abstraction. The most dangerous tool we have as developers is abstraction." — Kent Beck
Complexity is the enemy of reliability. Simple code is easier to read, test, debug, change, and hand off to the next developer. If a simpler solution exists that meets the requirements, use it.
Bad:
class DataFetcherFactory {
static create(type, config, middleware = [], plugins = []) {
const instance = new DataFetcher(type, config);
middleware.forEach((m) => instance.use(m));
plugins.forEach((p) => instance.register(p));
return instance;
}
}
// Usage: const fetcher = DataFetcherFactory.create('http', config);
Good (if you just need to fetch data right now):
async function fetchData(url) {
const res = await fetch(url);
return res.json();
}
Bad:
result = [x for x in data if x % 2 == 0 and x > 0 and x < 100 and x not in seen and not seen.add(x)]
Good:
result = []
for x in data:
if x % 2 == 0 and 0 < x < 100 and x not in seen:
seen.add(x)
result.append(x)
Bad:
class StringWrapper {
constructor(private value: string) {}
getValue() {
return this.value;
}
toUpperCase() {
return new StringWrapper(this.value.toUpperCase());
}
}
Good:
const name = "alice";
const upper = name.toUpperCase();
Bad:
function processOrder(order) {
if (order) {
if (order.items) {
if (order.items.length > 0) {
if (order.status !== "cancelled") {
// actual logic
}
}
}
}
}
Good (use early returns / guard clauses):
function processOrder(order) {
if (!order?.items?.length) return;
if (order.status === "cancelled") return;
// actual logic
}
Bad:
def is_eligible(user):
if user.age >= 18:
return True
else:
return False
Good:
def is_eligible(user):
return user.age >= 18
Bad:
let isValid = false;
const result = validate(input);
if (result === true) {
isValid = true;
}
if (isValid) {
process(input);
}
Good:
if (validate(input)) {
process(input);
}
KISS does not mean write less code at the expense of correctness, error handling, or clarity. A solution that skips necessary error handling to appear shorter is not simpler — it's broken.
Ask: "Would a competent developer unfamiliar with this codebase understand this in under 30 seconds?"
[simpler form]?"documentation
Guidelines and protocols for Technical Leaders to manage and oversee technical projects effectively while adhering to the core mandate of being the central orchestration layer for all engineering work.
data-ai
Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Provides execution plan analysis, pagination optimization, batch operations, and performance monitoring guidance.
development
SOLID — Enforces the SOLID principle of object-oriented design (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) for maintainable and scalable code.
development
Separation of Concerns (SoC) — Enforces the Separation of Concerns principle by ensuring each module, layer, and component addresses exactly one well-defined concern. Use when writing, reviewing, or refactoring code that mixes UI with business logic, business logic with data access, presentation with formatting, or cross-cutting concerns (auth, logging, validation) with core logic.