From bee
Applies universal clean code principles like SRP, DRY, YAGNI, small functions, meaningful names, and simple design rules when writing, reviewing, or refactoring any code.
npx claudepluginhub incubyte/ai-plugins --plugin beeThis skill uses the workspace's default tool permissions.
These principles apply to ALL code Bee produces, evaluates, or cleans up — regardless of architecture pattern, language, or framework. They are non-negotiable defaults. The target project's CLAUDE.md may add project-specific conventions on top of these.
Applies clean code principles for readable, maintainable code: meaningful names, small functions, clean error handling, SRP, formatting, and unit tests. Scores code 0-10 for reviews and refactoring.
Enforces universal code quality principles like KISS, DRY, single responsibility, clean code, and code review when writing or reviewing any code.
Refactors working code into clean, readable, maintainable code using Robert C. Martin's Clean Code principles on names, functions, comments, formatting, and objects. For new code, PR reviews, legacy refactoring, team standards.
Share bugs, ideas, or general feedback.
These principles apply to ALL code Bee produces, evaluates, or cleans up — regardless of architecture pattern, language, or framework. They are non-negotiable defaults. The target project's CLAUDE.md may add project-specific conventions on top of these.
Don't build what nothing asks for.
Before writing any code, abstraction, or interface, ask: does a test or acceptance criterion require this RIGHT NOW?
Every piece of knowledge should have a single, authoritative representation.
Each unit of code should have one reason to change.
Functions should be short enough to understand at a glance.
Every statement in a function should be at the same level of abstraction.
Don't mix high-level orchestration with low-level details.
Clean up before building, not after.
Names should reveal intent. A reader should understand the code without needing comments.
remainingAttempts not num.calculateDiscount() not discount().is, has, can, should.data, info, temp, result — unless scope is 1-2 lines.Errors are not exceptional — they're expected. Handle them explicitly.
catch (e) {} is almost never correct.OrderNotFoundError not Error('not found').Dependencies always point inward — from less stable to more stable.
Prefer composing behavior from small, focused pieces over deep inheritance hierarchies. One level of inheritance is usually fine. Three levels — refactor.
Code should do what its name says. Nothing more, nothing less.
A function called getUser() should not modify the user or trigger side effects.
A comment is a failure to express intent in code.
In priority order — the first rule wins when they conflict:
When producing code (TDD planners, quick-fix, programmer):
When evaluating code (verifier, reviewer):
When cleaning code (tidy):
When the target project has its own CLAUDE.md:
For detailed code examples illustrating each principle, consult:
references/code-examples.md — Concrete code examples for YAGNI, DRY, SRP, abstraction levels, naming, error handling, and anti-patterns like feature envy, Law of Demeter violations, and null returns.