Share brain pages as beautiful password-protected HTML with zero LLM calls
56
64%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
High
Do not use without reviewing
Fix and improve this skill with Tessl
tessl review fix ./skills/publish/SKILL.mdShare brain pages as beautiful, self-contained HTML documents. Optionally password-protected with client-side AES-256-GCM encryption. No server needed.
This is a code + skill pair: the deterministic code (gbrain publish) does
the stripping, encrypting, and HTML generation. This skill tells you when and
how to use it. See Thin Harness, Fat Skills
for the architecture philosophy.
https://...) are preserved; only internal brain paths are stripped.Brain content is private. Default to password-protected unless the user explicitly says "open", "no password", or "public".
If no password is specified, auto-generate one. Share the password via a different channel than the URL.
# Basic publish (outputs local HTML file)
gbrain publish brain/companies/acme.md
# Password protected (auto-generate password)
gbrain publish brain/companies/acme.md --password
# Password protected (specific password)
gbrain publish brain/companies/acme.md --password "secret123"
# Custom title
gbrain publish brain/companies/acme.md --password --title "Acme -- Deal Analysis"
# Custom output path
gbrain publish brain/companies/acme.md --out /tmp/acme-share.htmlThe publish command automatically removes all private/internal data:
| Stripped | Example | Why |
|---|---|---|
| YAML frontmatter | title:, type:, tags: | Internal metadata |
[Source: ...] citations | All formats | Provenance is internal |
| Confirmation numbers | ABC123DEF -> "on file" | PII/booking data |
| Brain cross-links | [Jane](../people/jane.md) -> Jane | Internal paths |
| Timeline section | Everything below --- / ## Timeline | Raw evidence log |
| "See also" lines | Internal references | Brain navigation |
Preserved: external URLs (https://...), all other content.
gbrain publish brain/people/jane-doe.md --password --out ~/Desktop/jane-briefing.htmlShare the HTML file via email, Slack, Airdrop. Share the password separately.
# Publish locally first
gbrain publish brain/companies/acme.md --password "secret" --out /tmp/acme.html
# Upload to Supabase Storage
gbrain files upload /tmp/acme.html --page shares/acme
# Get a signed URL (1-hour expiry)
gbrain files signed-url shares/acme/acme.htmlShare the signed URL + password. URL expires in 1 hour. Re-generate as needed.
Upload the HTML file to any static hosting service. The file is self-contained, no server logic needed. Password-protected files work entirely client-side via Web Crypto API.
gbrain publish brain/trips/japan-2026.md --out trip.html
# Upload to a GitHub Gist or Pages repoWhen encrypted, the published HTML contains ONLY ciphertext. The plaintext is not present anywhere in the file.
Re-run the publish command with the same output path:
gbrain publish brain/companies/acme.md --password "same-password" --out shares/acme.htmlSame file, same URL (if hosted), updated content.
Delete the file. If using signed URLs, the URL expires automatically (1 hour). If using static hosting, remove the file from the host.
gbrain publish exists.PUBLISHED: [page title]
========================
File: [output path]
Encrypted: [yes (AES-256-GCM) / no]
Password: [auto-generated password / user-provided / none]
Size: [file size]
Share the file via: [email / Slack / Airdrop / cloud upload]
Share the password via: [a different channel]gbrain publish -- deterministic HTML generation (no LLM calls)gbrain files upload -- upload to cloud storage (optional)gbrain files signed-url -- generate access links (optional)3fafb69
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.