Agent skill

Memory Ingest

by basicmachines-co in basicmachines-co/basic-memory

Process unstructured external input (meeting transcripts, conversation logs, pasted documents) into structured Basic Memory entities.

AGPL-3.0Auto-check passed

Install Memory Ingest

skills CLI
$ npx skills add basicmachines-co/basic-memory --skill memory-ingest -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install basicmachines-co/basic-memory memory-ingest --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/basicmachines-co/basic-memory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/memory-ingest .claude/skills/memory-ingest && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
memory-ingest
GitHub stars
4.1k
Used in
1 other repo
Token cost
~2.9k tokens
SKILL.md length
816 words
Files
1
Skills in repo
49
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Process unstructured external input (meeting transcripts, conversation logs, pasted documents) into structured Basic Memory entities.

  • Works in 8 steps: Parse Raw Input → Extract Entities → Search Existing Entities → …
  • SKILL.md covers When to Use, Workflow Overview, Step 1: Parse Raw Input and Step 2: Extract Entities, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Memory Ingest is an agent skill from basicmachines-co/basic-memory. Process unstructured external input (meeting transcripts, conversation logs, pasted documents) into structured Basic Memory entities. Extracts entities, searches for existing matches, proposes new entities with approval, creates notes with observations and relations, and captures action items.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN. The licence is AGPL-3.0.

Example prompts

  • “/memory-ingest”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Parse Raw Input
  2. Extract Entities
  3. Search Existing Entities
  4. Research New Entities (Optional)
  5. Present Entity Proposal
  6. Create the Source Note
  7. Create Approved Entities
  8. Extract Action Items

What it can do on your machine

Read from SKILL.md and the folder at commit 6982cfc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Memory Ingest loads about 2.9k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 816 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from basicmachines-co/basic-memory at commit 6982cfc, republished under its AGPL-3.0 licence (© basicmachines-co). 816 words, ~2,884 tokens.

Download SKILL.mdSave it as .claude/skills/memory-ingest/SKILL.md (or your agent's skills folder).
name
memory-ingest
description
Process unstructured external input (meeting transcripts, conversation logs, pasted documents) into structured Basic Memory entities. Extracts entities, searches for existing matches, proposes new entities with approval, creates notes with observations and relations, and captures action items.

Memory Ingest

Turn raw, unstructured input into structured Basic Memory entities. Meeting transcripts, conversation logs, pasted documents, email threads — anything with information worth preserving gets parsed, cross-referenced against existing knowledge, and written as proper notes.

When to Use

  • User pastes a meeting transcript or conversation log
  • User says "process these notes" or "add this to Basic Memory"
  • User pastes a document, article, or email for knowledge extraction
  • Any time raw external text needs to become structured knowledge

Workflow Overview

1. Parse raw input           → identify structure, extract key info
2. Extract entities          → people, orgs, topics, action items
3. Search existing entities  → multi-variation queries
4. Research new entities     → optional web research (see memory-research)
5. Present entity proposal   → get approval before creating
6. Create source note        → verbatim content + observations + relations
7. Create approved entities  → structured notes for each new entity
8. Extract action items      → follow-ups and commitments

Step 1: Parse Raw Input

Read the pasted content and identify its structure:

  • Format: Meeting transcript, email thread, conversation log, article, freeform notes
  • Date: When this happened (extract from content or ask)
  • Participants: Who was involved (names, roles, organizations)
  • Sections: Any existing structure (headings, speaker labels, timestamps)

Don't rewrite or summarize the source content. Preserve it verbatim in the note — you'll add structured observations alongside it.

Step 2: Extract Entities

Scan the content for entities worth tracking in the knowledge graph:

Entity TypeSignals
PersonNames with roles, titles, or affiliations mentioned
OrganizationCompany names, agencies, institutions
Topic/ConceptTechnical domains, methodologies, standards discussed substantively
Action ItemCommitments, deadlines, "I'll do X by Y" statements

Infer type from context. If someone is introduced as "CTO of Acme Corp", that's both a Person and an Organization entity. If a technology is discussed in depth, it might warrant a Concept entity.

Exclude noise. Not every name mentioned is worth an entity. Filter for:

  • People with substantive roles or interactions (not passing mentions)
  • Organizations discussed in business/technical context
  • Topics with enough detail to warrant their own note

Step 3: Search Existing Entities

For each extracted entity, search Basic Memory with multiple query variations:

python
# Person — try full name, last name
search_notes(query="Sarah Chen")
search_notes(query="Chen")

# Organization — try full name, abbreviation, acronym
search_notes(query="National Renewable Energy Laboratory")
search_notes(query="NREL")

# Topic — try the full term and keywords
search_notes(query="edge computing")
search_notes(query="edge inference")

Classify each entity as:

  • Existing — found in Basic Memory. Will link to it with [[wiki-link]].
  • Proposed — not found. Will propose creation pending approval.

Step 4: Research New Entities (Optional)

For proposed entities where more context would be valuable, do a brief web search (2-3 queries max per entity):

  • Organizations: What they do, size, public/private, key products
  • People: Current role, background, expertise
  • Topics: Brief definition, relevance

Use hedging language ("appears to be", "estimated", "based on public information"). Never fabricate details.

This step is optional — skip it if the source material provides enough context, or if the user is in a hurry. See the memory-research skill for deeper research workflows.

Step 5: Present Entity Proposal

Before creating anything, present what you found and what you'd like to create:

Entities found in Basic Memory:
  - [[Sarah Chen]] (Person — existing)
  - [[Acme Corp]] (Organization — existing)

Proposed new entities:
  - Jordan Rivera (Person — VP Engineering at NovaTech, mentioned as project lead)
  - NovaTech (Organization — SaaS platform, Series B, discussed as integration partner)
  - Federated Learning (Concept — core technical topic of the discussion)

Approve all / select individually / skip entity creation?

Include enough context with each proposed entity for the user to make a quick decision.

Step 6: Create the Source Note

Create the primary note for the ingested content. This is the "record of what happened" — it preserves the raw material and adds structured metadata.

Meeting / Conversation Note
python
write_note(
  title="NovaTech Meeting - Jordan Rivera - Feb 22, 2026",
  directory="meetings/2026",
  note_type="meeting",
  tags=["meeting", "novatech", "federated-learning"],
  metadata={"date": "2026-02-22"},
  content="""
# NovaTech Meeting - Jordan Rivera - Feb 22, 2026

Brief one-sentence summary of what this meeting was about.

## Transcript
[Preserve all source content verbatim — do not summarize or rewrite]

## Observations
- [opportunity] NovaTech interested in integration partnership
- [insight] Their platform handles 10K concurrent sessions, relevant to our scale needs
- [next_step] Send technical spec document by Friday
- [sentiment] Strong enthusiasm from their engineering team
- [decision] Agreed to start with a proof-of-concept integration

## Relations
- attended [[Jordan Rivera]]
- with [[NovaTech]]
- discussed [[Federated Learning]]
- follow_up [[Send NovaTech Technical Spec]]
"""
)
Document / Article Note
python
write_note(
  title="Edge Computing Architecture Whitepaper",
  directory="references",
  note_type="reference",
  tags=["edge-computing", "architecture", "reference"],
  metadata={"source": "https://example.com/whitepaper.pdf", "date_ingested": "2026-02-22"},
  content="""
# Edge Computing Architecture Whitepaper

## Source Content
[Preserve relevant content — for long documents, include key sections rather than the entire text]

## Observations
- [key_finding] Latency drops 40% with edge inference vs cloud-only
- [technique] Model sharding across heterogeneous edge nodes
- [limitation] Requires minimum 8GB RAM per edge node

## Relations
- relates_to [[Edge Computing]]
- relates_to [[Model Optimization]]
"""
)
Show full SKILL.md (361 more words)Show less
Observation Categories

Use categories that capture the nature of the information. Common categories for ingested content:

CategoryUse For
opportunityBusiness or collaboration opportunities identified
decisionDecisions made or agreed upon
insightNon-obvious understanding gained
next_stepConcrete action items or follow-ups
sentimentEnthusiasm, concerns, hesitations expressed
riskRisks or concerns identified
requirementRequirements or constraints discovered
key_findingImportant facts from reference material
techniqueMethods, approaches, or patterns described
contextBackground information that may be useful later

Invent categories as needed — these are suggestions, not a fixed list.

Step 7: Create Approved Entities

For each entity the user approved, create a structured note. Match the entity type to an appropriate template.

Person
python
write_note(
  title="Jordan Rivera",
  directory="people",
  note_type="person",
  tags=["person", "novatech", "engineering"],
  content="""
# Jordan Rivera

## Overview
VP of Engineering at NovaTech. Met during integration partnership discussion.

## Background
[Role, expertise, context from meeting + any web research]

## Observations
- [role] VP Engineering at NovaTech
- [expertise] Distributed systems, federated learning
- [met] 2026-02-22 during integration discussion

## Relations
- works_at [[NovaTech]]
- discussed_in [[NovaTech Meeting - Jordan Rivera - Feb 22, 2026]]
"""
)
Organization
python
write_note(
  title="NovaTech",
  directory="organizations",
  note_type="organization",
  tags=["organization", "saas", "integration-partner"],
  content="""
# NovaTech

## Overview
SaaS platform company. Series B stage.
[Additional context from meeting + web research]

## Products & Services
[What they offer, if discussed or researched]

## Observations
- [stage] Series B, ~200 employees
- [relevance] Potential integration partner for our platform
- [first_contact] 2026-02-22

## Relations
- employs [[Jordan Rivera]]
- discussed_in [[NovaTech Meeting - Jordan Rivera - Feb 22, 2026]]
"""
)
Concept / Topic
python
write_note(
  title="Federated Learning",
  directory="concepts",
  note_type="concept",
  tags=["concept", "machine-learning", "distributed-systems"],
  content="""
# Federated Learning

## Overview
[Brief description of the concept from the discussion context]

## Observations
- [definition] Machine learning approach where models train across decentralized data sources
- [relevance] Core technique discussed in NovaTech integration

## Relations
- discussed_in [[NovaTech Meeting - Jordan Rivera - Feb 22, 2026]]
"""
)

Adapt templates to your domain. The key elements are: type and tags as parameters, an overview section, observations with categories, and relations linking back to the source.

Step 8: Extract Action Items

Review the source content for commitments and follow-ups:

Action Items:
  - Send NovaTech technical spec document by Friday (your commitment)
  - Jordan will share their API documentation by next week (their commitment)

Follow-Up Reminders:
  - 1 week: Check if Jordan sent API docs
  - 2 weeks: Schedule follow-up call to discuss POC scope

If using the memory-tasks skill, create Task notes for your action items. Otherwise, capture them as observations in the source note.

Guidelines

  • Preserve source content verbatim. The original text is the ground truth. Structure and observations are your interpretation layered on top.
  • Search before creating. Always check if entities already exist (see memory-notes search-before-create pattern). Update existing entities with new information rather than creating duplicates.
  • Get approval for new entities. Present proposed entities and let the user decide which to create. Don't silently populate the knowledge graph.
  • Infer, don't interrogate. Extract entity types and relationships from context. Only ask the user when genuinely ambiguous.
  • Be selective about entities. Not every name mentioned deserves its own note. Focus on entities the user will want to reference again.
  • Use hedging for researched info. Web research supplements — don't present it as fact. "Appears to be", "estimated", "based on public information".
  • Link everything back. Every created entity should relate back to the source note. The source note should link to all entities discussed.
  • Prose and observations together. Notes work best with both narrative context and structured observations. Prose gives meaning and tells the story; observations make individual facts searchable. Use the body for context, then distill key facts into categorized observations.

© basicmachines-co, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/memory-ingest of basicmachines-co/basic-memory.

Open the folder on GitHubat commit 6982cfc

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in basicmachines-co/basic-memory, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Memory Ingest next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Memory Ingest compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memory Ingest this skillbasicmachines-co/basic-memory4.1k1 repos~2.9kAutomated safety check: PassAGPL-3.0
Meeting Ingestiongarrytan/gbrain31k—~7.1kAutomated safety check: PassMIT
Meetingsalirezarezvani/claude-skills28k—~1.5kAutomated safety check: PassMIT
Meeting Distiller Prosickn33/agentic-awesome-skills47k1 repos~1kAutomated safety check: PassMIT
Ingestcoreyhaines31/makerskills844—~1.8kAutomated safety check: PassMIT
Meeting Notes And Actionscomposio-community/awesome-codex-skills17k—~357Automated safety check: PassNone

Similar skills

  • Meeting Ingestion

    garrytan/gbrain

    Ingest meeting transcripts from ANY meeting recorder into brain pages with attendee enrichment, entity propagation, and timeline merge.

    31k GitHub stars~7.1k tokensUpdated today
    Media & CreativeAuto-check passed
  • Meetings

    alirezarezvani/claude-skills

    A skill your agent uses when someone wants to decide whether a meeting is worth calling, price a meeting in dollars, build a timeboxed agenda with desired outcomes, or turn messy meeting notes into…

    28k GitHub stars~1.5k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Meeting Distiller Pro

    sickn33/agentic-awesome-skills

    Transform messy meeting notes and transcripts into structured action items, decisions, and follow-ups.

    47k GitHub starsUsed in 1 repo~1k tokens
    Productivity & AutomationAuto-check passed
  • Ingest

    coreyhaines31/makerskills

    When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…

    844 GitHub stars~1.8k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Meeting Notes And Actions

    composio-community/awesome-codex-skills

    Turn meeting transcripts or rough notes into crisp summaries with decisions, risks, and owner-tagged action items; use for Zoom/Meet/Teams transcripts, call notes, or long meeting chats to generate…

    17k GitHub stars~357 tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Meeting Minutes

    github/awesome-copilot

    Official

    Generate concise, actionable meeting minutes for internal meetings.

    40k GitHub starsUsed in 2 repos~2k tokens
    Productivity & AutomationAuto-check passed

More from basicmachines-co/basic-memory

All 49 skills in this repo
  • cmux Settings Editor

    basicmachines-co/basic-memory

    Views, sets, unsets and validates cmux settings in ~/.config/cmux/cmux.json with a helper script that checks keys against the schema.

    4.1k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • cmux Window and Pane Control

    basicmachines-co/basic-memory

    End-user control of cmux topology and routing (windows, workspaces, panes/surfaces, focus, moves, reorder, identify, trigger flash). Use when automation needs…

    4.1k GitHub starsUsed in 2 repos~842 tokens
    Auto-check passed
  • Cmux Markdown Viewer Panel

    basicmachines-co/basic-memory

    Opens markdown files in a formatted cmux panel beside the terminal that re-renders on every change, handy for plans and task lists.

    4.1k GitHub starsUsed in 2 repos~527 tokens
    Auto-check passed
  • cmux Workspace Scoping

    basicmachines-co/basic-memory

    Keeps agent actions scoped to the cmux workspace and terminal that invoked it, and lays out pane and surface commands that avoid disrupting the user's own focus.

    4.1k GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed
  • Basic Memory Repo Images

    basicmachines-co/basic-memory

    Produces PR, changelog and two-week retro images for the Basic Memory repository from evidence in PR bodies, saved to fixed paths under docs/assets/infographics.

    4.1k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Logfire Instrumentation

    basicmachines-co/basic-memory

    Adds Pydantic Logfire tracing, logging and metrics to Python, JavaScript or TypeScript and Rust projects, with the correct setup order and library extras.

    4.1k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Questions about Memory Ingest

What does Memory Ingest do?

Process unstructured external input (meeting transcripts, conversation logs, pasted documents) into structured Basic Memory entities. Memory Ingest is an agent skill from basicmachines-co/basic-memory. Process unstructured external input (meeting transcripts, conversation logs, pasted documents) into structured Basic Memory entities.

How do I install Memory Ingest in Claude Code?

Run `npx skills add basicmachines-co/basic-memory --skill memory-ingest -a claude-code`. Or copy the skill folder (skills/memory-ingest in basicmachines-co/basic-memory) into .claude/skills/memory-ingest in your project. Claude Code loads it when a task matches its description.

How do I install Memory Ingest in Codex?

Run `npx skills add basicmachines-co/basic-memory --skill memory-ingest -a codex`. Or copy the skill folder (skills/memory-ingest in basicmachines-co/basic-memory) into .agents/skills/memory-ingest in your project. Codex loads it when a task matches its description.

Can I use Memory Ingest in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add basicmachines-co/basic-memory --skill memory-ingest -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memory-ingest, .gemini/skills/memory-ingest, .github/skills/memory-ingest and .opencode/skills/memory-ingest in your project.

What does Memory Ingest need to run?

SKILL.md names no scripts, command-line tools or credentials: Memory Ingest is instructions for the agent only. Our summary lists: Python 3.

Does Memory Ingest access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Memory Ingest safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Memory Ingest use?

Memory Ingest is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memory Ingest use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Memory Ingest?

Skills that share tags, products or a category with Memory Ingest: Meeting Ingestion (garrytan/gbrain, 31k stars), Meetings (alirezarezvani/claude-skills, 28k stars), Meeting Distiller Pro (sickn33/agentic-awesome-skills, 47k stars) and Ingest (coreyhaines31/makerskills, 844 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memory Ingest?

basicmachines-co (a GitHub organization) maintains it in basicmachines-co/basic-memory, which has 4,107 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 7, 2026.

Source: basicmachines-co/basic-memory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.