chore: initial commit — portable agent memory & skill scaffold
Extracted and cleaned up from a prior WSL/Windows agent-memory setup. Contains only project-agnostic content: - Claude_Memory/: feedback rules, user profile, reusable reference docs, session scratch space (claude_info/, claude_log/), mirrored skill defs - caveman/: ultra-compressed communication mode skill + subcommands - html-slide-deck/: self-contained HTML slide deck builder skill Project-specific knowledge (previously mixed in) was moved out to each project's own repository as part of this cleanup.
This commit is contained in:
commit
25256ec417
61 files changed
+4431
No files matched your search
Executable
+46
@@ -0,0 +1,46 @@
|
||||
# Memory Index
|
||||
|
||||
> 작업 시작 시 `claude_info/CHECKPOINT.md` 먼저 확인.
|
||||
> 소스 코드 작업 전 `graphify-out/GRAPH_REPORT.md` 먼저 읽기.
|
||||
|
||||
## 세션 상태
|
||||
- [CHECKPOINT](claude_info/CHECKPOINT.md) — 현재 작업 상태, 브랜치, 다음 시작 위치
|
||||
- [NOTES](claude_info/NOTES.md) — 세션별 주요 발견사항·비직관적 동작
|
||||
- [TIPS](claude_info/TIPS.md) — 재사용 패턴 & 해결법
|
||||
- [TODO](claude_info/TODO.md) — 우선순위별 다음 작업 목록
|
||||
|
||||
## 작업 로그 (claude_log/)
|
||||
- (현재 없음 — 프로젝트별 로그는 각 프로젝트 폴더에 기록. 포맷은 [README](claude_log/README.md) 참고)
|
||||
|
||||
## Feedback (행동 규칙)
|
||||
- [Commit 전 Linter](feedback_linter_before_commit.md) — commit 전 변경 파일 linter 실행
|
||||
- [Agent 자동 승인](feedback_agent_permission.md) — Agent(*) 자동 실행
|
||||
- [Bash/Python3 자동 승인](feedback_bash_python_auto_approve.md) — Bash/Python3 즉시 실행
|
||||
- [Truncated output 판단 금지](feedback_truncated_output.md) — "Output too large" 시 전체 파일 읽고 판단
|
||||
- [Caveman 한국어](feedback_caveman_korean.md) — caveman 모드 활성 시 한국어 파편문
|
||||
- [Caveman MD 스타일](feedback_caveman_md_style.md) — 기획/스펙 문서 caveman style 작성
|
||||
- [Handoff 로드](feedback_handoff_load.md) — 핸드오프 파일 경유 세션 인계
|
||||
- [Worktree 확인](feedback_worktree_check.md) — 코드 작업 전 git worktree list + .worktrees/ 확인
|
||||
|
||||
## User Profile
|
||||
- [코드 주석 스타일](user_code_comment_style.md) — 주요 로직 영문 주석, Doxygen (모든 코드베이스 공통)
|
||||
- [세션 시작 스킬 안내](user_session_start_skills.md) — 세션 시작 시 활성 스킬 목록 제시
|
||||
- [Usage 리셋 알람](user_usage_alarm.md) — "usage 꽉 찼다" → 5시간 후 알람 예약
|
||||
- [Developer Profile](user_developer_profile.md) — 소통/의사결정/디버깅 성향 프로필
|
||||
|
||||
## Reference
|
||||
- [graphify 도구](reference_graphify.md) — Knowledge Graph 빌드, 출력물 구조, 명령어 (범용)
|
||||
|
||||
## Skills
|
||||
- `claude_skills/` — archive-session, graphify, grill-me, handoff
|
||||
- `../caveman/` — caveman, cavecrew, caveman-commit/compress/help/review/stats, find-skills
|
||||
- `../html-slide-deck/`, `../html-slide-deck.skill`
|
||||
|
||||
---
|
||||
|
||||
## 프로젝트별 메모리는 각 프로젝트 폴더에서 관리
|
||||
|
||||
이 폴더(`Agent_Memories`)는 프로젝트에 무관하게 재사용 가능한 범용 지식만 보관한다.
|
||||
특정 프로젝트(코드베이스·언어·툴체인에 종속된) 지식은 해당 프로젝트 폴더 안에서 관리한다.
|
||||
예: Universal_AVI 프로젝트 관련 지식은 `4_Universal_AVI/.claude/claude_info/`, `claude_log/`에 있음
|
||||
(2026-07-01 통합 정리 이전 자료는 `4_Universal_AVI/.claude/_imported_from_agent_memory_unification/`에 아카이브됨).
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
# CHECKPOINT — 세션 진행 상황
|
||||
|
||||
> 작업 시작 시 이 파일을 가장 먼저 확인할 것.
|
||||
> 작업 종료 전 현재 상태로 업데이트할 것.
|
||||
|
||||
---
|
||||
|
||||
## 현재 상태
|
||||
|
||||
- **마지막 업데이트**: (없음)
|
||||
- **진행 중인 작업**: 없음
|
||||
- **브랜치**: (없음)
|
||||
|
||||
---
|
||||
|
||||
<!-- 업데이트 포맷:
|
||||
## 현재 상태
|
||||
- **마지막 업데이트**: 2026-MM-DD
|
||||
- **진행 중인 작업**: 작업명 또는 없음
|
||||
- **브랜치**: feature/xxx or HEAD
|
||||
-->
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
# NOTES — 중요 발견사항
|
||||
|
||||
작업 중 발견한 설계 결정, 비직관적 동작, 주의사항을 기록.
|
||||
|
||||
---
|
||||
|
||||
## 포맷
|
||||
|
||||
```markdown
|
||||
### [YYYY-MM-DD] 제목
|
||||
|
||||
**관련 파일**: `경로`
|
||||
**내용**: 발견한 사실 / 결정 이유 / 주의사항
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
<!-- 여기에 노트 추가 -->
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
# TIPS — 재사용 패턴 & 해결법
|
||||
|
||||
반복적으로 쓰이는 코드 패턴, 편집 방법, 이슈 해결법을 기록.
|
||||
|
||||
---
|
||||
|
||||
## 포맷
|
||||
|
||||
```markdown
|
||||
### [태그] 제목
|
||||
|
||||
**상황**: 어떤 상황에서 쓰는가
|
||||
**해결책**: 방법 설명
|
||||
**예시**:
|
||||
\`\`\`cpp
|
||||
// 코드
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
<!-- 여기에 팁 추가 -->
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
# TODO — 다음 작업 목록
|
||||
|
||||
미완료 항목, 다음 세션에서 이어받을 작업을 우선순위 순으로 기록.
|
||||
|
||||
---
|
||||
|
||||
## 우선순위 기준
|
||||
|
||||
- `P1` — 즉시 처리 필요 (블로커)
|
||||
- `P2` — 현재 마일스톤 내 처리
|
||||
- `P3` — 다음 마일스톤 이후 가능
|
||||
|
||||
---
|
||||
|
||||
<!-- 여기에 TODO 추가 -->
|
||||
Executable
+51
@@ -0,0 +1,51 @@
|
||||
# claude_md — 작업 지식 로그
|
||||
|
||||
작업 중 발견한 코드 구조, 패턴, 제약조건을 날짜/주제별로 기록.
|
||||
에이전트가 동일 영역 재작업 시 중복 탐색을 줄이기 위한 지식 베이스.
|
||||
|
||||
---
|
||||
|
||||
## 파일 네이밍
|
||||
|
||||
```
|
||||
LOG_YYYYMMDD_<Topic>.md
|
||||
```
|
||||
|
||||
예시:
|
||||
- `LOG_20260410_Auth_Module_Structure.md`
|
||||
- `LOG_20260411_Build_Pipeline_Encoding.md`
|
||||
|
||||
---
|
||||
|
||||
## 파일 포맷
|
||||
|
||||
```markdown
|
||||
---
|
||||
date: YYYY-MM-DD
|
||||
topic: 주제 (한글 가능)
|
||||
related_files: [파일경로1, 파일경로2]
|
||||
tags: [태그1, 태그2]
|
||||
---
|
||||
|
||||
# 제목
|
||||
|
||||
## 발견 내용
|
||||
|
||||
...
|
||||
|
||||
## 주의사항
|
||||
|
||||
...
|
||||
|
||||
## 관련 코드 위치
|
||||
|
||||
- `파일경로:라인번호` — 설명
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 저장 시점
|
||||
|
||||
- 새로운 모듈/클래스 구조를 파악한 후
|
||||
- 예상과 다른 동작/패턴을 발견했을 때
|
||||
- 향후 동일 영역 작업 시 참조 가치가 있는 정보를 얻었을 때
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
---
|
||||
name: archive-session
|
||||
description: 현재 세션의 작업 결과, 파악된 지식, 다음 단계(TODO)를 프로젝트의 공식 문서 체계(claude_log, claude_info)에 따라 자동으로 아카이브하고 요약합니다. 작업 종료 직전이나 주요 마일스톤 완료 시 사용합니다.
|
||||
---
|
||||
|
||||
# Archive Session
|
||||
|
||||
이 스킬은 현재 세션에서 발생한 지식과 진행 상황을 구조화된 문서로 저장하여 다음 세션에서 문맥을 완벽하게 복원할 수 있도록 돕습니다.
|
||||
|
||||
## 📁 문서 체계 (Storage Locations)
|
||||
|
||||
모든 문서는 프로젝트 루트의 `.claude/` 하위에 저장됩니다.
|
||||
|
||||
- **작업 로그 (`.claude/claude_log/`)**: 세션의 상세 기술적 내역 보관.
|
||||
- 파일명: `LOG_YYYYMMDD_<Topic>.md`
|
||||
- **세션 정보 (`.claude/claude_info/`)**: 지속적으로 업데이트되는 상태 정보.
|
||||
- `CHECKPOINT.md`: 현재 위치 및 다음 시작 지점.
|
||||
- `NOTES.md`: 파악된 주요 기술적 사실.
|
||||
- `TIPS.md`: 재사용 가능한 패턴.
|
||||
- `TODO.md`: 잔여 작업 목록.
|
||||
|
||||
## 🔄 워크플로우 (Workflow)
|
||||
|
||||
스킬 호출 시 다음 단계를 수행하세요:
|
||||
|
||||
### 1. 정보 수집 및 요약
|
||||
- `git log` 및 `git diff`를 통해 이번 세션의 코드 변경 사항 확인.
|
||||
- 파악된 새로운 아키텍처 규칙, 안티 패턴, 파일 구조 정리.
|
||||
|
||||
### 2. 상세 로그 작성 (`.claude/claude_log/`)
|
||||
새로운 로그 파일을 생성합니다.
|
||||
- **날짜**: YYYY-MM-DD
|
||||
- **주제**: 핵심 작업 내용 (예: UI Mapping Enhancement)
|
||||
- **내용**: 변경된 파일 목록, 구현된 주요 로직, 직면했던 문제와 해결 방법.
|
||||
|
||||
### 3. 상태 업데이트 (`.claude/claude_info/`)
|
||||
기존 파일들을 **교체(Overwrite)** 하거나 **추가(Append)** 합니다.
|
||||
- **CHECKPOINT**: 이전 내용을 지우고 현재의 최신 상태와 "Next Step"만 명확히 기술.
|
||||
- **NOTES/TIPS**: 이번에 새로 배운 내용이 있다면 리스트에 추가.
|
||||
- **TODO**: 완료된 항목은 제거하거나 체크(`[x]`)하고, 새로 발견된 과제 추가.
|
||||
|
||||
### 4. 프로젝트 루트 업데이트
|
||||
- **CLAUDE.md**: 프로젝트 전반에 걸친 중요한 규칙(Rule) 변경이 있다면 반영.
|
||||
|
||||
### 5. Graphify 지식 그래프 갱신
|
||||
세션 중 코드 변경이 있었다면 `graphify update .`를 실행하여 지식 그래프를 최신 상태로 유지.
|
||||
```bash
|
||||
if command -v graphify &> /dev/null; then
|
||||
graphify update .
|
||||
fi
|
||||
```
|
||||
- graphify CLI가 없으면 skip.
|
||||
- 완료 후 사용자에게 갱신 여부 보고.
|
||||
|
||||
## 💡 작성 가이드라인 (Writing Guidelines)
|
||||
|
||||
- **언어**: 모든 문서는 **한국어**로 작성하되, 기술 용어는 원문을 병기하거나 그대로 사용 (예: Multi-line support).
|
||||
- **간결성**: Caveman 스타일을 유지하여 핵심 정보만 불릿 포인트로 기술.
|
||||
- **검증**: 아카이브 완료 후 `ls` 명령으로 파일 생성을 확인하고 사용자에게 요약 보고.
|
||||
@@ -0,0 +1 @@
|
||||
0.8.1
|
||||
+1090
File diff suppressed because it is too large.
Load diff
+10
@@ -0,0 +1,10 @@
|
||||
---
|
||||
name: grill-me
|
||||
description: Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
|
||||
---
|
||||
|
||||
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
|
||||
|
||||
Ask the questions one at a time.
|
||||
|
||||
If a question can be answered by exploring the codebase, explore the codebase instead.
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
---
|
||||
name: handoff
|
||||
description: Compact the current conversation into a handoff document for another agent to pick up.
|
||||
argument-hint: "What will the next session be used for?"
|
||||
---
|
||||
|
||||
Write a handoff document summarising the current conversation so a fresh agent can continue the work. Save it to a path produced by `mktemp -t handoff-XXXXXX.md` (read the file before you write to it).
|
||||
|
||||
Suggest the skills to be used, if any, by the next session.
|
||||
|
||||
Do not duplicate content already captured in other artifacts (PRDs, plans, ADRs, issues, commits, diffs). Reference them by path or URL instead.
|
||||
|
||||
If the user passed arguments, treat them as a description of what the next session will focus on and tailor the doc accordingly.
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
---
|
||||
name: Agent 도구 자동 승인
|
||||
description: Agent(서브에이전트) 도구는 settings.json allow 목록에 등록되어 있어 자동 실행됨
|
||||
type: feedback
|
||||
---
|
||||
|
||||
`Agent(*)` = `~/.claude/settings.json` `permissions.allow` 등록 → 승인없이 자동실행.
|
||||
|
||||
**Why:** `Bash(python3:*)` 동일. 코드리뷰·탐색 서브에이전트 매번 승인프롬프트 불필요.
|
||||
|
||||
**How to apply:**
|
||||
- `Agent` 호출 시 확인없이 실행
|
||||
- `Bash(python3:*)` 동일 "Don't Ask" 동작
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: Bash/Python3 자동 승인
|
||||
description: Bash 및 Python3 명령은 사용자 승인 없이 자동 실행
|
||||
type: feedback
|
||||
---
|
||||
|
||||
Bash/Python3 실행 시 승인 요청 금지.
|
||||
|
||||
**Why:** 반복 호출마다 승인 요청 → 작업 흐름 단절.
|
||||
|
||||
**How to apply:** Bash 호출 즉시 실행. 단, 파일 삭제·git push 등 파괴적 작업은 확인 필요.
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: caveman-korean
|
||||
description: caveman 모드 활성 시 한국어로 응답
|
||||
metadata:
|
||||
node_type: memory
|
||||
type: feedback
|
||||
originSessionId: 8f69f046-87b8-492c-8f19-ca78a8512cfa
|
||||
---
|
||||
|
||||
Caveman 모드 활성 여부 무관하게 모든 응답 한국어. Caveman 문체(간결·파편·조사 생략) 유지하되 언어는 항상 한국어.
|
||||
|
||||
**Why:** 사용자 명시 요청. 영어 caveman 출력 거부.
|
||||
**How to apply:** `/caveman` 활성 시 한국어 파편문으로 응답. 예: "Bug in auth middleware" → "auth 미들웨어 버그".
|
||||
Gemini/Antigravity 에이전트에서는 세션 기본값을 caveman mode(핵심만, 한국어)로 둘 것을 사용자가 선호.
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: feedback-caveman-md-style
|
||||
description: "프로젝트 기획/스펙 MD 파일은 caveman style(파편문, 간결체)로 작성"
|
||||
metadata:
|
||||
node_type: memory
|
||||
type: feedback
|
||||
originSessionId: 9eaa0ad7-0128-4d11-be9b-fa11a0bb5936
|
||||
---
|
||||
|
||||
프로젝트 기획/스펙 문서(PROJECT.md, REQUIREMENTS.md, ROADMAP.md 류 — 특정 기획 도구 무관)는 caveman style로 작성.
|
||||
|
||||
**Why:** 불필요한 설명 없이 핵심 정보만. 가독성·유지보수 효율.
|
||||
|
||||
**How to apply:** 문장 대신 키워드/명사구 중심. 동사는 최소화. 설명 문단 지양.
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: ""
|
||||
metadata:
|
||||
node_type: memory
|
||||
originSessionId: e5b7295d-190c-4567-9da4-b103fffee074
|
||||
---
|
||||
|
||||
"handoff 불러들여", "handoff 파일 로드", "이전 handoff 불러와" 등 handoff 파일 로드 요청 시:
|
||||
|
||||
1. `~/.claude/last_handoff_path.txt` 읽기 → 경로 확인
|
||||
2. 해당 경로의 파일 Read → 컨텍스트 복원
|
||||
|
||||
**Why:** handoff 스킬은 매번 `/tmp/handoff-XXXXXX.md` 형태의 임시 파일을 생성하므로 경로가 고정되지 않음. PostToolUse hook이 Write 시 자동으로 `~/.claude/last_handoff_path.txt`에 경로를 저장.
|
||||
|
||||
**How to apply:** handoff 로드 요청 시 파일 경로 추측 금지. 반드시 `~/.claude/last_handoff_path.txt` 먼저 읽을 것.
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Commit 전 Linter 수행
|
||||
description: git commit 전 변경 파일에 linter 실행, 통과 후 commit
|
||||
type: feedback
|
||||
---
|
||||
|
||||
`git commit` 전 변경 파일에 linter 실행.
|
||||
|
||||
**Why:** 린팅 오류 커밋 이력 방지.
|
||||
|
||||
**How to apply:**
|
||||
- `git diff --name-only HEAD` 또는 `git status`로 변경 파일 확인.
|
||||
- `.clang-format` 있으면 `clang-format --dry-run`으로 C++ 검사.
|
||||
- `.clang-tidy` 있으면 `clang-tidy` 정적 분석.
|
||||
- 기타 linter(eslint, pylint 등) 있으면 실행.
|
||||
- linter 오류 → 수정 후 commit.
|
||||
- linter 설정 없어도 사용자에게 수행 여부 확인.
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: feedback-truncated-output
|
||||
description: "system-reminder에 \"Output too large / Preview\" 표시 시 전체 파일 읽기 필수"
|
||||
metadata:
|
||||
node_type: memory
|
||||
type: feedback
|
||||
originSessionId: 442b5c1a-bf31-4f49-be3a-abe955ac1516
|
||||
---
|
||||
|
||||
system-reminder에 "Output too large... Full output saved to: <path>" 메시지가 있으면, 미리보기(Preview)만 보고 내용을 판단하지 말 것.
|
||||
|
||||
**Why:** 2KB 미리보기만 보고 "CHECKPOINT.md / TODO.md만 주입됐다"고 잘못 단정한 사례 발생. 실제로는 NOTES.md, TIPS.md, 로그 파일 2개까지 모두 주입됐음.
|
||||
|
||||
**How to apply:** "Output too large" 문구 확인 시 → 저장된 전체 파일 경로를 Read 또는 `cat`으로 읽은 후 판단.
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: 코드 작업 전 Worktree 확인
|
||||
description: 코드 작업 전 `git worktree list` + `.worktrees/` 확인 → 기존 worktree 재사용 or 신규 생성 여부 사용자 확인
|
||||
type: feedback
|
||||
---
|
||||
|
||||
코드 작업 전 반드시 worktree 상태 확인.
|
||||
|
||||
**Why:** 기존 worktree 모르고 main 브랜치 작업 or 브랜치 중복 생성 방지.
|
||||
|
||||
**How to apply:**
|
||||
1. `git worktree list`로 등록된 worktree 목록 확인.
|
||||
2. `.worktrees/` 하위 폴더명 확인 (`ls .worktrees/` 또는 `Glob`).
|
||||
3. 관련 worktree 존재 → 해당 worktree 사용.
|
||||
4. 관련 worktree 없음 → 사용자에게 신규 생성 여부 확인.
|
||||
5. 생성 시 `.worktrees/<작업명>` 경로 + 브랜치명 사용자 협의.
|
||||
Executable
+88
@@ -0,0 +1,88 @@
|
||||
---
|
||||
name: reference_graphify
|
||||
description: graphify 도구 전체 개요 — 설치·실행 방법, 출력물 위치, 쿼리 방법
|
||||
metadata:
|
||||
type: reference
|
||||
---
|
||||
|
||||
## 개요
|
||||
|
||||
`graphify` (pip 패키지명: `graphifyy`)는 폴더의 코드·문서·이미지·영상을 Knowledge Graph로 변환하는 도구.
|
||||
트리거: `/graphify` 슬래시 명령 → Skill tool `skill: "graphify"` 호출 필수.
|
||||
|
||||
> **공유 리소스 가능성**: graphify 출력물을 다른 AI Agent(예: Google Antigravity)와 공유하는 경우, 출력물 수정·재빌드 시 다른 Agent의 참조에 영향을 줄 수 있으므로 주의.
|
||||
|
||||
- Skill 위치: `Claude_Memory/claude_skills/graphify/SKILL.md`
|
||||
|
||||
---
|
||||
|
||||
## 출력물 구조 (`graphify-out/`)
|
||||
|
||||
| 파일 | 설명 |
|
||||
|------|------|
|
||||
| `GRAPH_REPORT.md` | 코드베이스 질문 시 **먼저 읽어야 할 파일**. God Nodes·커뮤니티·Surprising Connections 포함 |
|
||||
| `graph.json` | 원본 그래프 데이터 (GraphRAG-ready JSON) |
|
||||
| `graph.html` | 브라우저에서 여는 인터랙티브 시각화 |
|
||||
| `manifest.json` | 이전 실행 기록 (incremental update용) |
|
||||
| `cache/` | 파일별 시멘틱 추출 캐시 |
|
||||
| `.graphify_labels.json` | 커뮤니티 레이블 |
|
||||
| `.graphify_python` | 사용 중인 Python 인터프리터 경로 |
|
||||
| `.graphify_root` | 스캔 루트 경로 |
|
||||
|
||||
---
|
||||
|
||||
## 주요 명령
|
||||
|
||||
```bash
|
||||
# 최초 빌드
|
||||
/graphify <path>
|
||||
|
||||
# 변경 파일만 재추출 (코드만 변경 시 LLM 불필요)
|
||||
/graphify <path> --update
|
||||
|
||||
# 그래프 질문 (BFS: 넓은 컨텍스트)
|
||||
/graphify query "<질문>"
|
||||
|
||||
# 그래프 질문 (DFS: 특정 경로 추적)
|
||||
/graphify query "<질문>" --dfs
|
||||
|
||||
# 두 개념 간 최단 경로
|
||||
/graphify path "<A>" "<B>"
|
||||
|
||||
# 단일 노드 설명
|
||||
/graphify explain "<노드명>"
|
||||
|
||||
# 커뮤니티 재클러스터링만 (추출 생략)
|
||||
/graphify <path> --cluster-only
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 관리 정책
|
||||
|
||||
- graphify 출력물(`graphify-out/`)은 대상 프로젝트 루트가 아니라 **이 메모리 폴더(`Agent_Memories`) 하위**에서 관리하는 것을 기본 원칙으로 한다 (프로젝트 저장소를 캐시로 오염시키지 않기 위함).
|
||||
- 프로젝트별로 스캔 제외 규칙(불필요한 대용량/생성물 폴더)이 필요할 수 있음 — 대상 프로젝트의 `.gitignore` 패턴을 기본으로 따르고, 프로젝트 전용 제외 규칙은 해당 프로젝트의 자체 메모리/문서에 기록한다.
|
||||
|
||||
---
|
||||
|
||||
## 사용 규칙 (CLAUDE.md에서)
|
||||
|
||||
1. **소스 파일 읽기·grep/glob 검색·코드베이스 질문 전 항상 `graphify-out/GRAPH_REPORT.md` 먼저 읽기**
|
||||
2. `graphify-out/wiki/index.md` 존재 시 raw 파일 대신 탐색
|
||||
3. 교차 모듈 관계 질문: grep 대신 `graphify query/path/explain` 우선
|
||||
4. graphify 출력물은 대상 프로젝트 루트가 아닌 이 메모리 폴더 하위에서 관리
|
||||
|
||||
---
|
||||
|
||||
## 설치 확인
|
||||
|
||||
```bash
|
||||
# uv 기반 (권장)
|
||||
uv tool install --upgrade graphifyy
|
||||
|
||||
# pip 기반
|
||||
pip install graphifyy --break-system-packages
|
||||
```
|
||||
|
||||
GEMINI_API_KEY 또는 GOOGLE_API_KEY 미설정 시 → Claude Code 서브에이전트로 시멘틱 추출 수행.
|
||||
설정 시 → Gemini(`gemini-3-flash-preview`) 사용으로 토큰 절감.
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: 코드 주석 스타일 규칙
|
||||
description: 구현 시 주요 Logic→영문 주석, 필요시 Doxygen
|
||||
type: user
|
||||
---
|
||||
|
||||
Impl: EN comment per major logic block. Doxygen for func/class/complex logic.
|
||||
|
||||
**Applies to:** 모든 코드베이스 (프로젝트 무관, 2026-04-08 global 규칙으로 격상됨)
|
||||
|
||||
**Why:** readability/doc quality 선호, all codebases.
|
||||
|
||||
**How to apply:**
|
||||
- Every significant logic block → short English comment describing intent
|
||||
- Function/class definitions → Doxygen `/** @brief ... @param ... @return ... */`
|
||||
- Complex conditionals → inline comment: condition purpose
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: user_developer_profile
|
||||
description: 사용자의 개발자 성향 프로필 — 소통/의사결정/디버깅/UX 철학 등
|
||||
metadata:
|
||||
type: user
|
||||
---
|
||||
|
||||
| Dimension | Rating | Confidence |
|
||||
|-----------|--------|------------|
|
||||
| Communication | terse-direct | HIGH |
|
||||
| Decisions | fast-intuitive | HIGH |
|
||||
| Explanations | concise | MEDIUM |
|
||||
| Debugging | diagnostic | MEDIUM |
|
||||
| UX Philosophy | function-first | MEDIUM |
|
||||
| Vendor Choices | opinionated | LOW |
|
||||
| Frustrations | instruction-adherence | MEDIUM |
|
||||
| Learning | self-directed | MEDIUM |
|
||||
|
||||
**Directives:**
|
||||
- **Communication:** 간결·행동. 결과 먼저. 군더더기 없음.
|
||||
- **Decisions:** 명확 추천, 빠르게. 목록 금지(요청 시 제외).
|
||||
- **Explanations:** 설명+코드 간결. 한 문장 이유. 설명 불필요(요청 시 제외).
|
||||
- **Debugging:** 원인 먼저, 수정.
|
||||
- **UX Philosophy:** 기능 우선. 스타일 금지(요청 시). UX=사용성/데이터흐름.
|
||||
- **Vendor Choices:** 기술 제약 준수. 대체 라이브러리 금지(요청 시). 최소 의존성.
|
||||
- **Frustrations:** 지시 정확히. 반복 재독. 범위 확장 금지. 모호 시 질문.
|
||||
- **Learning:** 맥락 파악 전제. 직접 답변. 기본 생략.
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: 세션 시작 시 활성 스킬 안내
|
||||
description: 세션 시작 시 활성 skill 목록 사용자에게 알릴 것
|
||||
type: user
|
||||
---
|
||||
|
||||
세션 시작 시 활성 Claude skill 목록 사용자에게 안내.
|
||||
|
||||
**Why:** 사용자가 `/skills` 없이 활성 스킬 파악 가능.
|
||||
|
||||
**How to apply:** 새 세션 시작 시 (context 요약 후 첫 응답 포함) system-reminder 의 skills 목록 확인, 표 형식으로 제시.
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: user-usage-alarm
|
||||
description: Claude Code usage 리셋 알람 패턴 — 사용자가 usage 꽉 찼다고 하면 1시간 후 PushNotification 예약
|
||||
metadata:
|
||||
node_type: memory
|
||||
type: feedback
|
||||
originSessionId: 246c0ef0-1a76-42ef-bcc3-483d58b9fc21
|
||||
---
|
||||
|
||||
사용자 "usage 꽉 찼다"/"usage full" 전달 시:
|
||||
1. 즉시 `ScheduleWakeup(delaySeconds=18000)` 호출 — 5시간 후 예약
|
||||
2. 5시간 후 `PushNotification` 발송 — "Claude Code usage가 리셋됐을 것 같습니다"
|
||||
|
||||
**Why:** Claude Code usage % 조회 API 없음 — 직접 감지 불가. 사용자 수동 알림 기준 5시간 타이머.
|
||||
|
||||
**How to apply:** 사용자 usage 한도 도달 메시지 수신 즉시 — 확인 없이 ScheduleWakeup 실행.
|
||||
Reference in new issue
Block a user