---
name: sd-issue
description: simplysm 라이브러리에 대한 GitHub 이슈를 생성하는 스킬. "이슈 생성", "이슈 등록", "버그 리포트" 등을 요청할 때 사용한다.
model: haiku
---

# sd-issue: simplysm 이슈 생성

`@simplysm/*` 라이브러리의 문제를 `kslhunter/simplysm` 리포에 이슈로 생성한다. 이슈는 **simplysm 메인테이너가 재현 가능한 형태**로 작성한다.

## 사용법

```
/sd-issue {현상 설명}
/sd-issue --dry-run {현상 설명}
```

- `--dry-run`: `gh issue create` 명령어를 텍스트로 출력만 하고 실제 실행하지 않는다.

## 프로세스

```
Step 1: 정보 수집 → Step 2: 이슈 본문 작성 → Step 3: 사용자 확인 → Step 4: 이슈 생성
```

## Step 1: 정보 수집

사용자 입력에서 아래 항목을 추출한다. 부족한 항목이 있으면 `sd-clarify` 지침에 따라 명확화한다.

| 항목 | 설명 | 필수 |
|------|------|------|
| 영향받는 패키지@버전 | 예: `@simplysm/core-common@18.2.0` | O |
| 실행 환경 | Node/브라우저, Angular 버전 등 재현에 필요한 환경 정보 | O |
| 재현 절차 | 문제를 재현하는 구체적 절차 | O |
| 기대 동작 | 기대한 결과 | O |
| 실제 동작 | 에러 메시지 원문 포함, 실제로 관찰한 결과 | O |

## Step 2: 이슈 본문 작성

아래 형식으로 이슈 본문을 작성한다.

### 이슈 형식

```markdown
## 환경

- 패키지: {패키지명@버전}
- {실행 환경 정보}

## 재현 절차

{메인테이너가 simplysm 리포만으로 재현할 수 있는 절차}

## 기대 동작

{기대한 결과}

## 실제 동작

{에러 메시지 원문 등 실제로 관찰한 결과}
```

### 이슈 본문 작성 규칙

재현 절차는 사용자가 실제로 한 행동·입력값·환경을 **사용자 발언 그대로** 옮겨 적는다. 사용자가 직접 보여준 코드 스니펫이 있으면 그 스니펫을 그대로 본문에 옮긴다. 메인테이너가 simplysm 격리 환경에서 재현하기 어렵다고 판단하면 이슈에 직접 추가 정보를 요청한다.

다음 행위를 절대 하지 않는다:

- **단계 창작 금지**: 사용자가 말하지 않은 단계를 추가하거나 만들어 넣지 않는다
- **재구성·일반화 금지**: 절차를 simplysm-only 환경으로 변환하거나 다른 형태로 일반화하지 않는다
- **추측 채움 금지**: 누락된 정보를 추측으로 채우지 않는다 (반드시 질문)
- **코드 구조 변형 금지**: 사용자가 말한 코드 구조를 "최소 재현"·"정적 예시"로 단순화하지 않는다
- **원인 분석/추측 금지**: "~때문에 발생", "~가 원인" 등 원인을 단정하거나 추측하는 문장 — 메인테이너가 직접 분석해야 하므로 추측은 오히려 방해가 된다
- **내부 구현 언급 금지**: 라이브러리의 소스 파일 경로, 라인 번호, private 멤버, 정규식 패턴, 상속 체인 등
- **수정 방안 금지**: 해결 방법, 대안, 워크어라운드, 코드 변경 제안

이슈 제목 및 내용은 대화에서 사용 중인 언어로 작성한다.

## Step 3: 사용자 확인

작성한 이슈 제목과 본문을 사용자에게 보여주고 확인을 요청한다. 사용자가 수정을 요청하면 반영한다.

## Step 4: 이슈 생성

### dry-run 모드

`gh issue create` 명령어를 텍스트로 출력하고 종료한다. 실제 실행하지 않는다.

```bash
gh issue create --repo kslhunter/simplysm --title "{제목}" --body "{본문}"
```

### 일반 모드

사용자 확인 후 `gh issue create`를 실행한다.

```bash
gh issue create --repo kslhunter/simplysm --title "{제목}" --body "{본문}"
```

실행 결과로 생성된 이슈 URL을 사용자에게 보여준다.
