Linear 이슈를 읽고 코드베이스를 탐색한 뒤, 인터뷰를 통해 구현 가능한 상세 스펙을 작성합니다. "스펙 작성", "스펙 인터뷰", "spec interview" 등의 요청 시 사용합니다.
Linear 이슈를 읽고, 코드베이스를 탐색하고, 인터뷰를 거쳐 구현 가능한 상세 스펙을 작성합니다.
$ARGUMENTS 판별:
ABC-123, UUID 등) → 이슈 기반 모드$ARGUMENTS가 이슈 ID → 해당 값 사용$ARGUMENTS가 없는 경우 → git branch --show-current로 현재 브랜치 이름 확인
sup-907, eng-123)이 포함되어 있으면 → 해당 번호 사용mcp__claude_ai_Linear__get_issue로 이슈 조회parentId 존재) 부모 이슈도 함께 조회하여 상위 컨텍스트 파악$ARGUMENTS의 텍스트를 스펙 주제로 사용$ARGUMENTS의 언어를 따름관련 코드를 탐색하여 구현 컨텍스트를 파악합니다.
도구 우선순위:
탐색 대상:
AskUserQuestion을 사용하여 심층 인터뷰를 진행합니다:
언어: 이슈와 동일한 언어로 작성 (한국어/영어 등)
이슈 description에 직접 작성 (STICC 구조, 헤더 텍스트 없이):
## Situation (상황)
구체적인 파일 참조와 함께 현재 상태와 컨텍스트 설명.
- 현재 구현: `path/to/file.py:ClassName`
- 문제: [코드 참조와 함께 설명]
## Task (작업)
파일 레벨의 구체적 작업:
### 1. `path/to/file.py` 수정
- `ClassName`에 `new_method()` 추가
- `existing_method()` 업데이트
### 2. `path/to/new_file.py` 생성
- `existing_pattern.py`의 패턴을 따라 `NewClass` 구현
## Intent (의도)
비즈니스 목표와 기술적 목표.
## Concerns (주의사항)
- `specific_caller.py:line_number`와의 하위 호환성
- `hot_path_function()`에 대한 성능 영향
- 엣지 케이스: [구체적 시나리오]
## Acceptance Criteria (완료 기준)
### Code Changes
- [ ] `path/to/file.py`: `new_method()` 구현됨
- [ ] `path/to/file.py`: `existing_method()` 업데이트됨
- [ ] `path/to/new_file.py`: 새 파일 생성됨
### Tests (delegate to tester)
> Delegate to `oh-my-claude-sisyphus:qa-tester` or `/test` skill.
> Pass only file patterns - tester knows how to test properly.
| Test Target | Pattern |
|-------------|---------|
| Unit tests | `tests/unit/**/test_*.py` |
| E2E tests | `tests/e2e/**/test_*.py` |
| Affected modules | `path/to/module/` |
### Quality Gates
- [ ] Tests pass (delegated)
- [ ] Lint passes
## End State (최종 상태)
### Files Changed
| File | Changes |
|------|---------|
| `path/to/file.py` | Added `new_method()`, modified `existing_method()` |
| `path/to/new_file.py` | New file with `NewClass` |
### Behavior Changes
- API `/endpoint` returns `new_field`
- `ClassName.process()` handles edge case X
### Test Targets
> For tester agent - pass these patterns only:
tests/unit/test_new_feature.py tests/e2e/test_new_feature_api.py path/to/affected/module/
서브태스크를 생성하고 부모 이슈를 Orchestration Issue로 전환:
## Execution Plan for AI Agent
> **Follow this execution plan to complete subtasks in order.**
> **Refer to each subtask ticket for detailed specs and acceptance criteria.**
### Quick Reference
- **Entry point**: `src/path/to/main_file.py`
- **Test command**: `make test` or `pytest path/`
- **Key pattern**: [e.g., Repository pattern in `src/repos/`]
### Phase 1: [Phase Name]
| # | Ticket | Status | Summary | Key Files | Depends |
|---|--------|--------|---------|-----------|---------|
| 1 | TICKET-1 | ⬜ | Work summary | `file1.py` | - |
| 2 | TICKET-2 | ⬜ | Work summary | `file2.py` | - |
### Phase 2: [Phase Name]
| # | Ticket | Status | Summary | Key Files | Depends |
|---|--------|--------|---------|-----------|---------|
| 3 | TICKET-3 | ⬜ | Work summary | `file3.py` | 1, 2 |
### Phase N: Testing (delegate)
| # | Ticket | Status | Summary | Test Patterns | Depends |
|---|--------|--------|---------|---------------|---------|
| N | TICKET-N | ⬜ | Test verification | `tests/**/test_*.py` | all |
> **Testing Phase**: Delegate to `oh-my-claude-sisyphus:qa-tester`
---
### Execution Order (Linearized)
> **Follow this order. Parallelize within same step if capable.**
1. **Step 1**: TICKET-1, TICKET-2 (parallel)
2. **Step 2**: TICKET-3 (after step 1)
3. **Step N**: TICKET-N - Testing (delegate to tester)
### Status Legend
- ⬜ Not started
- 🔄 In progress
- ✅ Completed
- ⏸️ Blocked
---
## Summary
**Goal**: One-sentence overall objective
**Key Changes**:
1. Change 1
2. Change 2
**Rollout**: Deployment strategy (feature flag, gradual, big bang, etc.)
AskUserQuestion으로 Linear 이슈에 스펙을 업데이트할지 확인:
mcp__claude_ai_Linear__update_issue로 이슈 description 업데이트parentId 설정) + 부모 이슈 description을 orchestration 내용으로 업데이트.claude/specs/{issue-id}.md에 로컬 파일로 저장.claude/specs/{kebab-case-제목}.md에 파일로 저장# {스펙 제목}을 H1 헤더로 추가.claude/specs/)Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer