moai-adk 0.3.13__py3-none-any.whl → 0.4.0__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +8 -1
- moai_adk/__main__.py +1 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/doctor.py +2 -2
- moai_adk/cli/commands/status.py +1 -1
- moai_adk/cli/commands/update.py +136 -90
- moai_adk/cli/prompts/init_prompts.py +1 -1
- moai_adk/core/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +2 -1
- moai_adk/core/template/config.py +24 -0
- moai_adk/core/template/languages.py +1 -1
- moai_adk/core/template/merger.py +58 -1
- moai_adk/core/template/processor.py +41 -12
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +558 -3
- moai_adk/templates/.claude/commands/alfred/0-project.md +480 -12
- moai_adk/templates/.claude/commands/alfred/1-plan.md +563 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +15 -516
- moai_adk/templates/.claude/commands/alfred/2-build.md +15 -417
- moai_adk/templates/.claude/commands/alfred/2-run.md +460 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +10 -31
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +513 -0
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +419 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +332 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +384 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +349 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +552 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +499 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +69 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +69 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +74 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +59 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +76 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +61 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +63 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +61 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +54 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +46 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +69 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +65 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +65 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/scripts/standardize_skills.py +166 -0
- moai_adk/templates/.claude/skills/scripts/verify_standardization.sh +43 -0
- moai_adk/templates/CLAUDE.md +153 -0
- moai_adk/templates/__init__.py +1 -1
- moai_adk/utils/__init__.py +1 -1
- moai_adk/utils/banner.py +7 -7
- moai_adk/utils/logger.py +1 -1
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/METADATA +231 -1
- moai_adk-0.4.0.dist-info/RECORD +145 -0
- moai_adk-0.3.13.dist-info/RECORD +0 -90
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -222,6 +222,258 @@ Brief description of agent's expertise and purpose.
|
|
|
222
222
|
- `!command`: Bash 명령어 실행
|
|
223
223
|
- `@file.txt`: 파일 내용 참조
|
|
224
224
|
|
|
225
|
+
## 🎓 Skills 시스템 (재사용 가능한 기능 블록)
|
|
226
|
+
|
|
227
|
+
**Skills**는 특정 작업에 대한 재사용 가능한 지식과 실행 패턴을 캡슐화한 기능 블록입니다.
|
|
228
|
+
|
|
229
|
+
### Skills vs Agents vs Commands 비교
|
|
230
|
+
|
|
231
|
+
| 항목 | Skills | Agents | Commands |
|
|
232
|
+
|------|--------|--------|----------|
|
|
233
|
+
| **목적** | 재사용 가능한 작업 패턴 | 독립 컨텍스트 전문가 | 워크플로우 오케스트레이션 |
|
|
234
|
+
| **실행 방식** | 메인 세션 내 통합 | 별도 서브에이전트 세션 | 슬래시 커맨드 |
|
|
235
|
+
| **컨텍스트** | 메인 세션 공유 | 독립 컨텍스트 | 메인 세션 공유 |
|
|
236
|
+
| **사용 예** | SQL 쿼리, API 호출 패턴 | 복잡한 분석, 검증 | 다단계 파이프라인 |
|
|
237
|
+
|
|
238
|
+
### Skills 파일 표준 구조
|
|
239
|
+
|
|
240
|
+
**파일 위치**: `.claude/skills/`
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
---
|
|
244
|
+
name: skill-name
|
|
245
|
+
description: Clear description of what this skill provides
|
|
246
|
+
model: haiku
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
# Skill Name
|
|
250
|
+
|
|
251
|
+
Detailed explanation of the skill's purpose and capabilities.
|
|
252
|
+
|
|
253
|
+
## Usage Pattern
|
|
254
|
+
|
|
255
|
+
- When to use this skill
|
|
256
|
+
- Prerequisites
|
|
257
|
+
- Expected inputs
|
|
258
|
+
|
|
259
|
+
## Examples
|
|
260
|
+
|
|
261
|
+
```language
|
|
262
|
+
# Example usage
|
|
263
|
+
code example here
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Best Practices
|
|
267
|
+
|
|
268
|
+
- Dos and don'ts
|
|
269
|
+
- Common pitfalls
|
|
270
|
+
- Optimization tips
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**필수 YAML 필드**:
|
|
274
|
+
|
|
275
|
+
- `name`: 스킬 이름 (kebab-case)
|
|
276
|
+
- `description`: 명확한 한 줄 설명
|
|
277
|
+
- `model`: AI 모델 지정 (haiku/sonnet/opus)
|
|
278
|
+
|
|
279
|
+
### Skills 활용 가이드
|
|
280
|
+
|
|
281
|
+
**언제 Skills를 사용하는가?**
|
|
282
|
+
|
|
283
|
+
- ✅ 반복적인 작업 패턴 (SQL 쿼리 작성, API 호출 템플릿)
|
|
284
|
+
- ✅ 도메인 지식 공유 (프로젝트별 코딩 컨벤션, 특정 프레임워크 사용법)
|
|
285
|
+
- ✅ 메인 세션과 컨텍스트 공유가 필요할 때
|
|
286
|
+
- ❌ 복잡한 다단계 워크플로우 (→ Commands 사용)
|
|
287
|
+
- ❌ 독립적인 분석/검증 (→ Agents 사용)
|
|
288
|
+
|
|
289
|
+
**MoAI-ADK와의 통합 예시**:
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
# .claude/skills/ears-pattern.md
|
|
293
|
+
---
|
|
294
|
+
name: ears-pattern
|
|
295
|
+
description: EARS 방식 요구사항 작성 패턴 가이드
|
|
296
|
+
model: haiku
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
# EARS Requirements Pattern
|
|
300
|
+
|
|
301
|
+
MoAI-ADK의 SPEC 작성 시 사용하는 EARS 패턴 적용 가이드.
|
|
302
|
+
|
|
303
|
+
## 5가지 EARS 구문
|
|
304
|
+
|
|
305
|
+
1. **Ubiquitous**: 시스템은 [기능]을 제공해야 한다
|
|
306
|
+
2. **Event-driven**: WHEN [조건]이면, 시스템은 [동작]해야 한다
|
|
307
|
+
3. **State-driven**: WHILE [상태]일 때, 시스템은 [동작]해야 한다
|
|
308
|
+
4. **Optional**: WHERE [조건]이면, 시스템은 [동작]할 수 있다
|
|
309
|
+
5. **Constraints**: IF [조건]이면, 시스템은 [제약]해야 한다
|
|
310
|
+
|
|
311
|
+
## Usage
|
|
312
|
+
|
|
313
|
+
SPEC 작성 시 이 패턴을 참조하여 요구사항을 구조화합니다.
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Skills 우선순위 규칙
|
|
317
|
+
|
|
318
|
+
1. **Project-level**: `.claude/skills/` (프로젝트별 특화)
|
|
319
|
+
2. **User-level**: `~/.claude/skills/` (개인 전역 설정)
|
|
320
|
+
3. **Marketplace**: 공개 마켓플레이스 스킬
|
|
321
|
+
|
|
322
|
+
프로젝트 레벨이 사용자 레벨보다 우선순위가 높습니다.
|
|
323
|
+
|
|
324
|
+
## 🔌 Plugins 시스템 (외부 도구 통합)
|
|
325
|
+
|
|
326
|
+
**Plugins**는 Claude Code를 외부 서비스, API, 도구와 통합하는 확장 메커니즘입니다.
|
|
327
|
+
|
|
328
|
+
### Plugins 핵심 개념
|
|
329
|
+
|
|
330
|
+
**Plugin의 역할**:
|
|
331
|
+
|
|
332
|
+
- **외부 API 통합**: GitHub, Linear, Jira, Slack 등 외부 서비스 연동
|
|
333
|
+
- **도구 확장**: MCP (Model Context Protocol) 서버를 통한 도구 추가
|
|
334
|
+
- **워크플로우 자동화**: 외부 시스템과의 데이터 교환 자동화
|
|
335
|
+
|
|
336
|
+
**MCP (Model Context Protocol)**:
|
|
337
|
+
|
|
338
|
+
- Claude Code가 외부 도구와 통신하는 표준 프로토콜
|
|
339
|
+
- JSON-RPC 기반 통신
|
|
340
|
+
- Resources, Prompts, Tools 제공
|
|
341
|
+
|
|
342
|
+
### Plugin 설치 및 사용
|
|
343
|
+
|
|
344
|
+
**설치 위치**:
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
# 프로젝트 레벨 (권장)
|
|
348
|
+
.claude/plugins/
|
|
349
|
+
|
|
350
|
+
# 사용자 레벨
|
|
351
|
+
~/.claude/plugins/
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**설정 파일** (`.claude/settings.json`):
|
|
355
|
+
|
|
356
|
+
```json
|
|
357
|
+
{
|
|
358
|
+
"mcpServers": {
|
|
359
|
+
"github": {
|
|
360
|
+
"command": "npx",
|
|
361
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
362
|
+
"env": {
|
|
363
|
+
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
"filesystem": {
|
|
367
|
+
"command": "npx",
|
|
368
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### MoAI-ADK와 Plugins 통합
|
|
375
|
+
|
|
376
|
+
**권장 Plugin 구성**:
|
|
377
|
+
|
|
378
|
+
| Plugin | 용도 | MoAI-ADK 연동 |
|
|
379
|
+
|--------|------|--------------|
|
|
380
|
+
| **GitHub MCP** | PR/Issue 관리 | `/alfred:3-sync`에서 PR 자동 생성 |
|
|
381
|
+
| **Filesystem MCP** | 파일 시스템 접근 | `.moai/` 디렉토리 안전한 접근 |
|
|
382
|
+
| **Brave Search MCP** | 웹 검색 | 기술 문서 참조 시 자동 검색 |
|
|
383
|
+
|
|
384
|
+
**MoAI-ADK 최적화 설정 예시**:
|
|
385
|
+
|
|
386
|
+
```json
|
|
387
|
+
{
|
|
388
|
+
"mcpServers": {
|
|
389
|
+
"github": {
|
|
390
|
+
"command": "npx",
|
|
391
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
392
|
+
"env": {
|
|
393
|
+
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
"moai-filesystem": {
|
|
397
|
+
"command": "npx",
|
|
398
|
+
"args": [
|
|
399
|
+
"-y",
|
|
400
|
+
"@modelcontextprotocol/server-filesystem",
|
|
401
|
+
"${CLAUDE_PROJECT_DIR}/.moai",
|
|
402
|
+
"${CLAUDE_PROJECT_DIR}/src",
|
|
403
|
+
"${CLAUDE_PROJECT_DIR}/tests"
|
|
404
|
+
]
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Plugin 보안 원칙
|
|
411
|
+
|
|
412
|
+
- **환경변수 사용**: API 토큰은 절대 하드코딩하지 않고 환경변수로 관리
|
|
413
|
+
- **경로 제한**: Filesystem MCP는 허용된 디렉토리만 명시
|
|
414
|
+
- **최소 권한**: 필요한 Plugin만 활성화
|
|
415
|
+
- **민감 정보 차단**: `.env`, `secrets/` 등 접근 금지
|
|
416
|
+
|
|
417
|
+
## 🏪 Plugin Marketplaces
|
|
418
|
+
|
|
419
|
+
**공식 Plugin 저장소**:
|
|
420
|
+
|
|
421
|
+
1. **Anthropic MCP Servers**: https://github.com/modelcontextprotocol/servers
|
|
422
|
+
2. **Community Plugins**: https://glama.ai/mcp/servers
|
|
423
|
+
|
|
424
|
+
### 추천 Plugin 목록 (MoAI-ADK 관점)
|
|
425
|
+
|
|
426
|
+
| Plugin | 설명 | MoAI-ADK 활용 |
|
|
427
|
+
|--------|------|--------------|
|
|
428
|
+
| **@modelcontextprotocol/server-github** | GitHub API 통합 | PR/Issue 자동 생성, 코드 리뷰 |
|
|
429
|
+
| **@modelcontextprotocol/server-filesystem** | 안전한 파일 시스템 접근 | `.moai/` 구조화된 읽기/쓰기 |
|
|
430
|
+
| **@modelcontextprotocol/server-brave-search** | 웹 검색 | 기술 문서 참조 검색 |
|
|
431
|
+
| **@modelcontextprotocol/server-sqlite** | SQLite DB 접근 | 프로젝트 메타데이터 저장 |
|
|
432
|
+
|
|
433
|
+
### Plugin 설치 가이드
|
|
434
|
+
|
|
435
|
+
**1. npm을 통한 설치**:
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
# GitHub Plugin 설치 예시
|
|
439
|
+
npx @modelcontextprotocol/server-github
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
**2. settings.json에 등록**:
|
|
443
|
+
|
|
444
|
+
```json
|
|
445
|
+
{
|
|
446
|
+
"mcpServers": {
|
|
447
|
+
"github": {
|
|
448
|
+
"command": "npx",
|
|
449
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
450
|
+
"env": {
|
|
451
|
+
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
**3. 환경변수 설정**:
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
# .bashrc 또는 .zshrc
|
|
462
|
+
export GITHUB_TOKEN="your_github_token_here"
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**4. Claude Code 재시작**:
|
|
466
|
+
|
|
467
|
+
Plugin이 활성화되려면 Claude Code를 재시작해야 합니다.
|
|
468
|
+
|
|
469
|
+
### Plugin 검증 체크리스트
|
|
470
|
+
|
|
471
|
+
- [ ] Plugin 출처 신뢰성 확인 (공식 또는 검증된 커뮤니티)
|
|
472
|
+
- [ ] 필요한 환경변수 설정 완료
|
|
473
|
+
- [ ] settings.json 구문 오류 없음
|
|
474
|
+
- [ ] 파일 시스템 접근 경로 제한 확인
|
|
475
|
+
- [ ] API 토큰 보안 관리 (환경변수 사용)
|
|
476
|
+
|
|
225
477
|
## ⚙️ Claude Code 권한 설정 최적화
|
|
226
478
|
|
|
227
479
|
### 권장 권한 구성 (.claude/settings.json)
|
|
@@ -345,12 +597,30 @@ Brief description of agent's expertise and purpose.
|
|
|
345
597
|
- [ ] 도구 권한 최소화 원칙 적용
|
|
346
598
|
- [ ] 에이전트명 kebab-case 준수
|
|
347
599
|
|
|
600
|
+
### Skills 파일 검증
|
|
601
|
+
|
|
602
|
+
- [ ] YAML frontmatter 존재 및 유효성
|
|
603
|
+
- [ ] `name`, `description`, `model` 필드 완전성
|
|
604
|
+
- [ ] 스킬명 kebab-case 준수
|
|
605
|
+
- [ ] Usage Pattern 섹션 포함
|
|
606
|
+
- [ ] Examples 섹션에 구체적 예시 포함
|
|
607
|
+
- [ ] Best Practices 섹션 포함
|
|
608
|
+
|
|
609
|
+
### Plugins 설정 검증
|
|
610
|
+
|
|
611
|
+
- [ ] settings.json의 mcpServers 섹션 구문 오류 없음
|
|
612
|
+
- [ ] 각 Plugin의 command, args 필드 완전성
|
|
613
|
+
- [ ] 환경변수 사용 (API 토큰 하드코딩 금지)
|
|
614
|
+
- [ ] Filesystem MCP 경로 제한 확인
|
|
615
|
+
- [ ] Plugin 출처 신뢰성 확인 (공식/검증된 커뮤니티)
|
|
616
|
+
|
|
348
617
|
### 설정 파일 검증
|
|
349
618
|
|
|
350
619
|
- [ ] settings.json 구문 오류 없음
|
|
351
620
|
- [ ] 필수 권한 설정 완전성
|
|
352
621
|
- [ ] 보안 정책 준수 (민감 파일 차단)
|
|
353
622
|
- [ ] 훅 설정 유효성
|
|
623
|
+
- [ ] mcpServers 설정 유효성 (Plugins 사용 시)
|
|
354
624
|
|
|
355
625
|
## 🛠️ 파일 생성/수정 가이드라인
|
|
356
626
|
|
|
@@ -371,6 +641,51 @@ Brief description of agent's expertise and purpose.
|
|
|
371
641
|
5. 다른 에이전트와의 협업 규칙 설정
|
|
372
642
|
6. 표준 검증 통과 확인
|
|
373
643
|
|
|
644
|
+
### 새 Skill 생성 절차
|
|
645
|
+
|
|
646
|
+
1. **재사용 가능성 확인**: 반복적 패턴인지 확인
|
|
647
|
+
2. **표준 템플릿 적용**: `.claude/skills/` 위치에 생성
|
|
648
|
+
3. **필수 섹션 포함**:
|
|
649
|
+
- Usage Pattern (사용 시점 명시)
|
|
650
|
+
- Examples (구체적 코드 예시)
|
|
651
|
+
- Best Practices (권장사항/주의사항)
|
|
652
|
+
4. **모델 선택**: haiku (일반), sonnet (복잡한 판단)
|
|
653
|
+
5. **검증**: YAML frontmatter 완전성 확인
|
|
654
|
+
|
|
655
|
+
**Skill 생성 예시**:
|
|
656
|
+
|
|
657
|
+
```bash
|
|
658
|
+
@agent-cc-manager "EARS 패턴 작성 가이드를 Skill로 생성해주세요"
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
### 새 Plugin 설정 절차
|
|
662
|
+
|
|
663
|
+
1. **Plugin 출처 확인**: 공식 또는 검증된 커뮤니티인지 확인
|
|
664
|
+
2. **필요성 검증**: 외부 시스템 통합이 실제로 필요한지 확인
|
|
665
|
+
3. **settings.json 업데이트**:
|
|
666
|
+
```json
|
|
667
|
+
{
|
|
668
|
+
"mcpServers": {
|
|
669
|
+
"plugin-name": {
|
|
670
|
+
"command": "npx",
|
|
671
|
+
"args": ["-y", "@modelcontextprotocol/server-name"],
|
|
672
|
+
"env": {
|
|
673
|
+
"API_TOKEN": "${API_TOKEN}"
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
```
|
|
679
|
+
4. **환경변수 설정**: API 토큰 등 환경변수로 관리
|
|
680
|
+
5. **경로 제한 확인**: Filesystem MCP 사용 시 허용 경로 명시
|
|
681
|
+
6. **테스트**: Claude Code 재시작 후 동작 확인
|
|
682
|
+
|
|
683
|
+
**Plugin 설정 예시**:
|
|
684
|
+
|
|
685
|
+
```bash
|
|
686
|
+
@agent-cc-manager "GitHub MCP Plugin 설정을 추가해주세요"
|
|
687
|
+
```
|
|
688
|
+
|
|
374
689
|
### 기존 파일 수정 절차
|
|
375
690
|
|
|
376
691
|
1. 현재 표준 준수도 확인
|
|
@@ -404,6 +719,82 @@ Brief description of agent's expertise and purpose.
|
|
|
404
719
|
2. 필수 필드 누락 확인
|
|
405
720
|
3. 파일 경로 및 이름 확인
|
|
406
721
|
|
|
722
|
+
### Skill 인식 실패
|
|
723
|
+
|
|
724
|
+
**증상**: Skill이 로드되지 않거나 사용할 수 없음
|
|
725
|
+
**해결**:
|
|
726
|
+
|
|
727
|
+
1. `.claude/skills/` 디렉토리 경로 확인
|
|
728
|
+
2. YAML frontmatter 구문 오류 확인 (name, description, model)
|
|
729
|
+
3. 파일명이 kebab-case인지 확인
|
|
730
|
+
4. Claude Code 재시작
|
|
731
|
+
|
|
732
|
+
**검증 명령어**:
|
|
733
|
+
|
|
734
|
+
```bash
|
|
735
|
+
# Skills 디렉토리 확인
|
|
736
|
+
ls -la .claude/skills/
|
|
737
|
+
|
|
738
|
+
# YAML frontmatter 검증
|
|
739
|
+
head -10 .claude/skills/your-skill.md
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
### Plugin 연결 실패
|
|
743
|
+
|
|
744
|
+
**증상**: MCP Plugin이 작동하지 않음
|
|
745
|
+
**해결**:
|
|
746
|
+
|
|
747
|
+
1. **settings.json 구문 확인**:
|
|
748
|
+
```bash
|
|
749
|
+
# JSON 유효성 검증
|
|
750
|
+
cat .claude/settings.json | jq .
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
2. **환경변수 확인**:
|
|
754
|
+
```bash
|
|
755
|
+
# API 토큰 설정 여부 확인
|
|
756
|
+
echo $GITHUB_TOKEN
|
|
757
|
+
echo $ANTHROPIC_API_KEY
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
3. **Plugin 설치 확인**:
|
|
761
|
+
```bash
|
|
762
|
+
# MCP Server 설치 테스트
|
|
763
|
+
npx @modelcontextprotocol/server-github --version
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
4. **Claude Code 로그 확인**:
|
|
767
|
+
- 메뉴 → View → Toggle Developer Tools
|
|
768
|
+
- Console 탭에서 MCP 관련 오류 확인
|
|
769
|
+
|
|
770
|
+
5. **Claude Code 재시작**: Plugin 변경 후 반드시 재시작
|
|
771
|
+
|
|
772
|
+
### Filesystem MCP 권한 오류
|
|
773
|
+
|
|
774
|
+
**증상**: Filesystem MCP가 특정 디렉토리에 접근할 수 없음
|
|
775
|
+
**해결**:
|
|
776
|
+
|
|
777
|
+
1. **허용 경로 확인**:
|
|
778
|
+
```json
|
|
779
|
+
{
|
|
780
|
+
"mcpServers": {
|
|
781
|
+
"moai-fs": {
|
|
782
|
+
"args": [
|
|
783
|
+
"-y",
|
|
784
|
+
"@modelcontextprotocol/server-filesystem",
|
|
785
|
+
"${CLAUDE_PROJECT_DIR}/.moai", // ✅ 허용
|
|
786
|
+
"${CLAUDE_PROJECT_DIR}/src", // ✅ 허용
|
|
787
|
+
"/unauthorized/path" // ❌ 차단됨
|
|
788
|
+
]
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
2. **환경변수 확장 확인**: `${CLAUDE_PROJECT_DIR}` 제대로 확장되는지 확인
|
|
795
|
+
|
|
796
|
+
3. **절대 경로 사용**: 상대 경로 대신 절대 경로 권장
|
|
797
|
+
|
|
407
798
|
### 성능 저하
|
|
408
799
|
|
|
409
800
|
**증상**: Claude Code 응답이 느림
|
|
@@ -412,6 +803,8 @@ Brief description of agent's expertise and purpose.
|
|
|
412
803
|
1. 불필요한 도구 권한 제거
|
|
413
804
|
2. 복잡한 훅 로직 최적화
|
|
414
805
|
3. 메모리 파일 크기 확인
|
|
806
|
+
4. **과도한 Plugin 사용 확인**: 필요한 Plugin만 활성화
|
|
807
|
+
5. **Skill 파일 크기 확인**: Skills는 간결하게 유지 (≤200 LOC)
|
|
415
808
|
|
|
416
809
|
## 📋 MoAI-ADK 특화 워크플로우
|
|
417
810
|
|
|
@@ -429,6 +822,97 @@ Brief description of agent's expertise and purpose.
|
|
|
429
822
|
- **독립 실행**: 에이전트 간 직접 호출 금지
|
|
430
823
|
- **명확한 핸드오프**: 작업 완료 시 다음 단계 안내
|
|
431
824
|
|
|
825
|
+
### Skills & Plugins 활용 전략
|
|
826
|
+
|
|
827
|
+
**MoAI-ADK 권장 구성**:
|
|
828
|
+
|
|
829
|
+
#### 1. Skills (도메인 지식 공유)
|
|
830
|
+
|
|
831
|
+
| Skill | 목적 | 사용 시점 |
|
|
832
|
+
|-------|------|----------|
|
|
833
|
+
| **ears-pattern** | EARS 요구사항 작성 패턴 | `/alfred:1-spec` 실행 시 |
|
|
834
|
+
| **tag-syntax** | @TAG 작성 규칙 | 코드 작성 시 |
|
|
835
|
+
| **trust-checklist** | TRUST 5원칙 검증 | `/alfred:2-build` 완료 전 |
|
|
836
|
+
| **git-convention** | Git 커밋 메시지 표준 | Git 작업 시 |
|
|
837
|
+
|
|
838
|
+
**Skills 생성 예시**:
|
|
839
|
+
|
|
840
|
+
```bash
|
|
841
|
+
# .claude/skills/tag-syntax.md 생성
|
|
842
|
+
@agent-cc-manager "TAG 작성 규칙을 Skill로 생성해주세요"
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
#### 2. Plugins (외부 도구 통합)
|
|
846
|
+
|
|
847
|
+
| Plugin | 목적 | MoAI-ADK 워크플로우 연동 |
|
|
848
|
+
|--------|------|------------------------|
|
|
849
|
+
| **GitHub MCP** | PR/Issue 자동화 | `/alfred:3-sync`에서 PR 생성 |
|
|
850
|
+
| **Filesystem MCP** | 구조화된 파일 접근 | `.moai/` 안전한 읽기/쓰기 |
|
|
851
|
+
| **SQLite MCP** | 메타데이터 저장 | SPEC 진행 상태 추적 |
|
|
852
|
+
|
|
853
|
+
**Plugin 설정 예시** (`.claude/settings.json`):
|
|
854
|
+
|
|
855
|
+
```json
|
|
856
|
+
{
|
|
857
|
+
"mcpServers": {
|
|
858
|
+
"github": {
|
|
859
|
+
"command": "npx",
|
|
860
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
861
|
+
"env": {
|
|
862
|
+
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
|
863
|
+
}
|
|
864
|
+
},
|
|
865
|
+
"moai-fs": {
|
|
866
|
+
"command": "npx",
|
|
867
|
+
"args": [
|
|
868
|
+
"-y",
|
|
869
|
+
"@modelcontextprotocol/server-filesystem",
|
|
870
|
+
"${CLAUDE_PROJECT_DIR}/.moai",
|
|
871
|
+
"${CLAUDE_PROJECT_DIR}/src",
|
|
872
|
+
"${CLAUDE_PROJECT_DIR}/tests",
|
|
873
|
+
"${CLAUDE_PROJECT_DIR}/docs"
|
|
874
|
+
]
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
#### 3. Skills vs Agents vs Commands vs Plugins 통합 결정 트리
|
|
881
|
+
|
|
882
|
+
```
|
|
883
|
+
작업 분류
|
|
884
|
+
↓
|
|
885
|
+
┌───────────────────────────────────────┐
|
|
886
|
+
│ 외부 시스템 통합이 필요한가? │
|
|
887
|
+
│ (GitHub API, 파일 시스템 등) │
|
|
888
|
+
└───────────────────────────────────────┘
|
|
889
|
+
↓ YES ↓ NO
|
|
890
|
+
┌──────────┐ ┌────────────────────┐
|
|
891
|
+
│ Plugins │ │ 재사용 가능한 지식인가? │
|
|
892
|
+
└──────────┘ │ (패턴, 컨벤션) │
|
|
893
|
+
└────────────────────┘
|
|
894
|
+
↓ YES ↓ NO
|
|
895
|
+
┌─────────┐ ┌───────────────┐
|
|
896
|
+
│ Skills │ │ 독립 컨텍스트가 │
|
|
897
|
+
└─────────┘ │ 필요한가? │
|
|
898
|
+
└───────────────┘
|
|
899
|
+
↓ YES ↓ NO
|
|
900
|
+
┌─────────┐ ┌──────────┐
|
|
901
|
+
│ Agents │ │ Commands │
|
|
902
|
+
└─────────┘ └──────────┘
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
**실무 예시**:
|
|
906
|
+
|
|
907
|
+
- **Q**: "EARS 패턴을 어디에 저장?"
|
|
908
|
+
- **A**: Skills (`.claude/skills/ears-pattern.md`)
|
|
909
|
+
- **Q**: "GitHub PR 생성을 어디에 구현?"
|
|
910
|
+
- **A**: Plugins (GitHub MCP) + Commands (`/alfred:3-sync`)
|
|
911
|
+
- **Q**: "SPEC 메타데이터 검증을 어디에?"
|
|
912
|
+
- **A**: Agents (`@agent-spec-builder`)
|
|
913
|
+
- **Q**: "TDD 워크플로우를 어디에?"
|
|
914
|
+
- **A**: Commands (`/alfred:2-build`)
|
|
915
|
+
|
|
432
916
|
### TRUST 원칙 통합
|
|
433
917
|
|
|
434
918
|
@.moai/memory/development-guide.md 기준 적용
|
|
@@ -459,16 +943,87 @@ Brief description of agent's expertise and purpose.
|
|
|
459
943
|
|
|
460
944
|
### cc-manager 직접 호출
|
|
461
945
|
|
|
462
|
-
|
|
946
|
+
**기본 사용**:
|
|
947
|
+
|
|
948
|
+
```bash
|
|
949
|
+
# 에이전트 생성
|
|
463
950
|
@agent-cc-manager "새 에이전트 생성: data-processor"
|
|
951
|
+
|
|
952
|
+
# 커맨드 생성
|
|
953
|
+
@agent-cc-manager "새 커맨드 생성: /alfred:4-deploy"
|
|
954
|
+
|
|
955
|
+
# Skill 생성
|
|
956
|
+
@agent-cc-manager "EARS 패턴 작성 가이드를 Skill로 생성해주세요"
|
|
957
|
+
|
|
958
|
+
# Plugin 설정
|
|
959
|
+
@agent-cc-manager "GitHub MCP Plugin 설정을 추가해주세요"
|
|
960
|
+
|
|
961
|
+
# 표준 검증
|
|
464
962
|
@agent-cc-manager "커맨드 파일 표준화 검증"
|
|
465
963
|
@agent-cc-manager "설정 최적화"
|
|
466
964
|
```
|
|
467
965
|
|
|
966
|
+
**Skills & Plugins 관리**:
|
|
967
|
+
|
|
968
|
+
```bash
|
|
969
|
+
# Skill 검증
|
|
970
|
+
@agent-cc-manager ".claude/skills/ 디렉토리의 모든 Skill 검증해주세요"
|
|
971
|
+
|
|
972
|
+
# Plugin 설정 검증
|
|
973
|
+
@agent-cc-manager "settings.json의 mcpServers 설정 검증해주세요"
|
|
974
|
+
|
|
975
|
+
# MoAI-ADK 최적 설정 제안
|
|
976
|
+
@agent-cc-manager "MoAI-ADK에 최적화된 Skills와 Plugins 구성을 제안해주세요"
|
|
977
|
+
```
|
|
978
|
+
|
|
979
|
+
**통합 워크플로우**:
|
|
980
|
+
|
|
981
|
+
```bash
|
|
982
|
+
# 1. 프로젝트 초기 설정
|
|
983
|
+
@agent-cc-manager "MoAI-ADK 프로젝트 초기 설정 (Skills + Plugins)"
|
|
984
|
+
|
|
985
|
+
# 2. Skills 생성 (반복 패턴)
|
|
986
|
+
@agent-cc-manager "다음 패턴을 Skill로 생성:
|
|
987
|
+
- EARS 요구사항 작성
|
|
988
|
+
- TAG 작성 규칙
|
|
989
|
+
- TRUST 체크리스트"
|
|
990
|
+
|
|
991
|
+
# 3. Plugins 설정 (외부 통합)
|
|
992
|
+
@agent-cc-manager "다음 Plugins 설정:
|
|
993
|
+
- GitHub MCP (PR 자동화)
|
|
994
|
+
- Filesystem MCP (.moai/ 접근)
|
|
995
|
+
- Brave Search MCP (문서 검색)"
|
|
996
|
+
```
|
|
997
|
+
|
|
468
998
|
### 자동 실행 조건
|
|
469
999
|
|
|
470
1000
|
- MoAI-ADK 프로젝트에서 세션 시작 시
|
|
471
|
-
-
|
|
1001
|
+
- 커맨드/에이전트/Skill 파일 관련 작업 시
|
|
1002
|
+
- Plugin 설정 변경 시
|
|
472
1003
|
- 표준 검증이 필요한 경우
|
|
473
1004
|
|
|
474
|
-
|
|
1005
|
+
### 베스트 프랙티스
|
|
1006
|
+
|
|
1007
|
+
**1. Skills 우선 고려**:
|
|
1008
|
+
|
|
1009
|
+
- 반복적 패턴은 먼저 Skill로 생성
|
|
1010
|
+
- 예: EARS 패턴, TAG 규칙, Git 컨벤션
|
|
1011
|
+
|
|
1012
|
+
**2. Plugins는 필요시만**:
|
|
1013
|
+
|
|
1014
|
+
- 외부 시스템 통합이 명확할 때만 추가
|
|
1015
|
+
- 불필요한 Plugin은 성능 저하 원인
|
|
1016
|
+
|
|
1017
|
+
**3. 점진적 확장**:
|
|
1018
|
+
|
|
1019
|
+
- 커맨드 → 에이전트 → Skills → Plugins 순으로 확장
|
|
1020
|
+
- 각 단계의 필요성을 검증 후 진행
|
|
1021
|
+
|
|
1022
|
+
**4. 표준 준수 검증**:
|
|
1023
|
+
|
|
1024
|
+
- 주기적으로 `@agent-cc-manager "전체 표준 검증"` 실행
|
|
1025
|
+
- CI/CD에 표준 검증 통합 권장
|
|
1026
|
+
|
|
1027
|
+
---
|
|
1028
|
+
|
|
1029
|
+
이 cc-manager는 Claude Code 공식 문서의 모든 핵심 내용(Agents, Commands, Skills, Plugins)을 통합하여 외부 참조 없이도 완전한 지침을 제공합니다. 중구난방의 지침으로 인한 오류를 방지하고 일관된 표준을 유지합니다.
|