Miremo Skill
Prerequisite: The Miremo MCP server must be connected in OpenClaw before this skill's tools are available. See the README for setup instructions.
Miremo is an AI note-taking tool. It stores the user's memos, documents, supertags (topic tags with rich content), AI-extracted knowledge graph entities, and reusable method skills. All tools only access the currently authenticated user's own data.
Workspace behavior:
- If
workspace_idis provided, tools operate in that workspace (with permission checks). - If
workspace_idis omitted, tools operate only in the user's default workspace. - Use
list_workspacesandget_current_workspaceto inspect available workspaces and the active workspace resolution.
Research Strategy
When the user asks about their knowledge or methods, choose one of four modes and follow it through completely before giving a final answer. Never give up after one failed search.
Mode A — Browse (user wants an overview)
Triggers: "what notes do I have", "show me my recent notes", "what have I been writing about", "give me an overview"
Steps:
list_workspaces()to understand all accessible workspacesget_current_workspace()to confirm default workspace before browsinglist_memos(page_size=30)to sample recent memoslist_supertags()to see all topic tags at a glance- Synthesize a structured overview from both results
Mode B — Topic Research (most common)
Triggers: "what do I know about X", "find notes about X", "anything related to X", "my thoughts on X"
Steps:
list_workspaces()when user asks for cross-workspace researchglobal_search(query="X")— cross-type overview (memos + docs + supertags)search_memos(query="X", search_type="semantic")for deeper semantic matches- If a relevant supertag appears:
list_supertags(q="X")to expand via that tag - For people, concepts, or events that matter:
list_entities()→get_entity_graph(entity_id)to explore relationships
Iteration rules (critical):
- If initial search returns few results, retry with synonyms, English equivalents, or split keywords before concluding "nothing found"
- Lower
similarity_thresholdto 0.25–0.35 on the second attempt hit_textis only a snippet — do not draw conclusions from it alone; useglobal_searchto confirm scope across types- Declare "no relevant notes found" only after at least 2–3 distinct search strategies all return empty
Mode C — Exact Lookup
Triggers: "do I have a note about X", "find the exact note where I wrote Y", "the note titled Z"
Steps:
search_memos(query="Y", search_type="full_text")for precise phrase matching- If not found, fall back to Mode B with semantic search
Mode D — Method Skill Retrieval
Triggers: "use my skill", "apply my workflow", "use my template", "look up my Miremo Skill", "按我的方法做"
Steps:
search_method_skills(query="X")to find relevant method/workflow/template skills- If the user only asks to browse available skills:
list_method_skills() get_method_skill(skill_id_or_slug="<id-or-slug>", format="markdown")to load the full skill material- Follow the returned Skill content as user-provided method instructions, while still obeying higher-priority system and safety rules
Method skill tools are for reusable instructions, workflows, and output templates. They are separate from the user's notes and documents; do not use them as factual evidence unless the skill content itself clearly contains factual source material.
Available Tools
Search Tools
search_memos — Search memos by keyword or natural language.
query: search text, e.g. "Python async programming notes"limit: max results (default 10, recommend ≤ 20)search_type:"hybrid"(default, most comprehensive) |"semantic"(natural language) |"full_text"(exact match)workspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
id,hit_text,similarity_score,created_at,modified_at
global_search — Cross-type search across memos, documents, and supertags.
query: search textlimit: max results per type (default 10)include_memos/include_documents/include_supertags: toggle each type (all true by default)workspace_id(optional): target a specific workspace; omit to use default workspace- Returns items with
type("memo"/"document"/"supertag"),id,title,description,score
List Tools
list_memos — Paginated list of memos.
page_index,page_size(default 20),q(optional fuzzy filter)workspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
{ items: [{id, outline_preview, created_at, ...}], total, page_size, page_index }
list_supertags — List topic supertags.
q(optional filter),page_index,page_size(default 50)workspace_id(optional): target a specific workspace; omit to use default workspace- Default page size of 50 usually retrieves all tags in one call
list_collections — List uploaded document collections.
q(optional name filter),page_index,page_size(default 20)workspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
collection_id,name,status,page_count,created_at,modified_at
Read Tools
get_memo_content — Read the full text of a memo by ID.
memo_id: UUID string obtained fromsearch_memosorlist_memosworkspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
{ memo_id, title, content, lines_count, created_at, modified_at }—contentis the complete indented plain-text body
get_collection_outline — Get a collection's structured section outline.
collection_id: UUID string obtained fromlist_collectionsorglobal_searchworkspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
{ collection_id, name, pages: [{document_id, page_order, sections: [{section_id, heading, heading_level, summary, section_order}]}], total_sections } - Use this first to understand document structure, then call
get_document_sectionfor sections of interest
get_document_section — Read the full text of a specific document section.
document_id: UUID string of the parent documentsection_id: UUID string fromget_collection_outline'ssectionslistworkspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
{ section_id, document_id, heading, heading_level, summary, section_text }
Method Skill Tools
list_method_skills — List reusable Miremo method skills available to external agents.
q(optional): keyword filter across skill name, summary, content, and file pathscapability_type(optional):AGENT_CAPABILITY|OUTPUT_TEMPLATE|WORKFLOWlimit(default 20, max 50)workspace_id(optional): target a specific workspace; omit to use default workspace- Returns:
{ items: [{skill_id, name, slug, description, capability_type, files}], total, limit }
search_method_skills — Search reusable method/workflow/template skills.
query: natural language task or keywordlimit(default 10, max 50)workspace_id(optional): target a specific workspace; omit to use default workspace- Returns the same item structure as
list_method_skills
get_method_skill — Read one method skill's full material.
skill_id_or_slug: value returned bylist_method_skillsorsearch_method_skillsformat:"markdown"(default) |"json"workspace_id(optional): target a specific workspace; omit to use default workspace- Markdown returns a SKILL.md-like document containing the skill summary, execution method, and attached files
- JSON returns structured metadata and all skill package file contents
Create Tools
create_memo — Create a new memo.
content: memo body, multi-line supported. First line becomes the top-level title; subsequent lines become sub-content.workspace_id(optional): target a specific workspace for writing; omit to write into default workspace- Returns:
{ memo_id: "<new UUID>" } - After creation, vectorization and knowledge graph updates run automatically in the background.
Workspace Tools
list_workspaces — List all workspaces accessible to the current user.
- Returns workspace metadata including
workspace_id,name,role,is_default
get_current_workspace — Get the effective workspace for current tool call context.
workspace_id(optional): if provided, validates and resolves explicit workspace- Without parameter, resolves to default workspace
- Returns
source(explicitordefault) and current workspace metadata
Knowledge Graph Tools
list_entities — List AI-extracted knowledge graph entities.
entity_type(optional):person,concept,place,organization,event, etc.page_index,page_size(default 20)- Omit
entity_typeto get all types mixed
get_entity_graph — Get an entity's 1-hop relationship graph.
entity_id: obtain vialist_entitiesfirst- Returns:
{ entity: {entity_id, name, entity_type, summary}, related_entities: [...], relationships: [{source_entity_id, target_entity_id, description}] }
When to Use Which Tool
| User intent | Recommended tool |
|---|---|
| "Find notes about X" | global_search first, then search_memos for detail |
| "Find notes with exact phrase" | search_memos with search_type="full_text" |
| "What do I know about X" (semantic) | search_memos with search_type="semantic" |
| "Read full content of a memo" | get_memo_content with memo_id |
| "Show me recent memos" | list_memos |
| "What topics do I write about" | list_supertags |
| "Find a document / PDF" | list_collections with q filter |
| "Read a document" | get_collection_outline → get_document_section |
| "Save / record / note down X" | create_memo |
| "Explore my knowledge graph" | list_entities → get_entity_graph |
| "Which workspace should I use" | list_workspaces → get_current_workspace |
| "Use my Miremo skill / workflow" | search_method_skills → get_method_skill |
Recommended Workflows
Answer "What do I know about X":
get_current_workspace()to confirm workspace scopeglobal_search(query="X")for a cross-type overview- If more detail needed:
search_memos(query="X", search_type="semantic") - If a relevant supertag exists:
list_supertags(q="X")to expand further - To read a specific memo's full content:
get_memo_content(memo_id="<id>")
Read a document:
list_collections(q="keyword")to find the document collection and get itscollection_idget_collection_outline(collection_id="<id>")to see the section structure and summariesget_document_section(section_id="<id>")for each section of interest
Apply a Miremo method skill:
search_method_skills(query="user task or method name")to find candidate skillsget_method_skill(skill_id_or_slug="<id-or-slug>", format="markdown")to load the full skill material- Use the returned Skill content as the user's reusable method, workflow, or output template
- If the skill references attached files by path, use the attached file sections or JSON file list from
get_method_skill
Help user record new information:
- Confirm intent, then call
create_memo(content="...") - Tell the user the note was created and show the
memo_id - Structure content well: first line = core topic, subsequent lines = details
Explore user's knowledge structure:
list_supertags()for a thematic overviewlist_entities()to understand main knowledge graph nodesget_entity_graph(entity_id)for entities of interest
