skills/capture/SKILL.md
Save any thought or content into the brain via one CLI command. The single human-facing entrypoint that replaces "put_page vs commit-then-sync vs autopilot-wait" with one command that just works.
npx skillsauth add garrytan/gbrain captureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When the user wants to save a thought, an article snippet, a transcript
fragment, or any text into their brain, run gbrain capture. Don't reach
for gbrain put or commit-then-sync — capture is the front door and it
handles both local and thin-client installs the same way.
--file PATH, or --stdin).<sync.repo_path>/<slug>.md. Receipt printed to stdout.gbrain query,
gbrain search, or any MCP-bound agent.inbox/YYYY-MM-DD-<hash8> slug. The
daemon's 24h content-hash dedup catches re-captures.remote: false).
Untrusted webhook ingestion goes through POST /ingest, not this verb.gbrain capture resolves to a put_page call (local) or a remote MCP call
(thin-client). Either way the page lands in the DB AND on disk in one move
via the v0.38 write-through plumbing. The default slug is
inbox/YYYY-MM-DD-<hash8> so captures cluster in a predictable triage
location.
gbrain capture "the thought I want to remember"
gbrain capture --file ./notes/today.md
echo "from a pipe" | gbrain capture --stdin
gbrain capture "..." --slug daily/2026-05-21
gbrain capture "..." --type idea --source voice-whisper
gbrain capture "..." --quiet # script-friendly: prints just the slug
gbrain capture "..." --json # structured output for agents
inbox/YYYY-MM-DD-<hash8> (stable for same content; the daemon's 24h dedup catches re-captures).note (override with --type idea etc.).captured_via: capture-cli, captured_at: <ISO>.Default prints a 5-line receipt:
captured:
slug: inbox/2026-05-21-abcdef12
status: created_or_updated
content_hash: f3a7b9c0d1e2f3a4…
file: /Users/you/brain/inbox/2026-05-21-abcdef12.md
captured_at: 2026-05-21T04:15:00.000Z
--quiet prints only the slug (use for SLUG=$(gbrain capture "..." --quiet)).
--json prints structured output for downstream tools.
gbrain put. That's the old per-page primitive that
doesn't know about default slug generation, content-type heuristics, or
the receipt block. capture is the human-facing wrapper.gbrain capture.
That's what gbrain sync (or gbrain import) is for. Capture is for
single thoughts, single notes, single transcripts.# Title\n\n<your prose>.
Pass --file PATH if you already have a fully-formatted markdown file.--file or --stdin instead.skills/media-ingest/SKILL.md or gbrain sync insteadskills/idea-ingest/SKILL.md (it knows to build the people page)skills/meeting-ingestion/SKILL.md (attendee enrichment)This skill is for the simple "I have a thought, save it" case. Specialized ingestion paths handle their own slugging + cross-referencing.
tools
--- name: query-helper triggers: - find a page tools: - search - query writes_pages: false --- # query-helper This skill helps you query the brain. The first prose line becomes the description when no `description:` frontmatter is present.
testing
# broken This SKILL.md has no YAML frontmatter fence. It must still be listed (with the directory name as its name and empty triggers), never throw.
documentation
Read, enrich, and write brain pages with source attribution.
testing
Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler. Collapses 94 noisy types to 15 canonical with subtypes, alias rows, and link rows. Triggers when an agent notices pack_upgrade_available, type_proliferation, or asks "what is the canonical taxonomy / how do I clean up my page types".