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.
Operate the user's self-hosted AsterMem service. An agent skill from Asterove/AsterMem.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Asterove/AsterMem --skill astermem -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Asterove/AsterMem astermem --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "astermem" agent skill from https://github.com/Asterove/AsterMem/tree/main/skill/astermem into .claude/skills/astermem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "astermem", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Asterove/AsterMem/tree/main/skill/astermemType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Asterove/AsterMem --skill astermem -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Asterove/AsterMem astermem --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Asterove/AsterMem.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill/astermem .agents/skills/astermem && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "astermem" agent skill from https://github.com/Asterove/AsterMem/tree/main/skill/astermem into .agents/skills/astermem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "astermem", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Asterove/AsterMem --skill astermem -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Asterove/AsterMem astermem --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Asterove/AsterMem.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill/astermem .cursor/skills/astermem && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "astermem" agent skill from https://github.com/Asterove/AsterMem/tree/main/skill/astermem into .cursor/skills/astermem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "astermem", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Asterove/AsterMem.git --path skill/astermem--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Asterove/AsterMem --skill astermem -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Asterove/AsterMem astermem --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Asterove/AsterMem.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill/astermem .gemini/skills/astermem && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "astermem" agent skill from https://github.com/Asterove/AsterMem/tree/main/skill/astermem into .gemini/skills/astermem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "astermem", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Asterove/AsterMem astermemInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Asterove/AsterMem --skill astermem -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Asterove/AsterMem.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill/astermem .github/skills/astermem && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "astermem" agent skill from https://github.com/Asterove/AsterMem/tree/main/skill/astermem into .github/skills/astermem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "astermem", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Asterove/AsterMem --skill astermem -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Asterove/AsterMem astermem --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Asterove/AsterMem.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill/astermem .opencode/skills/astermem && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "astermem" agent skill from https://github.com/Asterove/AsterMem/tree/main/skill/astermem into .opencode/skills/astermem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "astermem", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
astermemOperate 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8bb57be. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ASTERMEM_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check found patterns that need a careful read before installing.
user. AsterMem stores keys in its local `.env`; configuration responses only expose `has_api_key`.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.
The full file from Asterove/AsterMem at commit 8bb57be, republished under its AGPL-3.0 licence (© Asterove). 1,036 words, ~2,429 tokens.
.claude/skills/astermem/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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.
The CLI reads credentials from ~/.astermem/credentials (Windows: %USERPROFILE%\.astermem\credentials):
ASTERMEM_BASE_URL=http://localhost:8765
ASTERMEM_TOKEN=ast_xxxxxxxxIf the file is missing or the CLI exits with code 2:
./start.sh. On Windows, run start.bat.~/.astermem/credentials.scripts/astermem.sh config to verify access.Do the remaining setup for the user. Do not send them back to Provider forms.
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.mdOn Windows run the same commands through PowerShell, e.g. powershell -ExecutionPolicy Bypass -File scripts/astermem.ps1 quick "<text>".
Re-running a read command never changes its answer, so treat an unusable reply as a signal to change approach rather than to retry:
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.--catalog, lower limit, or fetch one id. Piping through head, jq or a Python script still asks for the same oversized reply.Searching again with different keywords is a separate matter and is encouraged; see Memory rules below.
When the user asks to connect a model or set up AsterMem:
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.provider. Example: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.
test-provider <id>. Report the actual embedding and chat test results.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.
The web UI and AI use the same REST API. Use api for capabilities without a dedicated command:
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 exportswrite: memories, tags, imports, exploration and timeline updatesconfig: providers, semantic search and index rebuildsadmin: account, Token and log managementdestructive: deletion, clearing data and restart operationsDefault 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:
scripts/astermem.sh api DELETE /api/logs '{}' confirmFor file upload or download endpoints, call the documented REST endpoint with curl or PowerShell and the same Bearer Token. See reference.md.
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":
How to do it:
quick first to check whether the information already exists.patch or update it with the new details.add a new memory with a clear title, well-structured Markdown content, and appropriate tags.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.patch (exact old→new text replacement). Only use update content when rewriting the whole memory intentionally.delete, restate the memory title to the user and get explicit confirmation.people/friends, work/decisions; priority 1–10 (default 5, use 8+ only for things the user calls important).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
SKILL.md and 3 other files (scripts) in skill/astermem of Asterove/AsterMem.
Open the folder on GitHubat commit 8bb57be
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Astermem this skillAsterove/AsterMem | 161 | — | ~2.4k | Automated safety check: Warn | AGPL-3.0 | |
| Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~2.3k | Automated safety check: Pass | MIT | |
| CLIP Image-Text MatchingOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~1.7k | Automated safety check: Pass | MIT | |
| SageMaker Serving Image Selectionhuggingface/skills | 11k | 1 repos | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Codebase Managementgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Sentence-Transformers Training Routerhuggingface/skills | 11k | 1 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 |
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.
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.
huggingface/skills
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.
giancarloerra/SocratiCode
Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.
huggingface/skills
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.
rehan-remade/universal-modder
Build cross-game mashups and total conversions, the "Minecraft inside Elden Ring" or "skateboarding in MW2" kind.
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.
Categories
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.
Astermem fits situations like: the user asks an AI to remember; update personal knowledge; asks to set up AsterMem; connect a model provider.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.