Create a view
create_viewCreates a new view: a live page at a stable URL in the user's dashboard app. source is ONE file of React (JSX/TSX) that default-exports a component and reads its data with useDataset("dataset_name") from "quillm". Do not embed data in the source; create the dataset first (create_dataset), then the view. Pass the brief: the user's request in their words, and what you asked them and what they answered. If the request does not say who reads the page, what for, and which number matters most, ask the user first; a brief that is too thin is refused once with the questions to ask. Decide the questions next: what the user asked for is the scope, and a small request gets a small page. The view is compiled, test-rendered in a real browser and reviewed immediately: the response tells you whether it rendered, lists errors, and lists what a reader would still be missing, so read it and fix problems with update_view. The checks use two outside services unless the workspace turned them off: TypeSafe reads the brief, and OpenAI reads a screenshot and the page's text. Call get_guide first for the template and available libraries. Check get_workspace first: if a suitable view already exists, use update_view instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| icon | No | Optional. One emoji for the page, e.g. "💰". The app shows a glyph for the page's kind when there is none. | |
| kind | Yes | What the page is for. "dashboard": numbers someone watches over time. "tracker": items people work through (steps, tasks, leads) with owners and status. "doc": a brief, report or analysis mostly in prose. "calculator": inputs the reader changes and an answer. Decides what the page review holds it to. | |
| slug | Yes | URL id, lowercase-with-dashes, e.g. "finance-overview". Permanent. | |
| brief | Yes | The brief. Quillm judges whether it is enough to build a page someone will read for months; when it is not, create_view refuses once and tells you what to ask the user. | |
| cover | No | Optional and no longer shown; kept for older clients. | |
| title | Yes | Shown in the app's sidebar. | |
| source | Yes | The full single-file React source (JSX/TSX) with a default-exported component. See get_guide. | |
| questions | Yes | Write these BEFORE the source. The 1-5 questions the user has in mind when they open this page, in their words: "How many months of cash do we have?", "Who do I need to follow up with today?". What the user asked for is the scope: every block in the view answers one of these, once. | |
| collection | Yes | Sidebar group, e.g. "Finance", "Growth", "Projects". Reuse an existing collection when one fits. People are given access per collection, so the collection decides who can open the view; do not move a view to another collection unless asked. | |
| change_note | No | Why this view was created (recorded in the changelog). | |
| description | Yes | One sentence: what this view answers. Other agents use it to decide whether to reuse this view. | |
| dependencies | No | Only for npm packages outside the base runtime, with exact versions: {"d3-sankey": "0.12.3"}. |