Keep the spreadsheet, not just the summary of it.
Agents don't only write prose. They produce models, extracts, rendered charts and PDFs — and an analysis you can't reopen the numbers behind is only half a deliverable.
The write-up is kept. The evidence isn't.
A research agent spends an hour on a question and produces two things: a clear write-up, and the artifact behind it — the spreadsheet it built, the CSV it pulled, the chart it rendered.
The write-up gets saved, because prose is easy to save. The artifact
goes to a downloads folder with a name like
export-3.csv, or into a chat attachment that expires, or
nowhere at all because the agent had no path for it. Three weeks later
the write-up says "revenue concentration is worse than we assumed" and
the workbook that made that true is gone.
Now the claim isn't verifiable, and it isn't extendable either. Nobody can ask the obvious follow-up question, because answering it means redoing the analysis from the beginning.
Store the artifact where the note is
In Markbase a non-Markdown file is a first-class document at an ordinary
workspace path. research/q2-model.xlsx sits directly beside
research/q2-notes.md, and the note links to it with an
ordinary Markdown link — no attachment model, no special syntax, nothing
to remember.
Because it's a document, everything that applies to documents applies to it. It's versioned, so a model rebuilt each month keeps its earlier states. It goes in the trash and comes back out. It's covered by the same access rules and lands in the same workspace export.
Spreadsheets, PDFs, CSV extracts, rendered charts, HTML reports — the stuff agents actually produce when the answer isn't a paragraph.
Files are kept and downloaded, never rendered
Every download is served as an attachment, whatever the file claims to
be. An uploaded .html or .svg is bytes you get
back, not something that executes anywhere — which is a deliberate
design choice rather than a limitation being explained away, and it's
why storing whatever an agent produces doesn't come with a security
conversation attached.
The practical consequence: no previews, no thumbnails. You download the workbook and open it in the thing that opens workbooks.
The note is what makes the file findable
Full-text search covers your Markdown. It doesn't read inside a spreadsheet — nobody's parsing your workbook's cells — so a file's discoverability comes from the note beside it: what it is, what question it answers, what the method was, what to be careful about.
That turns out to be the right incentive rather than a gap. A bare file with no explanation was never much use to the next reader anyway, agent or human. Making the write-up the index means the habit that makes research reusable is the same habit that makes it retrievable.
Which makes the workspace a research record
Do this for a few months and you have something a folder of downloads never becomes: an archive where every conclusion still points at the evidence that produced it. A new agent asked a question that's been looked at before finds the note, and one hop away, the workbook.
Keep the recurring work in a typed collection — one record per study, with the question, the date, the method and a link to the artifact — and the archive is queryable as well as browsable. Everything looking at pricing this year, newest first, with the models attached.
In practice
The deliverable and its write-up, together.
A research agent finishing a piece of work: the workbook goes to a workspace path, and the note that cites it goes in right beside it — one hop from conclusion to evidence.
What makes it work
Three primitives, doing the work.
Files are documents
A .xlsx sits at an ordinary workspace path beside the .md that cites it, and a plain Markdown link connects them. No attachment model, no separate bucket to remember.
The note is the index
Full-text search covers your Markdown — so the write-up is what makes the artifact findable. Which is the right incentive: an agent that stores a file writes the note explaining it.
Versioned like everything else
A model that gets rebuilt monthly keeps its earlier versions. "What did the Q2 numbers look like before the restatement?" stays answerable.
More use cases
Other jobs a shared workspace does.
- Decisions & precedent An agent that can't see why you chose Postgres over Redis will cheerfully propose Redis again. A decision log it can query turns settled questions into constraints.
- Session handoff Context windows end; the work doesn't. Write a handoff into the workspace and resume it in a fresh session — on another machine, or with another agent.
- Agents from different vendors Different models are genuinely better at different jobs. The one thing they have in common is MCP — so make the memory the thing they share.
- Parallel agent fleets Fan a job out across a fleet and they all reach for the same file. Every write says which version it's changing, so the loser of a race is told, not silently overwritten.
- Onboarding an agent The first thing a fresh agent does is read the workspace — what the system is, what's settled, how to work here — instead of asking you or guessing.
- Background & scheduled agents A nightly run has nowhere to put what it found. Give it a folder and the report is waiting in the morning — for you, and for the next run.
Free plan, no card
If your agents' best output ends up in a downloads folder.
If your agents are producing real deliverables and you're still shuttling them around by hand, give the artifacts a home next to the notes that cite them. Free to start, no card.