brain-ingest-gate
Pre-write quality gate for content entering the brain. No raw copies: a bare cp/mv into the brain repo is a bug. Before any new page lands, resolve named…
Share brain pages as beautiful password-protected HTML with zero LLM calls
$ npx -y skills add garrytan/gbrain --skill publish --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/publishContext preview
The summary Claude sees to decide when to auto-load this skill.
Share brain pages as beautiful password-protected HTML with zero LLM calls
name: publish description: Share brain pages as beautiful password-protected HTML with zero LLM calls triggers: - "share this page" - "publish page" - "create shareable link" tools: - get_page - search mutating: false
Share 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](https://x.com/garrytan/status/2042925773300908103) for the architecture philosophy.
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.html
The 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.html
Share 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.html
Share 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 repo
When 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.html
Same 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.
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]
Give the agent you already use a memory you control. GBrain stores explicit facts with their sources, supports corrections and withdrawal, and makes the same memory available across your agents.
Repo: garrytan/gbrain
Pre-write quality gate for content entering the brain. No raw copies: a bare cp/mv into the brain repo is a bug. Before any new page lands, resolve named…
When you report a brain page to the user — created, edited, committed, or relayed from a subagent — a working link is part of the deliverable, in the SAME…
Brain knowledge base operations. The core read/write cycle: brain-first lookup, read-enrich-write loop, source attribution, ambient enrichment, back-linking.…
Deduplicate and synthesize raw concept stubs into a tiered intellectual map (T1 Canon to T4 Riff), tracing idea evolution across sources over time. Transforms…
Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md,…
When the user corrects a factual error, root-cause it immediately. Don't just note the correction — trace the error to its source, fix the source, and prevent…