Agent Memory Systems
omer-metin/skills-for-antigravity
Memory is the cornerstone of intelligent agents. An agent skill from omer-metin/skills-for-antigravity.
Manage the ChromaDB vector database that stores the ecosystem's persistent memory.
$ npx skills add EliasOulkadi/shokunin --skill chromadb -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EliasOulkadi/shokunin chromadb --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/EliasOulkadi/shokunin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pack/skills/chromadb .claude/skills/chromadb && 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 "chromadb" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadb into .claude/skills/chromadb/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chromadb", 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/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadbType 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 EliasOulkadi/shokunin --skill chromadb -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EliasOulkadi/shokunin chromadb --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.pack/skills/chromadb .agents/skills/chromadb && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chromadb" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadb into .agents/skills/chromadb/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chromadb", 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 EliasOulkadi/shokunin --skill chromadb -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EliasOulkadi/shokunin chromadb --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.pack/skills/chromadb .cursor/skills/chromadb && 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 "chromadb" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadb into .cursor/skills/chromadb/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chromadb", 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/EliasOulkadi/shokunin.git --path .pack/skills/chromadb--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 EliasOulkadi/shokunin --skill chromadb -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EliasOulkadi/shokunin chromadb --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.pack/skills/chromadb .gemini/skills/chromadb && 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 "chromadb" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadb into .gemini/skills/chromadb/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chromadb", 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 EliasOulkadi/shokunin chromadbInstalls 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 EliasOulkadi/shokunin --skill chromadb -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .github/skills && cp -r skills-src/.pack/skills/chromadb .github/skills/chromadb && 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 "chromadb" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadb into .github/skills/chromadb/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chromadb", 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 EliasOulkadi/shokunin --skill chromadb -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EliasOulkadi/shokunin chromadb --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.pack/skills/chromadb .opencode/skills/chromadb && 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 "chromadb" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/chromadb into .opencode/skills/chromadb/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chromadb", 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.
chromadbManage the ChromaDB vector database that stores the ecosystem's persistent memory.
Chromadb is an agent skill from EliasOulkadi/shokunin. Manage the ChromaDB vector database that stores the ecosystem's persistent memory. Use when user asks to check memory storage, backup memory, search stored entries, delete entries, or reset the vector database. Do NOT use for general question answering about past sessions (use the memory skill for that).
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: opencode
It sits in Databases, covering Vector databases, Agent memory and Embeddings. It works with Chroma and Model Context Protocol. The repository describes itself as: 職人 Shokunin 62 AI agent skills for OpenCode, Claude Code, Cursor, Windsurf. ChromaDB memory, MCP servers, declarative self-updates. Multi-model, open source, zero cost. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4c68e5b. 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.
Shell commands in SKILL.md call:
pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
opencode
From compatibility in the SKILL.md frontmatter.
Chromadb loads about 2.2k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 737 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 no risky patterns in SKILL.md.
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); files beside SKILL.md are not scanned.
The full file from EliasOulkadi/shokunin at commit 4c68e5b, republished under its MIT licence (© EliasOulkadi). 737 words, ~2,218 tokens.
.claude/skills/chromadb/SKILL.md (or your agent's skills folder).ChromaDB is the vector database that powers Shokunin's persistent AI memory. It stores embeddings for semantic search across sessions. Built on SQLite with an ONNX embedding model for local-first, offline-capable operation.
python ~/.shokunin/scripts/chroma-helper.py countOutput: total entries, collection count, disk size on disk, last write timestamp.
python ~/.shokunin/scripts/chroma-helper.py statsOutput: entries per type (decision, file, command, checkpoint, session_end), per project, per date range.
python ~/.shokunin/scripts/chroma-helper.py search "query text" "project-name" 10Searches via vector similarity + BM25 keyword hybrid. Results sorted by relevance with metadata attached.
python ~/.shokunin/scripts/chroma-helper.py search "error handling" "" 20 --type decisionFilter by entry type. Leave project empty to search all projects.
python ~/.shokunin/scripts/chroma-helper.py recent 10Shows the 10 most recently inserted entries across all projects. Use for quick audit.
python ~/.shokunin/scripts/chroma-helper.py recent 50 --project myprojectFilter recent entries to a specific project.
$backupDir = "$env:USERPROFILE\.shokunin\backups\chroma-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null
Compress-Archive -Path "$env:USERPROFILE\.shokunin\memory\chroma_db" -DestinationPath "$backupDir\chroma_db.zip" -ForceAlso back up session logs:
Compress-Archive -Path "$env:USERPROFILE\.shokunin\memory\sessions" -DestinationPath "$backupDir\sessions.zip" -ForceVerify backup integrity:
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::OpenRead("$backupDir\chroma_db.zip").Entries.Countpython ~/.shokunin/scripts/chroma-helper.py delete "session-prefix"Deletes all entries whose session_id starts with the given prefix. Non-reversible. Backup first.
python ~/.shokunin/scripts/chroma-helper.py delete --project "old-project"Delete all entries for a project. Useful when archiving finished projects.
Remove-Item -Recurse -Force "$env:USERPROFILE\.shokunin\memory\chroma_db"
# Restart MCP server to recreate the databaseThe database is auto-created on next MCP server startup. All sessions, embeddings, and metadata are permanently lost. Only do this when migrating or recovering from corruption.
| Location | Purpose |
|---|---|
~/.shokunin/memory/chroma_db/ | ChromaDB persistent files (SQLite + embeddings) |
~/.shokunin/memory/sessions/ | Per-session JSONL logs and Markdown summaries |
~/.shokunin/memory/mcp-server.log | MCP server log file (auto-rotated at 5MB) |
~/.shokunin/backups/ | Timestamped backup archives |
~/.shokunin/scripts/chroma-helper.py | CLI management script |
| Concept | Description |
|---|---|
| Collection | ChromaDB namespace for embeddings (one per project by default) |
| Embedding | Vector representation of text for semantic similarity search |
| Metadata | Key-value pairs attached to each entry (type, tags, project, session_id, timestamp) |
| Document | The raw text content stored alongside the embedding |
| BM25 Index | Sparse retrieval index that complements vector search (keyword matching) |
| Result Fusion | Merges vector + BM25 results for higher recall (reciprocal rank fusion) |
| Entry Types | decision, file, command, preference, checkpoint, session_end, general |
| Command | Description |
|---|---|
python ~/.shokunin/scripts/chroma-helper.py session list [N] | List recent sessions with metadata |
python ~/.shokunin/scripts/chroma-helper.py session continue <id> | Load full session context |
python ~/.shokunin/scripts/chroma-helper.py session summary <id> | Show session summary |
python ~/.shokunin/scripts/chroma-helper.py save "<text>" "<id>" "<type>" "<tags>" "<project>" | Save entry |
| Error | Cause | Fix |
|---|---|---|
| ChromaDB not found | Package not installed | pip install chromadb |
| Collection empty | No data stored yet | Normal on first use. Start storing context. |
| Slow first query | Downloading ONNX model | First query downloads ~79MB. Subsequent queries are instant. |
| Permission denied | File locked by another process | Close other MCP server instances |
| Corrupted database | Unexpected shutdown or disk full | Restore from backup or delete and let the system reinitialize |
| Memory usage high | Large collection over time | Run consolidate_memories to merge old entries |
| Embedding dimension mismatch | Model was upgraded or changed | Delete chroma_db/ and reindex from session logs |
| UUID collision | Race condition in parallel writes | ChromaDB handles this internally; retry the insert |
| SQLite disk I/O error | Filesystem full or read-only | Free disk space (need ~2x DB size); check permissions |
| Pattern | Problem | Fix |
|---|---|---|
Deleting chroma_db/ without backup | Permanent data loss | Always backup first (Step 4) |
| Running multiple MCP servers | Database locked, data corruption | Only one MCP server instance at a time |
| Manual SQL manipulation | Breaks ChromaDB invariants | Use chroma-helper.py CLI or MCP tools only |
| Ignoring session_list filters | Seeing test/healthcheck entries | session_list automatically filters noise |
| Storing extremely large text | Bloating vector index | ChromaDB truncates at 500 chars |
| Never consolidating | Database grows indefinitely | Run consolidate_memories periodically |
| Skipping backups | No recovery from disk failure | Weekly backup is configured via Task Scheduler |
| Using raw SQLite instead of ChromaDB API | Schema and index corruption | Always go through ChromaDB's Python client |
| Searching without project filter for broad queries | Too many irrelevant results | Always filter by project when context is known |
Weekly backup every Sunday via Windows Task Scheduler (pre-configured). Manual backup via Step 4 above. Logs auto-rotate at 5MB to prevent unbounded growth. The consolidate_memories function runs automatically when entry count exceeds 10,000 per project.
$backup = Get-ChildItem "$env:USERPROFILE\.shokunin\backups" -Directory | Sort-Object LastWriteTime -Descending | Select-Object -First 1
Expand-Archive -Path "$backup\chroma_db.zip" -DestinationPath "$env:USERPROFILE\.shokunin\memory\chroma_db" -ForceIf backups are unavailable, session JSONL logs contain all raw text. Replay them:
python ~/.shokunin/scripts/chroma-helper.py rebuild --from-sessionspython ~/.shokunin/scripts/chroma-helper.py verifyChecks: SQLite integrity, embedding count vs document count, orphan metadata, collection schema version.
© EliasOulkadi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .pack/skills/chromadb of EliasOulkadi/shokunin.
Open the folder on GitHubat commit 4c68e5b
Chromadb 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 |
|---|---|---|---|---|---|---|
| Chromadb this skillEliasOulkadi/shokunin | 114 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Agent Memory Systemsomer-metin/skills-for-antigravity | 163 | — | ~731 | Automated safety check: Pass | Apache-2.0 | |
| Memoryharperreed/dotfiles | 334 | — | ~484 | Automated safety check: Pass | None | |
| Codebase Managementgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Codebase Explorationgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.5k | Automated safety check: Pass | AGPL-3.0 | |
| Ogham Recallogham-mcp/ogham-mcp | 115 | — | ~1k | Automated safety check: Pass | MIT |
omer-metin/skills-for-antigravity
Memory is the cornerstone of intelligent agents. An agent skill from omer-metin/skills-for-antigravity.
harperreed/dotfiles
Semantic memory and context - store and retrieve information with embeddings for similarity search.
giancarloerra/SocratiCode
Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.
giancarloerra/SocratiCode
Explore and understand codebases using SocratiCode semantic search, dependency graphs, and context artifacts.
ogham-mcp/ogham-mcp
Smart retrieval from Ogham shared memory. An agent skill from ogham-mcp/ogham-mcp.
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.
EliasOulkadi/shokunin
Design CI/CD pipelines for GitHub Actions, GitLab CI, and CircleCI with matrix builds, test sharding, caching, Docker layer caching, OIDC auth, deployment strategies (rolling, blue-green, canary)…
EliasOulkadi/shokunin
Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and…
EliasOulkadi/shokunin
PostgreSQL database administration — backup/restore (pgdump, PITR, WAL archiving), health monitoring (connections, bloat, cache hit ratio, dead tuples), connection pooling (PgBouncer), replication…
EliasOulkadi/shokunin
Design database schemas with Prisma/Drizzle, PostgreSQL index strategy (B-tree, GIN, GiST, BRIN, Hash), query optimization (EXPLAIN ANALYZE), migration safety (expand/contract, zero-downtime), and…
EliasOulkadi/shokunin
Optimize Docker images with multi-stage builds, distroless bases, BuildKit cache mounts, multi-arch builds, compose watch, security hardening (non-root, seccomp, capabilities drop), and…
EliasOulkadi/shokunin
Design error handling, structured logging, and observability with OpenTelemetry (traces, metrics, logs), error classification, recovery patterns (retry with jitter, circuit breaker, bulkhead…
Works with
Categories
Manage the ChromaDB vector database that stores the ecosystem's persistent memory. Chromadb is an agent skill from EliasOulkadi/shokunin. Manage the ChromaDB vector database that stores the ecosystem's persistent memory.
Chromadb fits situations like: user asks to check memory storage; search stored entries; reset the vector database; general question answering about past sessions (use the memory skill for that).
Run `npx skills add EliasOulkadi/shokunin --skill chromadb -a claude-code`. Or copy the skill folder (.pack/skills/chromadb in EliasOulkadi/shokunin) into .claude/skills/chromadb in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EliasOulkadi/shokunin --skill chromadb -a codex`. Or copy the skill folder (.pack/skills/chromadb in EliasOulkadi/shokunin) into .agents/skills/chromadb 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 EliasOulkadi/shokunin --skill chromadb -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chromadb, .gemini/skills/chromadb, .github/skills/chromadb and .opencode/skills/chromadb in your project.
Going by SKILL.md and its folder, Chromadb needs the command-line tools its instructions call (python and pip). Our summary lists: Python 3. Compatibility (from SKILL.md): opencode.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Chromadb is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k 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 Chromadb: Agent Memory Systems (omer-metin/skills-for-antigravity, 163 stars), Memory (harperreed/dotfiles, 334 stars), Codebase Management (giancarloerra/SocratiCode, 3.3k stars) and Codebase Exploration (giancarloerra/SocratiCode, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EliasOulkadi (a GitHub user) maintains it in EliasOulkadi/shokunin, which has 114 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.
Source: EliasOulkadi/shokunin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.