# Feature Research
**Domain:** Content Generation Layer (Nexus v1.7) — agents produce visual, document, and media deliverables
**Researched:** 2026-04-04
**Confidence:** MEDIUM-HIGH — technology capabilities verified via docs and ecosystem research; UX expectations inferred from comparable tools (Canva, Pitch, Mermaid Live, Figma tokens); skill system patterns based on existing Nexus skill architecture
---
## Milestone Scope
This document covers only NEW features in v1.7. The following are already built and are dependencies, not deliverables:
- File system with upload, git versioning, PLACEHOLDERS.md manifest (v1.3)
- Skill system with Skill Aggregator and company skills API (Paperclip upstream)
- Chat interface with streaming SSE (v1.3)
- Agent orchestration, heartbeat lifecycle (Paperclip upstream)
- Voice I/O with Whisper STT + Piper TTS (v1.6)
- Hermes adapter with native skills, Ollama integration (v1.4)
**New features being researched:**
- Presentations and video generation via Remotion
- Placeholder assets with DRAFT styling and manifest tracking
- Theme and palette generator (seed color → full theme, WCAG AA, exports)
- Wallpapers and visual assets (desktop/mobile, banners, OG images)
- Diagram generation (natural language → Mermaid → SVG/PNG)
- Document generation (PDF reports, invoices, one-pagers)
- Icon generation (SVG from description, consistent sets)
- Social media content (platform-formatted posts, carousels, hashtags)
- Branding media kit (full brand identity from conversation)
- Content types as installable Nexus skills
---
## Feature Landscape
### Table Stakes (Users Expect These)
Features that must exist for content generation to feel complete. Missing any of these and the deliverable is not production-ready.
| Feature | Why Expected | Complexity | Notes |
|---------|--------------|------------|-------|
| Download produced file directly | Every generator (Canva, Pitch, Remotion) lets you download the output; no download = the tool is a preview, not a generator | LOW | Route: `GET /api/content/:jobId/download`; serve the file buffer with correct MIME type and `Content-Disposition: attachment` |
| Show a preview of the output | Users need to see what was generated before downloading — a blank "file ready" message is not sufficient | MEDIUM | For images/SVG: `
` or inline SVG; for PDF: `