← 스킬 목록으로 돌아가기

memory-bank

v1.0.0 approved AI/ML 오늘 업데이트
USK v3 ✅ Verified
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o memory-bank.skill   "https://aiskillstore.io/v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "df99b696-dbd0-46ff-b155-5843a4fc18d5",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Persistent key-value memory store with tags and FTS5 full-text search for agents across sessions. SQLite + trigram tokenizer. Zero external dependencies.

# memory # sqlite # fts5 # key-value # agent-memory # session-persistence # korean # trigram

기본 정보

소유자 👤 aiskillstore-team 카테고리 AI/ML 등록일 2026-06-04 최종 업데이트 2026-06-04 최신 버전 1.0.0 패키지 날짜 2026-06-04 검증 상태 approved 다운로드 수 0회 체크섬 (SHA256) 3c491435bc061f6353fcd0aa39fc985dbf99113f80e53c9cad3620425ab1782a

⚡ AGENT INFO USK v3

Capabilities
persistent_memory semantic_recall tagged_storage fts_search session_continuity
Permissions
✗ network
✓ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=OpenClaw GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=ClaudeCode GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=Cursor GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=GeminiCLI GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=CodexCLI GET /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install memory-bank
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install memory-bank --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip memory-bank.skill -d ~/.claude/commands/memory-bank/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/memory-bank
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip memory-bank-agent-skill-*.skill -d ~/.claude/skills/memory-bank/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip memory-bank-cursor-*.skill -d ~/.cursor/skills/memory-bank/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/memory-bank/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip memory-bank-geminicli-*.skill -d ~/.gemini/skills/memory-bank/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/memory-bank/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip memory-bank-codexcli-*.skill -d ~/.codex/skills/memory-bank/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/memory-bank/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp memory-bank.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 CAUTION

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", 'USK v3 경고: 이 스킬은 자동 변환 조건을 충족하지 않아 manual_install로 처리됩니다']

✅ 보안 위험 항목이 발견되지 않았습니다.

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 안전하고 잘 구현된 SQLite 기반의 영구 키-값 메모리 저장소 스킬입니다. 선언된 권한을 준수하며, SQL 인젝션 방지 등 보안 모범 사례를 따릅니다.
판단 근거

제공된 스킬 메타데이터와 코드 파일을 종합적으로 분석한 결과, 'memory-bank' 스킬은 다음과 같은 이유로 안전하다고 판단됩니다. 1. **권한 일치 및 준수:** * 메타데이터에 선언된 `permissions.network: false`와 `permissions.subprocess: false`는 코드에서 완벽하게 준수됩니다. 어떠한 외부 네트워크 통신 시도(`socket`, `requests` 등)나 서브프로세스 실행(`subprocess` 모듈 사용)도 발견되지 않았습니다. * `permissions.filesystem: true`는 SQLite 데이터베이스 파일(`db_path`)을 생성, 읽기, 쓰기, 삭제하는 데 필요한 `os` 모듈 함수(`os.path.dirname`, `os.path.exists`, `os.access`, `os.path.getsize`) 및 `sqlite3.connect` 사용으로 제한됩니다. 이는 스킬의 핵심 기능인 영구 메모리 저장소 구현에 필수적인 접근이며, 임의의 시스템 파일을 조작하려는 시도는 없습니다. `db_path`는 에이전트가 명시적으로 제공해야 하므로, 스킬 자체의 취약점이라기보다는 에이전트의 설정 문제로 볼 수 있습니다. 2. **악의적 코드 부재:** * 데이터 탈취: 네트워크 접근이 없으므로 외부로 데이터를 전송할 수 없습니다. 데이터는 에이전트가 지정한 로컬 SQLite 파일에만 저장됩니다. * 시스템 파괴: 스킬은 오직 지정된 SQLite 파일에만 접근하며, 파일 시스템 내 다른 영역을 손상시키거나 삭제하려는 시도는 없습니다. * 난독화: 코드는 명확하고 가독성이 높으며, 난독화된 부분은 전혀 없습니다. * SQL 인젝션: 모든 데이터베이스 쿼리는 `sqlite3` 모듈의 파라미터 바인딩(`?` 플레이스홀더)을 사용하여 구현되어, SQL 인젝션 공격에 대해 안전합니다. 3. **외부 통신 부재:** * `network: false` 선언과 일치하게, 어떠한 형태의 선언되지 않은 외부 통신도 발견되지 않았습니다. 4. **사용자 데이터 무단 수집/전송 부재:** * 스킬은 에이전트가 제공하는 데이터를 로컬 SQLite 데이터베이스에 저장할 뿐, 이 데이터를 무단으로 수집하거나 외부로 전송하지 않습니다. 5. **코드 품질:** * 코드는 잘 구조화되어 있고, 주석이 충분하며, Python 표준 라이브러리만을 사용하여 'Zero external dependencies'라는 설명과 일치합니다. * 오류 처리 로직이 명확하게 구현되어 있습니다. * SQLite의 FTS5(trigram tokenizer 포함) 및 JSON 함수를 활용하여 효율적이고 안전한 데이터 저장 및 검색 기능을 제공합니다. * 제공된 테스트 코드(`tests/_test_local.py`)는 스킬의 다양한 기능을 검증하고 있어, 높은 코드 품질과 안정성을 시사합니다. 정적 분석 결과의 'caution' 상태는 구체적인 'red_flags_found'나 'obfuscation_warnings' 없이 표시되었으며, 수동 코드 검토 결과 실제 보안 위험 요소는 발견되지 않았습니다. 따라서 이 스킬은 안전하게 배포될 수 있습니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 approved 2026-06-04 ⬇ 0 1.0.0: Initial release — SQLite + FTS5 trigram persistent memory bank for agents

사용 예시 (Examples) 10 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

Initialize new memory bank
# init# setup

Create a new SQLite memory bank at the specified path. Safe to call on existing DB (idempotent).

📥 입력
{
  "action": "init",
  "db_path": "/tmp/agent_memory.db"
}
📤 출력
{
  "db_path": "/tmp/agent_memory.db",
  "fts_enabled": true,
  "table_created": true
}
Save a plain string memory
# save# string

Store a string value under a key with tags for classification.

📥 입력
{
  "action": "save",
  "db_path": "/tmp/agent_memory.db",
  "key": "user_preference_language",
  "tags": [
    "preference",
    "user"
  ],
  "value": "Korean"
}
📤 출력
{
  "is_update": false,
  "key": "user_preference_language",
  "saved_at": "2026-06-04T10:00:00Z",
  "tags": [
    "preference",
    "user"
  ]
}
Save a dict value and retrieve it
# save# dict

Store a structured dict (serialized to JSON internally) and retrieve it deserialized.

📥 입력
{
  "action": "save",
  "db_path": "/tmp/agent_memory.db",
  "key": "project_config",
  "tags": [
    "config",
    "project"
  ],
  "value": {
    "env": "production",
    "name": "skill-store",
    "port": 5100
  }
}
📤 출력
{
  "is_update": false,
  "key": "project_config",
  "saved_at": "2026-06-04T10:01:00Z",
  "tags": [
    "config",
    "project"
  ]
}
Full-text search (English)
# search# fts5

Search stored memories using FTS5 BM25 ranking. Returns ranked snippets.

📥 입력
{
  "action": "search",
  "db_path": "/tmp/agent_memory.db",
  "limit": 5,
  "query": "production config"
}
📤 출력
{
  "query": "production config",
  "results": [
    {
      "key": "project_config",
      "relevance": 0.92,
      "snippet": "Matched entry containing production environment configuration",
      "tags": [
        "config",
        "project"
      ]
    }
  ],
  "total": 1
}
Korean memory save and search (trigram tokenizer)
# save# korean

Store a Korean-language memory and retrieve it with Korean query via trigram FTS5 tokenizer.

📥 입력
{
  "action": "save",
  "db_path": "/tmp/agent_memory.db",
  "key": "meeting_notes_20260604",
  "tags": [
    "meeting",
    "korean",
    "decision"
  ],
  "value": "\uc624\ub298 \ud68c\uc758\uc5d0\uc11c \ubc30\ud3ec \uc77c\uc815\uc744 \ub0b4\uc77c\ub85c \uacb0\uc815\ud588\ub2e4. \ub2f4\ub2f9\uc790\ub294 \uae40\ud300\uc7a5."
}
📤 출력
{
  "is_update": false,
  "key": "meeting_notes_20260604",
  "saved_at": "2026-06-04T10:02:00Z",
  "tags": [
    "meeting",
    "korean",
    "decision"
  ]
}
Korean full-text search
# search# korean# trigram

Search Korean-language memory. Trigram tokenizer handles CJK text without word boundaries.

📥 입력
{
  "action": "search",
  "db_path": "/tmp/agent_memory.db",
  "limit": 10,
  "query": "\ubc30\ud3ec \uc77c\uc815"
}
📤 출력
{
  "query": "\ubc30\ud3ec \uc77c\uc815",
  "results": [
    {
      "key": "meeting_notes_20260604",
      "relevance": 0.88,
      "snippet": "Korean meeting notes mentioning deployment schedule decision",
      "tags": [
        "meeting",
        "korean",
        "decision"
      ]
    }
  ],
  "total": 1
}
Update existing key (is_update=true)
# save# update

Saving to an existing key overwrites the value and updates updated_at. is_update flag signals this was an overwrite.

📥 입력
{
  "action": "save",
  "db_path": "/tmp/agent_memory.db",
  "key": "user_preference_language",
  "tags": [
    "preference",
    "user",
    "updated"
  ],
  "value": "English"
}
📤 출력
{
  "is_update": true,
  "key": "user_preference_language",
  "saved_at": "2026-06-04T11:00:00Z",
  "tags": [
    "preference",
    "user",
    "updated"
  ]
}
List entries filtered by tag
# list# tag_filter

List all memory entries that have a specific tag. Useful for browsing organized memory.

📥 입력
{
  "action": "list",
  "db_path": "/tmp/agent_memory.db",
  "limit": 20,
  "tag_filter": [
    "decision"
  ]
}
📤 출력
{
  "items": [
    {
      "key": "meeting_notes_20260604",
      "tags": [
        "meeting",
        "korean",
        "decision"
      ],
      "updated_at": "2026-06-04T10:02:00Z"
    }
  ],
  "total": 1
}
Delete a key then confirm KEY_NOT_FOUND
# delete

Delete a memory entry, then attempt to get it to verify deletion returns KEY_NOT_FOUND error.

📥 입력
{
  "action": "delete",
  "db_path": "/tmp/agent_memory.db",
  "key": "user_preference_language"
}
📤 출력
{
  "deleted": true,
  "key": "user_preference_language"
}
Stats overview
# stats# overview

Retrieve database-level statistics: total entries, file size, tag count, and age range.

📥 입력
{
  "action": "stats",
  "db_path": "/tmp/agent_memory.db"
}
📤 출력
{
  "newest": "2026-06-04T11:00:00Z",
  "oldest": "2026-06-04T10:00:00Z",
  "tag_count": 7,
  "total_items": 3,
  "total_size_bytes": 65536
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/df99b696-dbd0-46ff-b155-5843a4fc18d5/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성