Standardized code review process for RoboView to ensure correctness, maintainability, and testing standards.
Install
mkdir -p .claude/skills/code-review-viadee && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10681" && unzip -o skill.zip -d .claude/skills/code-review-viadee && rm skill.zipInstalls to .claude/skills/code-review-viadee
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Systematic code review for RoboView contributions. Use when reviewing pull requests, checking code quality, or validating changes before merge. Covers style, testing, security, and cross-surface consistency.Key capabilities
- →Review Python and TypeScript code
- →Enforce project patterns
- →Validate cross-surface consistency
- →Check testing requirements
How it works
The skill provides a complete checklist for reviewing code across Python, TypeScript, and React surfaces, ensuring consistency, type safety, and testing standards.
Inputs & outputs
When to use code-review
- →Reviewing pull requests
- →Checking code quality before merge
- →Validating cross-surface impact
About this skill
Code Review for RoboView
Review Philosophy
Good code review catches issues early, shares knowledge, and maintains consistency. Focus on:
- Correctness — Does it work? Does it handle edge cases?
- Maintainability — Can others understand and modify it?
- Consistency — Does it follow project patterns?
- Testing — Is it adequately tested?
- Cross-Surface Impact — Does it affect other surfaces correctly?
Review Checklist by Surface
Python Backend (packages/roboview/)
Code Quality
- Follows existing patterns (services, registries, schemas)
- Type hints on all public functions and methods
- Docstrings on all public functions with Args/Returns
- No unused imports or variables
- Exceptions are specific, not bare
except: - Logging uses structured format with appropriate levels
Testing
- New functionality has corresponding tests
- Tests use factory helpers, not hardcoded data
- Test names follow
test_<method>_<scenario>pattern - Edge cases are covered (empty inputs, None values)
-
pytestpasses locally
Type Safety
-
pyrightreports no errors on changed files - Schema models use
Field()with descriptions - Optional fields explicitly typed as
X | None
API Changes
- Response models defined in
schemas/dtos/ - Error responses documented
- Endpoint has summary and description
- Breaking changes documented
TypeScript Extension (vscode-integration/src/)
Code Quality
- Follows existing service patterns
- Proper error handling with user-friendly messages
- Disposables are cleaned up
- Output channel logging for debugging
- No
anytypes without justification
Testing
- Critical paths have tests
- Mocks are minimal and focused
-
npm run check-typespasses -
npm run lintpasses
VS Code API Usage
- Commands registered in
registerCommands() - Subscriptions added to
context.subscriptions - Configuration reads use proper defaults
- Webview messages are typed
React Webview (vscode-integration/webview-ui/)
Code Quality
- Components follow existing patterns
- Props are typed with interfaces
- Hooks follow rules (dependencies, cleanup)
- No direct DOM manipulation
- Tailwind classes used consistently
State Management
- Local state for UI-only concerns
- Message passing for data from extension
- Memoization for expensive computations
- Loading states handled
Accessibility
- Interactive elements are keyboard accessible
- ARIA labels where needed
- Color contrast meets VS Code theme requirements
Performance
- Large lists use virtualization
- No unnecessary re-renders
- Images/assets are optimized
Robot Framework Tests (rf_usergrp_vtiger/)
Code Quality
- Keywords have
[Documentation] - Variables use consistent naming (
${UPPER_CASE}for constants) - Resource imports are minimal and specific
- Selectors in separate
sel*.resourcefiles
Test Quality
- Tests are independent (can run in any order)
- Test names describe behavior, not implementation
- Appropriate tags for filtering
- Setup/teardown handle cleanup
Review by Change Type
New Feature
-
Design Review
- Does the feature fit the existing architecture?
- Are interfaces minimal and deep?
- Is it in the right surface(s)?
-
Implementation Review
- Follows established patterns?
- Handles errors gracefully?
- Has appropriate logging?
-
Testing Review
- Unit tests for new logic
- Integration tests if crossing surfaces
- Manual testing instructions provided
-
Documentation Review
- Code comments where non-obvious
- README updates if needed
- API documentation if applicable
Bug Fix
-
Root Cause
- Is the actual root cause addressed?
- Could the fix cause regressions?
-
Regression Test
- Is there a test that would have caught this?
- Is there a test that prevents recurrence?
-
Similar Issues
- Are there similar patterns elsewhere that need fixing?
Refactoring
-
Behavior Preservation
- Does existing functionality still work?
- Are tests updated appropriately?
-
Incremental Change
- Is the refactor scoped appropriately?
- Can it be merged safely?
-
Cross-Surface Impact
- Does this affect interfaces between surfaces?
- Are dependent surfaces updated?
Review Comments
Good Comment Examples
# Specific and actionable
"This could return `None` if the registry is empty. Consider handling that case explicitly."
# Explains why
"The current pattern uses dependency injection here. Could we follow that instead of accessing `request.app.state` directly?"
# Offers alternative
"This nested loop is O(n²). For large registries, consider pre-building a lookup dict."
# Asks clarifying question
"I see this catches all exceptions. Is there a specific exception type we expect here?"
Comment Levels
- Blocker: Must be fixed before merge
- Suggestion: Would improve code, author's discretion
- Question: Clarification needed, may not require change
- Nit: Minor style/preference, low priority
Automated Checks
Ensure these pass before manual review:
# Python
- pyright packages/roboview/
- pytest packages/roboview/tests/utest/ --tb=short
- deptry packages/roboview/
# TypeScript
- npm run check-types (in vscode-integration/)
- npm run lint (in vscode-integration/)
# Webview
- npm run typecheck (in webview-ui/)
- npm run build (in webview-ui/)
Post-Review
After approval:
- Squash/rebase commits if needed
- Update PR description with final changes
- Merge when CI passes
- Delete feature branch
- Verify deployment/build succeeds
When not to use it
- →Non-RoboView projects
- →Automated refactoring
Limitations
- →Manual review required
- →RoboView-specific
How it compares
It is specifically tailored to the RoboView architecture, enforcing patterns and cross-surface consistency that generic reviews miss.
Compared to similar skills
code-review side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| code-review (this skill) | 0 | 2mo | No flags | Intermediate |
| lint-and-validate | 6 | 6mo | Review | Beginner |
| checking-changes | 1 | 5mo | Review | Beginner |
| moai-foundation-quality | 0 | 3mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by viadee
View all by viadee →You might also like
lint-and-validate
davila7
Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers onKeywords: lint, format, check, validate, types, static analysis.
checking-changes
streamlit
Validates all code changes before committing by running format, lint, type, and unit test checks. Use after making backend (Python) or frontend (TypeScript) changes, before committing or finishing a work session.
moai-foundation-quality
modu-ai
Enterprise code quality orchestrator with TRUST 5 validation, proactive analysis, and automated best practices enforcement
verification-loop
tom237ttkk
A comprehensive verification system for Codex work sessions.
scholar-verify
37chengshan
Run ScholarAI's required validation matrix for Symphony-driven changes based on the touched surfaces.
deepwiki-rs
sopaco
AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.