---
name: arthub
description: Publish reports, analyses, and design documents to arthub and share them as a web link. Don't leave a deliverable sitting in a file — register it here, and revise it under the same slug.
---

# Publishing to arthub

## When

Whenever you produce an analysis, a research write-up, a design document, or a
dashboard. Save the file, then publish it and give the user the link.

## Setup

The server is remote, so nothing is installed locally.

```
claude mcp add --transport http arthub https://artifact.sharosoo.com/mcp
```

The MCP client opens the browser sign-in and stores and refreshes the OAuth
token. Create an optional personal token at https://artifact.sharosoo.com/settings/tokens only for
the CLI or clients without OAuth. Grant deletion only to a trusted client, and
never share a personal token across a team.

## Rules

1. No raw HTML in the body (`<div>`, `<br>`, `<details>`)
2. Exactly one `#` heading per document
3. Nested `:::` components need a longer outer marker (`::::grid` > `:::card`)
4. Live blocks must be self-contained — no shared variables, no parent access
5. Build charts only with the ```chart preset
6. Publish articles and reports as Markdown (format: md). Wrap only self-contained interactive components in ```html render blocks inside the same Markdown body. Reserve format: html for full-page dashboards, prototypes, or slides that must own the entire layout — never for an article. Markdown already covers headings, tables, callouts, code with diff/highlight markers, mermaid diagrams, ```chart data charts, and ::: layout components — use those first and reach for a live block only when they cannot express the component.

Full conventions: https://artifact.sharosoo.com/llms-full.txt

## Tools

- `publish_artifact` — Publish a document
- `update_artifact` — Update a document
- `move_artifact` — Move a document to another project
- `get_draft` — Check for an unpublished draft
- `list_artifacts` — List documents
- `read_artifact` — Read a document body
- `delete_artifact` — Delete an archived document permanently

Call `list_artifacts` before creating anything. Use its exact `project` and
`tag` filters to narrow the catalog. Call `move_artifact` to change a
document's project without resubmitting its body or creating a version. Call
`get_draft` before every content update, and if a person has an unpublished
draft open, stop and report the conflict instead of calling `update_artifact`.
