opencode-sa-assistant 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +174 -0
- package/package.json +51 -0
- package/src/hooks/wadd-mode.ts +71 -0
- package/src/index.ts +9 -0
- package/src/prompts/gurus.ts +480 -0
- package/src/prompts/orchestrator.ts +316 -0
- package/src/prompts/specialists.ts +370 -0
- package/src/skills/docx/SKILL.md +307 -0
- package/src/skills/guru/SKILL.md +217 -0
- package/src/skills/mcp/SKILL.md +170 -0
- package/src/skills/pptx/SKILL.md +110 -0
- package/src/skills/pptx/references/sa_pptx_template.md +89 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docx
|
|
3
|
+
description: "Word 문서 생성, 편집, 분석. AWS Blog 스타일의 기술 문서, 아키텍처 가이드, 구현 문서 등 모든 .docx 파일 작업에 사용"
|
|
4
|
+
license: Proprietary
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DOCX Creation, Editing, and Analysis - AWS Blog Style
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
AWS Blog 형식의 전문적인 Word 문서를 생성합니다. docx-js 라이브러리를 사용하여 JavaScript로 Word 문서를 생성하며, AWS 공식 블로그 스타일을 준수합니다.
|
|
12
|
+
|
|
13
|
+
## AWS Blog 문서 구조
|
|
14
|
+
|
|
15
|
+
### 표준 섹션 구성
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
1. 제목 (Title)
|
|
19
|
+
- 명확하고 구체적인 제목
|
|
20
|
+
- 핵심 키워드 포함
|
|
21
|
+
|
|
22
|
+
2. 개요 (Overview)
|
|
23
|
+
- 문서의 목적과 범위
|
|
24
|
+
- 대상 독자
|
|
25
|
+
- 예상 소요 시간
|
|
26
|
+
|
|
27
|
+
3. 배경/문제 정의 (Background/Problem Statement)
|
|
28
|
+
- 현재 상황 설명
|
|
29
|
+
- 해결해야 할 문제
|
|
30
|
+
- 비즈니스 영향
|
|
31
|
+
|
|
32
|
+
4. 솔루션 아키텍처 (Solution Architecture)
|
|
33
|
+
- 아키텍처 다이어그램
|
|
34
|
+
- 주요 구성 요소 설명
|
|
35
|
+
- 데이터 흐름
|
|
36
|
+
|
|
37
|
+
5. 구현 단계 (Implementation Steps)
|
|
38
|
+
- 단계별 가이드
|
|
39
|
+
- 코드 예제
|
|
40
|
+
- 스크린샷/다이어그램
|
|
41
|
+
|
|
42
|
+
6. 비용 분석 (Cost Analysis)
|
|
43
|
+
- 예상 비용
|
|
44
|
+
- 비용 최적화 팁
|
|
45
|
+
|
|
46
|
+
7. 보안 고려사항 (Security Considerations)
|
|
47
|
+
- 보안 Best Practice
|
|
48
|
+
- IAM 정책 예시
|
|
49
|
+
|
|
50
|
+
8. 결론 (Conclusion)
|
|
51
|
+
- 핵심 요약
|
|
52
|
+
- 다음 단계
|
|
53
|
+
- 추가 리소스 링크
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## docx-js 기본 사용법
|
|
57
|
+
|
|
58
|
+
### 설정 및 기본 구조
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
|
|
62
|
+
ImageRun, Header, Footer, AlignmentType, HeadingLevel, BorderStyle,
|
|
63
|
+
WidthType, ShadingType, LevelFormat } = require('docx');
|
|
64
|
+
const fs = require('fs');
|
|
65
|
+
|
|
66
|
+
// 문서 생성
|
|
67
|
+
const doc = new Document({
|
|
68
|
+
styles: {
|
|
69
|
+
default: {
|
|
70
|
+
document: {
|
|
71
|
+
run: { font: "Arial", size: 24 } // 12pt 기본
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
paragraphStyles: [
|
|
75
|
+
{
|
|
76
|
+
id: "Title",
|
|
77
|
+
name: "Title",
|
|
78
|
+
basedOn: "Normal",
|
|
79
|
+
run: { size: 56, bold: true, color: "232F3E" }, // AWS 다크 블루
|
|
80
|
+
paragraph: { spacing: { before: 240, after: 120 }, alignment: AlignmentType.CENTER }
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: "Heading1",
|
|
84
|
+
name: "Heading 1",
|
|
85
|
+
basedOn: "Normal",
|
|
86
|
+
run: { size: 32, bold: true, color: "232F3E" },
|
|
87
|
+
paragraph: { spacing: { before: 240, after: 120 }, outlineLevel: 0 }
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: "Heading2",
|
|
91
|
+
name: "Heading 2",
|
|
92
|
+
basedOn: "Normal",
|
|
93
|
+
run: { size: 28, bold: true, color: "545B64" },
|
|
94
|
+
paragraph: { spacing: { before: 180, after: 90 }, outlineLevel: 1 }
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
sections: [{
|
|
99
|
+
properties: {
|
|
100
|
+
page: { margin: { top: 1440, right: 1440, bottom: 1440, left: 1440 } }
|
|
101
|
+
},
|
|
102
|
+
children: [/* 내용 */]
|
|
103
|
+
}]
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
// 파일 저장
|
|
107
|
+
Packer.toBuffer(doc).then(buffer => {
|
|
108
|
+
fs.writeFileSync("document.docx", buffer);
|
|
109
|
+
});
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### AWS 브랜드 색상
|
|
113
|
+
|
|
114
|
+
```javascript
|
|
115
|
+
const AWS_COLORS = {
|
|
116
|
+
SQUID_INK: "232F3E", // 메인 다크 블루
|
|
117
|
+
SMILE_ORANGE: "FF9900", // AWS 오렌지
|
|
118
|
+
ANCHOR: "545B64", // 보조 그레이
|
|
119
|
+
SQUID_INK_LIGHT: "37475A", // 라이트 다크 블루
|
|
120
|
+
CLOUD: "F2F3F3", // 배경 그레이
|
|
121
|
+
WHITE: "FFFFFF"
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 텍스트 및 단락
|
|
126
|
+
|
|
127
|
+
```javascript
|
|
128
|
+
// 제목
|
|
129
|
+
new Paragraph({
|
|
130
|
+
heading: HeadingLevel.TITLE,
|
|
131
|
+
children: [new TextRun("AWS 아키텍처 가이드")]
|
|
132
|
+
}),
|
|
133
|
+
|
|
134
|
+
// 본문 텍스트
|
|
135
|
+
new Paragraph({
|
|
136
|
+
children: [
|
|
137
|
+
new TextRun("일반 텍스트 "),
|
|
138
|
+
new TextRun({ text: "강조 텍스트", bold: true }),
|
|
139
|
+
new TextRun({ text: " 코드", font: "Courier New", color: "232F3E" })
|
|
140
|
+
]
|
|
141
|
+
}),
|
|
142
|
+
|
|
143
|
+
// 헤딩
|
|
144
|
+
new Paragraph({
|
|
145
|
+
heading: HeadingLevel.HEADING_1,
|
|
146
|
+
children: [new TextRun("1. 개요")]
|
|
147
|
+
})
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 리스트 (불릿/번호)
|
|
151
|
+
|
|
152
|
+
```javascript
|
|
153
|
+
// 문서 설정에 numbering 추가
|
|
154
|
+
const doc = new Document({
|
|
155
|
+
numbering: {
|
|
156
|
+
config: [
|
|
157
|
+
{
|
|
158
|
+
reference: "bullet-list",
|
|
159
|
+
levels: [{
|
|
160
|
+
level: 0,
|
|
161
|
+
format: LevelFormat.BULLET,
|
|
162
|
+
text: "•",
|
|
163
|
+
alignment: AlignmentType.LEFT,
|
|
164
|
+
style: { paragraph: { indent: { left: 720, hanging: 360 } } }
|
|
165
|
+
}]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
reference: "numbered-list",
|
|
169
|
+
levels: [{
|
|
170
|
+
level: 0,
|
|
171
|
+
format: LevelFormat.DECIMAL,
|
|
172
|
+
text: "%1.",
|
|
173
|
+
alignment: AlignmentType.LEFT,
|
|
174
|
+
style: { paragraph: { indent: { left: 720, hanging: 360 } } }
|
|
175
|
+
}]
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
// ... sections
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
// 불릿 리스트 사용
|
|
183
|
+
new Paragraph({
|
|
184
|
+
numbering: { reference: "bullet-list", level: 0 },
|
|
185
|
+
children: [new TextRun("첫 번째 항목")]
|
|
186
|
+
}),
|
|
187
|
+
new Paragraph({
|
|
188
|
+
numbering: { reference: "bullet-list", level: 0 },
|
|
189
|
+
children: [new TextRun("두 번째 항목")]
|
|
190
|
+
})
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### 테이블
|
|
194
|
+
|
|
195
|
+
```javascript
|
|
196
|
+
const tableBorder = { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" };
|
|
197
|
+
const cellBorders = { top: tableBorder, bottom: tableBorder, left: tableBorder, right: tableBorder };
|
|
198
|
+
|
|
199
|
+
new Table({
|
|
200
|
+
columnWidths: [3000, 6360], // DXA 단위 (1440 = 1인치)
|
|
201
|
+
rows: [
|
|
202
|
+
// 헤더 행
|
|
203
|
+
new TableRow({
|
|
204
|
+
tableHeader: true,
|
|
205
|
+
children: [
|
|
206
|
+
new TableCell({
|
|
207
|
+
borders: cellBorders,
|
|
208
|
+
shading: { fill: "232F3E", type: ShadingType.CLEAR },
|
|
209
|
+
children: [new Paragraph({
|
|
210
|
+
children: [new TextRun({ text: "서비스", bold: true, color: "FFFFFF" })]
|
|
211
|
+
})]
|
|
212
|
+
}),
|
|
213
|
+
new TableCell({
|
|
214
|
+
borders: cellBorders,
|
|
215
|
+
shading: { fill: "232F3E", type: ShadingType.CLEAR },
|
|
216
|
+
children: [new Paragraph({
|
|
217
|
+
children: [new TextRun({ text: "설명", bold: true, color: "FFFFFF" })]
|
|
218
|
+
})]
|
|
219
|
+
})
|
|
220
|
+
]
|
|
221
|
+
}),
|
|
222
|
+
// 데이터 행
|
|
223
|
+
new TableRow({
|
|
224
|
+
children: [
|
|
225
|
+
new TableCell({
|
|
226
|
+
borders: cellBorders,
|
|
227
|
+
children: [new Paragraph({ children: [new TextRun("Amazon EC2")] })]
|
|
228
|
+
}),
|
|
229
|
+
new TableCell({
|
|
230
|
+
borders: cellBorders,
|
|
231
|
+
children: [new Paragraph({ children: [new TextRun("가상 서버 컴퓨팅")] })]
|
|
232
|
+
})
|
|
233
|
+
]
|
|
234
|
+
})
|
|
235
|
+
]
|
|
236
|
+
})
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### 코드 블록
|
|
240
|
+
|
|
241
|
+
```javascript
|
|
242
|
+
// 코드 블록 스타일
|
|
243
|
+
new Paragraph({
|
|
244
|
+
shading: { fill: "F5F5F5", type: ShadingType.CLEAR },
|
|
245
|
+
spacing: { before: 120, after: 120 },
|
|
246
|
+
children: [
|
|
247
|
+
new TextRun({
|
|
248
|
+
text: "aws ec2 describe-instances --region ap-northeast-2",
|
|
249
|
+
font: "Courier New",
|
|
250
|
+
size: 20
|
|
251
|
+
})
|
|
252
|
+
]
|
|
253
|
+
})
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 이미지 삽입
|
|
257
|
+
|
|
258
|
+
```javascript
|
|
259
|
+
// 이미지 삽입 (type 필수)
|
|
260
|
+
new Paragraph({
|
|
261
|
+
alignment: AlignmentType.CENTER,
|
|
262
|
+
children: [new ImageRun({
|
|
263
|
+
type: "png",
|
|
264
|
+
data: fs.readFileSync("architecture-diagram.png"),
|
|
265
|
+
transformation: { width: 500, height: 300 },
|
|
266
|
+
altText: {
|
|
267
|
+
title: "아키텍처 다이어그램",
|
|
268
|
+
description: "AWS 솔루션 아키텍처",
|
|
269
|
+
name: "architecture"
|
|
270
|
+
}
|
|
271
|
+
})]
|
|
272
|
+
})
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## AWS Blog 스타일 가이드
|
|
276
|
+
|
|
277
|
+
### 작성 원칙
|
|
278
|
+
|
|
279
|
+
1. **명확성**: 기술 용어는 처음 사용 시 설명
|
|
280
|
+
2. **구조화**: 논리적인 섹션 구분
|
|
281
|
+
3. **실용성**: 실행 가능한 코드와 명령어 제공
|
|
282
|
+
4. **시각화**: 다이어그램과 스크린샷 활용
|
|
283
|
+
5. **완결성**: 처음부터 끝까지 따라할 수 있는 가이드
|
|
284
|
+
|
|
285
|
+
### 문서 체크리스트
|
|
286
|
+
|
|
287
|
+
- [ ] 제목이 명확하고 검색 가능한가?
|
|
288
|
+
- [ ] 개요에서 문서의 목적이 명확한가?
|
|
289
|
+
- [ ] 아키텍처 다이어그램이 포함되어 있는가?
|
|
290
|
+
- [ ] 코드 예제가 실행 가능한가?
|
|
291
|
+
- [ ] 비용 정보가 포함되어 있는가?
|
|
292
|
+
- [ ] 보안 고려사항이 명시되어 있는가?
|
|
293
|
+
- [ ] 다음 단계와 추가 리소스가 안내되어 있는가?
|
|
294
|
+
|
|
295
|
+
## 주의사항
|
|
296
|
+
|
|
297
|
+
- **줄바꿈**: `\n` 대신 별도의 Paragraph 사용
|
|
298
|
+
- **불릿**: 유니코드 기호 대신 numbering config 사용
|
|
299
|
+
- **색상**: `#` 없이 hex 코드만 사용
|
|
300
|
+
- **이미지**: type 파라미터 필수 지정
|
|
301
|
+
- **테이블 배경**: ShadingType.CLEAR 사용 (SOLID 금지)
|
|
302
|
+
|
|
303
|
+
## Dependencies
|
|
304
|
+
|
|
305
|
+
필수 의존성:
|
|
306
|
+
- **docx**: `npm install docx` (문서 생성)
|
|
307
|
+
- **sharp**: `npm install sharp` (이미지 처리)
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: guru
|
|
3
|
+
description: "전문가 Guru 자문 시스템. 아키텍처 설계, 비즈니스 전략, 기술 결정, 고객 설득 등 복잡한 문제에 대해 저명한 전문가들의 사고방식 기반 조언을 제공. 모든 중요한 결정에 적극 활용 권장"
|
|
4
|
+
license: Proprietary
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Guru 전문가 자문 시스템
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Guru 시스템은 저명한 전문가들의 사고방식을 학습한 AI 코치들로 구성됩니다.
|
|
12
|
+
복잡한 문제, 아키텍처 결정, 비즈니스 전략 등에 대해 다각적인 관점의 조언을 제공합니다.
|
|
13
|
+
|
|
14
|
+
**중요**: Guru 자문은 선택이 아닌 필수입니다. 모든 중요한 결정에 적극적으로 활용하세요.
|
|
15
|
+
|
|
16
|
+
## 사용 가능한 Guru
|
|
17
|
+
|
|
18
|
+
### 1. Jeff Bezos Guru (`sa-bezos`)
|
|
19
|
+
**전문 분야**: 고객 중심 사고, 장기적 비전, Day 1 문화
|
|
20
|
+
|
|
21
|
+
**핵심 원칙**:
|
|
22
|
+
- Customer Obsession: 모든 결정의 시작점은 고객
|
|
23
|
+
- Day 1 Mentality: 항상 스타트업처럼 민첩하게
|
|
24
|
+
- Long-term Thinking: 단기 이익보다 장기 가치
|
|
25
|
+
- Working Backwards: 고객이 원하는 결과에서 역방향으로 사고
|
|
26
|
+
|
|
27
|
+
**활용 시점**:
|
|
28
|
+
- 고객 가치 정의가 필요할 때
|
|
29
|
+
- 비즈니스 우선순위 결정 시
|
|
30
|
+
- 장기 전략 수립 시
|
|
31
|
+
- 제품/서비스 방향성 검토 시
|
|
32
|
+
|
|
33
|
+
**예시 사용법**:
|
|
34
|
+
```typescript
|
|
35
|
+
delegate_task(
|
|
36
|
+
subagent_type="sa-bezos",
|
|
37
|
+
prompt="이 아키텍처가 고객에게 어떤 가치를 제공하나요?"
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
delegate_task(
|
|
41
|
+
subagent_type="sa-bezos",
|
|
42
|
+
prompt="이 기능의 우선순위를 어떻게 정해야 할까요?"
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
delegate_task(
|
|
46
|
+
subagent_type="sa-bezos",
|
|
47
|
+
prompt="3년 후를 고려했을 때 이 결정이 맞을까요?"
|
|
48
|
+
)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Werner Vogels Guru (`sa-vogels`)
|
|
52
|
+
**전문 분야**: 분산 시스템, 확장성, 운영 우수성
|
|
53
|
+
|
|
54
|
+
**핵심 원칙**:
|
|
55
|
+
- Everything Fails: 장애는 필연, 복원력이 핵심
|
|
56
|
+
- Design for Failure: 장애를 가정한 설계
|
|
57
|
+
- Loose Coupling: 느슨한 결합, 높은 응집
|
|
58
|
+
- You Build It, You Run It: 개발팀이 운영까지
|
|
59
|
+
|
|
60
|
+
**활용 시점**:
|
|
61
|
+
- 시스템 아키텍처 설계/검토 시
|
|
62
|
+
- 확장성 전략 수립 시
|
|
63
|
+
- 장애 대응 설계 시
|
|
64
|
+
- 운영 프로세스 정의 시
|
|
65
|
+
|
|
66
|
+
**예시 사용법**:
|
|
67
|
+
```typescript
|
|
68
|
+
delegate_task(
|
|
69
|
+
subagent_type="sa-vogels",
|
|
70
|
+
prompt="이 시스템의 확장성을 어떻게 개선할 수 있을까요?"
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
delegate_task(
|
|
74
|
+
subagent_type="sa-vogels",
|
|
75
|
+
prompt="이 아키텍처의 단일 장애점은 무엇인가요?"
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
delegate_task(
|
|
79
|
+
subagent_type="sa-vogels",
|
|
80
|
+
prompt="마이크로서비스 경계를 어떻게 나눠야 할까요?"
|
|
81
|
+
)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 3. Naval Ravikant Guru (`sa-naval`)
|
|
85
|
+
**전문 분야**: 레버리지, 비대칭적 결과, 시스템적 사고
|
|
86
|
+
|
|
87
|
+
**핵심 원칙**:
|
|
88
|
+
- Leverage: 시간과 노력의 레버리지 극대화
|
|
89
|
+
- Asymmetric Outcomes: 작은 투입, 큰 결과
|
|
90
|
+
- Compounding: 복리 효과 활용
|
|
91
|
+
- Clear Thinking: 명확한 사고가 명확한 결과
|
|
92
|
+
|
|
93
|
+
**활용 시점**:
|
|
94
|
+
- 투자 대비 효과 분석 시
|
|
95
|
+
- 자동화/효율화 전략 수립 시
|
|
96
|
+
- 리소스 배분 결정 시
|
|
97
|
+
- 장기적 성장 전략 검토 시
|
|
98
|
+
|
|
99
|
+
**예시 사용법**:
|
|
100
|
+
```typescript
|
|
101
|
+
delegate_task(
|
|
102
|
+
subagent_type="sa-naval",
|
|
103
|
+
prompt="이 작업에서 레버리지를 극대화하려면?"
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
delegate_task(
|
|
107
|
+
subagent_type="sa-naval",
|
|
108
|
+
prompt="한 번 만들어서 반복 사용할 수 있는 것은?"
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
delegate_task(
|
|
112
|
+
subagent_type="sa-naval",
|
|
113
|
+
prompt="이 결정의 2차, 3차 효과는 무엇인가요?"
|
|
114
|
+
)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 4. Richard Feynman Guru (`sa-feynman`)
|
|
118
|
+
**전문 분야**: 복잡한 개념 단순화, 학습 최적화, First Principles
|
|
119
|
+
|
|
120
|
+
**핵심 원칙**:
|
|
121
|
+
- Feynman Technique: 가르칠 수 있어야 이해한 것
|
|
122
|
+
- First Principles: 근본 원리부터 시작
|
|
123
|
+
- Simplicity: 복잡한 것을 단순하게
|
|
124
|
+
- Curiosity: 끊임없는 호기심
|
|
125
|
+
|
|
126
|
+
**활용 시점**:
|
|
127
|
+
- 복잡한 개념 설명이 필요할 때
|
|
128
|
+
- 고객/이해관계자 설득 시
|
|
129
|
+
- 기술 문서 작성 시
|
|
130
|
+
- 문제의 본질 파악이 필요할 때
|
|
131
|
+
|
|
132
|
+
**예시 사용법**:
|
|
133
|
+
```typescript
|
|
134
|
+
delegate_task(
|
|
135
|
+
subagent_type="sa-feynman",
|
|
136
|
+
prompt="이 아키텍처를 비전문가에게 어떻게 설명할까요?"
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
delegate_task(
|
|
140
|
+
subagent_type="sa-feynman",
|
|
141
|
+
prompt="이 문제의 근본 원인은 무엇인가요?"
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
delegate_task(
|
|
145
|
+
subagent_type="sa-feynman",
|
|
146
|
+
prompt="가장 단순한 해결책은 무엇인가요?"
|
|
147
|
+
)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Guru 활용 전략
|
|
151
|
+
|
|
152
|
+
### 필수 활용 시점 (반드시 Guru 자문 필요)
|
|
153
|
+
|
|
154
|
+
1. **아키텍처 설계/검토**
|
|
155
|
+
- sa-vogels: 기술적 타당성, 확장성, 복원력
|
|
156
|
+
- sa-bezos: 고객 가치, 장기 비전
|
|
157
|
+
|
|
158
|
+
2. **비용 최적화 결정**
|
|
159
|
+
- sa-naval: 레버리지, ROI 분석
|
|
160
|
+
- sa-bezos: 고객 영향, 장기 비용
|
|
161
|
+
|
|
162
|
+
3. **보안 아키텍처**
|
|
163
|
+
- sa-vogels: 기술적 보안 설계
|
|
164
|
+
- sa-feynman: 보안 원칙의 본질
|
|
165
|
+
|
|
166
|
+
4. **고객 프레젠테이션 준비**
|
|
167
|
+
- sa-feynman: 명확한 설명
|
|
168
|
+
- sa-bezos: 고객 가치 강조
|
|
169
|
+
|
|
170
|
+
5. **트레이드오프 결정**
|
|
171
|
+
- 최소 2명의 Guru 자문 필수
|
|
172
|
+
- 다각적 관점 확보
|
|
173
|
+
|
|
174
|
+
### 권장 활용 패턴
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
// 패턴 1: 단일 Guru 자문
|
|
178
|
+
delegate_task(
|
|
179
|
+
subagent_type="sa-vogels",
|
|
180
|
+
prompt="이 아키텍처의 확장성 문제점은?"
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
// 패턴 2: 다중 Guru 자문 (복잡한 결정)
|
|
184
|
+
delegate_task(
|
|
185
|
+
subagent_type="sa-bezos",
|
|
186
|
+
prompt="고객 관점에서 이 기능의 가치는?"
|
|
187
|
+
)
|
|
188
|
+
delegate_task(
|
|
189
|
+
subagent_type="sa-vogels",
|
|
190
|
+
prompt="기술적으로 구현 가능한가?"
|
|
191
|
+
)
|
|
192
|
+
delegate_task(
|
|
193
|
+
subagent_type="sa-naval",
|
|
194
|
+
prompt="투자 대비 효과는?"
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
// 패턴 3: 검증 자문 (결정 후 검증)
|
|
198
|
+
// 결정을 내린 후 다른 Guru에게 검증
|
|
199
|
+
delegate_task(
|
|
200
|
+
subagent_type="sa-feynman",
|
|
201
|
+
prompt="이 결정을 단순하게 설명하면?"
|
|
202
|
+
)
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Best Practices
|
|
206
|
+
|
|
207
|
+
1. **구체적인 질문**: 막연한 질문보다 구체적인 상황과 맥락 제공
|
|
208
|
+
2. **다중 관점**: 중요한 결정은 2명 이상의 Guru에게 자문
|
|
209
|
+
3. **후속 질문**: 첫 답변에서 더 깊이 파고들기
|
|
210
|
+
4. **결과 종합**: 여러 Guru의 조언을 종합하여 최종 결정
|
|
211
|
+
5. **적극적 활용**: 의심될 때는 항상 Guru에게 물어보기
|
|
212
|
+
|
|
213
|
+
## 주의사항
|
|
214
|
+
|
|
215
|
+
- Guru는 조언을 제공하지만 최종 결정은 사용자의 몫
|
|
216
|
+
- 각 Guru의 전문 분야에 맞는 질문이 더 좋은 답변을 얻음
|
|
217
|
+
- 복잡한 문제는 여러 Guru의 관점을 종합하여 판단
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp
|
|
3
|
+
description: "AWS MCP 도구 사용 가이드. AWS Documentation, Support, Pricing, Well-Architected Security MCP 서버를 활용한 정보 조회 및 분석"
|
|
4
|
+
license: Proprietary
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# AWS MCP Tools Skill
|
|
8
|
+
|
|
9
|
+
AWS 관련 정보를 조회하고 분석하기 위한 MCP 도구 사용 가이드입니다.
|
|
10
|
+
|
|
11
|
+
## AWS Documentation MCP Server
|
|
12
|
+
|
|
13
|
+
AWS 공식 문서를 검색하고 읽을 수 있습니다.
|
|
14
|
+
|
|
15
|
+
### 도구 목록
|
|
16
|
+
|
|
17
|
+
#### search_documentation
|
|
18
|
+
AWS 문서를 검색합니다.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
사용 예시:
|
|
22
|
+
- 서비스 기능 검색: "Lambda concurrency limits"
|
|
23
|
+
- Best Practice 검색: "S3 security best practices"
|
|
24
|
+
- 아키텍처 패턴 검색: "serverless architecture patterns"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**파라미터:**
|
|
28
|
+
- `query`: 검색어 (필수)
|
|
29
|
+
- `max_results`: 최대 결과 수 (선택, 기본: 10)
|
|
30
|
+
|
|
31
|
+
#### read_documentation
|
|
32
|
+
특정 문서의 내용을 읽습니다.
|
|
33
|
+
|
|
34
|
+
**파라미터:**
|
|
35
|
+
- `url`: 문서 URL (필수)
|
|
36
|
+
|
|
37
|
+
### 사용 시점
|
|
38
|
+
- 서비스 기능 및 제한사항 확인
|
|
39
|
+
- Best Practice 및 권장사항 조회
|
|
40
|
+
- 아키텍처 패턴 및 사례 연구
|
|
41
|
+
- API 및 SDK 문서 참조
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## AWS Support MCP Server
|
|
46
|
+
|
|
47
|
+
AWS Support 케이스를 검색하고 조회합니다.
|
|
48
|
+
|
|
49
|
+
### 도구 목록
|
|
50
|
+
|
|
51
|
+
#### search_cases
|
|
52
|
+
지원 케이스를 검색합니다.
|
|
53
|
+
|
|
54
|
+
**파라미터:**
|
|
55
|
+
- `query`: 검색어 (필수)
|
|
56
|
+
- `status`: 케이스 상태 필터 (선택)
|
|
57
|
+
|
|
58
|
+
#### get_case
|
|
59
|
+
특정 케이스의 상세 정보를 조회합니다.
|
|
60
|
+
|
|
61
|
+
**파라미터:**
|
|
62
|
+
- `case_id`: 케이스 ID (필수)
|
|
63
|
+
|
|
64
|
+
### 사용 시점
|
|
65
|
+
- 알려진 이슈 확인
|
|
66
|
+
- 해결 방안 조사
|
|
67
|
+
- 유사 문제 사례 검색
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## AWS Pricing MCP Server
|
|
72
|
+
|
|
73
|
+
AWS 서비스 가격 정보를 조회합니다.
|
|
74
|
+
|
|
75
|
+
### 도구 목록
|
|
76
|
+
|
|
77
|
+
#### get_pricing
|
|
78
|
+
서비스 가격 정보를 조회합니다.
|
|
79
|
+
|
|
80
|
+
**파라미터:**
|
|
81
|
+
- `service`: 서비스 코드 (필수, 예: "AmazonEC2", "AmazonS3")
|
|
82
|
+
- `region`: 리전 (선택)
|
|
83
|
+
- `filters`: 추가 필터 (선택)
|
|
84
|
+
|
|
85
|
+
#### estimate_cost
|
|
86
|
+
예상 비용을 계산합니다.
|
|
87
|
+
|
|
88
|
+
**파라미터:**
|
|
89
|
+
- `resources`: 리소스 목록 (필수)
|
|
90
|
+
- `period`: 기간 (선택, 기본: "monthly")
|
|
91
|
+
|
|
92
|
+
### 사용 시점
|
|
93
|
+
- 비용 분석 및 추정
|
|
94
|
+
- TCO (Total Cost of Ownership) 계산
|
|
95
|
+
- 비용 최적화 권장사항 도출
|
|
96
|
+
- 서비스 간 비용 비교
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Well-Architected Security MCP Server
|
|
101
|
+
|
|
102
|
+
AWS Well-Architected Framework 보안 관련 정보를 제공합니다.
|
|
103
|
+
|
|
104
|
+
### 도구 목록
|
|
105
|
+
|
|
106
|
+
#### get_security_best_practices
|
|
107
|
+
보안 Best Practice를 조회합니다.
|
|
108
|
+
|
|
109
|
+
**파라미터:**
|
|
110
|
+
- `category`: 보안 카테고리 (선택)
|
|
111
|
+
- "identity": IAM 및 접근 관리
|
|
112
|
+
- "detection": 탐지 및 모니터링
|
|
113
|
+
- "infrastructure": 인프라 보호
|
|
114
|
+
- "data": 데이터 보호
|
|
115
|
+
- "incident": 인시던트 대응
|
|
116
|
+
|
|
117
|
+
#### evaluate_security
|
|
118
|
+
보안 구성을 평가합니다.
|
|
119
|
+
|
|
120
|
+
**파라미터:**
|
|
121
|
+
- `architecture`: 아키텍처 설명 (필수)
|
|
122
|
+
- `checklist`: 평가 체크리스트 (선택)
|
|
123
|
+
|
|
124
|
+
### 사용 시점
|
|
125
|
+
- 보안 아키텍처 검토
|
|
126
|
+
- 컴플라이언스 확인
|
|
127
|
+
- 보안 권장사항 도출
|
|
128
|
+
- 취약점 분석
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## MCP 도구 사용 원칙
|
|
133
|
+
|
|
134
|
+
1. **정보 수집 우선**: 답변 전 관련 정보를 MCP로 확인
|
|
135
|
+
2. **다중 소스 활용**: 여러 MCP 도구를 조합하여 종합적 분석
|
|
136
|
+
3. **최신 정보 확인**: 캐시된 정보보다 실시간 조회 우선
|
|
137
|
+
4. **근거 명시**: MCP에서 얻은 정보의 출처 명시
|
|
138
|
+
5. **제한사항 인지**: 각 도구의 제한사항 고려
|
|
139
|
+
|
|
140
|
+
## 일반적인 워크플로우
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
1. 요구사항 분석
|
|
144
|
+
↓
|
|
145
|
+
2. AWS Documentation MCP로 관련 서비스 문서 검색
|
|
146
|
+
↓
|
|
147
|
+
3. Pricing MCP로 비용 정보 수집
|
|
148
|
+
↓
|
|
149
|
+
4. Well-Architected Security MCP로 보안 검토
|
|
150
|
+
↓
|
|
151
|
+
5. Support MCP로 알려진 이슈 확인 (필요시)
|
|
152
|
+
↓
|
|
153
|
+
6. 종합 분석 및 권장사항 도출
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## 서비스 코드 참조
|
|
157
|
+
|
|
158
|
+
### 주요 AWS 서비스 코드
|
|
159
|
+
| 서비스 | 코드 |
|
|
160
|
+
|--------|------|
|
|
161
|
+
| Amazon EC2 | AmazonEC2 |
|
|
162
|
+
| Amazon S3 | AmazonS3 |
|
|
163
|
+
| Amazon RDS | AmazonRDS |
|
|
164
|
+
| AWS Lambda | AWSLambda |
|
|
165
|
+
| Amazon DynamoDB | AmazonDynamoDB |
|
|
166
|
+
| Amazon CloudFront | AmazonCloudFront |
|
|
167
|
+
| Amazon EKS | AmazonEKS |
|
|
168
|
+
| Amazon ECS | AmazonECS |
|
|
169
|
+
| Amazon VPC | AmazonVPC |
|
|
170
|
+
| AWS Fargate | AWSFargate |
|