quality-checklist
Code review quality checklist. Use before commits and during code review.
When & Why to Use This Skill
This Claude skill automates and standardizes the code review process by providing a comprehensive quality checklist. It ensures adherence to specific project patterns, naming conventions, documentation requirements, and build stability. By identifying hardcoded values, inconsistent styling, and missing documentation before commits, it helps engineering teams maintain high-quality codebases and accelerate the approval workflow.
Use Cases
- Pre-commit Self-Check: Developers can use this skill to audit their own code against project standards before submitting a pull request to reduce review cycles.
- Standardizing Team Practices: Ensures all team members follow the same patterns for UI strings, logging, and architectural dependencies, preventing technical debt.
- Automated Documentation Audits: Verifies that CHANGELOG.md and ROADMAP.md are updated correctly alongside code changes to maintain project transparency.
- Onboarding Support: Helps new developers quickly learn the project's specific coding styles and mandatory patterns through guided feedback.
- Build & Test Verification: Acts as a final gatekeeper to ensure that build scripts pass and new tests are included for new features.
| name | quality-checklist |
|---|---|
| description | Code review quality checklist. Use before commits and during code review. |
Quality Checklist
1. Project Patterns
Icons
- Icons via
core::ArtProvider::getInstance().getIcon()? - QActions via
core::ArtProvider::getInstance().createAction()? - NO hardcoded paths
QIcon("path/...")?
UI Strings
- All user-visible strings via
tr()? - NO hardcoded strings in UI?
Configuration
- Config via
core::SettingsManager::getInstance()? - NO hardcoded configuration values?
Colors
- Colors via
core::ArtProvider::getInstance().getPrimaryColor()? - Or via
core::ThemeManager::getInstance().getCurrentTheme()? - NO hardcoded
QColor(r, g, b)?
Logging
- Using
core::Logger::getInstance().info/debug/error()? - Appropriate log levels?
2. Code Quality
Naming
- Files: snake_case.cpp?
- Classes: PascalCase?
- Methods: camelCase?
- Members: m_camelCase?
- Constants: UPPER_SNAKE_CASE?
Comments
- Doxygen for public methods (
///)? - No commented-out code?
- No TODO/FIXME in new code?
Code style
- No unused imports/includes?
- No unused variables?
- Consistent indentation?
3. Documentation
CHANGELOG.md
- Entry in [Unreleased] section?
- Correct category (Added/Changed/Fixed)?
ROADMAP.md
- Checkbox marked [x] if feature complete?
- NO task numbers added?
OpenSpec
- tasks.md updated (checkboxes)?
- status updated (if task complete)?
4. Build & Tests
Build
- Build passes? (
scripts/build_windows.bat Debug) - No new warnings?
Tests
- Existing tests still pass?
- New tests added (if new feature)?
5. Review Decision
Approve if
- All checkboxes above are checked
- No critical issues found
Request changes if
- Missing tr() for UI strings
- Hardcoded icons/colors
- Missing CHANGELOG entry
- Build fails
- Tests fail
Block if
- Security issues
- Breaking changes without discussion
- Major architectural violations
6. Output Format
{
"decision": "approve" | "request_changes" | "block",
"summary": "Brief summary",
"issues": [
"Issue 1 description",
"Issue 2 description"
]
}