Use when the user asks to share, publish, or make HTML or markdown content available at a public URL.
Publish HTML or markdown content to the shared-content bucket and return a public URL.
Current target:
Bucket: intexuraos-shared-content-dev
Prefix: claude/
Base URL: https://intexuraos.cloud/share/claude/
Keep the claude/ prefix unless the user explicitly asks for a different namespace. That is the path the existing shared-content flow already uses.
share, publish, make this public, give me a link, or host this as a page.html or .md file and wants it uploadedDo not use this for private storage or internal-only artifacts.
Choose the mode from explicit flags or user intent.
| Mode | Trigger | Output |
|---|---|---|
| Rich HTML | --html, "share as HTML", "publish this visualization", existing .html file | .html |
| Styled Markdown | Default, "share this", "share as markdown", prose/report content | .html |
| Raw Markdown | --raw-md, "share raw markdown", "upload the markdown file" | .md |
Rich HTML mode
Note: do not rely on a /frontend-design command. In Codex, create the HTML artifact directly in the repo or temp space.
Styled Markdown mode
Raw Markdown mode
text/markdown.Create a descriptive kebab-case slug.
Examples:
auth-flow-diagramapi-response-analysishyperagents-implementation-mapRules:
If using an existing file, copy it:
cp <source-file> /tmp/codex-share-<slug>.<ext>
If generating content, write it to:
/tmp/codex-share-<slug>.html
/tmp/codex-share-<slug>.md
gsutil ls gs://intexuraos-shared-content-dev/claude/<slug>.<ext> 2>&1
-2, -3, and retrygsutil reports no match, proceedOnly overwrite an existing object if the user explicitly asked to update that exact shared document.
HTML:
gsutil -h "Cache-Control:public, max-age=3600" \
-h "Content-Type:text/html; charset=utf-8" \
cp /tmp/codex-share-<slug>.html \
gs://intexuraos-shared-content-dev/claude/<slug>.html
Raw markdown:
gsutil -h "Cache-Control:public, max-age=3600" \
-h "Content-Type:text/markdown; charset=utf-8" \
cp /tmp/codex-share-<slug>.md \
gs://intexuraos-shared-content-dev/claude/<slug>.md
Verify object upload:
gsutil stat gs://intexuraos-shared-content-dev/claude/<slug>.<ext> 2>&1
Verify public URL:
curl -s -o /dev/null -w '%{http_code}' https://intexuraos.cloud/share/claude/<slug>.<ext>
200 means the URL is live404 can mean propagation delay; report that clearlyrm /tmp/codex-share-<slug>.<ext>
Return:
Published: https://intexuraos.cloud/share/claude/<slug>.<ext>
Use this for styled markdown uploads after converting the markdown body to HTML.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{{TITLE}}</title>
<style>
:root {
--color-fg: #1f2328;
--color-bg: #ffffff;
--color-border: #d0d7de;
--color-link: #0969da;
--color-code-bg: #f6f8fa;
--color-blockquote-fg: #656d76;
}
@media (prefers-color-scheme: dark) {
:root {
--color-fg: #e6edf3;
--color-bg: #0d1117;
--color-border: #30363d;
--color-link: #58a6ff;
--color-code-bg: #161b22;
--color-blockquote-fg: #8b949e;
}
}
* {
box-sizing: border-box;
}
body {
max-width: 800px;
margin: 0 auto;
padding: 2rem 1.5rem;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.6;
color: var(--color-fg);
background: var(--color-bg);
}
h1,
h2 {
padding-bottom: 0.3em;
border-bottom: 1px solid var(--color-border);
}
a {
color: var(--color-link);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
pre {
background: var(--color-code-bg);
border-radius: 6px;
padding: 16px;
overflow-x: auto;
}
code {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 85%;
}
:not(pre) > code {
background: var(--color-code-bg);
border-radius: 6px;
padding: 0.2em 0.4em;
}
table {
border-collapse: collapse;
width: 100%;
}
th,
td {
border: 1px solid var(--color-border);
padding: 6px 13px;
}
blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-blockquote-fg);
border-left: 0.25em solid var(--color-border);
}
img {
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
{{CONTENT}}
</body>
</html>
gsutil is missing, say so and stop instead of pretending the upload worked200, report the object path and the likely propagation issue