| name | zenticalab-pr-review |
| description | Comprehensive PR review skill for ZENTICALAB projects (.NET backend + Angular frontend). Use when reviewing pull requests, checking code quality, or validating implementations against spec. Loaded automatically when reviewing PRs in ZENTICALAB repos.
|
| metadata | {"author":"lucy-camilo","version":"1.0","project":"ZENTICALAB"} |
ZENTICALAB — PR Review Skill
Project Context
What ZENTICALAB is: SaaS multi-tenant B2B for dental labs. Each tenant = a dental lab with its own PostgreSQL schema.
Stack:
- Backend: .NET 10, Clean Architecture, EF Core 10, PostgreSQL (schema-per-tenant), FluentValidation, JWT
- Frontend: Angular 21, standalone components, signals, Tailwind CSS 4, Angular SSR
- Testing: xUnit + Moq + Testcontainers (BE), Vitest + axe-core (FE)
Code language: English (variables, classes, methods, seeding — all in English)
UI language: Colombian Spanish (neutral, no Argentine expressions)
Review Workflow
1. Understand the PR
Before reviewing code:
- Read the PR title and description
- Check which files changed
- Identify the feature/fix scope
- Link back to spec.md or relevant HU
2. Verify Spec Compliance
- Does the implementation match the spec?
- Are all acceptance criteria addressed?
- Are edge cases handled?
- Is the feature boundary correct (out of scope items not included)?
3. Security Checklist
Backend:
Frontend:
4. Architecture Checklist
Backend:
Frontend:
5. Testing Checklist
Backend:
Frontend:
6. Design System Compliance (Frontend)
7. Code Quality Checklist
8. Performance Checklist
Multi-Tenancy Specific
When reviewing tenant-scoped code:
Review Output Format
When posting a PR review, use this structure:
## PR Review: [PR Title]
### Summary
[1-3 sentences on what this PR does and its quality]
### ✅ Looks Good
- [item that works well]
### ⚠️ Suggestions
- [optional improvement, non-blocking]
### 🔴 Blocking Issues
- [must-fix before merge, with specific file:line references]
### Security
- [ ] Passed / [ ] Issues found
### Testing
- [ ] Tests adequate / [ ] Tests missing
### Recommendation
**Approve** / **Request Changes** / **Needs Discussion**
Key Files to Reference
| File | What it contains |
|---|
docs/spec.md | Complete product specification |
docs/design-system.md | UI/UX guidelines, colors, components |
docs/_sql-conventions.md | SQL conventions for multi-tenant DB |
src/Application/Validators/ | FluentValidation validators |
src/Web.Api/Middleware/ | Auth middleware pipeline |
src/app/features/*/README.md | Feature-specific notes |
Anti-Patterns to Flag
| Anti-pattern | What to do instead |
|---|
[Authorize] without role | Use [RequirePermissions("Jobs.Create")] |
| Raw SQL with concatenation | Use EF Core LINQ or parameterized queries |
*ngIf in templates | Use @if control flow |
.subscribe() in components for UI | Use toSignal() |
| Magic numbers | Extract to named constant |
public fields in entities | Use properties with private setters |
| Business logic in controllers | Extract to service layer |
| Inline styles | Use Tailwind utility classes |
innerHTML with user content | Use Angular sanitization or [innerHTML] avoided |