pin

pin is a skill for Claude Code, Codex from mem0ai/mem0. It costs 42 tokens per session (565 once invoked), scanned A, original, Apache-2.0.

A tool for marking an important Mem0 memory as pinned, meaning protected from removal during memory cleanup. Mem0 is a service that stores knowledge for coding agents.

In plain words
What is it for?
Use it to find a memory by search or ID and pin it, or to create a new pinned memory.
Why use it?
It helps preserve critical information that should not be pruned, such as architecture decisions, security requirements, or permanent team conventions.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mem0ai/mem0/pin
Any agent
npx skills add mem0ai/mem0 --skill pin
Clone the repo
git clone --depth 1 https://github.com/mem0ai/mem0

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pin

README.md
[![agentmods](https://agentmods.dev/badge/skills/mem0ai/mem0/pin.svg)](https://agentmods.dev/skills/mem0ai/mem0/pin)
Your own site
<a href="https://agentmods.dev/skills/mem0ai/mem0/pin"><img src="https://agentmods.dev/badge/skills/mem0ai/mem0/pin.svg" alt="Measured on agentmods" height="20"></a>
Per session 42 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 565 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00042 $0.00565
Opus 5 $0.00021 $0.00282
Sonnet 5 $0.00008 $0.00113
Haiku 4.5 $0.00004 $0.00056

Measured 4d ago against content hash 7f957673a179, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pin scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

integrations/mem0-plugin/skills/pin/SKILL.md · 68 lines

What it actually says

Mem0 Pin

Pin a memory to mark it as high-priority and protect from pruning.

Execution

Step 1: Find the memory

The user provides either a search query or memory ID.

If memory ID:

  • Call get_memory with the ID.

If search query:

  • Call search_memories with the query, filters={"AND": [{"user_id": "<id>"}, {"app_id": "<pid>"}]}, top_k=5.
  • Show numbered list with content previews.
  • Ask: "Which memory to pin? Enter a number."

Step 2: Read current content

Call get_memory with the selected memory ID. Store:

  • original_text — the memory's text content
  • original_metadata — the existing metadata dict

Step 3: Pin it

The MCP update_memory tool only accepts memory_id, text, and source — it does not accept a metadata parameter. To pin, append a pin marker to the text:

pinned_text = "[PINNED] " + original_text if not original_text.startswith("[PINNED]") else original_text
update_memory(memory_id=<selected_id>, text=pinned_text)

For new memories (user wants to pin text that isn't stored yet):

  1. Call add_memory with:
    • text="[PINNED] <the user's text>"
    • user_id=<active_user_id>
    • app_id=<active_project_id>
    • metadata={"pinned": true, "type": "decision", "confidence": 1.0}
    • infer=False
  2. The response contains event_id. Call get_event_status(event_id=<event_id>) once to retrieve the memory ID, then confirm.

Step 4: Confirm

Pinned: "<memory content, first 80 chars>"
Memory ID: <id>

Append ... only if content exceeds 80 characters.

Unpin

If the user says "unpin":

  1. Call get_memory to read current content.
  2. Remove the pin marker from the text:
    unpinned_text = original_text.removeprefix("[PINNED] ")
    update_memory(memory_id=<id>, text=unpinned_text)
    
  3. Print: Unpinned: "<content>..."
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 68 lines · 42 tokens per session scan A 7f957673a179

Subscribe to this mod's changes

pin is a skill published in the GitHub repository mem0ai/mem0 (64,662 stars, last pushed today), licensed Apache-2.0. It adds 42 tokens to every session and 565 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

browserwing-executor

Control browser automation through HTTP API. Supports page navigation, element interaction (click, type, select), data extraction, accessibility snapshot analysis, screenshot, JavaScript execution, and batch operations.

MemTensor/MemOS · 42 tokens

dev-browser

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website"…

MemTensor/MemOS · 84 tokens

ask-user-question

Ask users questions via the UI. Use when you need clarification, user preferences, or confirmation before proceeding. The user CANNOT see CLI output - this tool is the ONLY way to communicate with them.

MemTensor/MemOS · 44 tokens

memos-memory-guide

Use the MemOS Local memory system to search and use the user's past conversations. Use this skill whenever the user refers to past chats, their own preferences or history, or when you need to answer from prior context. When auto-recall returns nothing (long or unclear user query), generate your own short search query…

MemTensor/MemOS · 131 tokens

browserwing-admin

Manage and operate BrowserWing — an intelligent browser automation platform. Install dependencies, configure LLM, create/manage/execute automation scripts, use AI-driven exploration to generate scripts, browse the script marketplace, and troubleshoot issues.

MemTensor/MemOS · 47 tokens

safe-file-deletion

Enforces explicit user permission before any file deletion. Activates when you're about to use rm, unlink, fs.rm, or any operation that removes files from disk. MUST be followed for all delete operations.

MemTensor/MemOS · 46 tokens