本文へ移動
cccskills
無料GitHub で公開

publish

Share brain pages as beautiful password-protected HTML with zero LLM calls

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Publish Skill

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 for the architecture philosophy.

Contract

  • Published HTML is fully self-contained: no external dependencies, no server needed.
  • All private metadata (frontmatter, source citations, confirmation numbers, brain cross-links, timeline) is stripped before publishing.
  • Password protection uses AES-256-GCM with PBKDF2 key derivation; plaintext never appears in the encrypted HTML file.
  • Default is always encrypted unless the user explicitly requests "open", "no password", or "public".
  • External URLs (https://...) are preserved; only internal brain paths are stripped.

When to Publish

  • User asks to share a brain page, create a shareable link, or says "give me a page"
  • User wants to send a deal memo, person briefing, or research to someone external
  • User asks to publish a data room analysis or trip plan
  • Any time brain content needs to leave the brain without exposing the whole system

Default: ALWAYS ENCRYPT

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.

Quick Reference

# 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

What Gets Stripped

The publish command automatically removes all private/internal data:

StrippedExampleWhy
YAML frontmattertitle:, type:, tags:Internal metadata
[Source: ...] citationsAll formatsProvenance is internal
Confirmation numbersABC123DEF -> "on file"PII/booking data
Brain cross-links[Jane](../people/jane.md) -> JaneInternal paths
Timeline sectionEverything below --- / ## TimelineRaw evidence log
"See also" linesInternal referencesBrain navigation

Preserved: external URLs (https://...), all other content.

Sharing Workflows

Option A: Local file (simplest)

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.

Option B: Upload to cloud storage

# 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.

Option C: Static hosting (Render, Netlify, S3)

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.

Option D: GitHub Pages / Gist

gbrain publish brain/trips/japan-2026.md --out trip.html
# Upload to a GitHub Gist or Pages repo

Password Protection Details

  • Algorithm: AES-256-GCM
  • Key derivation: PBKDF2 with 100K iterations, SHA-256
  • Salt: Random 16 bytes per encryption
  • IV: Random 12 bytes per encryption
  • Decryption: Client-side via Web Crypto API (SubtleCrypto)
  • No server auth needed -- the HTML file is self-contained
  • "Remember on this device" -- saves password in localStorage

When encrypted, the published HTML contains ONLY ciphertext. The plaintext is not present anywhere in the file.

Updating a Published Page

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.

Revoking Access

Delete the file. If using signed URLs, the URL expires automatically (1 hour). If using static hosting, remove the file from the host.

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • The source page returns page_not_found: resolve the real slug first; never publish a guessed page.
  • gbrain files upload / gbrain files signed-url fails (storage not configured, bucket_not_found): tell the user publishing needs storage and run gbrain doctor --json; do not paste private page content instead.

Anti-Patterns

  • Publishing without encryption. Brain content is private. Default to password-protected unless the user explicitly says "open", "no password", or "public".
  • Sharing password and URL in the same channel. Always share the password via a different channel than the URL for security.
  • Assuming the user wants raw markdown. The publish command produces beautiful HTML. Don't copy-paste markdown when gbrain publish exists.
  • Including internal metadata. Never manually share content that contains frontmatter, source citations, or timeline sections. Let the publish command strip it.

Output Format

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]

Tools Used

  • gbrain publish -- deterministic HTML generation (no LLM calls)
  • gbrain files upload -- upload to cloud storage (optional)
  • gbrain files signed-url -- generate access links (optional)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Verify a research claim or academic citation by tracing it through publication → methodology → raw data → independent replication. Routes through perplexity-research for the actual web lookup, then formats results as a citation-checked brain page. Use when a book/article/conversation cites a study and you want to confirm the claim is real, replicated, and accurately characterized.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月12日 更新

Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml `archive-crawler.scan_paths:` allow-list.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月12日 更新

Transform raw article text dumps in the brain into structured pages with executive summary, verbatim quotes, key insights, why-it-matters, and cross-references. Replaces walls-of-text with quotable, actionable brain pages.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月12日 更新

ask-user

無料

Reusable pattern for presenting the user with explicit choices and gating execution until they respond. Used by other skills when a decision point requires human input before proceeding. Platform-agnostic — works on Telegram (inline buttons), Discord, CLI, or any agent with a message tool.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月12日 更新

Feed and whole-publication ingestion: turn an entire blog, newsletter, or RSS/Atom archive into brain source pages. Covers feed discovery, pagination walking, normalization to a common article shape, canonical-URL dedup, idempotent re-runs, 429 pacing, and empty-husk repair. This is the PUBLICATION-scope skill — a single article URL routes to idea-ingest instead. Per-article enrichment hands off to the brain-ingest-gate skill; public posts only (gated content is skipped, never worked around).

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月12日 更新

Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's life, NOT a therapist assigning homework. The reader decides what to do about it. Layout is a top-aligned HTML table or stacked sections, never a bare markdown pipe table (pipe tables center-misalign uneven columns). Output is a single brain page at media/books/<slug>-personalized.md plus an optional PDF via brain-pdf.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月12日 更新

garrytan のスキルをすべて見る

このスキルの問題を報告する