https://github.com/psmon/memorizer-v1/tree/dev/prompt/kr
https://mcp.webnori.com/ui/view/088e5c6d-5db7-4ef9-a0b2-b92c714f9a08
# 다음 스킬작성법을 참고해 , 이 프로젝트 전용 클로드 코드스킬을 만드려고함
- https://mcp.webnori.com/ui/view/088e5c6d-5db7-4ef9-a0b2-b92c714f9a08 : 클로드 코드 Skill 가이드 메모리조각
# 이 프로젝트 위치를 파악해.. 프로젝트 전용 으로 만드려함
위치 접근 범위 우선순위
- ~/.claude/skills/ 개인 높음
- .claude/skills/ (프로젝트) 프로젝트 중간
- Plugin skills/ 플러그인 낮음
# 스킬 생성지침
- prompt/kr/00{지침}.md~40{지침} 에 이 프로젝트를 만들었던 프롬프트가 생성된 넘버링 순으로 있습니다.
- 다양한 기술적 요소를 이용했으며 이중 스킬이 필요한 부분을 분리해 생성해주세요
- ex> LLM API이용스킬 , 액터모델 구현스킬, 그래프DB활용 구현스킬등이 닷넷환경에서 존재합니다.
- src : 여기에는 소스들이 있습니다.
- 프로젝트 컨벤션 , DB마이그레이션 방법, 풀스택에서 UI와함께이용하는 스킬들을 만들수 있습니다.
# 스킬활용목적
- 고급패턴 구현 카테고리별 스킬화
- 코드개발 일관성(DB,UI,API등)
- 매번 유사한 생성프롬프트가 아닌 스킬을 통한 프롬프트를 이용하며, 토큰절약
위 내용을 참고해 스킬을 생성하고.. 스킬이 최종 생성완료되면
해당 스킬이 인간이 읽고 이해할수 있게
prompt/kr/skill-maker/readme.md 에 최종 문서화로 마무리하고
스킬을 이용하는 베스트 샘플 프롬프트(군더더기없는)도 작성해죠
# 완성후 추가지침
- prompt/kr/00{지침}.md~40{지침} 에 이 프로젝트를 만들었던 프롬프트가 생성된 넘버링 순으로 있습니다.
- 스킬활용 사용전임으로 중복프롬프팅 지침이 많이 있습니다.
- 의미있는 중복스킬인경우 추가스킬로 검토후 등록해주세요
- 기존스킬이 존재한다고하면 업데이트 해주세요
- 최종완성후 prompt/kr/skill-maker/readme.md 스킬활용 지침도 업데이트 해주세요
# Memorizer 프로젝트 Claude Code 스킬 가이드
## 개요
Memorizer 프로젝트 전용으로 개발된 Claude Code 스킬 모음입니다. 이 스킬들은 프로젝트의 고급 패턴과 기술 스택을 효율적으로 활용할 수 있도록 설계되었습니다.
## 스킬 목록
### 핵심 스킬
| 스킬명 | 위치 | 용도 |
|--------|------|------|
| **llm-api** | `.claude/skills/llm-api/` | LLM API 활용 (Ollama, OpenAI, Custom) |
| **actor-model** | `.claude/skills/actor-model/` | Akka.NET 액터 모델 구현 |
| **graph-db** | `.claude/skills/graph-db/` | Neo4j 그래프 DB 활용 |
| **project-convention** | `.claude/skills/project-convention/` | 프로젝트 컨벤션 및 구조 |
| **fullstack-ui** | `.claude/skills/fullstack-ui/` | 풀스택 UI (MVC, SSE, Markdown) |
### 확장 스킬
| 스킬명 | 위치 | 용도 |
|--------|------|------|
| **db-migration** | `.claude/skills/db-migration/` | PostgreSQL DB 마이그레이션 |
| **mcp-tools** | `.claude/skills/mcp-tools/` | MCP(Model Context Protocol) 도구 구현 |
| **embedding-service** | `.claude/skills/embedding-service/` | 텍스트 임베딩/벡터 검색 |
| **multimodal-service** | `.claude/skills/multimodal-service/` | 멀티모달(이미지+텍스트) 처리 |
## 스킬 활용 목적
### 1. 고급 패턴 구현 카테고리별 스킬화
- LLM 스트리밍 응답 처리
- 액터 모델 기반 비동기 워크플로우
- 그래프 DB 탐색 및 관계 생성
- SSE 기반 실시간 UI 업데이트
### 2. 코드 개발 일관성
- 디렉토리 구조 및 네이밍 규칙
- 서비스/컨트롤러 패턴
- DI 등록 방식
- 테스트 패턴
### 3. 토큰 절약
- 반복적인 프롬프트 대신 스킬 호출
- 필요한 컨텍스트만 로드
- 일관된 코드 생성
## 스킬별 상세 설명
### llm-api (LLM API 활용)
**언제 사용하나요?**
- ILlmService 인터페이스 활용
- 스트리밍 응답 처리
- 프롬프트 템플릿 설계
- 제목/키워드 생성
**핵심 패턴:**
```csharp
// 기본 완료
var response = await _llmService.CompleteAsync(prompt);
// 스트리밍
await foreach (var chunk in _llmService.CompleteStreamingAsync(prompt))
{
// SSE로 전송
}
```
---
### actor-model (Akka.NET 액터 모델)
**언제 사용하나요?**
- 세션 기반 상태 관리
- 타이머 기반 자동 종료
- 메시지 기반 비동기 통신
- 복잡한 워크플로우 처리
**핵심 패턴:**
```csharp
public class MyActor : ReceiveActor, IWithTimers
{
public ITimerScheduler Timers { get; set; } = null!;
public MyActor()
{
Receive<MyRequest>(HandleRequest);
Receive<SessionTimeout>(HandleTimeout);
}
}
```
---
### graph-db (Neo4j 그래프 DB)
**언제 사용하나요?**
- Cypher 쿼리 작성
- 메모리 간 관계 생성
- 그래프 탐색 (경로, 허브 노드)
- 자연어 → Cypher 변환
**핵심 패턴:**
```csharp
var cypher = @"
MATCH (m:Memory)-[:RELATES_TO]->(related:Memory)
WHERE m.id = $id
RETURN related
LIMIT 10
";
var records = await _graphRepository.RunQueryAsync(cypher, new { id });
```
---
### project-convention (프로젝트 컨벤션)
**언제 사용하나요?**
- 새 기능 추가 시
- 디렉토리/파일 생성
- 네이밍 규칙 확인
- 테스트 작성
**핵심 구조:**
```
src/Memorizer/
├── Actors/ # 액터 모델
├── Controllers/ # API 컨트롤러
├── Services/ # 비즈니스 로직
├── Models/ # 도메인 모델
├── Settings/ # 설정 클래스
└── Views/ # Razor 뷰
```
---
### fullstack-ui (풀스택 UI)
**언제 사용하나요?**
- SSE 스트리밍 UI
- Markdown 렌더링
- Mermaid 다이어그램
- 반응형 테이블
- 단계별 진행 UI
**핵심 패턴:**
```javascript
const eventSource = new EventSource('/api/stream?prompt=...');
eventSource.onmessage = (event) => {
if (event.data === '[DONE]') {
eventSource.close();
return;
}
const data = JSON.parse(event.data);
updateUI(data.content);
};
```
---
### db-migration (DB 마이그레이션)
**언제 사용하나요?**
- 새 테이블 추가
- 컬럼 추가/수정
- 인덱스 생성
- 벡터 컬럼 추가
**핵심 패턴:**
```sql
-- Migration 0XX: Add {feature} table
CREATE TABLE IF NOT EXISTS {table_name} (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_{table_name}_{column}
ON {table_name}({column});
```
**파일 네이밍:** `{버전번호}_{설명}.sql` (예: `020_add_feature.sql`)
---
### mcp-tools (MCP 도구 구현)
**언제 사용하나요?**
- 새 MCP 도구 추가
- Description 작성
- 인증(ApiKey/OAuth) 처리
- 그래프 검색 도구 구현
**핵심 패턴:**
```csharp
[McpServerTool]
[Description(@"도구의 목적과 사용 시나리오를 상세히 설명.
Use this when... Filtering by... Returns...")]
public async Task<string> ToolName(
[Description("파라미터 설명")] string param,
CancellationToken cancellationToken = default
)
{
// 비즈니스 로직
return FormatResult(result);
}
```
---
### embedding-service (임베딩/벡터 검색)
**언제 사용하나요?**
- 텍스트 벡터화
- 유사도 검색 구현
- 메타데이터 임베딩
- 폴백 검색 패턴
**핵심 패턴:**
```csharp
// 임베딩 생성
var embedding = await _embeddingService.Generate(text);
// 벡터 유사도 검색 (PostgreSQL)
var sql = @"
SELECT *, 1 - (embedding <=> @embedding::vector) as similarity
FROM memories
WHERE 1 - (embedding <=> @embedding::vector) >= @minSimilarity
ORDER BY embedding <=> @embedding::vector
LIMIT @limit
";
```
---
### multimodal-service (멀티모달 처리)
**언제 사용하나요?**
- 이미지+텍스트 분석
- 비전 LLM 통합
- 이미지 업로드 UI
- 멀티모달 챗봇
**핵심 패턴:**
```csharp
// 이미지 분석
var response = await _multiModalService.AnalyzeImageAsync(
imageData,
"이 이미지를 분석해주세요",
"jpeg"
);
// 프론트엔드 - 클립보드/드래그앤드롭
document.addEventListener('paste', (e) => {
const items = e.clipboardData.items;
for (const item of items) {
if (item.type.startsWith('image/')) {
processFile(item.getAsFile());
}
}
});
```
---
## 베스트 샘플 프롬프트
### 1. 새로운 액터 구현
```
액터 모델 스킬을 참고해 NotificationActor를 구현해줘.
- 사용자별 알림 큐 관리
- 24시간 비활성 시 자동 종료
- WebSocket으로 실시간 알림 전송
```
### 2. LLM 기반 기능 추가
```
llm-api 스킬을 참고해 요약 생성 기능을 추가해줘.
- 긴 텍스트를 3문장으로 요약
- 스트리밍 응답으로 실시간 표시
- 컨트롤러와 뷰 모두 구현
```
### 3. 그래프 검색 기능
```
graph-db 스킬을 참고해 연관 메모리 추천 기능을 구현해줘.
- 현재 메모리와 2-hop 이내의 관련 메모리 찾기
- 공통 키워드 기반 가중치 계산
- 결과를 카드 UI로 표시
```
### 4. 새 UI 페이지 추가
```
project-convention과 fullstack-ui 스킬을 참고해
대시보드 페이지를 추가해줘.
- /ui/dashboard URL
- 최근 메모리 통계 차트
- 그래프 관계 시각화
```
### 5. 복합 기능 구현
```
다음 스킬들을 활용해 "스마트 태그 추천" 기능을 구현해줘:
- llm-api: 내용 분석하여 태그 추천
- actor-model: 백그라운드에서 비동기 처리
- project-convention: 기존 패턴에 맞게 구현
요구사항:
- 메모리 저장 시 자동으로 태그 추천
- 사용자가 추천 태그 수락/거부 가능
```
### 6. DB 마이그레이션
```
db-migration 스킬을 참고해 북마크 기능을 위한 마이그레이션을 작성해줘.
- bookmarks 테이블 생성
- memory_id, user_id 외래키
- created_at 타임스탬프
- 복합 인덱스 추가
```
### 7. MCP 도구 추가
```
mcp-tools 스킬을 참고해 "태그 검색" MCP 도구를 추가해줘.
- SearchByTags 메서드
- 여러 태그 AND/OR 검색 지원
- LLM이 사용하기 좋은 Description 작성
- 결과 포맷팅 포함
```
### 8. 벡터 검색 기능
```
embedding-service 스킬을 참고해 "의미 기반 중복 검사" 기능을 구현해줘.
- 저장 전 유사 메모리 검색
- 유사도 90% 이상이면 경고
- 임계값 폴백 패턴 적용
```
### 9. 이미지 분석 기능
```
multimodal-service 스킬을 참고해 "스크린샷 분석" 기능을 추가해줘.
- 화면 캡처 붙여넣기 지원
- 이미지에서 텍스트/UI 요소 추출
- 결과를 메모리로 저장
```
### 10. 전체 스킬 활용 (대규모 기능)
```
다음 스킬들을 모두 활용해 "지식 그래프 시각화" 기능을 구현해줘:
- project-convention: 디렉토리 구조, 네이밍
- graph-db: Cypher로 관계 조회
- embedding-service: 클러스터링을 위한 벡터 유사도
- fullstack-ui: Mermaid 다이어그램 렌더링
- actor-model: 대량 데이터 비동기 처리
요구사항:
- /ui/knowledge-map 페이지
- 메모리 간 관계를 시각화
- 클러스터별 색상 구분
```
---
## 스킬 활용 팁
### 스킬 조합 가이드
| 작업 유형 | 권장 스킬 조합 |
|----------|---------------|
| 새 API 엔드포인트 | project-convention + (llm-api 또는 embedding-service) |
| 새 UI 페이지 | project-convention + fullstack-ui |
| 데이터 모델 변경 | db-migration + project-convention |
| AI 기능 추가 | llm-api + actor-model |
| 검색 기능 개선 | embedding-service + graph-db |
| 외부 도구 연동 | mcp-tools + project-convention |
| 이미지 처리 | multimodal-service + actor-model |
### 스킬 선택 플로우차트
```
새 기능 요청 받음
↓
DB 스키마 변경 필요? → Yes → db-migration
↓ No
MCP 도구 추가? → Yes → mcp-tools
↓ No
이미지 처리 필요? → Yes → multimodal-service
↓ No
벡터 검색 필요? → Yes → embedding-service
↓ No
LLM 호출 필요? → Yes → llm-api
↓ No
비동기/상태 관리? → Yes → actor-model
↓ No
그래프 관계 조회? → Yes → graph-db
↓ No
UI 페이지 추가? → Yes → fullstack-ui
↓
항상 → project-convention
```
---
## 스킬 확장 가이드
새로운 스킬을 추가하려면:
1. `.claude/skills/{skill-name}/` 디렉토리 생성
2. `SKILL.md` 파일 작성:
```markdown
---
name: skill-name
description: 스킬 설명. 언제 사용하는지 명확히 기술.
---
# 스킬 제목
## Instructions
...
```
3. 필요시 `scripts/`, `references/` 폴더 추가
---
## 문의 및 개선
스킬 개선이 필요하거나 새로운 패턴이 추가되면 해당 스킬의 SKILL.md를 업데이트하세요.
.claude 이경로 git무시 제약 풀어죠 이제부터 커밋예정


