ワンクリックで
cache-management
법령/판례 캐시 데이터 관리 시 사용. 캐시 저장/로드, 만료 처리, 지식 그래프 동기화. 성능 최적화 및 API 호출 최소화를 위해 캐싱 구현 시 참조.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
법령/판례 캐시 데이터 관리 시 사용. 캐시 저장/로드, 만료 처리, 지식 그래프 동기화. 성능 최적화 및 API 호출 최소화를 위해 캐싱 구현 시 참조.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | cache-management |
| description | 법령/판례 캐시 데이터 관리 시 사용. 캐시 저장/로드, 만료 처리, 지식 그래프 동기화. 성능 최적화 및 API 호출 최소화를 위해 캐싱 구현 시 참조. |
법령, 판례, 위원회결정문 등의 데이터를 캐싱하여 성능을 향상시키고 API 호출을 최소화합니다.
utils/data/
├── legislation_cache/
│ ├── law_{law_id}/ # 법령 캐시
│ │ ├── metadata.json
│ │ ├── detail.json
│ │ └── articles/
│ ├── precedent_{prec_no}/ # 판례 캐시
│ │ ├── metadata.json
│ │ ├── detail.json
│ │ └── summary.json
│ └── committee_{decision_id}/ # 위원회결정문 캐시
│ ├── metadata.json
│ └── detail.json
└── knowledge_graph/
├── nodes.json
├── edges.json
└── synonyms/
{
"id": "law_12345",
"type": "law",
"cached_at": "2025-12-31T12:00:00Z",
"expires_at": "2026-01-07T12:00:00Z",
"source": "lawSearch.do",
"version": "1.0"
}
# 캐시 확인
cached = load_legislation_cache(law_id, "law")
if cached:
return cached
# API 호출
result = client.service("law", {"ID": law_id})
# 캐시 저장
if result.get("status") == "000":
save_legislation_cache(law_id, "law", result)
expires_at 기준으로 자동 삭제invalidate_cache(item_id, item_type)캐시 정리:
python scripts/cleanup_cache.py [--dry-run]
캐시 통계:
python scripts/cache_stats.py
구현 코드는 implementation.md 참조.
src/mcp_kr_legislation/utils/legislation_utils.py에 추가됨:
| 함수 | 기능 |
|---|---|
cleanup_cache(max_age_days, max_size_mb) | 오래된/초과 크기 파일 삭제 |
invalidate_cache(law_id, section) | 특정 법령 캐시 즉시 삭제 |
get_cache_stats() | 파일 수/크기/날짜 통계 |
MCP 도구로도 제공 (search_enhance_tools.py):
get_cache_status() — 상태 조회cleanup_cache_tool(max_age_days=30) — 정리invalidate_law_cache(law_id=...) — 무효화src/mcp_kr_legislation/utils/legislation_utils.py - 실제 구현src/mcp_kr_legislation/tools/search_enhance_tools.py - MCP 도구BM25 Okapi 알고리즘을 사용하여 법령/판례 API 결과를 관련도 순으로 재랭킹합니다. search_enhance_tools.py와 bm25_search.py 구현 시 참조.
법제처 OPEN API를 MCP 프로젝트에 통합할 때 사용. lawSearch.do와 lawService.do 엔드포인트, target 파라미터로 기능 구분. 새로운 API 엔드포인트 통합 시 참조.
도구 실패/API 오류 발생 시 4단계 근본 원인 분석 후 수정. 증상 수정이 아닌 원인 수정. superpowers의 systematic-debugging 기반.
새 도구 개발 또는 버그 수정 시 실패하는 테스트를 먼저 작성하고, 구현 후 통과를 확인. superpowers의 test-driven-development 기반.
도구 개발/개선 완료 선언 전 반드시 실제 API 호출 테스트를 수행하고 증거를 기록할 때 사용. superpowers의 verification-before-completion 기반.
Tool에서 API 호출 시 컨텍스트 처리. streamable-http와 stdio transport 모두 지원. with_context() 패턴으로 전역 컨텍스트 fallback 자동 처리.