Skip to content
Agent Memory
Skill

/memory-research

Research an external subject using web search, synthesize findings into a structured Basic Memory entity. Use when asked to research a company, person, technology, or topic — or when a bare name or URL is provided that implies a research request.

BOOST
From plugin
basic-memory
4.1k26 skills5 commands1 MCP
Install
$ npx -y skills add basicmachines-co/basic-memory --skill memory-research --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/memory-research

Context preview

The summary Claude sees to decide when to auto-load this skill.

Research an external subject using web search, synthesize findings into a structured Basic Memory entity. Use when asked to research a company, person, technology, or topic — or when a bare name or URL is provided that implies a research request.

SKILL.md

memory-research.SKILL.md
name: memory-research
description: "Research an external subject using web search, synthesize findings into a structured Basic Memory entity. Use when asked to research a company, person, technology, or topic — or when a bare name or URL is provided that implies a research request."

Memory Research

Research an external subject, synthesize what you find, and create a structured Basic Memory entity — with the user's approval.

Workflow

Step 1: Web Research

Basic Memory does not include a web search tool. If this host already has one, use it. If it does not, the user can add any web search tool or MCP server, for example [Parallel Search MCP](https://docs.parallel.ai/integrations/mcp/search-mcp). Search queries go to that provider, so keep private note content out of them. Still ask before saving a note.

Search for current information across multiple sources. Aim for 3-5 searches to build a well-rounded picture:

[subject name] site
[subject name] overview
[subject name] news [current year]
[subject name] [relevant domain keywords]

**What to gather by entity type:**

| Entity Type | Key Information | |-------------|----------------| | **Organization** | What they do, products/services, stage (startup/growth/public), funding, leadership, headquarters, employee count, notable partnerships or contracts | | **Person** | Current role, organization, background, expertise, notable work, public presence | | **Technology** | What it does, who maintains it, maturity, ecosystem, alternatives, adoption | | **Topic/Domain** | Definition, current state, key players, trends, relevance to user's context |

Step 2: Check Existing Knowledge

Before proposing a new entity, search Basic Memory:

search_notes(query="Acme Corp")
search_notes(query="acme")

Try name variations — full name, abbreviation, acronym, domain name.

If the entity already exists:

  • Report what you found in Basic Memory alongside your web research
  • Offer to update the existing note with new information
  • Use `edit_note` to append new observations or update outdated ones

If the entity doesn't exist, proceed to evaluation.

Step 3: Evaluate and Summarize

Present your findings in a structured summary. Include all relevant information organized by section:

## [Subject Name]

**Type:** [Organization / Person / Technology / Topic]

**Summary:** [2-4 sentences: what this is, why it matters, key distinguishing facts]

**Key Details:**
- [Organized by what's relevant for the entity type]
- [Stage, funding, leadership for orgs]
- [Role, expertise, affiliations for people]
- [Maturity, ecosystem, alternatives for tech]

**Relevance:** [Why this matters to the user — connection to their work, domain, or interests.
If no obvious connection: "No specific connection identified."]

**Sources:**
- [URLs of key sources consulted]

Evaluation Guidelines

**Use hedging language.** Web research is a snapshot, not ground truth:

  • "Appears to be", "Based on public information", "Estimated"
  • "As of [date]", "According to [source]"
  • Never state funding amounts, employee counts, or revenue as exact unless citing a primary source

**Don't fabricate.** If information isn't available, say so:

  • "Leadership information not publicly available"
  • "Funding details not disclosed"

**Let the user define relevance.** Don't impose a fixed evaluation framework. Instead, highlight facts and let the user draw conclusions. If the user has a specific evaluation rubric (strategic fit, buy/partner/compete, etc.), they'll tell you — apply it when asked.

Step 4: Propose Entity Creation

After presenting the summary, ask for approval:

Create Basic Memory entity for [Subject]?
  Location: [suggested-folder]/[entity-name].md
  Type: [entity type]

  [yes / no / modify]

If the user provided context with their request ("saw them at the conference"), include that context in the proposed entity.

Step 5: Create the Entity

After approval, create a structured note. Adapt the template to the entity type:

Organization

write_note(
  title="Acme Corp",
  directory="organizations",
  note_type="organization",
  tags=["organization", "relevant-tags"],
  content="""# Acme Corp

## Overview
[2-3 sentence description from research]

## Products & Services
- [Key offerings discovered in research]

## Background
**Stage:** [Startup / Growth / Public]
**Headquarters:** [Location]
**Employees:** [Estimate, hedged]
**Leadership:** [Key people if found]
**Founded:** [Year if found]

## Observations
- [relevance] Why this entity matters in user's context
- [source] Researched on YYYY-MM-DD
- [additional observations from research findings]

## Relations
- [Link to related entities already in the knowledge graph]"""
)

Person

write_note(
  title="Jane Smith",
  directory="people",
  note_type="person",
  tags=["person", "relevant-tags"],
  content="""# Jane Smith

## Overview
[Current role and affiliation. Brief background.]

## Background
**Role:** [Title at Organization]
**Expertise:** [Key domains]
**Notable:** [Publications, talks, projects if found]

## Observations
- [role] Title at Organization
- [expertise] Key technical or domain expertise
- [source] Researched on YYYY-MM-DD

## Relations
- works_at [[Organization]]"""
)

Technology

write_note(
  title="Technology Name",
  directory="concepts",
  note_type="concept",
  tags=["concept", "technology", "relevant-tags"],
  content="""# Technology Name

## Overview
[What it is and what problem it solves]

## Key Details
**Maintained by:** [Organization or community]
**Maturity:** [Experimental / Stable / Mature]
**License:** [If applicable]
**Alternatives:** [Comparable tools or approaches]

## Observations
- [definition] What this technology does in one sentence
- [maturity] Current state and adoption level
- [source] Researched on YYYY-MM-DD

## Relations
- [Link to related concepts, tools, or projec
Read more
Ships withbasic-memory

AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN

Get the whole plugin

Other skills on basic-memory.