# Ingest

> >-

- **Type:** Skill
- **Install:** `agentstack add skill-kriscard-skills-ingest`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [kriscard](https://agentstack.voostack.com/s/kriscard)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [kriscard](https://github.com/kriscard)
- **Source:** https://github.com/kriscard/Skills/tree/main/skills/obsidian/ingest

## Install

```sh
agentstack add skill-kriscard-skills-ingest
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Ingest

Process inbox items into the vault's knowledge layer. Ingesting without synthesis just creates noise
— the value is the conversation that happens before anything gets written.

**Rule: always discuss before writing.** Never silently file a note.

## Step 1 — Find the Source

If the user specified a file or URL, use that directly.

Otherwise, list the inbox:

```bash
obsidian files folder="0 - Inbox/" format=json
```

If multiple items, ask which one to process (or process all in sequence).

## Step 2 — Read the Source

```bash
obsidian read path="0 - Inbox/[filename]"
```

For URLs or web content: fetch the content directly.

## Step 3 — Discuss Before Writing (required)

Surface for conversation — don't skip this step:

1. **2–3 most important ideas** from the source, in your own words
2. **Existing wiki pages this connects to** — search for related notes:
   ```bash
   qmd query "" --json -n 8 2>/dev/null
   ```
3. **Any contradictions** with existing knowledge worth flagging

Present these and wait for Chris to confirm:

- Which ideas to capture
- Whether to update existing pages or create new ones
- Which subfolder in `3 - Resources/` to target

## Step 4 — Write/Update Wiki Pages

Based on similarity to existing notes:

**Update existing page** (score ≥ 0.7 match):

```bash
obsidian read path="3 - Resources//.md"
# Then append a dated section:
obsidian append path="3 - Resources//.md" \
  content="\n## Update — $(date +%Y-%m-%d)\n\n"
```

**Create new page** (score /.md" content="..."
```

New page frontmatter:

```yaml
---
source: claude-memory
created: YYYY-MM-DD
aliases: []
tags: [claude-memory, ]
---
```

Generate 2–6 `aliases`: the off-title terms someone would search to find this page (acronyms,
alternate names, "X vs Y" framings). This is what makes the page recall-able from queries that don't
match the title verbatim. Skip only when the title is the sole term anyone would use.

Write in wiki style: neutral, reference-focused, no "I learned that..." framing. This is reference
material, not a diary. Target 3–10 pages per source — focus on durable concepts, not summaries of
the source itself.

**Source type → subfolder mapping:**

- article → `3 - Resources/Articles/`
- tweet → `3 - Resources/Tweets/`
- video → `3 - Resources/Videos/`
- book → `3 - Resources/Books/`

## Step 5 — Update Index and Log

**Add to index** under the right category heading (`Articles` / `Tweets` / `Videos` / `Books` /
`Concept notes`). The CLI has no `patch`, so the entry can't be inserted under a specific section
directly — ask the user: use the MCP `obsidian_patch_content` tool (target the heading,
`operation: append`) or `read` + `create ... overwrite`. Entry format:

```
- **** ($(date +%Y-%m-%d)) — [[]] () · from . __
```

**Append to log** (chronological — append is fine):

```bash
obsidian append path="3 - Resources/log.md" content="\n## $(date +%Y-%m-%d)\ningest | "
```

## Step 6 — Move the Source

After confirming the write succeeded:

```bash
obsidian move path="0 - Inbox/[filename]" \
  to="3 - Resources/[Type]/[filename]"
```

Never delete inbox items — always move to the appropriate Resources subfolder.

## Save Conversation Answer as Note

When the user wants to save this session's answer/synthesis as a permanent wiki page (trigger: "save
this to my notes", "save what we just discussed"):

1. Ask for title and target subfolder if not clear. Default subfolders:
   - `3 - Resources/Coding/` — engineering patterns, technical decisions
   - `3 - Resources/Concepts/` — general concepts and frameworks
   - `3 - Resources/Reflections/` — personal insights, mental models
   - `3 - Resources/Communication/` — leadership, writing, comms

2. Search before writing:

   ```bash
   qmd query "" --json -n 8 2>/dev/null
   ```

   Score ≥ 0.7 → append dated section. Score < 0.5 → create new page.

3. Write the note (use `source: claude-memory` frontmatter with `aliases`), then update `index.md`
   under `## Concept notes (claude-memory)` and append to `log.md`.

Body must be self-contained — no references to "the conversation above."

## What NOT to do

- Don't silently file without discussing — synthesis is the whole point
- Don't create duplicate pages — always search first
- Don't use diary voice in wiki pages — write for reference, not narrative
- Don't move the source before the knowledge is captured

## References

| Priority   | Load when                                                                 | Reference                          |
| ---------- | ------------------------------------------------------------------------- | ---------------------------------- |
| 1 — High   | Creating or linking wiki pages — block refs, aliases, evergreen structure | `references/advanced-workflows.md` |
| 2 — Medium | User wants Dataview queries or dynamic MOC views inside a note            | `references/dataview-patterns.md`  |
| 3 — Medium | Creating a MOC or deciding MOC vs standalone note                         | `references/moc-advanced.md`       |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [kriscard](https://github.com/kriscard)
- **Source:** [kriscard/Skills](https://github.com/kriscard/Skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-kriscard-skills-ingest
- Seller: https://agentstack.voostack.com/s/kriscard
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
