Build a Lovable video studio, not a native rendering engine. Save briefs and generate strictly validated scene JSON for a single trusted 9:16 Remotion template. Add scene text and timing editing, asset ownership checks, preview, cost estimate and explicit render approval. Use a server function to call an external authenticated rendering worker; keep keys server-side. Never execute model-generated code. Track queued/rendering/failed/ready states, authenticate callbacks and deduplicate retries by request ID. Store MP4 and thumbnails privately with expiring links. No automatic social publishing. Include tests for long captions, missing assets, duplicate callbacks and cancelled jobs.
Build a reviewed skill library for a customer-research agent. Tables: skills, immutable skill_versions, resources, test_cases and runs, scoped to each workspace. Start with one skill that turns interview notes into a structured customer brief with evidence references. Select by catalogue name and description, then load only the chosen reviewed version and relevant resources. Validate selected IDs and user access server-side. Skill instructions cannot override runtime tool permissions. Treat uploaded notes as untrusted data. No arbitrary script execution. Save version and inputs on every run; add evidence review, regression comparison and rollback to a reviewed version.
Build an MCP tool review workspace for an existing runtime AI agent. Use a server-side MCP client with one documented HTTPS server and its supported OAuth flow. Persist connections per authenticated user; protect tokens server-side. Block private-network targets and redirects. Version tool names, schemas and descriptions; disable new or changed tools pending owner review. Enforce access and allowed tools at runtime, never from model-supplied user IDs. Read tools first. Persist exact write payloads with expiry; require single-use approval bound to the immutable payload and revalidate authorization at execution. Treat descriptions and results as untrusted. Redact logs, close clients and test malicious descriptions, revoked tokens, cross-user requests and duplicate approvals. This is not a security certification.
Build a scraping and monitoring agent.
Data: table "sources" (name, url, pagination_pattern, selector_hint, fields jsonb, interval_minutes, active). Table "runs" (source_id, status, items_found, error, started_at, finished_at). Table "items" (source_id, raw_key unique per source, title, price numeric, currency, url, published_at, payload jsonb, first_seen_at, last_seen_at). Table "item_changes" (item_id, field, old_value, new_value, created_at).
Server: an edge function that takes a source id, fetches the page with a normal user agent, strips scripts, styles and navigation, trims the text to the listing area, then asks the model to extract rows into a strict JSON schema with temperature zero and null for missing values. Upsert rows into items on raw_key and insert item_changes whenever a tracked field differs. Log every attempt into runs, retry twice with backoff on network errors and respect a per source rate limit. Follow pagination up to a configurable page limit.
Automation: a scheduled job that picks active sources whose interval has elapsed, runs them one by one, then sends a digest email or webhook containing only item_changes created since the previous digest.
UI: sources page with add and edit form, health badge from the last run, run history with error text, items table with search and filters, a change feed and a CSV export button.
Rules: only public pages, honour robots.txt, keep all keys and model calls on the server, enable row level security so each user sees only their own sources and items.
Build a documentation support agent.
Data: a table "documents" (title, url, content) and a table "chunks" (document_id, content, embedding vector). A table "escalations" (question, email, created_at, status).
Server: one edge function that embeds the user question, retrieves the six closest chunks, and streams an answer that uses only those chunks. Every answer must end with the source links it used. If similarity is below the threshold, return a short "I do not have this in the docs" answer and insert a row into escalations.
UI: a chat page with streaming responses, message history in the browser, source links rendered as chips under each answer, and an escalation form that appears when the agent cannot answer.
Enable row level security on all tables, keep model calls on the server, and show a clear error state when the request fails.
Build a lead qualification agent widget.
Behaviour: the agent asks at most five questions, one at a time, to learn company size, budget range, timeline and the problem being solved. It never asks two questions in one message and never asks for data it already has.
After the interview, produce a structured result with fields: score, tier, summary, next_step. Keep the schema flat and unconstrained, state the ranges in the prompt text, and clamp values in code.
Storage: insert into a "leads" table with contact details, transcript, score, tier and created_at. Send a notification email with the summary.
UI: a floating chat bubble on the landing page, mobile friendly, with a typing indicator and a final card showing the booked next step.
Build a research agent with tool calling.
Tools: web_search(query), fetch_page(url), save_finding(claim, source_url, confidence). Give each tool a narrow input schema and a short description.
Loop: allow at least fifty steps, stop when the agent has five saved findings or decides the question is answered. Never let the agent answer without at least two independent sources.
Output: a brief with a one paragraph answer, a bullet list of findings, and a sources section. Save the brief to a "reports" table.
UI: stream the answer, render every tool call as a timeline row with its input and a compact result, and add a copy button plus markdown export.