Skip to content
Agentmart
Submit a tool

pubhub-publish

Publish or share an HTML page, Markdown note, or static site through pubhub when the user explicitly asks to publish or share it.

Skill by yet-an-other

IndexedMIT
Write a review

Chalk Labs

Need help deploying pubhub-publish?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/yet-an-other-pubhub-publish

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Publish or share an HTML page, Markdown note, or static site through pubhub when the user explicitly asks to publish or share it. Do not use for drafting, previewing, or building alone.

Use cases: documents, frontend, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/pubhub-publish

What's inside

Skill name
pubhub-publish
Description
Publish or share an HTML page, Markdown note, or static site through pubhub when the user explicitly asks to publish or share it. Do not use for drafting, previewing, or building alone.
License
MIT
Instructions
53 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Publish with pubhub

Use this skill only after the user explicitly asks to publish or share. Publishing makes the Artifact publicly reachable by anyone with its URL. The URL is unlisted, not private or access-controlled. Do not publish secrets.

## Prepare the Artifact

- For Markdown, render it to a **self-contained `.html` file** before calling `pubhub`: include the content and styling in the file, embed local images and other required assets rather than leaving local filesystem references or relying on a remote CDN. Escape untrusted Markdown/HTML appropriately. Keep ordinary outbound links if they are part of the note.
- Check the HTML has a specific, meaningful `<title>` in `<head>`; the Portal uses it as the Catalogue title. Do not rely on the CLI's fallback to the Artifact name. For a Bundle, check its root `index.html`.
- Build a static site as a directory with `index.html`, a relative base for asset URLs (for example, Vite `base: './'`), and no service worker or PWA output. Check that assets resolve from the Artifact's sub-path, not `/`. Remove any previously generated service worker, manifest or registration code before publishing.
- A single-file source must end in `.html`. The CLI skips dot-files and symlinks in Bundles, so check that no required content depends on them. The CLI validates a maximum of 100 MB per request and 2,000 files.

## Choose the path

1. Find the current git repository's top-level directory with `git rev-parse --show-toplevel` and slugify its **directory name** for the Project. Do not use the current subdirectory or the remote's name. If there is no git repository, ask the user for a Project rather than inventing one.
2. Pick a Category (optional, possibly multiple segments) and an Artifact name that describe the content. If the intended Category or name is unclear, ask. Otherwise choose them and **state the full path you chose** before publishing, for example `pub-hub/notes/release-plan.html`.
3. Use lowercase ASCII letters and digits with single hyphens between words. Every Project, Category and Artifact segment must match `^[a-z0-9]+(-[a-z0-9]+)*$`, be 1 to 63 characters long, and must not be `index` or `cdn-cgi`. The full path, including `.html` or `/`, must be at most 200 characters. Do not choose a Project-level Artifact: include a name after the Project. If slugifying the repo directory produces an empty, reserved, or otherwise invalid Project, ask for a valid one.
4. Supply the path as a stem (`project/category/name`). The CLI adds `.html` for a file and `/` for a directory. You may supply that suffix explicitly if it matches the source. The stem cannot switch an existing Artifact between file and Bundle shapes without deleting it first.

## Publish

Write a one-line, **private** description for `-d` that says what the Artifact is and why it was made. It is not a substitute for the HTML title. Keep it under 1,000 characters. Avoid credentials or secrets even in private metadata.

For a new Artifact, always run:

```sh
pubhub publish <prepared.html|site-dir> <project/category/name> -d "<what it is and why it was made>" --no-overwrite
```

Only omit `--no-overwrite` if the user explicitly asked to **update an existing Artifact** at that path. Do not treat a general request to publish as permission to replace one. `--dry-run` is useful for local validation, but it does not upload anything. Do not report a URL until the real publish succeeds. Normal success prints just the URL on stdout; warnings and errors go to stderr. `--json` instead prints metadata, not just the URL.

If publishing fails, use the CLI's `error: <code>: <message>` and exit status:

| Exit | Response |
| --- | --- |
| `2` | Usage or local validation error. For `auth_missing`, point the user to `pubhub login` (or `PUBHUB_TOKEN`); for other errors, fix the source/path or reported configuration issue locally. The CLI suggests a name but never rewrites it. |
| `3` | `exists`, `shape_conflict`, or `nesting_conflict`. Stop and ask the user whether to update, choose a different path, or resolve the conflict. Do not silently overwrite, rename, or delete. |
| `4` | Authentication or authorization (`401`/`403`). Point the user to `pubhub login` for a missing/expired PAT, or to the Portal's machine-Publisher allowlist if their account is not admitted. Do not print credentials. |
| `5` | `busy` or HTTP `503` after the CLI's three retries. Report the failure rather than claiming publication. |
| `1` | Other failure. Report the CLI error. |

## Describe the Project

After a successful publish, write a separate, one-sentence Project description. Use the same repository root chosen for the Project path, even if the Artifact came from a subdirectory:

1. Read the root README (`README`, `README.md`, or another `README.*`) and summarize what the Project does.
2. If it has no useful account of the Project, read other repository docs and summarize its purpose.
3. If there are no useful docs, inspect source code such as entry points, manifests and core modules. If its purpose remains unclear, ask the user rather than guess.

Keep the sentence factual, under 1,000 characters, and free of credentials or secrets. Then run `pubhub describe-project <project> "<one-sentence project description>"`. This command checks the Catalogue and skips Projects that already have a description. `-d` is the Artifact description and must stay about the Artifact. If the CLI lacks `describe-project`, or setting the Project description fails, say so; a successful Artifact publish is still a success, but the Project description was not set.

Return the printed URL and remind the user that it is **public but unlisted**.

From yet-an-other/skills, MIT.

More from yet-an-other/skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 1, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from yet-an-other

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get pubhub-publish running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying pubhub-publish?

CallGet help
Cite this page

pubhub-publish skill. Agent Mart. https://agentmart.dev/skills/yet-an-other-pubhub-publish (last updated 2026-10-24)