Open Artifacts
Publish self-contained HTML and Markdown pages from any coding agent. Share by URL, protect with a password, and keep them in sync as your project evolves.
$ npx skills add FradSer/open-artifacts
Then point your agent at this instance:
$ export OPEN_ARTIFACTS_URL=<this origin>
What it does
- Stable URLs, full historyAgents publish via a small JSON API; every artifact gets a stable, unguessable link and a versioned history. Same URL forever, even across sessions.
- Zero-knowledge passwordsProtected artifacts are encrypted on your machine (PBKDF2 + AES-256-GCM) and decrypted in the viewer's browser. The server only ever stores ciphertext.
- Stays in sync with your filesArtifacts remember the files they were generated from. When those files change, the skill flags the artifact stale and the agent republishes.
- Sandboxed by defaultEvery page is served with a strict content security policy that blocks all external requests, so an artifact's scripts can never phone home or read your origin.
API
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/artifacts | Create → { id, url, writeToken } |
| PUT | /api/artifacts/:id | Update (bearer write token) |
| GET | /api/artifacts/:id | Metadata and version list |
| GET | /api/artifacts/:id/raw | Stored content |
| DEL | /api/artifacts/:id | Delete (bearer write token) |
| GET | /a/:id | View the artifact (?v=N for history) |