---
name: rule-manager
description: >
  Skill 기반의 규칙을 레포지토리에 추가하고 관리합니다.
  기존 구조 분석 → 적절한 위치 판단 → 사용자 확인 후 추가.
  규칙 추가, 룰 추가, rule 추가, 새 규칙, 컨벤션 추가,
  스타일 가이드 추가, 가이드라인 추가 요청 시 활성화.
---

# Rule Manager

레포지토리 구조를 분석하여 Skill 기반 규칙을 적절한 위치에 추가합니다.

## 핵심 원칙

1. **모호하면 물어본다**: 불명확한 요구사항은 반드시 확인
2. **구조 우선 분석**: 기존 패턴을 파악한 후 결정
3. **사용자 확인 필수**: 추가/수정 전 반드시 승인 요청
4. **Progressive Disclosure**: 규칙도 3단계 로드 원칙 적용

## 워크플로우 개요

```
[요청 접수] → [구조 분석] → [위치 판단] → [사용자 확인] → [규칙 추가]
     │            │             │              │              │
     ▼            ▼             ▼              ▼              ▼
  모호함 확인   skills/     기존 추가 or    제안 검토      SKILL.md 생성
               agents/      새 구조 제안    승인/수정      또는 기존 수정
               rules/ 파악
```

## 1단계: 요청 분석

사용자 요청을 받으면 다음을 확인합니다:

| 확인 항목 | 질문 예시 |
|----------|----------|
| 규칙의 목적 | "이 규칙은 어떤 문제를 해결하나요?" |
| 적용 범위 | "특정 파일/디렉토리에만 적용되나요?" |
| 트리거 조건 | "언제 이 규칙이 활성화되어야 하나요?" |
| 기존 규칙 충돌 | "비슷한 기존 규칙이 있나요?" |

**모호한 경우 반드시 질문합니다.**

## 2단계: 구조 분석

레포지토리의 규칙 관련 구조를 분석합니다:

```bash
# 기존 skills 확인
ls -la skills/

# 기존 rules 확인 (있는 경우)
ls -la rules/ 2>/dev/null || echo "rules/ 없음"

# assets/rules 확인 (있는 경우)
ls -la assets/rules/ 2>/dev/null || echo "assets/rules/ 없음"

# 기존 패턴 파악
find . -name "SKILL.md" -o -name "*.mdc" -o -name ".cursorrules" 2>/dev/null
```

**분석 결과 보고:**
```
## 현재 구조 분석 결과

- **Skills**: X개 존재 (skills/)
- **Rules**: Y개 존재 (경로)
- **패턴**: [발견된 패턴 설명]
- **관련 기존 규칙**: [있으면 나열]
```

## 3단계: 위치 판단

분석 결과를 바탕으로 규칙의 위치를 판단합니다:

| 판단 기준 | 결정 |
|----------|------|
| 유사한 기존 skill 있음 | 기존 skill에 내용 추가 |
| 새로운 도메인 | 새 skill 생성 |
| 여러 skill에 공통 | 상위 레벨 skill 또는 references/ 분리 |

**판단 유형:**

### A. 기존 Skill에 추가

```
기존 skills/{name}/SKILL.md 에 섹션 추가
또는 references/에 새 파일 추가
```

### B. 새 Skill 생성

```
skills/{new-name}/
├── SKILL.md
└── references/ (필요시)
```

### C. 기존 구조 개선 제안

```
현재: 분산된 규칙들
제안: 통합 또는 재구조화
```

## 4단계: 사용자 확인

**반드시 다음 형식으로 제안하고 승인을 받습니다:**

```markdown
## 규칙 추가 제안

### 규칙 정보
- **이름**: {name}
- **목적**: {purpose}
- **트리거**: {when}

### 위치 결정
- **유형**: 기존 추가 / 새 생성
- **경로**: skills/{name}/...
- **이유**: {why}

### 변경 내용 미리보기

[변경될 내용 또는 새로 생성될 파일 미리보기]

---

이대로 진행할까요? (Y/N/수정 요청)
```

## 5단계: 규칙 추가

사용자 승인 후 실행합니다:

### 새 Skill 생성 시

```bash
mkdir -p skills/{name}/references
```

SKILL.md 작성 (progressive-disclosure 원칙 적용):

```yaml
---
name: {name}
description: >
  {무엇을 하는지 1-2문장}
  {언제 활성화되는지 트리거 키워드}
user-invocable: false  # 자동 적용 규칙인 경우
---

# {제목}

{핵심 내용 - 500줄 이하}

## 상세 가이드

- [상세 내용](references/detail.md)
```

### 기존 Skill 수정 시

1. 기존 SKILL.md 백업 (선택적)
2. 적절한 섹션에 내용 추가
3. 500줄 초과 시 references/로 분리

## 규칙 유형별 설정

| 규칙 유형 | user-invocable | 설명 |
|----------|----------------|------|
| 코딩 컨벤션 | `false` | 자동 적용 |
| 스타일 가이드 | `false` | 자동 적용 |
| 작업 지침 | `true` (기본값) | 명시적 호출 |
| 체크리스트 | `true` | 명시적 호출 |

## 체크리스트

규칙 추가 완료 후 확인:

```
[ ] name이 1-64자, 소문자/숫자/하이픈만 사용하는가?
[ ] description이 무엇+언제를 명확히 설명하는가?
[ ] 트리거 키워드가 포함되어 있는가?
[ ] SKILL.md가 500줄 이하인가?
[ ] 상세 내용이 references/로 분리되었는가?
[ ] 기존 규칙과 충돌이 없는가?
[ ] 사용자 승인을 받았는가?
```

## 완료 보고

```markdown
## 규칙 추가 완료

- **이름**: {name}
- **경로**: skills/{name}/
- **파일**:
  - SKILL.md
  - references/ (있는 경우)

### 사용 방법

- 자동 적용: {조건 설명}
- 수동 호출: `/{name}` (user-invocable인 경우)

### 검증 결과

[체크리스트 통과 여부]
```

## 상세 가이드

- [상세 워크플로우](references/workflow.md)
- [템플릿 모음](references/templates.md)
