check-qa
Quality code review enforcing Deno standards and project conventions
Works with
--- name: check-qa description: Quality code review enforcing Deno standards and project conventions license: Apache-2.0 --- # Quality Assurance Code Review Review code for quality, consistency with project conventions, and Deno best practices. ## Scope Review changes from: `!git diff --name-only HEAD~1` or files specified in $ARGUMENTS ## Pre-checks Run automated checks first: ```bash cd api && deno lint cd api && deno fmt --check ``` ## Quality Checklist ### 1. Code Style & Formatting - [ ] **Line width**: Max 120 characters (per deno.jsonc) - [ ] **Import organization**: Use Deno's organize imports (no `../../../` paths, use `@/`) - [ ] **Consistent naming**: PascalCase for classes/interfaces, camelCase for functions/variables - [ ] **No unused imports**: Remove dead imports - [ ] **No commented code**: Remove or document why it's kept ### 2. TypeScript Standards - [ ] **Explicit types**: Function parameters and return types should be typed - [ ] **No `any`**: Avoid `any`, use `unknown` or proper types - [ ] **Interface naming**: Use `Interface` suffix for interfaces - [ ] **Type imports**: Use `import type` for type-only imports - [ ] **Null handling**: Prefer `undefined` over `null` unless interfacing with external APIs ### 3. ILOS Framework Conventions - [ ] **Action structure**: Actions extend `Action` class with proper `handle` method - [ ] **Handler decorator**: Correct `@handler()` configuration - [ ] **Service signatures**: Format `service:method` for RPC calls - [ ] **Repository pattern**: SQL via `sql` template literal, no string concatenation - [ ] **Dependency injection**: Use Inversify decorators properly ### 4. Error Handling - [ ] **Specific exceptions**: Use typed exceptions (NotFoundException, etc.) - [ ] **Error context**: Include relevant context in error messages - [ ] **Async/await**: Proper try/catch for async operations - [ ] **No swallowed errors**: All catch blocks either rethrow or log ### 5. Testing - [ ] **Test coverage**: New logic has corresponding tests - [ ] **Test naming**: `.unit.spec.ts` or `.integration.spec.ts` suffix - [ ] **Edge cases**: Tests cover boundary conditions - [ ] **Test isolation**: Tests don't depend on each other ### 6. Code Organization - [ ] **Single responsibility**: Functions/classes do one thing - [ ] **File length**: Files under 300 lines preferred - [ ] **Function length**: Functions under 50 lines preferred - [ ] **Nesting depth**: Max 3-4 levels of nesting ### 7. Project Coherence - [ ] **Existing patterns**: Follow patterns from similar existing code - [ ] **Shared types**: Use types from `shared/` or define in service contracts - [ ] **Configuration**: Use `env_or_*` helpers for environment variables - [ ] **No over-engineering**: Simple solutions preferred (per CLAUDE.md) ### 8. Deno 2.x Best Practices - [ ] **Import maps**: Use aliases from deno.jsonc - [ ] **Standard library**: Prefer `jsr:@std/*` packages - [ ] **Node compatibility**: Use `node:` prefix for Node.js APIs - [ ] **Permission-aware**: Consider minimal permission requirements ## Output Format ```markdown ## Quality Review Summary **Quality Score**: [A | B | C | D | F] **Files Reviewed**: X files **Lint Issues**: X errors, Y warnings ### Code Issues #### [SEVERITY] Issue Title - **File**: path/to/file.ts:line - **Issue**: What's wrong - **Standard**: Which convention is violated - **Fix**: How to correct it ### Style Issues - Minor formatting or naming issues ### Suggestions - Non-blocking improvements for code quality ### Approved Changes - Changes that meet quality standards ### Required Actions - [ ] Fix all ERROR level issues - [ ] Address WARNING level issues - [ ] Run `deno fmt` before commit ``` ## Invocation ``` /check-qa # Review uncommitted changes /check-qa src/pdc/services/auth/ # Review specific directory /check-qa --strict # Enable stricter checks ```
More Code Review skills
pr-to-video
heygen-com/hyperframes
Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.
receiving-code-review
obra/superpowers
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
public-relations
coreyhaines31/marketingskills
When the user wants help with public relations, earned media, press coverage, journalist outreach, or media strategy (not pull requests). Also use when the user mentions 'PR,' 'public relations,' 'press,' 'press release,' 'press coverage,' 'media outreach,' 'pitch a journalist,' 'get featured,' 'media list,' 'media kit,' 'press kit,' 'newsjacking,' 'news hijack,' 'HARO,' 'Qwoted,' 'Featured,' 'Help A Reporter,' 'reporter request,' 'tech press,' 'TechCrunch,' 'earned media,' 'thought leadership placement,' 'op-ed,' 'guest article,' 'press contacts,' 'podcast prep,' 'going on a podcast,' 'podcast guest,' 'prep me for this podcast,' or 'how do I get press.' Use this for earned media work — finding journalists, pitching stories, newsjacking, prepping podcast appearances, and responding to press requests. For startup/SaaS/AI directory submissions, see directory-submissions. For product launches, see launch. For social-media engagement, see social. For cold-email outreach to prospects, see cold-email.

