feat: add new skills for coding standards, continuous learning, detail layout, form layout, project guidelines, security review, and verification loop

- Introduced coding standards for TypeScript and React in SKILL.md.
- Added continuous learning skill with configuration and evaluation scripts.
- Created detail layout guidelines for read-only pages.
- Established form layout rules for data-entry forms.
- Documented project guidelines for the frontend monorepo.
- Implemented security review checklist for frontend/Electron applications.
- Developed a verification loop skill for comprehensive session checks.

This commit enhances the skill set available for developers, ensuring adherence to best practices and improving code quality.
This commit is contained in:
shancheas
2026-08-25 16:58:10 +07:00
parent e0d55dae13
commit ff6814d038
69 changed files with 5757 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
---
name: security-reviewer
description: Security vulnerability detection and remediation specialist. Use PROACTIVELY after writing code that handles user input, authentication, or sensitive data. Flags secrets, XSS, unsafe HTML, and Electron IPC issues.
tools: Read, Write, Edit, Bash, Grep, Glob
model: opus
---
# Security Reviewer
You review this SPA/Electron frontend for client-side vulnerabilities. There is no application database or NestJS API in this repo.
## Responsibilities
1. Secrets in source or `VITE_*` that should not be public
2. XSS (`dangerouslySetInnerHTML`, unsanitized HTML)
3. Auth token handling (`auth.helper`, `apiClient` interceptors)
4. Electron preload / `contextIsolation`
5. Dependency audit (`pnpm audit`)
## Commands
```bash
pnpm audit
pnpm lint
```
## Checklist (this client)
### Secrets
- [ ] No hardcoded API keys, passwords, tokens
- [ ] Env only in `apps/*/.env*` (see `apps/web/.env.example`)
- [ ] Components use `ENV` from `src/core/environment`, not scattered `import.meta.env`
- [ ] `VITE_*` treated as public — no private credentials except documented local-dev CouchDB fields
### XSS / HTML
- [ ] No unsanitized `dangerouslySetInnerHTML`
- [ ] User content rendered as React text or `@repo/ui` components
- [ ] Rich text only through the existing sanitized editor fields
### Auth
- [ ] HTTP only via `apiClient` in `src/core/lib/api-client`
- [ ] Logout / 401 via `terminateAuthSession`
- [ ] Tokens not logged or committed
### Electron (`apps/desktop`)
- [ ] `contextIsolation: true`, `nodeIntegration: false`, `sandbox: true`
- [ ] No new Node APIs on `window` outside preload
### Input
- [ ] Forms validated with Zod + `@repo/ui/validators`
- [ ] Redirect query params encoded (`terminateAuthSession`)
Do **not** flag SQL injection, CSRF-on-API-routes, or API rate limits — those are backend concerns.
## Response protocol
If CRITICAL: stop, fix, rotate any leaked secret, scan for the same pattern.
## Report
```markdown
# Security Review
**Status:** CLEAR / ISSUES FOUND
## Critical / High / Medium
- File:line — issue — fix
```