Receber por email
← Voltar para o catálogo

intake

Capture external knowledge into ARIA: clip a URL/snippet whole, bulk-scan files/dirs/globs, decompose one source with `extract`, capture a 5-section doc reflection with `doc`, or pull chat/email via `thread`. Trigger on /intake, clip this, save this link, import knowledge, scan this file, extract from this doc, or clip this thread.

16estrelas
Atualizado há 3 meses

Ver no GitHub ↗ Licença: NOASSERTION

Como adicionar

/plugin marketplace add mikeprasad/aria-knowledge

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/intake-ms7gp94m/svg)](https://www.skillteca.com.br/skills/intake-ms7gp94m)
#ai

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

/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 ~/.claude/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 source_url if absent; omit source_author if absent. Always populate captured_at, read_at, type: intake-doc.
  5. Suggest 2-5 tags based on doc topic (cross-check existing index.md tags to prefer canonical names; new tags are fine but flag them).
  6. Suggest 2-4 semantic-hints: free-form phrases that match how a future query might reach this doc (per the convention in template/README.md).
  7. Pre-fill body sections from the D2 scan:
  8. What the doc claims — 2-4 sentence summary in your own words
  9. Worth keeping — bullet list of insights/quotes/data points worth durable storage; aim for 2-6 bullets
  10. Contested or unclear — populate if the scan surfaced anything debatable; leave empty (or omit the section) if nothing flagged
  11. Action implied — populate if the doc suggests a decision or next step relevant to ongoing work; omit if N/A
  12. My reaction — leave as a single-line placeholder ({Your reaction — 1-3 sentences. This section is yours, not the doc's.}) for the user to fill, since "reaction" is the user's voice not Claude's

Step D4: Preview

Show the populated entry before writing. Format:

## Doc Intake Preview

**Target:** {knowledge_folder}/intake/docs/{YYYY-MM-DD}-{slug}.md

[full populated entry: frontmatter + body]

---

Save to intake/docs/?
- `yes` — write the file as shown
- `edit {section}` — revise a specific section (claims / keeping / contested / action / reaction / tags / hints / title / slug)
- `skip` — abort, write nothing

Wait for explicit response. Allow multiple edit directives in sequence (re-show preview after each revision).

Step D5: Write

On yes, write the entry to {knowledge_folder}/intake/docs/{YYYY-MM-DD}-{slug}.md. Create the intake/docs/ subfolder if it doesn't exist (this is the first doc-mode capture).

Step D6: Report

## Doc Intake Complete

- **Source:** {source_title or source_url or "untitled"}
- **Path:** {knowledge_folder}/intake/docs/{YYYY-MM-DD}-{slug}.md
- **Tags:** {tag list}

Entry staged in intake/docs/ for next /audit-knowledge to review and promote.

Exit after report. Doc mode runs D1 → D6 only; bulk-mode steps (Step 1 onward) are not executed.

Clip-Whole Steps (mode = clip-whole)

Capture the source whole as one clipping for later review at /audit-knowledge Step 2f. Runs C1–C3 and exits. (Absorbs the retired /clip.)

C1: Acquire content

  • URL: WebFetch; extract the page title + a summary (do NOT copy full page content — respect copyright). Capture the URL as source.
  • Text snippet: use the provided text verbatim as the body; title = first line.

C2: Write the clipping

Resolve target {knowledge_folder}/intake/clippings/{slug}.md (slug from title; append -2/-3 until unique). Write:

---
source: [URL or "manual"]
date: YYYY-MM-DD
tags: [user-provided tags, or auto-detected from index.md, or empty array]
---

# [Title or first line of text]

[Su
Compartilhar X LinkedIn