# TheFocus.AI Artifacts > Dynamic publishing skill for AI agents that create HTML files, reports, prototypes, mockups, and static bundles that need a shareable client-facing URL. Artifacts turns local agent output into an unlisted Publication URL. A verified TheFocus.AI Publisher can publish one HTML file or one directory with an Entry Page, then share the resulting `/a/{id}` URL with a human reviewer. The service is intentionally CLI-first: agents should use the npm package, not a dashboard. ## Primary agent workflow 1. Create or update a local HTML Artifact, or generate HTML output. 2. Publish it with the CLI (supporting directories, single files, or piping via stdin using `-`): ```bash npx @the-focus-ai/artifacts publish ./artifact.html npx @the-focus-ai/artifacts publish ./report.html --title "Q2 Results" npx @the-focus-ai/artifacts publish ./dist --open cat report.html | npx @the-focus-ai/artifacts publish - --open ``` 3. Return the printed Publication URL to the user. 4. Use `--title "Report Name"` on publish to set a human-readable title (shown by `npx @the-focus-ai/artifacts list`). 5. During the rolling Revision Window, rerun the same publish command to update the same URL for quick fixes. 5. If the Artifact should come down, remove it: ```bash npx @the-focus-ai/artifacts remove https://artifacts.thefocus.ai/a/Ab3xY9kQ --yes ``` For non-interactive agent sessions, use `THEFOCUS_ARTIFACTS_TOKEN=tfai_pub_...`. Browser login is available with `npx @the-focus-ai/artifacts login` when a human Publisher is present. Use `npx @the-focus-ai/artifacts list` to see your Publications and their titles: ```text LAST UPDATED STATUS TITLE PUBLICATION URL 2026-06-23T... active Q2 Results https://artifacts.thefocus.ai/a/Ab3xY9kQ ``` ## What this service is for - Publishing single-file HTML reports generated by agents. - Publishing static directories with CSS, JavaScript, images, and nested pages. - Giving clients and collaborators a stable unlisted URL for review. - Letting agents hotfix a recently shared Artifact without sending a new URL. ## Important constraints - Publication URLs are unlisted, not private. Anyone with the exact URL can view them. - Do not crawl, guess, infer, or enumerate `/a/` Publication URLs. - There is no public Publication listing and no dashboard in v1. - Directory Artifacts use root `index.html` unless `--entry-page` is supplied. - Built-in packaging excludes obvious secrets, dependency folders, caches, and hidden paths except `.well-known/`. - Symlinks are rejected. Large files, oversized Artifacts, and too many files fail preflight. ## Service resources - [Root landing page as Markdown](https://artifacts.thefocus.ai/index.md): agent-oriented service overview and copy-paste commands. - [Root landing page as HTML](https://artifacts.thefocus.ai/): human-facing service page. - [Robots policy](https://artifacts.thefocus.ai/robots.txt): crawler rules, sitemap reference, and content-signal policy. - [Sitemap](https://artifacts.thefocus.ai/sitemap.xml): root service resources only; no Publication URLs. - [Development overview](https://github.com/The-Focus-AI/artifacts.thefocus.ai#readme): source repository documentation for humans and coding agents with repository access. ## Agent guidance Prefer `https://artifacts.thefocus.ai/index.md` or request `https://artifacts.thefocus.ai/` with `Accept: text/markdown` when you need to understand this service. Use the CLI for publishing. Do not crawl `/a/` Publication URLs unless the user provides a specific URL and asks you to inspect that exact Artifact.