idea-ingest
Ingest links, articles, tweets, and ideas into the brain. Fetch content, save to brain with analysis, credit the author (people page only when they pass the notability gate), and cross-link. Use when the user shares a link or says "read this", "save this", "think about this".
How do I install this agent skill?
npx skills add https://github.com/garrytan/gbrain --skill idea-ingestIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is designed to ingest and process external content from the web. The primary security concern is indirect prompt injection, where malicious instructions hidden in fetched articles or tweets could influence the agent's behavior, as no content sanitization or boundary markers are defined.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Idea Ingest Skill
Filing rule: Read
skills/_brain-filing-rules.mdbefore creating any new page.
Contract
This skill guarantees:
- Every ingested item has a brain page with genuine analysis (not just a summary)
- The author is always credited: back-linked from an existing
people/page (timeline update), or inline on the ingested page (**Author:** {Author}, {role}) when no page exists. A NEWpeople/page is created only when the author passes the notability gate AND you have at least two independent, durable facts about them beyond this one item — never a stub (skills/_brain-filing-rules.md§Notability Gate) - Cross-links created bidirectionally (source ↔ author, source ↔ mentioned entities)
- Raw source preserved for provenance via
gbrain files upload-raw - Every fact has an inline
[Source: ...]citation - Filing follows primary subject rules (not format-based)
Returns (when invoked by another skill or sub-agent):
page_path: brain page path of the ingested item (e.g.,concepts/flywheel-effects)author_path: brain page path of the author (e.g.,people/alice-example), ornullwhen the notability gate was skipped and the author was credited inline insteadcross_links: list of all cross-links createdstatus:ingested|updated|fetch_failed
Convention: See
skills/conventions/quality.mdfor Iron Law back-linking.
Every mention of a person or company with a brain page MUST create a back-link.
Format: - **YYYY-MM-DD** | Referenced in [page title](path) — brief context
Phases
-
Fetch the content. Use appropriate tools for the content type (web fetch for articles, API for tweets, PDF reader for documents).
-
Upload raw source. Save the fetched content for provenance:
gbrain files upload-raw <file> --page <slug> -
Identify the author — notability-gated. Search brain for an existing author page first.
- If page exists → update timeline with this new publication, then cross-link both directions
- If no page → create one ONLY if the author passes the notability gate
(
skills/_brain-filing-rules.md§Notability Gate,skills/conventions/quality.md) AND at least two independent, durable facts about them exist beyond this one item. Create a FULL page (not a stub) from enrichment — a single ingested item is not an entity worth a page. - Otherwise credit the author inline on the ingested page (
**Author:** {Author}, {role}) and note the gap in the reply. When in doubt, DON'T create. A missing page can be created later.
-
Save to brain. File by PRIMARY SUBJECT (read
skills/_brain-filing-rules.md):- About a person →
people/ - About a company →
companies/ - A reusable framework →
concepts/ - Raw data dump →
sources/
- About a person →
-
Analyze for the user. Reply with analysis that connects the content to what the brain knows. Think about:
- Active projects — is this relevant?
- Contradictions — does this challenge existing brain knowledge?
- Connections — does this involve known people/companies?
- Don't just summarize. Tell the user things they wouldn't have noticed.
-
Sync.
gbrain syncto update the index.
Output Format
# {Title} — {Author}
**Source:** {URL}
**Author:** {Author}, {role}
**Published:** {date}
**Ingested:** {date}
## Context
{Why this matters now, connected to brain knowledge}
## Summary
{3-5 bullet core arguments}
## Key Data / Claims
{Specific facts, numbers, quotes}
## Analysis
{How this connects to existing brain knowledge. What's new. What contradicts.}
Edge Cases
- Fetch fails (paywall, 404, timeout): Save a stub page with URL + metadata + reason for failure. Tell the user content couldn't be fetched and ask if they can paste it.
- Duplicate URL: Before ingesting, search brain for the URL. If found, update the existing page rather than creating a new one. Tell the user it was already ingested.
- No identifiable author: Use
sources/filing. Skip the people page but note the gap. - Tweet thread vs single tweet: Fetch the entire thread. Treat the thread as one unit.
- Video/podcast link: Note that only metadata can be ingested unless a transcript is available. Ask the user for a transcript.
- Raw upload: Use the
file_uploadtool (not CLIgbrain files upload-raw) when operating as an agent.
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 fetch fails (paywall, 404, timeout): save a stub with URL, metadata and the failure reason (
status: fetch_failed) and ask the user to paste the content. gbrain files upload-raw/file_uploadis refused (path outside the allowed root, payload too large): tell the user the limit and offer a link or an excerpt instead.write_pending(exit 10) on the page write: pollgbrain write-request <request_id>before reportingingested.
Anti-Patterns
- Just summarizing without connecting to brain knowledge
- Filing everything in
sources/(sources is for raw data dumps only) - Dropping the author credit entirely — neither a back-link on an existing author page nor an inline
**Author:**line on the ingested page - Creating a
people/page that fails the notability gate inskills/_brain-filing-rules.mdor is a stub built from this one item - Not cross-linking to mentioned entities
- Ingesting without checking brain first for existing coverage
- Overwriting an existing brain page instead of merging new content into it
- Hallucinating connections to brain knowledge — only cite connections you verified via search/query
- Creating generic slugs like
concepts/strategy— be specific:concepts/flywheel-effects - Assuming the fetch succeeded without verifying content was actually retrieved
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/garrytan/gbrain/idea-ingest">View idea-ingest on skillZs</a>