Skip to content
Development
Skill

/intake

Capture knowledge from outside the conversation. A single URL or text snippet is clipped whole to intake/clippings/; files/directories/globs are bulk-scanned into the backlogs; `extract {source}` decomposes a source into backlog entries; `doc {source}` captures a structured

From plugin
aria-knowledge
1940 skills1 command12 MCP

Claude Code

$ npx -y skills add mikeprasad/aria-knowledge --skill intake --agent claude-code

SKILL.md

intake.SKILL.md
description: "Capture knowledge from outside the conversation. A single URL or text snippet is clipped whole to intake/clippings/; files/directories/globs are bulk-scanned into the backlogs; `extract {source}` decomposes a source into backlog entries; `doc {source}` captures a structured 5-section reflection (claims/worth-keeping/contested/action/reaction); `thread {id}` pulls a chat/email thread via MCP. Use when user says '/intake', 'intake from', 'import knowledge from', 'scan this file for knowledge', 'onboard this project', 'clip this', 'save this link', 'save this snippet', 'capture this URL', 'clip this thread', 'save this Slack thread', 'capture this email chain', 'extract insights from this doc', 'mine this Notion page', 'capture a doc', 'log notes on this doc'. Unlike /extract (current conversation), /intake captures external sources; clipped/bulk items are reviewed at the next /audit knowledge run. (Code port — ADR-094.)"

/intake — Bulk Knowledge Import + Doc-Anchored Capture

Two modes:

  • **Bulk mode (default)** — Scan files, directories, or URLs for knowledge-worthy content and stage findings to the existing backlogs (insights / decisions / extraction). Multi-source, category-based, dedup-aware. Same surface as prior /intake versions.
  • **Doc mode (`/intake doc`)** — Capture a single doc as a structured intake entry at `intake/docs/{YYYY-MM-DD}-{slug}.md` with a 5-section body: what the doc claims / worth keeping / contested or unclear / action implied / my reaction. For when you're reading something and want a thoughtful capture rather than a bulk scan.

Step 0: Resolve Config + Mode Detection

Read `~/.gemini/antigravity/aria-knowledge.local.md` and extract `knowledge_folder`. If the file doesn't exist, stop: "aria-knowledge is not configured. Run /setup to get started."

Use `{knowledge_folder}` as the base path for all file operations in subsequent steps.

**Mode detection (first match wins):**

1. First arg `== extract` (case-insensitive) → `mode = extract`. The remaining arg is ONE source (URL / file / dir / doc-URL); decompose it into backlog entries by running the bulk-scan logic (Step 1 onward) on that single source. `extract` is **standalone** — it does NOT combine with `doc`/`thread` (no `/intake extract doc …`); a doc to decompose is just `/intake extract <doc-url>` (extract fetches it). If the arg after `extract` is literally `doc` or `thread`, treat as malformed and prompt for clarification. 2. First arg `== doc` → `mode = doc`. Jump to "Doc Mode Steps" (D1–D6), unchanged. 3. First arg `== thread` → `mode = thread`. Jump to "Thread Mode Steps" (T1–T3) below. 4. *(auto)* Single arg whose host is a chat/email service (`slack.com`, `teams.microsoft.com`, `mail.google.com`, outlook/office) → `mode = thread` (no keyword needed). 5. *(auto)* Single arg matching `^https?://` OR free text (not an existing path) → `mode = clip-whole`. Jump to "Clip-Whole Steps" (C1–C3) below. 6. *(auto)* Args are existing file paths / directories / globs, OR multiple sources → `mode = bulk`. Proceed to Step 1 (bulk scan, unchanged). 7. No args → ask: "What would you like to intake? (a URL, text, file/dir/glob; or `extract <src>` to decompose, `doc <src>` for a reflection capture, `thread <id>` for a chat/email thread)".

The mental model: default = *capture this whole*; `extract` = *decompose it*; `doc` = *reflect on it (5-section)*; `thread` = the one source that needs naming (or auto-detected from a chat URL). **Note (behavior change from prior versions):** a bare URL now CLIPS WHOLE — it no longer auto-mines into backlogs. To mine a single URL, use `/intake extract <url>` (or let `/audit knowledge` Step 2f decompose the clipping later).

---

Doc Mode Steps (mode = doc only)

Doc mode runs steps D1 → D6 to completion and exits. **Do not** run any bulk-mode step (Step 1 onward) in doc mode.

Step D1: Acquire Doc Source

The source can be a URL, file path, or just a title (when capturing notes on a doc you read elsewhere).

  • **If args after `doc` contain a URL:** use as `source_url`; attempt WebFetch in D2 to extract title/author/content
  • **If args after `doc` contain a file path:** use as `source_path`; Read in D2
  • **If args after `doc` are plain text (no URL/path detected):** treat as `source_title`; no content fetch — user fills body manually in D3
  • **If no args after `doc`:** prompt: "What doc are you capturing? Paste a URL, file path, or title."

Step D2: Read or Note Doc Content

  • **URL source:** WebFetch the URL. Extract title, author (if discoverable from byline/meta), and key content. Respect copyright — capture summary and key claims for downstream synthesis, not full page text.
  • **File path source:** Read the file. If very large (>500 lines), use the same chunked-scan strategy as bulk mode (first 100, last 50, section headers, then targeted areas).
  • **Title-only source:** No content fetch. User will fill body sections manually in D3.

Capture the following for D3:

  • `source_title` (from page title, file frontmatter, or user-provided string)
  • `source_url` (if URL; else omit)
  • `source_author` (if discoverable; else omit per #28a-5)
  • `captured_at` (current ISO 8601 timestamp)
  • `read_at` (defaults to `captured_at` — D4 preview lets user adjust if they read the doc earlier)
  • Summarized claims, candidate "worth keeping" items, and any contested or action-implied content noticed during the scan

Step D3: Populate Template

1. Read `${CLAUDE_PLUGIN_ROOT}/template/intake/intake-doc.md` to load the body template. 2. Generate slug from `source_title`: lowercase, hyphenated, alphanumeric only, max ~60 chars. Example: `"The Bitter Lesson"` → `the-bitter-lesson`. If `source_title` is empty, use `doc-{HHMMSS}` as fallback. 3. Resolve target path: `{knowledge_folder}/intake/docs/{YYYY-MM-DD}-{slug}.md`. If file already exists at that path, append `-2`, `-3`, etc. to slug until unique. 4. Fill the frontmatter using captured fields from D2. Omit `sour

Read more
@mikeprasad
Ships witharia-knowledge

Agent Memory · Context Engineering · Planning & Reasoning · Human-in-the-Loop Governance ARIA is the missing infrastructure layer for production AI coding agents: persistent memory that survives context compaction, deliberate context engineering that loads

1940 skills12 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19
Star history of mikeprasad/aria-knowledge on GitHub, a chart by star-history.com

Other skills on aria-knowledge.

audit-config

audit-config

Audit Antigravity project configuration and documentation for drift, staleness, and broken references. Use when user asks for…

snapshot

snapshot

Save the current Antigravity transcript to the knowledge intake on demand. Use when user says '/snapshot', 'snapshot the…

aria-assist

aria-assist

Morning product-management review across all your projects. Use when the user runs /aria-assist, asks for a morning review /…

ask

ask

Research a question, check existing knowledge first, draft a knowledge doc from the answer, and save directly to the appropriate…

audit-rules

audit-rules

Mine your distilled knowledge corpus — memory feedback rows, rules backlogs, always-on indexes — for recurring corrections that…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about intake.

Which coding agents can use intake?
intake installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.