sixb-artifacts
Publish a deliverable the user should see, such as a report, a write-up, a table of data, or a file they asked for, as an artifact, and revise it by publishing it again with its id.
- License 许可
- MIT
- 所属仓库
- sixb-ai/sixb
- 最近更新
- 2026-11-14
- Stars
- ★ 138
- Forks
- 16
01 前言 Front Matter
- name
- sixb-artifacts
- description
- Publish a deliverable the user should see, such as a report, a write-up, a table of data, or a file they asked for, as an artifact, and revise it by publishing it again with its id.
02 资源文件 35
- 参考文档canvas.md13.8 KB
- 参考文档document.md2.8 KB
- 参考文档examples/canvas/onboarding-flow/boards/first-job.html1.6 KB
- 参考文档examples/canvas/onboarding-flow/boards/region.html1.4 KB
- 其他examples/canvas/onboarding-flow/boards/shared.css2.6 KB
- 参考文档examples/canvas/onboarding-flow/boards/welcome.html1.5 KB
- 参考文档examples/canvas/onboarding-flow/canvas.json2.1 KB
- 参考文档examples/canvas/retro/canvas.json3.1 KB
- 参考文档examples/document/incident-report/document.md1.4 KB
- 参考文档examples/document/operations-review/document.md1.5 KB
- 资产文件examples/document/operations-review/figures/restorations.svg2.3 KB
- 参考文档examples/page/collections-desk/index.html7.7 KB
- 参考文档examples/page/collections-desk/queries/overdue.json401 B
- 参考文档examples/page/dispatch-board/data/dispatch.json5.4 KB
- 参考文档examples/page/dispatch-board/index.html13.7 KB
- 参考文档examples/page/fleet-planner/data/plan.json1.1 KB
- 参考文档examples/page/fleet-planner/index.html22.5 KB
- 参考文档examples/page/service-explorer/data/service.json21.5 KB
- 参考文档examples/page/service-explorer/index.html25.5 KB
- 参考文档examples/sheet/overdue-invoices/queries/overdue.json401 B
- 参考文档examples/sheet/overdue-invoices/workbook.json865 B
- 资产文件examples/sheet/parts-inventory/sheets/Inventory.csv1.6 KB
- 资产文件examples/sheet/parts-inventory/sheets/Spend.csv120 B
- 参考文档examples/sheet/parts-inventory/workbook.json1.2 KB
- 资产文件examples/sheet/service-metrics/sheets/Quarters.csv253 B
- 资产文件examples/sheet/service-metrics/sheets/Regions.csv349 B
- 参考文档examples/sheet/service-metrics/workbook.json2.2 KB
- 参考文档examples/slides/launch-plan/index.html2.5 KB
- 参考文档examples/slides/q3-review/index.html6.0 KB
- 参考文档file.md920 B
- 参考文档page.md11.2 KB
- 参考文档queries.md3.3 KB
- 参考文档references.md3.8 KB
- 参考文档sheet.md11.2 KB
- 参考文档slides.md6.6 KB
03 SKILL.md 正文
Artifacts
An artifact is a deliverable the user opens beside the conversation. It has a kind, a title, and versions: the current one, which your changes go to, and those the user created, which stay readable as they were. Publish one when the user asks for a report, a document, a table, or a file, or when the answer is long-form work or data they will read, reuse, or share. When a few sentences answer the question, answer in the chat.
Kinds
| Kind | Publish it for | Read first |
|---|---|---|
document |
A report, brief, memo, plan, or write-up: anything read top to bottom | document.md |
sheet |
Tabular data the reader sorts, sums, charts, or downloads: metrics, lists, trackers, exports | sheet.md |
slides |
A deck to present: a review, a pitch, a plan for a meeting | slides.md |
page |
A small web app the reader works with: a calculator, a planner, a dashboard with filters | page.md |
canvas |
Work seen more than read, laid out in two dimensions: screens or frames side by side (a flow, a storyboard, variants, a moodboard), a brainstorm or retro of notes, a diagram | canvas.md |
file |
One file in a format the user asked for (PDF, DOCX, XLSX, PPTX, CSV), or a binary | file.md |
To show or link to another artifact, such as a sheet's chart in a report, read references.md.
Data from the project's objects goes in a query, so the artifact stays live: read queries.md.
Prefer a document to a DOCX or PDF, a sheet to an XLSX or CSV file, and slides to a PPTX,
unless the user asked for that format: they render in the app, and the versions the user creates stay readable side by side. A report
with a table of a dozen rows is a document; data the reader works with is a sheet. Work made of
pictures, such as screens, shots, or posters, is a canvas even when notes come with it: the notes
go beside each picture.
Publish
-
Write the artifact's files in a working directory, such as
work/q3-review/. -
Call
publish_artifactwith that directory (or one file), the kind, and a title:publish_artifact({ path: "work/q3-review", kind: "document", title: "Q3 operations review" }) → Published "Q3 operations review" as artifact art_k3m9q2x7tp, version 1 at revision 1. -
If it refuses, nothing was published. Fix what the message names and publish again. If you cannot, tell the user the deliverable could not be published; never describe it as ready.
-
Fix what each warning names and update the artifact when it matters to the reader. A deck also comes back with a screenshot of each slide, a page with one at a laptop's width and one at a phone's, and a canvas with one of each board: look at them (
slides.md,page.md,canvas.md, Check). -
In the reply, say in a sentence or two what you published and what stands out. Do not paste its content, a path, or its id as text: the user sees the artifact. To show a chart or a range of it in place, use its address (
references.md). A figure you cite from live data is the one you read, and what the artifact shows moves on as the objects change, even at a created version: date it with when you read it, in the user's time zone ("As of Oct 23, 10:42, three invoices are overdue.").
Revise
Your changes go to the artifact's current version, which stays open: each publish with its id
replaces it. Only the user creates a version, which freezes it; your next update then opens a new
one, and the created version stays as it was.
The artifacts this conversation shares are listed in $SIXB_ARTIFACTS, each with its current
version installed under $SIXB_ARTIFACTS_DIR/<id>/, including one you published moments ago. To
change one, start from that copy, not from an older working copy:
rm -rf work/q3-review && cp -r "$SIXB_ARTIFACTS_DIR/art_k3m9q2x7tp" work/q3-review
Edit the copy, then update the artifact from it:
publish_artifact({ id: "art_k3m9q2x7tp", path: "work/q3-review", title: "Q3 operations review" })
→ Updated "Q3 operations review": artifact art_k3m9q2x7tp, version 1 at revision 2.
An entry with "edited": true was last written outside this conversation: most often a person's
edit in the app, such as a sheet's cells or columns or a canvas's notes and layout, but also
another conversation or the project's code. Start from it as it is, and keep its changes in yours
unless the user asks you to undo them; say what you built on when you reply.
When others changed a canvas while you worked, the update merges your changes with theirs and writes the merged result into the folder you updated from: keep editing it.
If another kind of artifact changes while you work, the update refuses rather than write over what it never saw, says who changed it, and installs it in place of your copy and in the folder you published it from. What your sub-agents wrote reaches both the same way. Start again from that copy, keep its changes, make yours again, and update it.
An entry without a directory is not installed: the conversation's artifacts were too large to
install together, or its files could not be read. Rebuild it in a working directory with the paths
in its files, then update it. An update keeps the artifact's kind; the title may change. Leave
out id, and pass a kind, only for a different deliverable.
Artifacts that objects hold
A project's object can hold an artifact in a property, such as a meeting's kick-off document,
written {"type":"artifact","id":"art_k3m9q2x7tp"}. Whoever reads the object reads it, and whoever
may edit the object may change it.
- To read or revise one that
$SIXB_ARTIFACTSdoes not list, callopen_artifactwith its id: it installs its current version under$SIXB_ARTIFACTS_DIR/<id>/and publishes nothing. Its entry says"readOnly": truewhen the user may only read it. - Revise one the user may change from that copy, as above; your update then shares it in this conversation.
- To attach one you published to an object, run the project's action that sets the property, with the artifact's id in that shape. Say which object now holds it.
Rules
- A version holds at most 500 files, 25 MB per file, and 250 MB in all.
- A title is plain text of at most 200 characters that names the deliverable ("Q3 operations review"), not the request.
- Files and folders whose names start with a dot are not published.
- A sheet of the project's data is live, its rows read by a query, unless the user asked for a
snapshot (
queries.md). - An artifact holds no secrets, credentials, or internal URLs.