# Insane Research Query

> Structured research-query builder that turns a vague topic into a research brief and machine-readable query before full insane-research starts. Use when the user wants help framing a research request. Korean triggers — "리서치 쿼리 만들어줘", "쿼리 빌더". English triggers — "research query builder", "structured research query".

- Skill: `fivetaku/insane-research-query` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add fivetaku/insane-research-query`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fivetaku/insane-research-query/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: fivetaku (https://skillmd.com/u/fivetaku)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fivetaku/insane-research-query

---


# Insane Research Query Builder for Codex

> 모호한 리서치 아이디어를 구조화된 실행 가능한 리서치 쿼리로 변환한다.

먼저 읽기:
- `$PLUGIN_ROOT/skills/insane-research-query/references/query_schema.json`

이 스킬은 사용자가 모호한 아이디어를 본격 딥리서치 전에 리서치-레디 브리프로 다듬고 싶을 때 사용한다.

## 질문 원칙 (shared/questioning-policy.md §A·§1·§2c)

Codex CLI에는 객관식 카드 위젯 UI가 **없다**. `shared/questioning-policy.md §A`의 채팅 번호 블록으로 대체한다. 추론 가능한 건 묻지 말고(§1), 요청이 이미 구체적이면 과잉질문 없이 바로 브리프를 생성한다(§2c). 사용자 입력 언어에 맞춰 모든 질문/선택지/산출물 언어를 일치시킨다.

## Codex 워크플로우

### Phase 1: Discovery (주제·타입)

주제가 불명확할 때만 한 번, §A 번호 블록으로 가장 큰 미지수만 묻는다:

```text
어떤 유형의 리서치인가요?
1. Exploratory — 무엇이 존재하는지 탐색, 지형 매핑
2. Comparative — 기술/접근/제품 비교
3. Analytical — 원인·효과·메커니즘 심층 분석
4. Predictive — 미래 트렌드·전망·예측
(번호 또는 문장으로 답해도 됩니다)
```

예시를 보고 싶다는 답이 나오면 다음에서 로드해 제시한다:
`$PLUGIN_ROOT/skills/insane-research-main/examples/`

### Phase 2: Detailed Scoping (범위·소스 품질)

핵심 주제를 잡은 뒤, 정말 모호한 제약만 §A 번호 블록으로 확인한다(추론 가능하면 기본값으로 진행):

```text
지리적 범위는?
1. Global (추천) — 전 세계 관점
2. US/North America — 미국·북미 중심
3. Asia-Pacific — APAC 중심 (한국 포함)
4. Europe — 유럽 시장 중심
(문장으로 직접 지정해도 됩니다)
```

```text
필요한 소스 품질은?
1. B - High quality (추천) — 학술 + 공식 문서 + 검증된 리포트
2. A - Academic only — 피어리뷰 논문·메타분석만
3. C - Moderate — 전문가 의견·사례 연구 포함
4. D - Broad coverage — 프리프린트·전문가 블로그까지 폭넓게
(모르면 1번으로 진행하겠습니다)
```

### Phase 3: Query Generation (쿼리 생성)

모든 입력을 모은 뒤 생성한다:
1. **구조화 JSON 쿼리** — 스키마 준수: `$PLUGIN_ROOT/skills/insane-research-query/references/query_schema.json`
2. **사람이 읽는 리서치 브리프** — 마크다운
3. **실행 체크리스트** — 품질 검증용

#### JSON 쿼리 구조
```json
{
  "task": {
    "title": "[5-15 단어 간결한 제목]",
    "objective": "[명확한 리서치 목표 진술]",
    "type": "exploratory|comparative|analytical|predictive|evaluative"
  },
  "context": {
    "background": "[왜 이 리서치가 중요한가]",
    "audience": "technical|executive|academic|general|policy_maker",
    "use_case": "[리서치가 어떻게 쓰일지]",
    "prior_knowledge": ["가정 1", "가정 2"]
  },
  "questions": {
    "primary": "[메인 리서치 질문]",
    "secondary": ["서브 질문 1", "서브 질문 2", "서브 질문 3"],
    "hypotheses": ["검증 가능한 가정 1"],
    "exclusions": ["범위 밖 주제 1"]
  },
  "constraints": {
    "timeframe": {"start": "2024-01-01", "end": "present", "focus_period": "2025-2026"},
    "geography": {"scope": "global", "regions": [], "exclude_regions": []},
    "sources": {"required_types": ["peer_reviewed", "industry_reports"], "min_quality": "B", "language": ["en"]}
  },
  "output": {
    "format": "comprehensive_report",
    "length": {"min_words": 3000, "max_words": 10000},
    "structure": {"include_executive_summary": true, "include_bibliography": true, "generate_website": false},
    "citation_style": "APA",
    "tone": "professional"
  },
  "keywords": ["keyword1", "keyword2"],
  "special_instructions": []
}
```

#### 사람이 읽는 브리프
```markdown
# Research Brief: [Title]

## Objective
[명확한 진술]

## Research Questions
### Primary Question
> [메인 질문]

### Secondary Questions
1. [서브 질문 1]
2. [서브 질문 2]

## Scope & Constraints
| Dimension | Specification |
|-----------|--------------|
| Timeframe | [기간] |
| Geography | [범위] |
| Min Quality | Grade [X] |

## Execution Checklist
- [ ] Primary question fully answered
- [ ] All secondary questions addressed
- [ ] Sources meet quality threshold
- [ ] Citations properly formatted
```

### Phase 4: Confirmation and Handoff

브리프를 보여준 뒤 §A 번호 블록으로 다음 행동을 확인한다:

```text
쿼리가 괜찮으면 바로 리서치를 시작할까요?
1. 지금 리서치 시작 (추천) — 이 쿼리로 즉시 딥리서치 실행
2. 쿼리만 저장 — JSON 쿼리를 파일로 저장해 두기
3. 쿼리 수정 — 일부 파라미터를 바꾼 뒤 진행
(번호 또는 문장으로 답해도 됩니다)
```

- **1 지금 시작** → JSON 쿼리를 `insane-research-main` 스킬에 넘긴다
- **2 저장만** → JSON을 파일로 작성 (`RESEARCH/queries/{topic}_{timestamp}.json`)
- **3 수정** → 조정 사항을 모아 루프백

---

## 품질 검증 규칙

쿼리 확정 전 검증:

### Task
- [ ] 제목이 구체적 (generic한 "AI Research" 금지)
- [ ] 목표가 측정/검증 가능
- [ ] type이 리서치 접근과 일치

### Questions
- [ ] primary가 답변 가능 (너무 광범위하지 않음)
- [ ] secondary가 primary를 지지 (탈선 아님)
- [ ] exclusions가 scope creep 방지

### Constraints
- [ ] timeframe이 주제에 현실적
- [ ] geography가 주제 관련성과 일치
- [ ] 소스 요건이 달성 가능

### Output
- [ ] 길이가 요청 깊이와 일치
- [ ] 포맷이 독자에 적합

---

## 안티패턴

### 생성 금지
- 과도하게 광범위한 질문 ("What is AI?")
- 무한 timeframe ("all history")
- 충돌하는 제약 / generic 키워드 ("technology", "innovation")
- 측정 불가 목표 ("understand everything about...")

### 생성 권장
- 구체적·답변 가능한 질문 ("미국 병원의 AI 진단도구 현재 도입률은?")
- 현실적 범위 경계 (빠른 분야는 2~3년 timeframe)
- 구체적 성공 기준 ("시장 점유율 상위 10개 도구 식별")
- 실행 가능한 검색어 ("AI radiology FDA approved 2024 2025 adoption rate")
- 명확한 exclusions ("소비자 헬스 앱·행정 AI 제외")

---

## 언어 적응

모든 질문/선택지/산출물은 사용자 감지 언어에 맞춘다.

### 한국어 입력 처리
사용자가 한국어로 입력하면 (예: "헬스케어 AI 리서치 쿼리 만들어줘"):
- 모든 질문 한국어
- geography 옵션에 한국 관련 선택지
- source 옵션에 한국 리서치 DB
- 산출물에 한국어 인용 관례

### 다국어 키워드
최대 커버리지를 위해 사용자 언어와 영어 양쪽으로 검색 키워드 생성:
```
한국어 입력: "AI 의료 진단"
생성: ["AI 의료 진단 2026", "AI medical diagnostics 2026", "의료 AI 도입 현황", "clinical AI adoption"]
```

---

## insane-research 연동

생성된 쿼리는 `insane-research-main` 스킬로 직접 들어간다:
1. 쿼리 빌더가 구조화 JSON 출력
2. 사용자가 confirm 또는 조정
3. "지금 시작" 선택 시 JSON을 `insane-research-main`에 전달
4. 요건이 이미 정의됐으므로 Phase 1(Question Scoping) 건너뜀
5. 리서치는 Phase 2(Retrieval Planning)부터 시작

쿼리 저장 위치: `RESEARCH/queries/{topic}_{timestamp}.json`

## Guardrails

- 질문은 §A 번호 블록으로 compact하게, 추론 가능한 건 묻지 않는다.
- 빈칸으로 두지 말고 구체적 기본값을 채운다.
- query schema를 구조화 출력의 계약으로 취급한다.
- 위젯형 프롬프트에 의존하지 말고 채팅으로 묻는다.

---

## References
- Query schema: `$PLUGIN_ROOT/skills/insane-research-query/references/query_schema.json`
- Example queries: `$PLUGIN_ROOT/skills/insane-research-main/examples/`

