feat: implement 33 nice-to-have features + fix 37 code review bugs

5 SDD batches archived:
- Batch 1: UI Polish (10 features, 14 tasks)
- Batch 2: Study System (8 features, 23 tasks)
- Batch 3: Infrastructure (5 features, 22 tasks)
- Batch 4: AI Advanced (5 features, 30 tasks) — RAG with @xenova/transformers
- Batch 5: Core Features (5 features, 19 tasks)

37 bugs fixed from comprehensive code review (11 CRITICAL, 12 HIGH, 14 MEDIUM/LOW):
- SSE streaming now works (event.token check)
- API keys no longer exposed via GET /api/models
- FTS5 injection sanitized
- DB backup/restore with admin auth
- Buddy mode wired (buddy_meta column)
- Exam auto-submit stale closure fixed
- CSS variables aligned with design tokens
- Progress data corruption fixed
- WebSocket protocol auto-detection
- Tests infrastructure completed (vitest + node:test)
This commit is contained in:
renato97
2026-06-08 18:18:47 -03:00
parent b7d1e7319f
commit 4ff4302a8c
79 changed files with 13667 additions and 389 deletions

View File

@@ -1,41 +1,93 @@
# Skill Registry — studyos
# Skill Registry
> Auto-generated by sdd-init on 2026-06-07
**Delegator use only.** Any agent that launches sub-agents reads this registry to resolve compact rules, then injects them directly into sub-agent prompts. Sub-agents do NOT read this registry or individual SKILL.md files.
> Auto-generated by sdd-init on 2026-06-08
> Project: studyos (Node.js + Express + SQLite + React + Vite)
## User Skills
| Skill | Trigger | Compact Rules |
|-------|---------|---------------|
| frontend-design | React components, HTML/CSS layouts, styling/beautifying web UI | Create production-grade frontend with high design quality. Choose a bold aesthetic direction. Implement real working code with typography, color, layout, spacing, and motion. Avoid generic AI aesthetics. |
| claude-api | Code imports `anthropic`/`@anthropic-ai/sdk`, Anthropic SDK, Claude API | Use official Anthropic SDK. Default to claude-opus-4-7. Use adaptive thinking. Stream long requests. Never mix OpenAI-compatible shims with Anthropic SDK. |
| webapp-testing | Testing local web apps, verifying frontend functionality, Playwright | Use native Python Playwright scripts. Run `scripts/with_server.py --help` for server lifecycle. Reconnaissance-then-action pattern. |
| Trigger | Skill | Path |
|---------|-------|------|
| React components, HTML/CSS layouts, styling/beautifying web UI | frontend-design | ~/.config/opencode/skills/frontend-design/SKILL.md |
| Code imports `anthropic`/`@anthropic-ai/sdk`, Anthropic SDK, Claude API | claude-api | ~/.config/opencode/skills/claude-api/SKILL.md |
| Testing local web apps, verifying frontend functionality, Playwright | webapp-testing | ~/.config/opencode/skills/webapp-testing/SKILL.md |
| Creating algorithmic art, generative art, flow fields, particle systems | algorithmic-art | ~/.config/opencode/skills/algorithmic-art/SKILL.md |
| Anthropic brand colors and typography, company design standards | brand-guidelines | ~/.config/opencode/skills/brand-guidelines/SKILL.md |
| Create poster, piece of art, design, static visual piece | canvas-design | ~/.config/opencode/skills/canvas-design/SKILL.md |
| Writing docs, proposals, technical specs, decision docs | doc-coauthoring | ~/.config/opencode/skills/doc-coauthoring/SKILL.md |
| Word doc, .docx, create/read/edit Word documents | docx | ~/.config/opencode/skills/docx/SKILL.md |
| Download from e-hentai.org | e-hentai-downloader | ~/.config/opencode/skills/e-hentai-downloader/SKILL.md |
| FL Studio music production, create music, compose, beats | fl-control | ~/.config/opencode/skills/fl-control/SKILL.md |
| Go tests, Bubbletea TUI testing, teatest | go-testing | ~/.config/opencode/skills/go-testing/SKILL.md |
| Internal communications, status reports, newsletters, FAQs | internal-comms | ~/.config/opencode/skills/internal-comms/SKILL.md |
| PR creation workflow, opening a PR, preparing changes for review | branch-pr | ~/.config/opencode/skills/branch-pr/SKILL.md |
| GitHub issue creation, reporting a bug, requesting a feature | issue-creation | ~/.config/opencode/skills/issue-creation/SKILL.md |
| Parallel adversarial review, "judgment day", dual review | judgment-day | ~/.claude/skills/judgment-day/SKILL.md |
| Convert manga CBZ/CBR to Kindle MOBI using KCC | kcc-manga | ~/.config/opencode/skills/kcc-manga/SKILL.md |
| Building MCP servers, integrate external APIs via MCP | mcp-builder | ~/.config/opencode/skills/mcp-builder/SKILL.md |
| Download from nhentai.net | nhentai-downloader | ~/.config/opencode/skills/nhentai-downloader/SKILL.md |
| PDF files: read, merge, split, rotate, watermark, create, OCR | pdf | ~/.config/opencode/skills/pdf/SKILL.md |
| .pptx slides, presentations, pitch decks | pptx | ~/.config/opencode/skills/pptx/SKILL.md |
| Build reggaeton songs in Ableton Live 12 via TCP | reggaeton-builder | ~/.config/opencode/skills/reggaeton-builder/SKILL.md |
| Full reggaeton production in Ableton Live 12, mixing, mastering | reggaeton-production-ableton | ~/.config/opencode/skills/reggaeton-production-ableton/SKILL.md |
| Create new AI agent skills, add agent instructions | skill-creator | ~/.config/opencode/skills/skill-creator/SKILL.md |
| Animated GIFs for Slack | slack-gif-creator | ~/.config/opencode/skills/slack-gif-creator/SKILL.md |
| Styling artifacts with a theme (slides, docs, reports, HTML) | theme-factory | ~/.config/opencode/skills/theme-factory/SKILL.md |
| Multi-component claude.ai HTML artifacts, React + Tailwind + shadcn | web-artifacts-builder | ~/.config/opencode/skills/web-artifacts-builder/SKILL.md |
| Spreadsheet: open, read, edit, create .xlsx/.csv/.tsv files | xlsx | ~/.config/opencode/skills/xlsx/SKILL.md |
## Compact Rules
### frontend-design
- Use distinctive, characterful fonts (avoid Arial, Inter). Pair display + body fonts.
- Bold aesthetic direction: brutalist, editorial, organic, luxury, retro-futuristic, etc.
- Production-grade code: real components, real interactions, responsive.
- Meticulous details: border-radius, shadows, spacing, hover states, transitions.
- Never use placeholder lorem ipsum — use real content.
- Choose a BOLD aesthetic direction before coding (brutalist, editorial, organic, luxury, retro-futuristic, etc.)
- Use distinctive, characterful fonts — NEVER Arial, Inter, Roboto, or system fonts
- Pair a display font with a refined body font
- Production-grade code: real components, real interactions, responsive
- Meticulous details: border-radius, shadows, spacing, hover states, transitions
- Never use placeholder lorem ipsum — use real content
- NEVER converge on common choices (Space Grotesk, purple gradients on white)
- CSS variables for theme consistency; dominant colors with sharp accents
### claude-api
- Anthropic SDK: `import Anthropic from '@anthropic-ai/sdk'` (Node) or `from anthropic import Anthropic` (Python).
- Always use `anthropic.messages.create()` with `model`, `max_tokens`, `messages`, `system`.
- Streaming: set `stream: true`, iterate `stream` events.
- Prompt caching: add `cache_control: { type: "ephemeral" }` to system and last turn.
- Never use OpenAI-compatible endpoints for Anthropic models.
- Use official Anthropic SDK: `import Anthropic from '@anthropic-ai/sdk'` (Node)
- Default model: `claude-opus-4-7` via exact model string
- Use `anthropic.messages.create()` with `model`, `max_tokens`, `messages`, `system`
- Streaming: set `stream: true`, iterate stream events; use `.finalMessage()` for complete response
- Prompt caching: add `cache_control: { type: "ephemeral" }` to system and last turn
- Adaptive thinking: `thinking: {type: "adaptive"}` for complex tasks
- Never use OpenAI-compatible endpoints for Anthropic models
- Never mix `requests`/`fetch` with SDK in same project
### webapp-testing
- Playwright scripts in Python. Install: `pip install playwright`.
- Use `with_server.py` helper for server lifecycle.
- Screenshot on failure for debugging.
- Wait for networkidle after navigation.
- Write native Python Playwright scripts
- Use `scripts/with_server.py --help` for server lifecycle management
- Reconnaissance-then-action: navigate → wait for networkidle → screenshot → identify selectors → act
- Screenshot on failure for debugging
- Supports multiple servers (backend + frontend) via repeated `--server` flags
### algorithmic-art
- Use p5.js with seeded randomness for reproducible generative art
- Create original art, never copy existing artists' work
### canvas-design
- Create original visual designs in .png/.pdf, never copy existing artists' work
### doc-coauthoring
- Structured workflow: transfer context → iterate → verify with reader
### mcp-builder
- Guide for creating MCP servers in Python (FastMCP) or Node/TypeScript (MCP SDK)
### pdf
- Read, merge, split, rotate, watermark, create, encrypt, OCR PDF files
### theme-factory
- 10 pre-set themes with colors/fonts; apply to slides, docs, reports, HTML
## Project Conventions
No project conventions detected yet. Create AGENTS.md or CLAUDE.md in the project root to establish conventions.
No project conventions detected. Create `AGENTS.md` or `CLAUDE.md` in the project root to establish conventions.
## Testing Capabilities