The Workspace Where the Answers Land
Everything an Agent Made for You, Kept
An asset is what an agent produced during a session and you decided to keep: a dashboard, a report, a chart, a data extract. Assets lead the sidebar because they are what most people open the portal for.
Find the Thing You Made Last Tuesday
Why it matters
A session ends and its output sinks into chat history. Work nobody can find again is work somebody will ask for twice, and the second answer rarely matches the first.
How it works
My Assets lists everything you saved, searchable by name and description and narrowed by content type and tag, as a grid of preview thumbnails or a sortable table; whichever you prefer is remembered. Markdown and CSV thumbnails are captured in both light and dark and the grid shows the one matching your theme, while content that carries its own colours uses a single preview in both. Rows carry tags, collection badges, file size, sharing state, and creation date.


What You Saved Opens as What It Is
Why it matters
A dashboard stored as a screenshot is a picture of an answer, and a data extract you have to download and open somewhere else is a chore with a filename. The portal should show the thing itself.
How it works
HTML and JSX render as live interactive components with working state. SVG draws as vector art at full resolution, Markdown formats with tables, code blocks, and diagrams, CSV and TSV become sortable tables, JSON a searchable collapsible tree. Images zoom and pan, audio and video seek, PDFs open inline. Anything with no viewer shows a metadata card and a download rather than raw bytes. Every viewer keeps a Preview and Source toggle, so the output and the code behind it are one click apart, alongside full version history.


A Link That Only Opens for the Person You Named
Why it matters
Sharing usually forces a choice between a URL anyone can forward and an attachment nobody can update. Neither one tells you who actually looked.
How it works
Every share carries an access mode. Naming a recipient makes it restricted: the link resolves for that person, signed in, and for nobody else, so forwarding the email grants nothing. A link share opens for any signed-in user unless you deliberately pick Anyone with the link, which warns you before it does. Notify by email comes checked and can be cleared to share quietly, with an optional plain-text note carried in the message. A recipient with no account can request a single-use view link, good for fifteen minutes, that opens a read-only guest session scoped to that one item and dies after its first use. Active shares list their mode, view count, and expiry, and revoking one ends guest sessions immediately.


Curate a Deliverable Out of Loose Output
Collections live under Assets in the sidebar because they are made of assets. They turn a scattered set of outputs into a titled, sectioned document: a board packet, a weekly review, an onboarding pack.
Named Deliverables, Not Folders
Why it matters
Fifteen assets from four sessions are not a report. Somebody still has to say which ones matter, in what order, and what they mean together.
How it works
A collection renders as a structured document: ordered sections, each with a title and a markdown description, holding asset cards with preview thumbnails, content-type badges, and file sizes. Thumbnail size is set per collection, down to none for a text-first briefing. Every card opens the full asset viewer, with its provenance intact, and comes back.


Arrange It Once, Send It Every Week
Why it matters
A recurring deliverable that has to be reassembled by hand every time is a recurring deliverable somebody eventually stops sending.
How it works
The editor arranges assets into drag-and-drop sections, each with its own markdown description, and sets the thumbnail size for the whole collection. Sharing works exactly as it does for a single asset, including recipient-restricted access at Viewer or Editor and a share-management list. Both Assets and Collections carry a Mine, Shared, or All scope control, so what a teammate sent you sits beside what you made.


Prompts as a Governed, Measurable Library
Prompts are the organization’s manual for agent-run procedures, typed and parameterized rather than pasted around as text. The page shows two buckets: My Prompts, everything you own plus everything shared with you, and Library, the approved team prompts grouped by collection. Learn the prompt workflow.
The Prompts Worth Keeping, and Proof of Which Ones Are
Why it matters
Every analyst writes their own version of the same prompt, quality drifts apart, and nobody can say which one produced last quarter’s report or whether anyone still uses it.
How it works
The Library groups approved prompts into collections by team, domain, or workflow, with uncollected ones under General. Facets narrow by collection, tag, status, owner, and activity. Every row shows its run count and how long since it last ran, aggregated from serve audit events and sortable, and a prompt nothing uses is badged with the exact condition: never run, or unused 60d+. A prompt created in the last week carries no badge while it is still too new to judge. Search ranks by meaning, so a phrase finds the prompt that does that job even when it shares none of its words.


Group Them the Way the Team Thinks
Why it matters
A flat list of eighty prompts is a search box with extra steps. The grouping people actually use is by the work, not by who happened to write it.
How it works
The Collections manager creates, renames, and deletes named groups with their own descriptions. Any user can create one; renaming and deleting stay with the creator or an admin. A prompt belongs to at most one collection, assigned from the prompt page by its owner, or by an admin for shared prompts. Deleting a collection releases its prompts to General rather than taking them down with it.


Typed Arguments, Attached Material, and How to Run It
Why it matters
A prompt pasted as text loses its arguments, the material it depends on, and any instruction for using it. What was a tool becomes a snippet.
How it works
The page renders the content with its placeholders extracted into a typed arguments table marked required or optional. An Attached materials panel carries the resources the procedure depends on in an authored order, because that is the order the agent receives them in, and material outside your scope is shown as restricted rather than silently dropped. Run from chat gives you a copyable sentence built from the prompt’s stable name and its required arguments, which any connected agent resolves against the library.


Who Changed It, Who Approved It, and What Moved
Why it matters
A shared prompt anyone can quietly edit is a shared prompt nobody can trust. Approval means something only when it is bound to the exact text that was approved.
How it works
Every version lists its author, date, and status, and approval is stamped per version rather than per prompt, so approved by names whoever signed off on that text. A pending draft on an approved shared prompt raises a banner and readers keep being served the approved version until an admin approves the draft. Any version diffs against the current content as a line diff. Library readers see the served history; drafts that were never served stay with admins.


From Your Prompt to the Team’s
Why it matters
The good prompts start as somebody’s personal one. If the only way to spread it is to paste it, the team ends up with six drifting copies instead of one.
How it works
Share sends a prompt to a colleague by email and they receive a real runnable prompt, arguments intact, that their agent invokes directly rather than a flattened markdown copy. Sharing is owner-initiated and revocable at any time. Request Promotion asks an admin to move a personal prompt to one or more personas or to global scope; the prompt stays personal and shows a promotion-requested badge until that review resolves. Save as Asset stays a separate action, for when you want the text as a document.


The Same Library, Without Leaving the Chat
Why it matters
Switching to a browser tab to find a prompt, then coming back to type its name, is enough friction that people stop using the library and start pasting text again.
How it works
Asking an agent to show your prompts calls show_prompts, and in a host that renders MCP Apps the List Prompts browser opens inside the conversation: the same My Prompts and Library buckets, collection and tag filters, usage sorting, and cards carrying version, approval provenance, and run count. A detail view generates its form from the prompt’s own argument specs, and Run resolves through manage_prompt and places the rendered prompt straight into the chat. The browser is bound to show_prompts, a tool whose only job is to display the library, so the agent’s routine prompt work never opens a window you did not ask for. It is presentation only: the same calls return complete structured results in clients that draw no UI, so nothing about the library is reachable only through the picture of it.
MCP App: List Prompts
Daily Sales Report
v4Regional revenue, order counts, and week-over-week movement for one territory.
Approved by [email protected]312 runsQuarterly Churn Review
v2Cohort retention with the accounts that lapsed and the reasons on file.
Approved by [email protected]48 runsCampaign Performance Digest
v7Spend, reach, and attributed pipeline for every active campaign.
Approved by [email protected]126 runs
Daily Sales Report
v4 approved by [email protected], 312 runs
Arguments
regionRequired- West
periodRequired- Last 7 days
include_forecastOptional- No
Material the Agent Uses Exactly as You Wrote It
Resources run the other direction from assets: files a person made that the agent should use as-is. A template a deliverable must be produced in, a runbook to follow, a data dictionary, a brand file. The test is short. If it existed before the conversation and should be used verbatim, it is a resource.
Say How the File Should Be Treated
Why it matters
An agent that has to be told the reporting format every session will get it wrong the session somebody forgets to say it.
How it works
Upload a file with a category that states how to treat it: templates are layouts a deliverable must be produced in, playbooks are procedures to follow rather than summarize, samples are examples to pattern-match against, references are documents to consult, and a custom category covers what fits none of them. Any format the library needs is accepted apart from executables. Agents read a resource during a session, and a background indexer embeds each file’s metadata and a bounded prefix of text contents, so a data dictionary is found by a column name that appears only inside the file. Global resources reach every caller, persona resources reach their members, personal resources reach their owner.


Replace the File Without Breaking What Cites It
Why it matters
Deleting a resource and uploading a new one mints a new identity, which quietly breaks every citation and every prompt attachment pointing at the old one.
How it works
Replace content uploads new bytes to the existing resource. It keeps its identifier, its canonical address, and its file name, so citations and prompt attachments keep resolving and connected agents are told to re-read rather than serving the old content. Each revision is recorded with its author, date, and size; any can be downloaded and any prior one restored as a new head revision, so the trail stays append-only and a restore is itself restorable. The ten most recent revisions are kept, and the live content is never pruned. Usage reports reads over the last 30 and 90 days broken down by which door served them, and the table adds a Last read column so a curator can find the material nothing has touched.


A Human Loop That Ends in Durable Knowledge
People and agents work on the same artifacts. Reviewers, including subject-matter experts who never open an agent, leave structured corrections in place, and a correction can become something the whole team keeps rather than a comment that dies in a thread.
Corrections That Stay Attached to What They Are About
Why it matters
A correction relayed over email loses the thing it refers to. By the time it lands, nobody is certain which version, which number, or which paragraph was meant.
How it works
A thread targets one asset, collection, prompt, or knowledge page, or lives on a standalone channel, and carries a kind (comment, question, correction, rating, approval, rejection, suggestion), a status lifecycle, and an optional needs-resolution flag. Select a passage before opening one and the thread anchors to that selection and to the version it was raised against. The panel header counts how many threads are open and how many still need resolution, and items you own carry an open-thread badge in the lists.


Name Someone and They Actually Hear About It
Why it matters
A comment nobody is told about is a comment nobody reads, and muting thread chatter should not mean missing the message that was addressed to you.
How it works
Type an @ in any message or reply and the composer suggests people, inserting the person as an address so the mention keeps working when a display name changes. The suggestions are people who can already open the item, because a mention emails the item’s title and an excerpt of the comment. Type an address by hand and the composer tells you while you are still writing whether that person has access; if not, the mention posts as ordinary text and delivers nothing. Being mentioned is its own notification category, and a Mentions of me tab collects every thread where a comment named you.


A Comment That Changes the Catalog
Why it matters
Telling somebody we do not call it that is worth something only if it can change what the next person, and the next agent, gets told.
How it works
A reviewer holding apply_knowledge sees Capture as insight on an unresolved correction or suggestion. Capturing creates a pending insight from the thread and resolves the thread with a link to it, and that insight joins the same review queue as the ones agents capture. Once it is promoted, the thread’s knowledge chain shows the resulting change, which closes the loop for the reviewer and for whoever raised it. The Feedback page in the sidebar is both the standalone channel for general feedback and the hub for everything waiting on you.


Memory, Insight, Knowledge: One Page, One Pipeline
Knowledge is one page for the whole lifecycle. Three tabs run across the top, Knowledge, Insights, and Memory, and the Knowledge tab holds four of its own: Search All, Knowledge Pages, Catalog, and Changesets. Review and promotion appear for whoever holds the apply_knowledge capability, which is a capability rather than an admin role. How promotion works.
One Query Across Everything You Can Reach
Why it matters
Knowledge spread across a catalog, memory, saved work, prompts, and connected APIs is knowledge nobody finds. Discovery has to be a single surface, or agents guess at the data instead of grounding in what exists.
How it works
Search All fans one query across the catalog, canonical knowledge pages, your memory, captured insights, saved assets, uploaded resources, prompts, API endpoints, and connections, returning results grouped by source with a per-source coverage summary and filter chips, balanced so the largest source never drowns the rest. Ranking blends semantic similarity with exact keyword match, so a question reaches the right record even when it shares none of its words. It is the same federation your agents call. With the box empty, Knowledge Pages browses the canonical pages, and Changesets records what promotion actually wrote, with rollback.


The Only Memory That Crosses Between People
Why it matters
Letting an assistant write to the shared catalog unattended is how trust evaporates. A fact worth sharing has to pass a person before it becomes canonical.
How it works
When a memory asserts something true about the business or the data that others would benefit from, it is captured as an insight: a proposal carrying a status of pending, approved, applied, or rejected, and a category spanning correction, business context, data quality, usage guidance, relationship, and enhancement. Your insights lists the ones captured from your own sessions with relevance search over them. A pending count is badged on the sidebar Knowledge item so nothing sits unreviewed by accident.


Approve, Reject, Then Promote
Why it matters
A queue that shows a reviewer nothing but a claim makes them guess. They need what it asserts, what it is about, and what applying it would actually do.
How it works
Whoever holds apply_knowledge gets the review queue across every user, with the pending count and the age of the oldest item up front and filters for status, category, and confidence. Opening one shows the captured statement, the entities it names, the catalog actions it suggests, the related columns, the capture and review trail, and approve or reject. Promotion itself happens when an agent runs apply_knowledge: business and domain facts become wiki-linked knowledge pages that cite the exact data they describe, technical and entity facts are written to the catalog. Every promotion is recorded as a changeset with one-click rollback.


The Raw Substrate, Captured Without Being Asked
Why it matters
A stateless assistant starts every session from zero, so the same context gets re-explained on loop and the same mistakes get repeated on schedule.
How it works
Memory records what sessions surface, classified by lifecycle class: preference, event, business knowledge, operational rule, and schema or entity fact. That class is what decides whether something stays personal or is a candidate for promotion. Recall blends semantic and keyword search, a capture-time check supersedes near-duplicates, and a staleness watcher flags records whose underlying entities have changed. A query error that a later query fixes is captured as a correction on its own. This tab is yours; nothing in it reaches anyone else unless it becomes an insight and that insight is applied.


Govern the Catalog Without Leaving the Portal
Catalog is a sub-tab of Knowledge and the second of the two knowledge sinks. Everything under it is the DataHub catalog; what the portal’s own database holds stays outside. Five inner tabs sit beneath it, the described things first and the vocabularies that describe them second: Tables, Context Docs, Tags, Domains, and Glossary. The connection is picked once at the top and applies to all of them.
The Person Who Spots It Is the Person Who Fixes It
Why it matters
A catalog you can only read is a catalog that rots. Whoever notices a table description is wrong is rarely whoever has a catalog console open, and by the time it is relayed, nobody fixes it.
How it works
Tables opens a dataset to its description, tags, owners, glossary terms, domain, and columns, each facet editable in place. Context Docs manages the markdown notes attached to a dataset, term, node, or container. Tags, Domains, and Glossary manage the vocabularies themselves: what each entry means, which tables carry it, and which knowledge pages have written about it, so a steward reading a term sees the prose about it and each table links straight into its own editor. Pickers search by display name, so attaching Net Revenue never means typing the identifier the catalog generated for it. Descriptions and definitions are markdown in a split source and preview editor. A write needs both the matching grant on your persona and a write-enabled connection, both checked on the server whatever the screen offers, and every write is recorded in the audit log.


See the Shape of What Your Team Knows
The Knowledge Pages sub-tab holds two layouts of the same corpus, switched with a Cards and Graph toggle that preserves your search text and tag filter across the change. Cards is the browse list. Graph draws the corpus as its reference network: every page is a node, so is every entity the pages cite, and every edge is a stored reference.
It Opens on One Node, Not the Whole Hairball
Why it matters
A whole-corpus force layout looks like insight and answers nothing. Forty nodes of spaghetti tell a reader that there is a lot of it, and nothing else.
How it works
The view starts at the corpus’s strongest bridge, the node the most shortest paths run through, and shows its neighbourhood; Hops widens that one step at a time and Whole corpus drops back to the overview. Clicking a node inspects it rather than navigating away: references in both directions, each selectable in place so you can walk the corpus without a page load, its bridge score and rank, and its cluster. Focus re-centres the view, Expand pulls in neighbours, Path from traces the shortest chain of references to any other node and lists it hop by hop, and Open is the only action that leaves the graph. Type chips filter what is drawn, and the search box focuses matching nodes instead of removing the rest.


Measured, Not Merely Drawn
Why it matters
A picture of a network invites a reader to see topics that may not be there. The useful question is whether the corpus really has structure or just edges.
How it works
The corpus is partitioned into clusters and every node scored for how much of the graph it bridges. Node size is that bridge score, so the entities holding otherwise separate topics together are the largest marks on screen, while shape and colour stay with the type. In the whole-corpus overview each substantial cluster is tinted as a region behind its members and the layout pulls them together so the regions read as distinct. The summary line states how many clusters were found and the partition’s modularity, so the structure is something you can check rather than infer. Selecting a catalog node looks the dataset up and reports what is actually there; when the catalog does not hold it, the inspector says so, because a page citing a dataset the catalog is missing is a real gap. Entities you cannot access are absent entirely, node and edge both, and a cap on a very large corpus is stated above the canvas rather than applied quietly.


Your Own Usage, Not the Platform’s
Activity is the personal read: what you have been asking for, how long it took, and which tools carried it. The platform-wide equivalents live in the admin sections.
What You Have Actually Been Asking For
Why it matters
People are usually surprised by their own usage. Seeing which tools carry the work, and where the errors cluster, is how a habit turns into a prompt worth saving.
How it works
Summary cards report total calls, average duration, and how many distinct tools you used over the window you pick, from the last hour out to seven days. A timeseries charts your call volume with errors picked out against it, and a bar chart ranks your most-used tools.


What Reaches Your Inbox, and What Already Did
Settings holds per-user preferences and closes the sidebar. Its one section today is notifications, and it answers both halves of the question rather than only the first. What sends those messages, and who else hears about the same event, is covered on Email Notifications.
Preferences Above, Delivery Receipts Below
Why it matters
Notification settings usually let you say what you want to be told and leave you with no way to know whether anything was sent. The two questions belong on one screen.
How it works
Delivery is off, immediate, or a daily digest, with per-category toggles for shares, comments and feedback, and mentions; changes save as you make them. Recent notifications sits directly beneath and lists what was actually sent to your account, newest first, with its subject, category, and delivery status. A message that never went out reads Not delivered. It shows recent activity rather than a full record, and the window it covers is stated on the panel so an empty list is not mistaken for a quiet week.


Next
Administration
The other half of the same sidebar: the dashboard, tools, personas, gateways, and the audit trail behind every call.
