Agent-skills-standard common-best-practices
Enforce SOLID principles, guard-clause style, function size limits, and intention-revealing naming across all languages. Use when refactoring for readability, applying clean-code patterns, reviewing naming conventions, or reducing function complexity. (triggers: **/*.ts, **/*.tsx, **/*.go, **/*.dart, **/*.java, **/*.kt, **/*.swift, **/*.py, solid, kiss, dry, yagni, naming, conventions, refactor, clean code)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/common/common-best-practices" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-common-best-practices-62ef2f && rm -rf "$T"
manifest:
skills/common/common-best-practices/SKILL.mdsource content
Global Best Practices
Priority: P0 (FOUNDATIONAL)
Core Principles
- SOLID: Follow SRP (One reason to change), OCP (Open to extension), LSP, ISP, DIP.
- KISS/DRY/YAGNI: Favor readability. Abstract repeated logic. No " in case" code.
- Naming: Use intention-revealing names (
>isUserAuthenticated
). Match language casing.checkUser
Code Hygiene
- Size Limits: Functions < 30 lines. Services < 600 lines. Utils < 400 lines.
- Early Returns: Use guard clauses. Avoid deep nesting.
- Comments: Explain why, not what. Refactor bad code; don't comment it.
- Input: Validate/sanitize all external inputs.
Anti-Patterns
- No Hardcoded Constants: Use named config/env vars.
- No Deep Nesting: Use guard clauses.
- No Global State: Prefer dependency injection.
- No Empty Catches: Always handle, log, or rethrow.
References
- Code Structure Patterns — file/function organization
- Effectiveness Guide — practical application examples