Agent skill

Astermem

by Asterove in Asterove/AsterMem

Operate the user's self-hosted AsterMem service. An agent skill from Asterove/AsterMem.

AGPL-3.0Auto-check: warningsAI & LLM Engineering

Install Astermem

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add Asterove/AsterMem --skill astermem -a claude-code

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

GitHub CLI
$ gh skill install Asterove/AsterMem astermem --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/Asterove/AsterMem.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill/astermem .claude/skills/astermem && 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
astermem
GitHub stars
161
Token cost
~2.4k tokens
SKILL.md length
1,036 words
Files
4 (incl. scripts)
Skills in repo
2
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Operate the user's self-hosted AsterMem service. An agent skill from Asterove/AsterMem.

  • Works in 4 steps: Start AsterMem with ./start.sh. On… → Open Admin → API Tokens and create a… → Write the two lines above into… → …
  • The user asks an AI to remember
  • SKILL.md covers Connect once, Core commands, Configure AsterMem for the user and Operate the whole system, plus 2 more sections
  • Runs PowerShell and Shell scripts from its folder; needs ASTERMEM_TOKEN

What it does

Astermem is an agent skill from Asterove/AsterMem. Operate the user's self-hosted AsterMem service. Read, add, update, search and archive memories; configure and test embedding or chat providers; manage semantic search and vector rebuilds. Use when the user asks an AI to remember, recall, organize or update personal knowledge, or asks to set up AsterMem, connect a model provider, configure an API key, test a model connection, or fix semantic search. Use proactively in two directions — (1) recall past memories when they may help the current request, and (2) save…

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `reference.md` and `scripts/astermem.sh`).

It sits in AI & LLM Engineering, covering Embeddings. The repository describes itself as: Self-hosted memory service for AI assistants. The licence is AGPL-3.0.

When your agent uses it

  • The user asks an AI to remember
  • Update personal knowledge
  • Asks to set up AsterMem
  • Connect a model provider

Example prompts

  • “/astermem”

Requirements

  • Python 3
  • A Bash shell
  • PowerShell
  • A credential in ASTERMEM_TOKEN

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Start AsterMem with ./start.sh. On Windows, run start.bat.
  2. Open Admin → API Tokens and create a token.
  3. Write the two lines above into ~/.astermem/credentials.
  4. Run scripts/astermem.sh config to verify access.

What it can do on your machine

Read from SKILL.md and the folder at commit 8bb57be. 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

    Ships 2 files in scripts/ (PowerShell and Shell), which the agent can run.

    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 these keys or tokens, usually read from environment variables:

    • ASTERMEM_TOKEN

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

Context cost

Astermem loads about 2.4k tokens when it runs. Until then it costs about 171 tokens; SKILL.md has 1,036 words of instructions outside code blocks.

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

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: warnings

The automated check found patterns that need a careful read before installing.

  • NoteMentions a .env fileSKILL.md:80
    user. AsterMem stores keys in its local `.env`; configuration responses only expose `has_api_key`.
  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:133
    that down for you" — but keep it light. Do not ask for permission every time; proactive saving is the default behavior.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from Asterove/AsterMem at commit 8bb57be, republished under its AGPL-3.0 licence (© Asterove). 1,036 words, ~2,429 tokens.

Download SKILL.mdSave it as .claude/skills/astermem/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
astermem
description
Operate the user's self-hosted AsterMem service. Read, add, update, search and archive memories; configure and test embedding or chat providers; manage semantic search and vector rebuilds. Use when the user asks an AI to remember, recall, organize or update personal knowledge, or asks to set up AsterMem, connect a model provider, configure an API key, test a model connection, or fix semantic search. Use proactively in two directions — (1) recall past memories when they may help the current request, and (2) save noteworthy information the user reveals during conversation (preferences, experiences, decisions, opinions, expertise, life events, etc.) without being asked.

AsterMem

AsterMem runs locally or on the user's own server. It stores private memories with tags, priorities, semantic search and paragraph-level retrieval. Use scripts/astermem.sh on macOS or Linux and scripts/astermem.ps1 on Windows.

Connect once

The CLI reads credentials from ~/.astermem/credentials (Windows: %USERPROFILE%\.astermem\credentials):

ASTERMEM_BASE_URL=http://localhost:8765
ASTERMEM_TOKEN=ast_xxxxxxxx

If the file is missing or the CLI exits with code 2:

  1. Start AsterMem with ./start.sh. On Windows, run start.bat.
  2. Open Admin → API Tokens and create a token.
  3. Write the two lines above into ~/.astermem/credentials.
  4. Run scripts/astermem.sh config to verify access.

Do the remaining setup for the user. Do not send them back to Provider forms.

Core commands

bash
scripts/astermem.sh quick "<text>"                 # PREFERRED recall: semantic quick-match, also accepts mem_/trunk_ ids
scripts/astermem.sh search "<query>" [limit]       # broader search
scripts/astermem.sh add "<title>" "<content>" [tags,csv] [priority]
scripts/astermem.sh get <mem_id|trunk_id>
scripts/astermem.sh update <mem_id> <title|content|status|priority> "<value>"
scripts/astermem.sh patch <mem_id> "<old_text>" "<new_text>"   # partial edit, PREFERRED over update content
scripts/astermem.sh delete <mem_id>                # soft delete (archive)
scripts/astermem.sh list [status] [limit]
scripts/astermem.sh tags "tag1,tag2" [limit]
scripts/astermem.sh stats
scripts/astermem.sh config [--catalog]               # redacted provider and search configuration; --catalog adds every selectable provider
scripts/astermem.sh provider <id> '<json_patch>'     # create or update a provider
scripts/astermem.sh test-provider <id>
scripts/astermem.sh rebuild                          # start vector rebuild after explicit confirmation
scripts/astermem.sh rebuild-status
scripts/astermem.sh api <METHOD> </api/path> ['<json>'] [confirm]
scripts/astermem.sh call <tool> '<json>'           # any other tool, see reference.md

On Windows run the same commands through PowerShell, e.g. powershell -ExecutionPolicy Bypass -File scripts/astermem.ps1 quick "<text>".

When a reply is unreadable

Re-running a read command never changes its answer, so treat an unusable reply as a signal to change approach rather than to retry:

  • Fields came back null — assume a wrong key path before assuming the service is unconfigured. These replies are nested; print the top-level keys once to see the real shape, or check it in reference.md. Do not re-run the same extraction.
  • Output was withheld, truncated or flagged as bulk data by your host — reduce it at the source instead of reformatting the same payload: drop --catalog, lower limit, or fetch one id. Piping through head, jq or a Python script still asks for the same oversized reply.
  • Still stuck after two different attempts — stop and tell the user which command failed and how. Do not keep trying variations silently.

Searching again with different keywords is a separate matter and is encouraged; see Memory rules below.

Configure AsterMem for the user

When the user asks to connect a model or set up AsterMem:

  1. Run config and read active, providers and provider_catalog_ids. That is enough to see what is set up and which ids are selectable; add --catalog only when you need each entry's base URL and default models.
  2. Ask only for missing facts: provider, base URL, embedding model, chat model and API key.
  3. Call provider. Example:
bash
scripts/astermem.sh provider asterove '{"api_key":"sk-...","use_for_embedding":true,"use_for_chat":true}'

For a built-in catalog id, this command adds the provider before applying the patch. The JSON patch accepts name, api_type, base_url, api_key_env, api_key, embedding_model, chat_model, vlm_model, use_for_embedding, use_for_chat, semantic_enabled and min_similarity.

min_similarity is a noise floor only (valid range 0–0.4, default 0.15), not a relevance threshold — relevance is judged per query against that query's best hit. Do not raise it to "improve precision": a high floor is what silently reduces semantic search to nothing.

  1. Run test-provider <id>. Report the actual embedding and chat test results.
  2. If the result says requires_vector_rebuild: true, tell the user the old vectors no longer match. Get confirmation, run rebuild, then check rebuild-status.

Never print an API key back to the user. AsterMem stores keys in its local .env; configuration responses only expose has_api_key.

Operate the whole system

The web UI and AI use the same REST API. Use api for capabilities without a dedicated command:

bash
scripts/astermem.sh api GET /api/tags/tree
scripts/astermem.sh api POST /api/tags/rename '{"old_name":"old","new_name":"new"}'
scripts/astermem.sh api POST /api/import-text '{"content":"...","title":"..."}'
scripts/astermem.sh api GET '/api/knowledge-graph/graph-data'
scripts/astermem.sh api PUT /api/timeline/events/12 '{"status":"completed"}'

Token scopes:

  • read: search, statistics, graph, timeline and exports
  • write: memories, tags, imports, exploration and timeline updates
  • config: providers, semantic search and index rebuilds
  • admin: account, Token and log management
  • destructive: deletion, clearing data and restart operations

Default Tokens include read, write and config. If an API returns 403, ask the user to create a Token with the missing scope. Never bypass a scope.

Destructive REST calls require the destructive scope and a second confirmation. Restate the action and its impact, get explicit approval, then append confirm:

bash
scripts/astermem.sh api DELETE /api/logs '{}' confirm

For file upload or download endpoints, call the documented REST endpoint with curl or PowerShell and the same Bearer Token. See reference.md.

Memory rules

Show full SKILL.md (428 more words)Show less
Proactive saving — the most important rule

Always-on capture: throughout every conversation, watch for information worth remembering. When the user reveals any of the following, save it to AsterMem immediately — do not wait for them to say "remember this":

  • Preferences and opinions — likes, dislikes, values, aesthetic tastes, workflow preferences
  • Personal facts — name, birthday, family, pets, location, job, education, health conditions
  • Decisions and reasoning — choices made and the reasons behind them
  • Experiences and stories — trips, projects, achievements, failures, turning points
  • Expertise and knowledge — domain know-how, hard-won lessons, technical insights
  • Goals and plans — short-term tasks, long-term aspirations, deadlines
  • Relationships — people mentioned by name, their roles, how the user relates to them
  • Recurring patterns — repeated frustrations, habits, routines

How to do it:

  1. After each substantive user message, silently evaluate: "Did the user just reveal something worth remembering?"
  2. If yes, run quick first to check whether the information already exists.
  3. If a related memory exists, patch or update it with the new details.
  4. If not, add a new memory with a clear title, well-structured Markdown content, and appropriate tags.
  5. Brief the user naturally — e.g. "I've noted that down for you" — but keep it light. Do not ask for permission every time; proactive saving is the default behavior.
  6. Do not save trivial chit-chat, one-off instructions about the current task, or information the user explicitly says is temporary.
Other rules
  1. Search in rounds: never assume one search found everything. Check whether the results actually answer the question; if not, search again with different keywords, synonyms or the tags surfaced by the previous round. Stop only when coverage feels sufficient.
  2. Recall before write: before adding a memory, run quick with the new content's key phrases. If a closely related memory exists, prefer patch/update on it instead of creating a near-duplicate.
  3. Patch, don't overwrite: for small corrections use patch (exact old→new text replacement). Only use update content when rewriting the whole memory intentionally.
  4. Confirm destructive actions: before delete, restate the memory title to the user and get explicit confirmation.
  5. Write quality: titles should be short and factual; content in Markdown; 2–4 hierarchical tags like people/friends, work/decisions; priority 1–10 (default 5, use 8+ only for things the user calls important).
  6. Privacy: memory content is private. Quote it back to the user freely, but never send it to third-party services or include it in code, commits, or public artifacts.
  7. Language: store memories in the language the user used; do not translate silently.

Full tool list

See reference.md for all agent tools and the raw HTTP API.

© Asterove, 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

SKILL.md and 3 other files (scripts) in skill/astermem of Asterove/AsterMem.

  • SKILL.md
  • reference.md
  • scripts/astermem.ps1
  • scripts/astermem.sh

Open the folder on GitHubat commit 8bb57be

Compare with similar skills

Astermem 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.

Astermem compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Astermem this skillAsterove/AsterMem161—~2.4kAutomated safety check: WarnAGPL-3.0
Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs13k8 repos~2.3kAutomated safety check: PassMIT
CLIP Image-Text MatchingOrchestra-Research/AI-Research-SKILLs13k8 repos~1.7kAutomated safety check: PassMIT
SageMaker Serving Image Selectionhuggingface/skills11k1 repos~4.6kAutomated safety check: PassApache-2.0
Codebase Managementgiancarloerra/SocratiCode3.3k1 repos~1.8kAutomated safety check: PassAGPL-3.0
Sentence-Transformers Training Routerhuggingface/skills11k1 repos~2.6kAutomated safety check: PassApache-2.0

Similar skills

  • Chroma Vector Database

    Orchestra-Research/AI-Research-SKILLs

    Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.

    13k GitHub starsUsed in 8 repos~2.3k tokens
    AI & LLM EngineeringAuto-check passed
  • CLIP Image-Text Matching

    Orchestra-Research/AI-Research-SKILLs

    Explains OpenAI's CLIP model for zero-shot image classification, image-text similarity, semantic image search and content moderation, with install steps and code patterns.

    13k GitHub starsUsed in 8 repos~1.7k tokens
    AI & LLM EngineeringAuto-check passed
  • Official

    Chooses the right serving container and current image URI for deploying a Hugging Face model to a SageMaker endpoint, preferring Hugging Face images over generic ones.

    11k GitHub starsUsed in 1 repo~4.6k tokens
    AI & LLM EngineeringAuto-check passed
  • Codebase Management

    giancarloerra/SocratiCode

    Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.

    3.3k GitHub starsUsed in 1 repo~1.8k tokens
    AI & LLM EngineeringAuto-check passed
  • Official

    Routes a sentence-transformers training task to the right model type and required reference docs and example scripts, covering bi-encoders, rerankers, sparse and multi-vector models.

    11k GitHub starsUsed in 1 repo~2.6k tokens
    AI & LLM EngineeringAuto-check passed
  • Mashup Mods

    rehan-remade/universal-modder

    Build cross-game mashups and total conversions, the "Minecraft inside Elden Ring" or "skateboarding in MW2" kind.

    5.3k GitHub stars~3.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from Asterove/AsterMem

  • Deploy Astermem

    Asterove/AsterMem

    Guide the user through taking AsterMem live — on a cloud server, or on a machine they already own (home NAS, Raspberry Pi, this computer) exposed through Cloudflare Tunnel with no public IP.

    161 GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check: warnings

Questions about Astermem

What does Astermem do?

Operate the user's self-hosted AsterMem service. An agent skill from Asterove/AsterMem. Astermem is an agent skill from Asterove/AsterMem. Operate the user's self-hosted AsterMem service.

When should I use Astermem?

Astermem fits situations like: the user asks an AI to remember; update personal knowledge; asks to set up AsterMem; connect a model provider.

How do I install Astermem in Claude Code?

Run `npx skills add Asterove/AsterMem --skill astermem -a claude-code`. Or copy the skill folder (skill/astermem in Asterove/AsterMem) into .claude/skills/astermem in your project. Claude Code loads it when a task matches its description.

How do I install Astermem in Codex?

Run `npx skills add Asterove/AsterMem --skill astermem -a codex`. Or copy the skill folder (skill/astermem in Asterove/AsterMem) into .agents/skills/astermem in your project. Codex loads it when a task matches its description.

Can I use Astermem 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 Asterove/AsterMem --skill astermem -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/astermem, .gemini/skills/astermem, .github/skills/astermem and .opencode/skills/astermem in your project.

What does Astermem need to run?

Going by SKILL.md and its folder, Astermem needs PowerShell and a shell for the scripts in its folder and credentials named ASTERMEM_TOKEN. Our summary lists: Python 3; A Bash shell; PowerShell; A credential in ASTERMEM_TOKEN.

Does Astermem 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 Astermem safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Astermem use?

Astermem 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 Astermem use?

About 2.4k tokens (SKILL.md is roughly 9.7k 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 Astermem?

Skills that share tags, products or a category with Astermem: Chroma Vector Database (Orchestra-Research/AI-Research-SKILLs, 13k stars), CLIP Image-Text Matching (Orchestra-Research/AI-Research-SKILLs, 13k stars), SageMaker Serving Image Selection (huggingface/skills, 11k stars) and Codebase Management (giancarloerra/SocratiCode, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Astermem?

Asterove (a GitHub user) maintains it in Asterove/AsterMem, which has 161 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 4, 2026.

Source: Asterove/AsterMem on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.